Skip to content

ci.yml's WASM build/upload step references an unrelated project's contracts #1028

Description

@martinzhames

Category: ci

Problem

.github/workflows/ci.yml's final two steps are:

- name: wasm build
  run: cargo wasm-build
- name: Upload WASM artifacts
  uses: actions/upload-artifact@v4
  with:
    name: wasm-contracts
    path: |
      contracts/paylink/target/wasm32v1-none/release/paylink.wasm
      contracts/cheese_pay/target/wasm32v1-none/release/cheese_pay.wasm

cargo wasm-build is not a real subcommand available in this workspace (no cargo-wasm-build alias is defined anywhere in .cargo/config.toml or Cargo.toml), and neither contracts/paylink nor contracts/cheese_pay exist among the 14 real member contracts under dabdub_contracts/contracts/. The Codecov step just above it is also still named name: cheese-contracts. This is leftover boilerplate from a different project template that was never adapted when this repo's actual contracts (payment_escrow, merchant_registry, etc.) were added.

Impact

CI's WASM build/upload step silently does not build or validate WASM output for any of this workspace's real 14 contracts — it either fails outright (since the referenced paths don't exist) or, if cargo wasm-build happens to resolve to something unintended, produces artifacts nobody can use. Critically, ci.yml never invokes make check-wasm-size, so the documented 64KB WASM size budget (Makefile, WASM_SIZE_LIMIT := 65536) is enforced only in deploy.yml, on the push: main/tag path — a pull request that grows a contract's WASM past the 64KB Soroban deploy limit would not be caught until (or unless) it merges.

Suggested fix

Replace the stale steps with cargo build --target wasm32v1-none --release across the real workspace and make check-wasm-size, uploading the actual per-contract .wasm files under dabdub_contracts/target/wasm32v1-none/release/*.wasm, so pull requests get the same 64KB budget gate that deploy.yml already enforces on main.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave program

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions