Forward-merge release/26.10 into main (replacement for #775) - #776
Closed
msarahan wants to merge 2 commits into
Closed
Forward-merge release/26.10 into main (replacement for #775)#776msarahan wants to merge 2 commits into
msarahan wants to merge 2 commits into
Conversation
**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.00a` existed. Image producers derive their namespace from the most recent reachable tag, so they published successful `26.10-*` images while the newly updated unified devcontainers requested `26.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 `VERSION` file 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.yml` can change an image component version without the checked-in unified devcontainers changing their `BASE` references. 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 rapidsai#766 applies the UCX alignment to `release/26.10` for forward-merging. This branch currently contains the equivalent main-branch alignment; that portion will disappear from this PR's diff after the forward merge reaches `main`. ## Changes - derive Linux and Windows producer namespaces from the committed `VERSION` file instead of `git describe` - validate that `VERSION` uses `YY.MM.PP` format - reconstruct all publishable Linux image tags from `matrix.yml`, including OS-qualified tags and OS-free aliases - reject any checked-in RAPIDS unified devcontainer `BASE` that the current matrix cannot produce - run that validation in pre-commit and as a fatal release prerequisite before Linux producers and downstream unified devcontainers run - add ShellCheck coverage for the release-bootstrap scripts touched here ## Why the previous sequence cannot recur After these changes, merging a version update changes both producer and consumer namespaces through the same committed `VERSION` value. 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-files` - zizmor - devcontainer base-image validation - ShellCheck for the release-bootstrap scripts - positive validation against the 26.12 / UCX 1.21 configuration - negative validation with a deliberate UCX 1.19 base, which failed and identified the affected file and unproducible tag - `git diff --check` Incident: https://github.com/rapidsai/devcontainers/actions/runs/34280170418/job/102279620120 --------- Co-authored-by: Paul Taylor <178183+trxcllnt@users.noreply.github.com>
Contributor
Author
|
/merge nosquash |
Contributor
|
Could not determine original ForwardMerger PR from branch name. The branch name should follow the pattern |
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.6-sol) on Michael Sarahan's behalf; please treat this message as LLM-generated.
This replaces #775 because the automated
release/26.10tomainforward merge conflicts in the Windows image-tag calculation.The conflict contains two independent fixes that happen to touch adjacent lines:
maincorrected the tag ordering tocl${cl}-cuda${cuda}, matching the Linux image convention.release/26.10changed version discovery to readVERSIONdirectly, preventing producer/consumer mismatches during rollover before the alpha tag exists.Choosing either side wholesale would regress the other fix, so this merge deliberately keeps the rollover-safe
VERSIONlookup and the corrected compiler/CUDA ordering.Validation:
pre-commit run --all-filesshellcheck ci/validate-devcontainer-bases.shbash -n ci/validate-devcontainer-bases.shgit diff --cached --checkThis is a true two-parent merge of
mainat19dbb2591f365768c3413904ab5c8530af2a2280andrelease/26.10at30857e4672e00946f1de58a74dc8aee1470d9b07. Please merge it with/merge nosquashso the forward-merge topology is preserved. Keep #775 open until this replacement lands so the forward-merger can complete normally afterward.