Pin PUTUP_VERSION so CI stops resolving "latest" over the GitHub API - #25
Closed
typeless wants to merge 1 commit into
Closed
Pin PUTUP_VERSION so CI stops resolving "latest" over the GitHub API#25typeless wants to merge 1 commit into
typeless wants to merge 1 commit into
Conversation
install.sh queries api.github.com for the latest release unless PUTUP_VERSION is set. That query fails intermittently on runners -- it took down the arm64 job of the post-merge run on cda4991 with "Failed to query GitHub API for latest release", after four clean days that made the flake look extinct. Every build job repeats the query, so each run gets several independent chances to lose the coin flip. Pinning removes the query entirely (install.sh takes PUTUP_VERSION and skips straight to the download) and stops a new upstream putup from landing in CI unannounced -- the toolchain now moves only when we bump it. Claude-Session: https://claude.ai/code/session_01YEkLFtTYQZuQHgQP5qYtq7
Owner
Author
|
Closing unmerged — decision: keep tracking the latest putup rather than pinning. Picking up new putup releases automatically is worth more than removing an occasional flake, and the flake is cheap to clear with The commit is preserved at |
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.
install.shqueriesapi.github.comfor the latest release unlessPUTUP_VERSIONis set. That query fails intermittently on runners, and when it does it takes the whole job with it — it killed the arm64 job of the post-merge run oncda4991(Phase 5):The installer names its own fix. Every build job repeats the query (3-arch matrix × 2 workflows), so each run gets several independent chances to lose the coin flip. A sweep of the preceding 60 runs (07-16 → 07-20) found zero occurrences, which made the flake look extinct — then it fired on the next run. It is low-rate intermittent, not gone.
Change
Top-level
env: PUTUP_VERSION: v2.2.0inputup.ymlandputup-release.yml— one pin site per file, covering every matrix job. v2.2.0 is the current latest (published 2026-07-18).Two benefits: the flaky API call disappears from the critical path, and a new upstream putup can no longer land in CI unannounced — the toolchain moves only when we bump it deliberately.
Verification
Exercised locally against a sandboxed
HOME:The
Resolving latest version...line is absent — that is the branch containing the failing API call (install.sh:98-108), and the pin short-circuits it at line 88. Both workflows parse as valid YAML withenvresolving to{'PUTUP_VERSION': 'v2.2.0'}.Notes
latestruns were most likely already resolving to it. Unconfirmed — the logs do not record the resolved version. This PR's own CI is the check.https://claude.ai/code/session_01YEkLFtTYQZuQHgQP5qYtq7