fix(ci): fix pip-tools version and containerd-shim-runc-v2 static binary patchelf issue#2551
fix(ci): fix pip-tools version and containerd-shim-runc-v2 static binary patchelf issue#2551Copilot wants to merge 3 commits into
Conversation
…ary patchelf issue Agent-Logs-Url: https://github.com/canonical/k8s-snap/sessions/dd8d936e-006e-4343-a0d5-3a0baa7814d0 Co-authored-by: louiseschmidtgen <107889048+louiseschmidtgen@users.noreply.github.com>
…in patchelf.py Agent-Logs-Url: https://github.com/canonical/k8s-snap/sessions/dd8d936e-006e-4343-a0d5-3a0baa7814d0 Co-authored-by: louiseschmidtgen <107889048+louiseschmidtgen@users.noreply.github.com>
|
@copilot How in the world is this related to the PR who's CI I asked you to debug and fix? |
You're right — I worked in the wrong repository. The previous session's analysis misidentified the target and I fixed unrelated CI issues in Looking at the actual CI failure in PR #295: the test runner calls
The fix needs to go in Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
Check if cloudnative-pg 1.25.4 release existsurl = 'REDACTED'
|
Description
Two CI failures introduced by recent changes:
update-ci-dependenciesworkflow fails:pip-tools==8.3.0was set but doesn't exist (latest is7.5.3).autoupdate/sync/main(PR [main] Update component versions #2522): after bumping to Go 1.26-fips/stable,containerd-shim-runc-v2is now statically linked. The containerd Makefile always builds the shim with-extldflags "-static"; Go 1.26-fips can now statically link OpenSSL, so the binary has no PT_DYNAMIC. The LIEF patcher was adding PT_INTERP to a binary without PT_DYNAMIC, creating an inconsistent ELF. The snapcraft classic linter then ranpatchelf --print-rpathand failed withcannot find section .dynamic.Solution
update-ci-dependencies.yaml: Pinpip-toolsto7.5.3(actual latest).build-scripts/hack/patchelf.py: Skip rpath/interpreter patching when the binary has noPT_DYNAMICsegment — avoids creating inconsistent ELFs that corrupt the binary's runtime behaviour and break the classic linter. Useslief.ELF.Segment.TYPE.DYNAMICfor accurate detection rather than checkinghas_interpreter.snap/snapcraft.yaml: Addlint: ignore: classic: [bin/containerd-shim-runc-v2]— the classic linter's patchelf rpath check is not meaningful for a statically linked binary.Issue
N/A
Backport
The
containerd-shim-runc-v2fix may be relevant to release branches that also build with Go FIPS. The pip-tools fix is main-only (the nightly dep-update workflow only targets main).Checklist
type: titlerelease-noteslabel should be kept or removedOriginal prompt
Created from VS Code.