Run one command before pushing contract changes to avoid failing CI.
make verifymake verify runs, in order:
| Step | Command | What it checks |
|---|---|---|
| Formatting | cargo fmt --all -- --check (fmt-check) |
No unformatted code. |
| Lint | cargo clippy --all-targets -- -D warnings (clippy) |
No lint warnings. |
| Tests | cargo test (test) |
The full unit suite passes. |
| Build | cargo build --target wasm32v1-none --release (build) |
The contract compiles to WASM. |
If any step fails, make verify stops there — fix the reported issue and re-run.
All four must pass locally before opening or updating a PR.
Contributors sometimes submit changes without running build/tests locally,
which then fail in automation and block approval. make verify is the single
pre-push gate that catches all of those before you push.
make ci— the stricter gate CI enforces (same steps); usemake verifyfor fast local feedback,make cito mirror the pipeline exactly.make test— run only the test suite.make fmt— auto-format in place (run this iffmt-checkfails).make all— format + test + build (formats instead of checking).
- Rust with the
wasm32v1-nonetarget:rustup target add wasm32v1-none. cargo clippyinstalled (usually bundled with the Rust toolchain; if missing,rustup component add clippy).
See also: Failing CI Response Guide for how to reproduce and fix each failure class.