Repository navigation
fix(ci): pin deb builds to ubuntu-22.04 and enforce the fleet glibc floor - #41
Merged
Merged
Conversation
…loor The v1.60.0 debs failed to install on Raspberry Pi OS bookworm: socktop : Depends: libc6 (>= 2.39) but 2.36-9+rpt2+deb12u14 is to be installed Cross-compiled binaries link against the RUNNER's (multiarch) glibc, so the runner picks the minimum glibc the packages demand. ubuntu-latest migrated from 22.04 (glibc 2.35) to 24.04 (glibc 2.39) between the 1.50.x releases and now, silently raising the requirement past the Debian-12 fleet. Pin the build job to ubuntu-22.04 (2.35 — satisfied by bookworm's 2.36) and add a post-build gate that reads each .deb's computed libc6 requirement and fails the run if it exceeds the fleet floor, so the next runner migration turns into a red build instead of a fleet-wide apt error. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The floor gate's second grep matched the trailing digit of the package
name before the version ('libc6 (>= 2.34)' -> '6'), failing every
target. sed capture group instead; verified against realistic Depends
strings.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The 1.60.0 debs were built against glibc 2.39 and never installed on the bookworm fleet; rather than force-moving the tag, the rebuilt release ships as 1.60.1. Nothing was published to crates.io at 1.60.0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Owner
Author
|
Added the 1.60.1 bump to this PR per Jason: all three crates + the client's connector dep + CHANGELOG heading (with a note explaining the 1.60.0→1.60.1 gap). Binaries verified reporting 1.60.1; suite green. Merge → tag |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The v1.60.0 debs demand
libc6 (>= 2.39)and fail to install on Raspberry Pi OS / Debian 12 bookworm (glibc 2.36).Root cause: the cross-compiled binaries link against the build runner's multiarch glibc, so the runner determines the minimum glibc at install time.
ubuntu-latestmigrated 22.04 → 24.04 (glibc 2.35 → 2.39) between the 1.50.x releases and this one.Fix:
build-debjob toubuntu-22.04(glibc 2.35 ≤ bookworm's 2.36) — restores the environment the 1.50.x debs were built in.libc6requirement and fails the run if it exceeds 2.36 — so the next silent runner migration (22.04 retires ~2027) becomes a red build with a pointed error instead of fleet-wide apt breakage. Comparison logic unit-checked (2.34 ok / 2.36 ok / 2.39 fail).This PR itself exercises the full fix: the PR trigger builds all four targets, and the new gate must pass on every produced package.
After merge, re-cutting v1.60.0 (delete tag + release, re-tag on master) rebuilds and republishes the debs with the correct floor — nothing has consumed the broken ones, and cargo isn't published yet, so the version can stay.
🤖 Generated with Claude Code