fix(deps): pin find-msvc-tools 0.1.12 for Windows release builds - #1946
Merged
Merged
Conversation
find-msvc-tools 0.1.13 regenerates its windows bindings so FILE_ATTRIBUTE_TEMPORARY is i32. cc 1.2.67 passes that constant to OpenOptionsExt::custom_flags, which expects u32, so the Windows release build fails while compiling cc. cc 1.4.7 converts the constant, but tree-sitter-sequel 0.3.11 requires cc ~1.2.1, so the graph cannot move to 1.4.7. 0.1.12 is the newest find-msvc-tools whose constant is still u32 and still satisfies cc 1.2.67's ^0.1.9 requirement. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
|
ScriptedAlchemy
marked this pull request as ready for review
September 22, 2026 06:04
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Summary
find-msvc-toolsto 0.1.12 inCargo.lockso--lockedWindows release builds can compilecc1.2.67.ccat 1.2.67.cc1.4.7 is the crates.io release that accepts the newi32constant, but this graph cannot select it.Motivation
Release (Beta) run 35680014686 failed in Build x86_64-windows at "Build release binary for packaging" (
rustc1.97.1). Linux and macOS builds succeeded. The compiler error is incc1.2.67:find-msvc-tools0.1.13 (regenerated windows bindings, cc-rs #1919 / #1926) definesFILE_ATTRIBUTE_TEMPORARYasi32.cc1.2.67 passes that constant straight intoOpenOptionsExt::custom_flags, which takesu32. 0.1.12 still defines it asFILE_FLAGS_AND_ATTRIBUTES(u32).cargo update -p cc --precise 1.4.7does not resolve.tree-sitter-sequel0.3.11 (latest on crates.io; pulled in bytokensave-large-treesitters) build-depends oncc = "~1.2.1". That range and the directcc = "1"build-dependency unify oncc1.2.67, whosefind-msvc-toolsrequirement is^0.1.9. Forcing a secondcc1.4.7 would still unifyfind-msvc-toolson 0.1.13, because 0.1.13 satisfies both^0.1.9and^0.1.13, and thecc1.2.67 copy would keep failing.0.1.12 is the newest
find-msvc-toolsthat still typechecks with thatcc. 0.1.10–0.1.12 only bump MSRV/edition and tidy conditionals. Thei32change is exclusively 0.1.13.Changes
Cargo.lock:find-msvc-tools0.1.13 → 0.1.12 (checksum = 3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d, matches crates.io). No other package versions move.ccstays 1.2.67.A later
cargo updatethat floats compatible crates will selectfind-msvc-tools0.1.13 again untiltree-sitter-sequelallowscc1.4.7. Keep this pin until then.Re-run Release (Beta) after merge
Do not re-dispatch
v0.1.0-beta.48. Release (Beta) checks out the tag, and that tag still hasfind-msvc-tools0.1.13.After this lands on
master, the next push runs Release Please, which opens the next beta release PR. Merging that PR tags the next prerelease (the current manifest is0.1.0-beta.48) andrelease-please.ymldispatches Release (Beta) onmasterfor the new tag. That dispatch is the Windows rebuild that contains this pin.To recover that new tag by hand:
Test plan
cc1.2.67 +find-msvc-tools0.1.13 failscargo check --target x86_64-pc-windows-msvcon rustc 1.97.1 with E0308 (expected u32, found i32atcc-1.2.67/src/tempfile.rs:33)cc1.2.67 +find-msvc-tools0.1.12 passes that same check (Finished dev profile)cargo tree -p tracedecay-cli -i find-msvc-tools --lockedresolves onlyfind-msvc-toolsv0.1.12cargo build --release --lockedoftracedecay-cli(needs the Windows runner; this host typechecked the failingcccrate forx86_64-pc-windows-msvconly)