ci: refuse to publish a partial CUDA set (cuda12 coverage guard)#1
Merged
oobabooga merged 1 commit intoJun 9, 2026
Merged
Conversation
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.
What
Adds a publish-only guard to
unsloth-prebuilt.ymlthat fails the run if the CUDA set about to be released is missing a runtime line. For linux and windows x64 it requires the cuda12 coverage classes to match the cuda13 ones before the draft release is flipped public.Why
The latest published build (b9518) shipped the cuda13 x64 line but not cuda12, so every host with a cuda12 runtime falls back to the older b9493 (which also reports
version: 1). I confirmed the fallback on real hardware across the fleet, all on cuda12 runtimes pulling b9493:assemble_metadata.pybuilds the manifest from whateverapp-*bundles are present with no completeness check, and the artifact download step iscontinue-on-error, so a partial set can still be assembled and published. This guard turns that into a hard failure instead of a silent manifest that strands the cuda12 majority.Note on version: 1
Already handled on this branch by the
fetch-depth: 0checkout; the published b9493/b9518 assets just predate it. A fresh publish that includes cuda12 will also carry the correct build number.Test
bash -non the step plus a mockdist/: a complete set passes, dropping the cuda12 tarballs fails with the coverage-mismatch error, and the workflow YAML parses.