Three action bumps taken upstream, and the image bump declined with a measurement - #32
Merged
Merged
Conversation
… measurement Four Dependabot pull requests (#27–#30) had been open here since 12 August, all four green. Three are worth taking and one breaks the image — and **none of them could survive where they were opened**, which is the part worth saying. This repository is derived. The publish step makes it exactly equal to the source tree, and every file those four touch comes from there — the `Dockerfile` and four of the workflows are copied, and `.github/workflows/ci.yml` is *generated* from the source repository's own CI. Merging one here is a change that lives until the next publication and then disappears without a word, and Dependabot reopens it. So the bumps were applied upstream and arrive by the ordinary route. **Taken**, each SHA checked against the tag it claims to be, through the API rather than trusted from the diff: * `actions/checkout` v4 → **v7.0.1** * `actions/setup-python` v5 → **v7.0.0** * `actions/upload-artifact` v4 → **v7.0.1** The third is taken on weaker evidence and this says so: it appears only in `scorecard.yml`, which by a decision written into that file runs on `push: main` and weekly and never on a pull request — so #28 being green proved nothing about the bump inside it. It is taken because the next push to `main` exercises it and a failure there is loud rather than silent. **Declined:** `python:3.12-slim` → `3.14-slim`. `requires-python` is `>=3.12,<3.13` and the build stage installs with the base image's interpreter, so the image does not build: ``` ERROR: Package 'hullwork' requires a different Python: 3.14.7 not in '<3.13,>=3.12' ``` Its checks were green because no workflow that runs on a pull request builds the image — only the release and edge workflows do, on a tag and on a schedule. The first sign would have been a release failing. The Dockerfile already said *"Dependabot proposes the bump; a human takes it"*, which is a rule that depends on the human being awake. There is now a test tying the base image of **both stages** to `requires-python`, so the same proposal fails in `gates` in three seconds instead of at the next release. It reads both files and restates neither — verified by rewriting it to hard-code the version, which fails. Three reintroductions, three caught. Signed-off-by: Javier Miralles Rancaño <68760931+FlagshipDev@users.noreply.github.com>
This was referenced Aug 14, 2026
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.
Four Dependabot pull requests (#27–#30) had been open here since 12 August, all
four green. Three are worth taking and one breaks the image — and none of them
could survive where they were opened, which is the part worth saying.
This repository is derived. The publish step makes it exactly equal to the source
tree, and every file those four touch comes from there — the
Dockerfileand fourof the workflows are copied, and
.github/workflows/ci.ymlis generated fromthe source repository's own CI. Merging one here is a change that lives until the
next publication and then disappears without a word, and Dependabot reopens it.
So the bumps were applied upstream and arrive by the ordinary route.
Taken, each SHA checked against the tag it claims to be, through the API
rather than trusted from the diff:
actions/checkoutv4 → v7.0.1actions/setup-pythonv5 → v7.0.0actions/upload-artifactv4 → v7.0.1The third is taken on weaker evidence and this says so: it appears only in
scorecard.yml, which by a decision written into that file runs onpush: mainand weekly and never on a pull request — so #28 being green proved nothing about
the bump inside it. It is taken because the next push to
mainexercises it anda failure there is loud rather than silent.
Declined:
python:3.12-slim→3.14-slim.requires-pythonis>=3.12,<3.13and the build stage installs with the base image's interpreter, sothe image does not build:
Its checks were green because no workflow that runs on a pull request builds the
image — only the release and edge workflows do, on a tag and on a schedule. The
first sign would have been a release failing.
The Dockerfile already said "Dependabot proposes the bump; a human takes it",
which is a rule that depends on the human being awake. There is now a test tying
the base image of both stages to
requires-python, so the same proposal failsin
gatesin three seconds instead of at the next release. It reads both filesand restates neither — verified by rewriting it to hard-code the version, which
fails.
Three reintroductions, three caught.
Signed-off-by: Javier Miralles Rancaño 68760931+FlagshipDev@users.noreply.github.com