Skip to content

[CI] Contracts CI optimizes WASM but enforces no size budget (no wasm-size gate) #896

Description

@grantfox-oss

Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0

Why this matters

ci.yml builds and optimizes the contract WASM and uploads it as an artifact, and the release profile is tuned for size (opt-level=z, lto, strip). But there is no step that asserts the optimized .wasm stays under a size budget, so a size regression (which directly affects Soroban deploy/instantiation cost) merges unnoticed.

Acceptance criteria

  • After the optimize step, fail the job if the optimized .wasm exceeds a configured byte budget
  • Print the optimized size to the job log for visibility
  • Document the chosen budget

Files to touch

  • .github/workflows/ci.yml
  • contracts/Cargo.toml

Out of scope

  • Gas/CPU instruction budgeting

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgithub_actionsPull requests that update GitHub Actions codetestingTesting related tasks

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions