Prevent release image bootstrap mismatches - #767
Merged
msarahan merged 3 commits intoSep 10, 2026
Conversation
bdice
approved these changes
Sep 9, 2026
bdice
left a comment
Contributor
There was a problem hiding this comment.
I agree with all of these changes.
trxcllnt
approved these changes
Sep 9, 2026
msarahan
force-pushed
the
codex/version-bootstrap-preflight
branch
from
September 9, 2026 16:29
51a73f6 to
d8fc989
Compare
Contributor
Author
|
/merge |
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.
Posted by Codex (GPT-5) on Michael Sarahan's behalf. Treat this message as LLM-generated.
Why
The 26.12 version update triggered the release workflow before
v26.12.00aexisted. Image producers derive their namespace from the most recent reachable tag, so they published successful26.10-*images while the newly updated unified devcontainers requested26.12-*images. The alpha tag appeared nine minutes after the workflow began. A later retry of failed jobs could not recover because GitHub did not rerun the already-successful producer jobs.This creates an avoidable bootstrap dependency: the version-update workflow needs to publish the new namespace before the tag that currently defines that namespace can be created. The committed
VERSIONfile is already updated atomically with the consumer definitions and is therefore the appropriate source of truth for producer tags.The incident also exposed a second class of mismatch:
matrix.ymlcan change an image component version without the checked-in unified devcontainers changing theirBASEreferences. Without validation, that drift is only discovered after all producer builds complete and consumers attempt to pull an image that will never be published.PR #766 applies the UCX alignment to
release/26.10for forward-merging. This branch currently contains the equivalent main-branch alignment; that portion will disappear from this PR's diff after the forward merge reachesmain.Changes
VERSIONfile instead ofgit describeVERSIONusesYY.MM.PPformatmatrix.yml, including OS-qualified tags and OS-free aliasesBASEthat the current matrix cannot produceWhy the previous sequence cannot recur
After these changes, merging a version update changes both producer and consumer namespaces through the same committed
VERSIONvalue. The producer no longer depends on whether the alpha tag existed when the workflow checkout occurred. The release also stops before building images if a consumer base does not correspond to the current matrix, so component-version drift is reported directly rather than surfacing as a late missing-manifest error.Validation
pre-commit run --all-filesgit diff --checkIncident: https://github.com/rapidsai/devcontainers/actions/runs/34280170418/job/102279620120