fix: replace Corrosion with pre-built cargo artifact (Neurons-ofq)#41
Merged
Conversation
Corrosion was calling rustup show/toolchain during cmake configure, which failed on the macos-26 CI runner where the rustup binary is the bootstrap installer rather than the toolchain manager. Same pattern as gRPC: build libtokenizers_sys.a via a plain 'cargo build --release' step BEFORE cmake runs. CMake links the pre-built static library directly — no Corrosion, no rustup needed. - Remove Corrosion FetchContent from compute/CMakeLists.txt - Add IMPORTED STATIC target pointing at tokenizers-sys/target/release/ - Replace dtolnay/rust-toolchain + Swatinem/rust-cache with a single 'cargo build' step + artifact cache in build.yml and test.yml - Wire _tokenizers_sys as a prerequisite of _configure in Makefile
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
compute/CMakeLists.txt— it was callingrustup showduring cmake configure, which failed onmacos-26because the runner's~/.cargo/bin/rustupis the bootstrap installer, not the toolchain managercargo build --releaseruns as a workflow step before cmake, producinglibtokenizers_sys.a; cmake links it as a pre-builtIMPORTED STATICtargetdtolnay/rust-toolchainandSwatinem/rust-cacheactions frombuild.ymlandtest.yml; replaces with a singlecargo buildstep +actions/cacheoncompute/tokenizers-sys/target_tokenizers_sysas a prerequisite of_configurein theMakefileso localmakemirrors the CI order