Join the discussion on Telegram
Why this matters
Commit 2249aa6 (closing #460) added a dedicated Contracts CI workflow with two quality gates:
cargo fmt --all -- --check (formatting gate)
cargo clippy --all-targets -- -D warnings (lint gate)
A bad merge (feeefa2) then concatenated two full workflow definitions into .github/workflows/ci.yml, producing an invalid file. The follow-up cleanup commit 8f8749e ("remove duplicate workflow block that made ci.yml invalid") removed the entire prepended block — and with it the fmt and clippy gates and the rustfmt, clippy toolchain components.
The surviving contracts job in ci.yml now only builds the WASM, runs cargo test, runs tarpaulin coverage, and optimizes WASM. There is no formatting or lint gate left, so the work done for #460 is effectively gone. Unformatted code and clippy warnings can now merge to main unblocked (and a previous rebase already mangled a closing brace in the fuzz test, see 47ac389 — exactly the kind of thing a fmt/clippy gate catches).
Acceptance criteria
Files to touch
.github/workflows/ci.yml (the contracts job, lines ~114-138)
Out of scope
- Splitting the combined
ci.yml into per-area workflow files.
- Changing the frontend/backend jobs.
Join the discussion on Telegram
Why this matters
Commit
2249aa6(closing #460) added a dedicatedContracts CIworkflow with two quality gates:cargo fmt --all -- --check(formatting gate)cargo clippy --all-targets -- -D warnings(lint gate)A bad merge (
feeefa2) then concatenated two full workflow definitions into.github/workflows/ci.yml, producing an invalid file. The follow-up cleanup commit8f8749e("remove duplicate workflow block that made ci.yml invalid") removed the entire prepended block — and with it the fmt and clippy gates and therustfmt, clippytoolchain components.The surviving
contractsjob inci.ymlnow only builds the WASM, runscargo test, runs tarpaulin coverage, and optimizes WASM. There is no formatting or lint gate left, so the work done for #460 is effectively gone. Unformatted code and clippy warnings can now merge tomainunblocked (and a previous rebase already mangled a closing brace in the fuzz test, see47ac389— exactly the kind of thing a fmt/clippy gate catches).Acceptance criteria
components: rustfmt, clippyto the toolchain setup step of thecontractsjob in.github/workflows/ci.yml.cargo fmt --all -- --checkstep (working-directorycontracts).cargo clippy --all-targets -- -D warningsstep (working-directorycontracts). Note: clippy must NOT targetwasm32-unknown-unknown, since test targets cannot build for wasm.name/on/jobsblock) and the gates pass on currentmain.Files to touch
.github/workflows/ci.yml(thecontractsjob, lines ~114-138)Out of scope
ci.ymlinto per-area workflow files.