Address post-merge review feedback on immutable per-arch tags - #43
Open
fnando wants to merge 5 commits into
Open
Address post-merge review feedback on immutable per-arch tags#43fnando wants to merge 5 commits into
fnando wants to merge 5 commits into
Conversation
fnando
requested review from
leighmcculloch
and
a balanced review from Copilot
August 26, 2026 15:25
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds safer and more controllable backfilling of immutable per-arch Docker snapshot tags by supporting an explicit iteration override and refusing to repoint existing immutable tags.
Changes:
- Add
--iterationoption and centralize iteration resolution with a prominent operator warning. - Refuse to repoint an existing immutable snapshot tag if it already exists with a different digest (immutability guard).
- Expand unit tests and update release/publish documentation to reflect the new behavior.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/test_backfill_iteration_tags.py | Adds coverage for explicit iteration, negative iteration rejection, and immutability conflict behavior. |
| scripts/lib/gh_cli.py | Updates docstring to clarify how release branch tags prevent iteration reuse during review. |
| scripts/backfill_iteration_tags.py | Implements --iteration, iteration resolution/warning, and digest-match vs repoint-fail logic. |
| RELEASE.md | Documents immutability guarantees and rerun behavior, including why rebuilds can’t repoint published snapshots. |
| .github/workflows/publish.yml | Updates comments to match current tag/manifest job behavior. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Follow-up to @leighmcculloch's review comments left on #41 after it merged.
v<cli>[-N]release failed before pushing images, the live per-arch tags still hold an earlier iteration's content. Adds an--iterationoverride, a warning when auto-resolving, and makes the "already exists" path fail loudly on a digest mismatch instead of silently skipping.:<version>-<N>tag "published by the aliases job" — the tags are:<cli>-rust<key>-<arch>-<N>, minted by themanifestjob.buildproduces a new digest and themanifestjob refuses to re-point — cut a new iteration instead.Tests:
uv run pytest(230 passed),ruff checkandruff format --checkclean.