ci: fix Windows checkout (reserved CON.json) in release build - #2
Merged
Conversation
The build matrix only runs cargo build, so it does not need tests/. Checking out just src/ (plus root manifests) avoids tests/fixtures/contexts/CON.json, a reserved Windows device name that fails the win32 job at checkout. Also flips fail-fast off so a dry run reports every target's status at once. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
The first release dry-run failed: the
x86_64-pc-windows-msvcjob died at checkout withinvalid path 'tests/fixtures/contexts/CON.json'.CONis a reserved device name on Windows, so git cannot write that file — which also means the repo can't be cloned on Windows at all.CON.jsonis a vendored upstream ISO-archetype context fixture (synced viamake refresh-fixtures), referenced generically bytests/common/mod.rs, so renaming it here would diverge from upstream and get clobbered on the next refresh.Fix: the release build jobs only run
cargo build(never the tests), so they don't needtests/. Sparse-checkout justsrc/+ root manifests — sidesteps the reserved name without touching fixtures. Also setsfail-fast: falseso a dry run reports every target at once instead of cancelling siblings.Verified
cargo buildneeds nothing outsidesrc/(noinclude_str!/include_bytes!reaching intotests/).Follow-up (out of scope): the reserved-name fixture still blocks Windows clones of the repo generally — worth fixing upstream in
quire-rs.🤖 Generated with Claude Code