ci: install prebuilt cargo-deny instead of compiling from source - #1605
ci: install prebuilt cargo-deny instead of compiling from source#1605natoscott wants to merge 1 commit into
Conversation
The Cargo Deny job runs `cargo install cargo-deny@0.19.0`, which builds
cargo-deny and its full dependency tree from source. That build currently
fails compiling the transitive `tinyvec` crate under the runner's Rust
toolchain:
error: cannot find macro `vec` in this scope (tinyvec/.../lib.rs:710)
note: `vec` is imported here, but it is a module, not a macro
error: could not compile `tinyvec` (lib)
error: failed to compile `cargo-deny v0.19.0`
`tinyvec`'s `use alloc::vec::{self, Vec}` shadows the `vec!` macro, which is
now a hard error, so the linter never gets built — failing Cargo Deny on
every open PR regardless of content.
Install the pinned cargo-deny 0.19.0 prebuilt binary via
taiki-e/install-action instead of compiling it. Same version, same check
command; no source build, so the tinyvec breakage no longer applies.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Nathan Scott <nathans@redhat.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 9 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (2)
🧰 Additional context used📓 Path-based instructions (2)Review workflow edits for least-privilege permissions, safe trigger scopes, secret exposure, fork behavior, and release/cherry-pick side effects.⚙️ CodeRabbit configuration file Files:
Repository rules must require the `codeowners` check to be merge-blocking.📄 CodeRabbit inference engine (AGENTS.md) Files:
🔇 Additional comments (1)
WalkthroughThe CI workflow now installs pinned ChangesCI cargo-deny execution
Estimated code review effort: 2 (Simple) | ~5 minutes Merge Risk: ⚪ Minimal · up to CI now installs the pinned cargo-deny binary instead of compiling it, retaining the same dependency license and ban checks while avoiding the runner toolchain compilation failure. The change is ready to merge. Poem
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
Full details: Description checkExplanation The description clearly explains the failure, the prebuilt-binary fix, preserved behavior, and SHA pinning. It does not use the repository template headings or provide a reviewer-start location or related issue, but it contains the main information needed for review. Comment |
Problem
The Cargo Deny job is failing on every open PR (the failure is in building the linter, so it's independent of PR content;
mainshows a stale green from its last run). It runs:cargo installcompiles cargo-deny and its whole dependency tree from source, and that build now fails on the transitive cratetinyvec:tinyvec'suse alloc::vec::{self, Vec}shadows thevec!macro, which is a hard error under the runner's current Rust toolchain — so cargo-deny never builds and the check can't run.Fix
Install the pinned prebuilt cargo-deny 0.19.0 binary via
taiki-e/install-actioninstead of compiling from source. Same version, samecargo-deny … checkcommand — it just skips the source build, so thetinyvecbreakage no longer applies. The action is SHA-pinned per repo convention.Notes
🤖 Generated with Claude Code
Summary by CodeRabbit