Skip to content

[SC-52] Track WASM size and enforce a budget in CI #1216

Description

@yusuftomilola

Overview

Once [SC-34] builds every contract for WASM, size becomes measurable — and assetsup at 8,894 lines is at real risk of approaching deployment limits. Without tracking, nobody notices until a deploy fails.

Tasks

  • Report each contract's release WASM size in CI.
  • Fail the build if any contract exceeds a configured size budget.
  • Comment the per-contract size delta on pull requests so growth is visible in review.
  • Optionally run stellar contract optimize and report post-optimization sizes.
  • Record current baselines in contract documentation.

Acceptance Criteria

  • CI reports WASM size per contract on every run.
  • A PR materially increasing size is visible in review.
  • Baselines are documented.

Dependencies

Blocked by [SC-34]; informs [SC-46].

Notes for Contributors

Requires Rust + Soroban. Workspace: contracts/ (soroban-sdk 22, members: assetsup, contrib, multisig-wallet, multisig_transfer, asset-maintenance). Run cargo test --all, cargo fmt --all -- --check, and cargo clippy --all-targets --all-features -- -D warnings before opening a PR — CI enforces all three. Comment below to be assigned.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programcontractdevopsCI/CD, infrastructure, and deployment

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions