ci(repo): set up rust toolchain directly instead of via mise - #10
Merged
Conversation
The self-hosted `build` runners don't ship rustup, so mise's `rust = "stable"` silently no-ops on them — it installs just/node/bun but never cargo, so the Rust jobs fail with `cargo: command not found` (seen across the open renovate PRs). Replace `jdx/mise-action` in the Rust jobs (ci.yml `rust`, build-release.yml `build`) with an explicit toolchain step that installs rustup when missing, pins stable, and adds the needed components/target. Carry over RUST_BACKTRACE=1 that mise.toml used to export. mise stays for local dev and the release job. Signed-off-by: Asen Lekov <asenlekoff@gmail.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.
What
Set up the Rust toolchain directly in the Rust CI jobs instead of relying on
mise.Why
The self-hosted
buildrunners don't shiprustup. mise'srust = "stable"therefore silently no-ops on them — it installsjust/node/bun(those show up onPATH) but nevercargo, so the Rust jobs fail with:This is currently red across the open Renovate PRs (#2, #3, #4, #7, #8, #9) — any Rust job that lands on the self-hosted runner fails. (PR #5 happened to run on the GitHub-hosted fallback, where rustup is preinstalled, so it stayed green.)
Because the runners lack rustup,
dtolnay/rust-toolchain(which assumes rustup is present) wouldn't fix it either — the step has to install rustup when it's missing.Change
ci.yml(rustjob) andbuild-release.yml(buildjob): replacejdx/mise-action@v4with an explicit Set up Rust toolchain step that:rustupvia the official script when absent (adds~/.cargo/bintoGITHUB_PATH),stable(--profile minimal),rustfmt+clippy(CI) / the matrix crosstarget(build-release).RUST_BACKTRACE=1(previously provided bymise.toml [env]) as a job-level env inci.yml.miseis unchanged for local dev and thereleasejob (which runs onubuntu-latest, where rustup is preinstalled).Notes
Both workflows validated as well-formed YAML locally. End-to-end behavior can only be confirmed on a self-hosted runner — worth watching the first PR run that lands there.