Repository navigation
Conversation
The agent image ships the rust-crap-score engineering skill, but its collector refuses to run without cargo-llvm-cov 0.8.5, knots 1.16.0, and the toolchain's LLVM tools. Add llvm-tools-preview to the Rust toolchain, the checksum-pinned cargo-llvm-cov musl release for each architecture, and knots built from crates.io with its published lockfile, since its releases have no linux arm64 binary. The image test checks the exact versions and collects coverage and complexity for a small crate. Signed-off-by: Tee8z <tee8z@protonmail.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
|
This branch has not been deployed
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.
Problem
The agent image ships the
rust-crap-scoreengineering skill (#140), but its collector stops before it starts:It accepts only those exact versions, and
cargo llvm-covalso needs the toolchain's LLVM tools. The backend skill requires CRAP checks in some repositories, so remote agents cannot follow it today.Change
llvm-tools-previewrustup component addindevelopment-rust, copied to/opt/rustupwith the toolchaincargo-llvm-covviaandsccache(x86_64e9fc23db…, aarch64bc14a455…)knotscargo install --lockedfrom crates.io in a newcrap-toolsstage; only the stripped binary reaches the imageThe README lists the tools.
Design notes
Cargo.lock, so--lockedis reproducible. Cargo checks the crate against the registry checksum (ca72f815…). Itsrust-toolchain.toml(stable) does not apply, becausecargo installbuilds from the registry, outside the crate directory.cargo llvm-cov.heavy-bin/cargolistsllvm-cov, so coverage runs hold a build slot likecargo test.Validation
test-image.shnow checkscargo llvm-cov --version=cargo-llvm-cov 0.8.5,knots --version=knots 1.16.0, and the installedllvm-toolscomponent. It then collects real LCOV and knots JSON for a one-function crate, offline, as the skill does. CI runs this on both architectures.hadolintpasses, and so doesdocker buildx build --checkwith the empty skills context.Build buzz-agent (amd64)and(arm64), including Image contract tests and Packaged tool tests. Both logs show the coverage run of the sample crate's test (test negative ... ok) going through the heavy-job wrapper without a gate, thenPASS: agent adapter packaging. Thatbash -eblock stops at its first failure, so the version,llvm-tools, LCOV, and knots JSON checks all passed.Limits
llvm-tools. A repository that pins another toolchain inrust-toolchain.tomlalso needs that toolchain'sllvm-tools-preview.knotsbuild adds a few minutes to each agent image build, per architecture.Rollout
After merge, promote the new agent digest as with cd#675 and voltage-terraform#1026.