chore(ci): fix deny advisories, nightly rustdoc lints, and stale forge-std pin#51
Merged
Merged
Conversation
base-anvil-fork CI is red on two deterministic checks, independent of any
feature work:
deny / cargo deny check:
- RUSTSEC-2026-0204 (crossbeam-epoch <0.9.20): bump via Cargo.lock to 0.9.20.
- RUSTSEC-2026-0194 / -0195 (quick-xml <0.41 DoS): ignore. quick-xml 0.18/0.38
are transitive and the fix (>=0.41) isn't reachable via cargo update given
foundry's dep tree; matches the existing ignore convention.
docs / docs (nightly rustdoc -D warnings):
- rustdoc::redundant_explicit_links now flags [revm](foundry_evm::revm) in
crates/anvil/src/eth/backend/{mod.rs,db.rs}; drop the redundant explicit
target so the label resolves via intra-doc.
Verified locally: 'cargo deny --all-features check all' and
'cargo +nightly doc --workspace --all-features --no-deps --document-private-items'
both pass.
Not addressed here (non-deterministic, upstream/env): test / test all
(forge CLI tests) and test / test external (mainnet-fork tests over public RPC).
Co-authored-by: OpenCode <opencode-noreply@coinbase.com>
The shared test template ('forge init' in crates/test-utils/src/util.rs)
writes a foundry.lock pinning forge-std at bf647bd6 (v1.16.2) and then
force-checks-out FORGE_STD_REVISION (= testdata/forge-std-rev). Our pin was
stale at 620536fa (Apr 2026), so 'forge build' warned about the revision
mismatch, breaking the no-warning / snapshot CLI tests
(build_no_warning_without_soldeer_lock, cmd::can_clean_without_warnings,
test_cmd::repros::issue_9272). Sync the pin to upstream foundry-rs/foundry's
testdata/forge-std-rev so the checkout matches the lock.
Co-authored-by: OpenCode <opencode-noreply@coinbase.com>
3 tasks
amiecorso
approved these changes
Jul 15, 2026
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.
Motivation
base-anvil-forkCI is red on several checks that are unrelated to any feature work — every open PR inherits them. This PR greens the deterministic, in-repo ones:deny / cargo deny check— new 2026 RUSTSEC advisories on transitive deps.docs / docs— nightly rustdoc now enforcesrustdoc::redundant_explicit_linksunder-D warnings.test / test all— a staleforge-stdpin makesforge buildemit a revision-mismatch warning that breaks no-warning / snapshot CLI tests.Solution
deny:
crossbeam-epoch0.9.18 → 0.9.20(Cargo.lock) — resolves RUSTSEC-2026-0204.quick-xml<0.41 DoS).quick-xml0.18/0.38 are transitive and the fix (>=0.41.0) isn't reachable viacargo updategiven foundry's dep tree; matches the existing convention indeny.toml.docs:
rustdoc::redundant_explicit_linksflagged[revm](foundry_evm::revm)incrates/anvil/src/eth/backend/mod.rsanddb.rs. Dropped the redundant explicit target so the label resolves via intra-doc link.test all (
forge-stdrevision mismatch):crates/test-utils/src/util.rs) runsforge init— which writes afoundry.lockpinning forge-std atbf647bd6(v1.16.2) — then force-checks-outFORGE_STD_REVISION(=testdata/forge-std-rev). Our pin was stale at620536fa(Apr 2026), soforge buildwarned:build::build_no_warning_without_soldeer_lock,cmd::can_clean_without_warnings, andtest_cmd::repros::issue_9272.testdata/forge-std-rev620536fa → bf647bd6, matching upstream foundry-rs/foundry'stestdata/forge-std-rev. The checkout now matches the lock → no warning.Verified locally:
cargo deny --all-features check all→advisories ok, bans ok, licenses ok, sources okcargo +nightly doc --workspace --all-features --no-deps --document-private-items(with CIRUSTDOCFLAGS) → cleantest / test allon this PR exercises it end-to-end.Out of scope
test / test external(ext_integration::gunilev,convex_shutdown_simulation) fork Ethereum mainnet over a public RPC — environmental flakes, not a base-anvil regression.PR Checklist