Complexity: Trivial (100)
Description
.github/workflows/contract-ci.yml installs the wasm32-unknown-unknown target and then never uses it — the job runs cargo fmt, cargo clippy, and cargo test only. A change that compiles for the host but breaks the no_std wasm build passes CI today. Add a release wasm build, report the resulting binary size, and upload it as a workflow artifact.
Acceptance Criteria
- Contract CI runs
cargo build --target wasm32-unknown-unknown --release and fails the job on error
- The built
.wasm is uploaded as a workflow artifact for the commit
- The job prints the wasm file size so size regressions are visible in the PR checks
- A size ceiling is enforced (or a warning is emitted) so accidental bloat is caught early
- The workflow name in the artifact matches the actual crate output name produced by
Cargo.toml
Complexity: Trivial (100)
Description
.github/workflows/contract-ci.ymlinstalls thewasm32-unknown-unknowntarget and then never uses it — the job runscargo fmt,cargo clippy, andcargo testonly. A change that compiles for the host but breaks theno_stdwasm build passes CI today. Add a release wasm build, report the resulting binary size, and upload it as a workflow artifact.Acceptance Criteria
cargo build --target wasm32-unknown-unknown --releaseand fails the job on error.wasmis uploaded as a workflow artifact for the commitCargo.toml