Buildkit cache and comment sweep - #7
Merged
Merged
Conversation
… scope Two faults, either of which alone makes every CI run a cold build. The first is that nothing was ever stored. BuildKit authenticates to GitHub's cache service with $ACTIONS_RUNTIME_TOKEN and $ACTIONS_RESULTS_URL, and those reach JavaScript actions, not `run:` steps. Every build here goes through `task`, which is a `run:` step, so each --cache-to type=gha was accepted, stored nothing, and said nothing. It is invisible in a log; where it shows is the cache itself, which held one entry — setup-go's 14 MiB — for a repository that compiles QEMU and a kernel. crazy-max/ghaction-github-runtime exposes the variables, and Docker's documentation names it for exactly this. The second would have bitten the moment the first was fixed. `type=gha` defaults to the scope `buildkit`, and per Docker's documentation, "each build will overwrite the cache of the previous, leaving only the final cache." The release job runs four builds in one job, so QEMU, the kernel, e2fsprogs and the image each destroyed the last one's cache and missed on the next run. So the scopes are named, and named in Taskfile.yml rather than in the workflows: they have to match between the per-artefact lanes and the release, or a release starts cold on work main already paid for. CI now sets CACHE_BACKEND=gha and nothing else; a developer still gets the local directory, byte for byte as before. The QEMU runtime image reads scope=qemu to reuse the builder stage and writes only its own. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A comment that narrates this repository's own past — "this used to be X", "it did not work before <date>" — is answerable by git, and it is the half of a comment that rots. What earns its place is the dead end someone would otherwise walk into again, and the measurement that settles it. So the rule applied here is: keep the trap and the number, drop the history. "It used to be turned off here, on the grounds that..." becomes "Turning it off here is the tempting change, on the grounds that..." — and every measurement stays: nohz=off still carries its 1.7% of a core and its 821-853 ms, pahole 1.24 still explains why the kernel toolchain cannot go back to bookworm, and the missing journal still produces "structure needs cleaning" on a copy taken seconds after a grow. Two paragraphs are deleted rather than rewritten, both in optimize-systemd.sh. They were commentary on an earlier revision of the comment above them, and nothing outlives the deletion. The open problem in spin-machine-console.service is untouched, only put in the present tense: the reason that unit exists no longer holds, and the hole it leaves is still the thing to close. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
No description provided.