Conversation
…baseline GitHub is retiring the Ubuntu 22.04 runner images (unsupported April 17, 2027). - build_binary.yml: build the aarch64 release binary in an ubuntu:22.04 container on ubuntu-24.04-arm, mirroring the x86_64 job, which already builds in a container. The glibc baseline now comes from the container instead of the runner image. - ci.yml: the Build (Internal) Relay Binary jobs feed Docker images based on Debian 13, so they can build directly on ubuntu-24.04(-arm).
joshuarli
force-pushed
the
ci-ubuntu-24-04-runners
branch
from
October 2, 2026 23:37
4fa168e to
cd25dc1
Compare
This branch has not been deployed
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.
Why
GitHub is retiring the Ubuntu 22.04 runner images: deprecation began September 17, 2026 (longer queue times), they are unsupported from April 17, 2027, with brownouts in March and April 2027 that deliberately fail
ubuntu-22.04jobs. See actions/runner-images#14254.A plain
ubuntu-22.04->ubuntu-24.04swap would not be safe here: the Linux release binaries inherit the glibc of the machine that builds them, andbuild_binary.ymldocuments that Ubuntu 22.04 must stay supported until Apr 2029 (glibc 2.35 baseline; 24.04 is 2.39).What changed
build_binary.yml,linux-aarch64(release binary): now runs onubuntu-24.04-armbut builds inside anubuntu:22.04container. This mirrors the existing x86_64linuxjob, which already builds in anubuntu:20.04container onubuntu-latest. The glibc baseline now comes from the container, not from the runner image. The dependency install, git safe-directory and rustup steps are copied from the x86_64 job; artifact names and paths are unchanged.ci.yml,buildandbuild-internal:ubuntu-22.04(-arm)->ubuntu-24.04(-arm). These binaries only go into Docker images (Dockerfile.release, basedhi-mirror/static:20250419-glibc-debian13, glibc 2.41), so a glibc 2.39 build is compatible.Deliberately not changed
macos-14lines (handled separately in ci: upgrade macos-14 runners to macos-15 #6466) and everything else.Evidence
pull_requesttrigger on this branch, run 37077568186, both Linux jobs green):ldd (Ubuntu GLIBC 2.35-0ubuntu3.15) 2.35ELF 64-bit LSB pie executable, ARM aarch64 ... stripped, highest required symbol versionGLIBC_2.34(<= 2.35), noGLIBCXXrequirement;NEEDED:libgcc_s.so.1,libm.so.6,libc.so.6.Trigger: Full-CIlabel so the arm64 and relay-pop paths run): 41 checks pass, 2 skipped (not applicable). This includes all eightBuild (Internal) Relay Binaryjobs on the new runners,Build Docker Image,Sentry-Relay Integration Testsandself-hosted-end-to-end, which run the Debian 13 image with the 24.04-built binary.Risks / what to double-check
build_binary.ymlonly runs onrelease/**pushes, so the final workflow file has not run as such; it was validated through the temporary PR trigger on the same job definition. Worth a look at the next release build.stableat build time, as before.skip-changelog(this is CI-only) andTrigger: Full-CI(to exercise the arm64 build path; can be removed).Opened as a draft; not requesting review yet.