Skip to content

chore(ci): move cargo-* tools + lychee from CI installers to mise.toml#20210

Open
nonsense wants to merge 6 commits intodevelopfrom
nonsense/ci/more-consolidation
Open

chore(ci): move cargo-* tools + lychee from CI installers to mise.toml#20210
nonsense wants to merge 6 commits intodevelopfrom
nonsense/ci/more-consolidation

Conversation

@nonsense
Copy link
Copy Markdown
Contributor

@nonsense nonsense commented Apr 21, 2026

Follow up to: #20207


TODO:

  • remove ubi
  • remove kurtosis
  • add mise lockfile - in a follow-up PR.

@nonsense nonsense marked this pull request as ready for review April 21, 2026 13:21
@nonsense nonsense requested a review from a team as a code owner April 21, 2026 13:21
Comment thread mise.toml Outdated
Comment thread mise.toml Outdated
Comment thread mise.toml Outdated
@nonsense nonsense marked this pull request as draft April 21, 2026 13:38
@nonsense nonsense marked this pull request as ready for review April 21, 2026 13:58
Base automatically changed from ci/mise-rust-toolchain-consolidation to develop April 21, 2026 14:00
@wiz-0f98cca50a
Copy link
Copy Markdown

wiz-0f98cca50a Bot commented Apr 21, 2026

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities -
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations -
SAST Finding SAST Findings -
Software Management Finding Software Management Findings -
Total -

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 21, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 11.4%. Comparing base (0bbba71) to head (8324702).
⚠️ Report is 2 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop   #20210   +/-   ##
========================================
  Coverage     11.4%    11.4%           
========================================
  Files          669      669           
  Lines        72658    72658           
========================================
+ Hits          8332     8340    +8     
+ Misses       64182    64174    -8     
  Partials       144      144           
Flag Coverage Δ
cannon-go-tests-64 66.3% <ø> (ø)
contracts-bedrock-tests 82.1% <ø> (+0.1%) ⬆️
unit 0.5% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

nonsense and others added 6 commits April 21, 2026 17:35
Move Rust components (clippy, rustfmt, llvm-tools-preview) and
cross-compile targets (riscv32imac-unknown-none-elf, wasm32-unknown-unknown,
wasm32-wasip1) into mise.toml so developers and CI share one source of truth.

Remove the rust-install-toolchain command from both main.yml and rust-ci.yml
along with all 9 call sites — every invocation was installing the same
1.94.0 toolchain mise already provides, the only real work was adding the
now-declared components/targets.

Also drop the rust-msrv workflow entry (functionally identical to rust-build
since MSRV equals the mise default).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mise.toml declares the cross-compile targets but they're not reliably
installed in CI — the previous pipeline only passed the wasm builds
because a stale cache restored /data/mise-data/.rustup with targets
seeded by a pre-refactor run. A Cargo.lock change evicted the cache
and the builds broke with "can't find crate for \`core\`" on wasm32-wasip1
and wasm32-unknown-unknown.

Restore the inline \`rustup target add\` that the previous
rust-install-toolchain command used to run, matching what just
check-no-std already does for riscv32imac.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pin cargo-deny, zepter, typos, cargo-udeps, cargo-hack, cargo-llvm-cov,
and lychee in mise.toml so they're version-locked and available to
contributors locally instead of being fetched per-job via cargo binstall
or curl.

Drop the corresponding install-cargo-binstall + cargo binstall fallbacks
from rust-ci.yml, the inline lychee curl install, and the now-unused
install-cargo-binstall command definitions in both main.yml and
rust-ci.yml. Also drop the cargo-nextest binstall fallback — mise
already pins nextest via the github:nextest-rs/nextest entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mise marked the ubi backend deprecated in favor of github, which adds
provenance verification (GitHub artifact attestations, SLSA) and fewer
runtime dependencies. Swap every `ubi:` entry — both the new cargo-*
pins added in the previous commit and the pre-existing forge/cast/anvil,
just, codecov-uploader, goreleaser-pro, gotestsum, mockery, svm-rs,
kontrol, and binary_signer aliases.

Unlike ubi, the github backend doesn't auto-strip tag prefixes, so add
`version_prefix = "v"` for tools whose release tags are v-prefixed
(verified via `gh release list`). cargo-deny and casey/just are the
only entries that stay prefix-less. Translate ubi's `[exe=X]` to github's
equivalent `[bin=X]` for the multi-binary foundry archive and for
goreleaser-pro and svm-rs.

Drop the kurtosis pin and alias — no other tool in the repo resolves
it via mise (rollup-boost and op-service testutils invoke it from the
system install path).

Verified locally with `mise install` against every entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The mise docs and the vm-compat install hint still pointed users at the
deprecated ubi: backend. Update them to github: so documented guidance
matches mise.toml. Also note that github: requires explicit
version_prefix for v-prefixed tags.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@nonsense nonsense force-pushed the nonsense/ci/more-consolidation branch 2 times, most recently from 62e8fed to 8324702 Compare April 21, 2026 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants