ci(anvil): update to cargo-anvil 0.3.0 - #596
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s Anvil-managed CI/workflow and Just recipe trees to match cargo-anvil 0.3.0 output, and then adjusts several Rust implementations to satisfy new Clippy findings (notably unused_async_trait_impl).
Changes:
- Regenerated Anvil-managed Just recipes and GitHub workflows/actions, including refreshed headers and pinned action SHAs.
- Added optional “free disk space” pre-cleanup support to the Anvil setup composite action and wired it into selected workflows.
- Refactored multiple trait implementations away from
async fnbodies that don’tawait, usingimpl Futurereturns /ready(...)patterns.
Reviewed changes
Copilot reviewed 84 out of 85 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| justfiles/anvil/versions.just | Refresh anvil-managed header/comments |
| justfiles/anvil/tools.just | Refresh anvil-managed header + recipe comments |
| justfiles/anvil/tiers.just | Refresh anvil-managed header + tier comments |
| justfiles/anvil/mod.just | Refresh anvil-managed header + doc comment tweaks |
| justfiles/anvil/helpers.just | Refresh anvil-managed header/comments |
| justfiles/anvil/groups/scheduled-test.just | Add/refresh group comments + header |
| justfiles/anvil/groups/scheduled-runtime-analysis.just | Add/refresh group comments + header |
| justfiles/anvil/groups/scheduled-exhaustive.just | Add/refresh group comments + header |
| justfiles/anvil/groups/scheduled-advisories.just | Add/refresh group comments + header |
| justfiles/anvil/groups/pr-test.just | Add/refresh group comments + header |
| justfiles/anvil/groups/pr-slow.just | Add/refresh group comments + header |
| justfiles/anvil/groups/pr-runtime-analysis.just | Add/refresh group comments + header |
| justfiles/anvil/groups/pr-mutants.just | Add/refresh group comments + header |
| justfiles/anvil/groups/pr-fast.just | Add/refresh group comments + header |
| justfiles/anvil/checks/udeps.just | Add/refresh check comments + header |
| justfiles/anvil/checks/spellcheck.just | Add/refresh check comments + header |
| justfiles/anvil/checks/semver-check.just | Enhance baseline handling and error tolerance logic |
| justfiles/anvil/checks/readme-check.just | Add/refresh check comments + header |
| justfiles/anvil/checks/pr-title.just | Add/refresh check comments + header |
| justfiles/anvil/checks/mutants-full.just | Add/refresh check comments + header |
| justfiles/anvil/checks/mutants-diff.just | Add/refresh check comments + header |
| justfiles/anvil/checks/miri.just | Add/refresh check comments + header |
| justfiles/anvil/checks/miri-tree-borrows.just | Add/refresh check comments + header |
| justfiles/anvil/checks/miri-strict-provenance.just | Add/refresh check comments + header |
| justfiles/anvil/checks/miri-race-coverage.just | Add/refresh check comments + header |
| justfiles/anvil/checks/loom.just | Add/refresh check comments + header |
| justfiles/anvil/checks/llvm-cov.just | Add/refresh check comments + header |
| justfiles/anvil/checks/license-headers.just | Add/refresh check comments + header |
| justfiles/anvil/checks/fmt.just | Add/refresh check comments + header |
| justfiles/anvil/checks/external-types.just | Add/refresh check comments + header |
| justfiles/anvil/checks/examples.just | Add/refresh check comments + header |
| justfiles/anvil/checks/ensure-no-default-features.just | Add/refresh check comments + header |
| justfiles/anvil/checks/ensure-no-cyclic-deps.just | Add/refresh check comments + header |
| justfiles/anvil/checks/doc-test.just | Add/refresh check comments + header |
| justfiles/anvil/checks/doc-build.just | Add/refresh check comments + header |
| justfiles/anvil/checks/deny.just | Add/refresh check comments + header |
| justfiles/anvil/checks/clippy.just | Add/refresh check comments + header |
| justfiles/anvil/checks/cargo-sort.just | Add/refresh check comments + header |
| justfiles/anvil/checks/cargo-hack.just | Add/refresh check comments + header |
| justfiles/anvil/checks/careful.just | Add/refresh check comments + header |
| justfiles/anvil/checks/bolero.just | Add/refresh check comments + header |
| justfiles/anvil/checks/bench.just | Add/refresh check comments + header |
| justfiles/anvil/checks/audit.just | Add/refresh check comments + header |
| justfiles/anvil/checks/aprz.just | Add/refresh check comments + header |
| crates/seatbelt/benches/observability.rs | Update exporter impl to avoid unused async |
| crates/multitude/src/internal/chunk_provider.rs | Suppress deprecation warnings for atomics usage |
| crates/multitude/src/arena/alloc_growable.rs | Refactor UTF-16 unit iteration |
| crates/layered/src/testing.rs | Update mock service to non-async fn impl |
| crates/layered/src/service.rs | Update test service to non-async fn impl |
| crates/http_path_template/Cargo.toml | Move lints block into anvil-managed region |
| crates/fundle/tests/bundle_setters.rs | Add new clippy allow for tests |
| crates/fetch/tests/telemetry_scope.rs | Update handler impl to non-async fn impl |
| crates/fetch_hyper/src/connection/hyper_handler.rs | Remove unused imports |
| crates/cachet/tests/cache.rs | Update test tiers/services to non-async fn impl patterns |
| crates/cachet/examples/stampede_protection.rs | Update example CacheTier impl signatures |
| crates/cachet/examples/service_as_storage.rs | Update example Service impl signatures |
| crates/cachet/examples/refresh.rs | Update example CacheTier impl signatures |
| crates/cachet/examples/multi_tier.rs | Update example CacheTier impl signatures |
| crates/cachet/examples/error_handling.rs | Update example CacheTier impl signatures |
| crates/cachet_tier/tests/tier.rs | Update test tier impl signatures |
| crates/cachet_tier/src/testing.rs | Add targeted clippy expectation for mock |
| crates/cachet_service/tests/adapter.rs | Update test service impl signatures |
| crates/cachet_service/src/ext.rs | Update test service impl signatures |
| crates/cachet_service/src/adapter.rs | Update adapter len signature style |
| crates/cachet_memory/src/tier.rs | Update CacheTier impl to avoid unused async |
| crates/bytesbuf/src/testing.rs | Minor control-flow simplification |
| crates/bytesbuf_io/src/testing/null.rs | Update Write impl signature style |
| crates/bytesbuf_io/src/testing/fake_write.rs | Add clippy allow for unused async trait impl |
| crates/bytesbuf_io/src/testing/fake_read.rs | Add clippy allow for unused async trait impl |
| crates/bytesbuf_io/src/read_futures.rs | Update test Read impl signatures |
| .github/workflows/anvil-scheduled.yml | Refresh anvil-managed header |
| .github/workflows/anvil-scheduled-impl.yml | Pin actions + wire free-disk-space input |
| .github/workflows/anvil-pr.yml | Refresh anvil-managed header |
| .github/workflows/anvil-pr-impl.yml | Pin actions + adjust checkout depth + wire free-disk-space |
| .github/actions/anvil-setup/action.yml | Add free-disk-space cleanup + pin cache/binstall actions |
| .github/actions/anvil-scheduled-test/action.yml | Pass through free-disk-space input |
| .github/actions/anvil-scheduled-runtime-analysis/action.yml | Pass through free-disk-space input |
| .github/actions/anvil-scheduled-exhaustive/action.yml | Pass through free-disk-space input |
| .github/actions/anvil-scheduled-advisories/action.yml | Pass through free-disk-space input |
| .github/actions/anvil-pr-test/action.yml | Pass through free-disk-space input |
| .github/actions/anvil-pr-runtime-analysis/action.yml | Pass through free-disk-space input |
| .github/actions/anvil-pr-mutants/action.yml | Pass through free-disk-space input |
| .github/actions/anvil-pr-fast/action.yml | Pass through free-disk-space input |
| .github/actions/anvil-impact/action.yml | Refresh anvil-managed header |
| .anvil.lock | Bump cargo-anvil version + update checksums/regions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #596 +/- ##
=======================================
Coverage 100.0% 100.0%
=======================================
Files 408 408
Lines 36702 36702
=======================================
Hits 36702 36702
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
c546cbd to
3829469
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 59 out of 60 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
.github/actions/anvil-setup/action.yml:53
runner.environmentis not a documented GitHub Actionsrunnercontext property, so this condition will evaluate to false and the cleanup will never run even whenfree-disk-space: trueis passed. If the intent is to restrict cleanup to GitHub-hosted runners, gate on an image metadata env var that only exists on hosted images (e.g.env.ImageOS).
- name: Free disk space (Windows)
if: inputs.free-disk-space == 'true' && runner.environment == 'github-hosted' && runner.os == 'Windows'
shell: pwsh
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 59 out of 60 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (2)
.github/actions/anvil-setup/action.yml:39
runner.environmentis not a documented/standard GitHub Actions context field, so this condition will likely always evaluate to false and the cleanup will never run on GitHub-hosted runners.
Use a supported runner context property (e.g. runner.name) or remove the hosted-runner check and rely on callers to only enable this input on GitHub-hosted runners.
- name: Free disk space (Linux)
if: inputs.free-disk-space == 'true' && runner.environment == 'github-hosted' && runner.os == 'Linux'
shell: bash
.github/actions/anvil-setup/action.yml:53
- Same issue as the Linux cleanup step:
runner.environmentis not a standard GitHub Actions context field, so this step will likely never run.
Switch to a supported predicate (e.g. runner.name == 'GitHub Actions') or restructure the guard so GitHub-hosted vs self-hosted is decided outside this action.
- name: Free disk space (Windows)
if: inputs.free-disk-space == 'true' && runner.environment == 'github-hosted' && runner.os == 'Windows'
shell: pwsh
Pato Sandaña (psandana)
left a comment
There was a problem hiding this comment.
Reviewed: mechanical regeneration via cargo-anvil 0.3.0. Verified all pinned Action SHAs resolve to their claimed tags (no supply-chain tampering). No logic concerns found.
Summary
see feat(anvil): update cargo-anvil to 0.3.0 ox-tools#60