Repository navigation
ci(release): share the dist build memory guard with Release Performance - #1403
Merged
Merged
Conversation
Move the Linux dist build's swap, cargo job limit and memory report into a composite action, and use it for the Release Performance candidate wheel, which builds with the same dist profile and lost its runner the same way. The job limit is now CARGO_BUILD_JOBS=3, which maturin-action passes into its manylinux container, instead of a --jobs argument on each build.
kvlonge
enabled auto-merge (squash)
November 10, 2026 21:26
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
Release Performance builds its candidate wheel with the dist cargo profile on a stock Linux runner. Two of the last three main runs lost that runner while compiling
sqlbuild-cli("The runner has received a shutdown signal"), so no comparison was produced: the 0.208.0 release merge (run 42887794956) and the #1400 merge (run 42897023724). That is the memory exhaustion the Linux dist wheel builds already guard against: their measured peak is up to about 20 GB.Changes
.github/actions/dist-build-memory:startadds 16 GB of host swap, setsCARGO_BUILD_JOBS=3for the rest of the job and samples used memory;reportstops sampling and printsfree -m, the swap counters and the peak RAM and swap use (also in the job summary).build-distributions.ymluses it for Linux dist builds in place of its inline steps. The four--jobs 3arguments go: maturin-action passesCARGO_*variables into its manylinux container, so the job limit is unchanged.release-performance.ymluses it around the candidate wheel build, and runs on pull requests that change the action. Sampling stops before the timing comparison.The dist profile, budgets, limits and other platforms are unchanged.
Verification