name: stylus-check-wasm
# This workflow checks that the compiled wasm binary of every example contract
# can be deployed to Arbitrum Stylus.
on:
  pull_request:
    paths:
      - target_chains/ethereum/sdk/stylus/**
  push:
    branches:
      - main
permissions:
  contents: read
concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true
env:
  CARGO_TERM_COLOR: always
jobs:
  check-wasm:
    name: Check WASM binary
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: target_chains/ethereum/sdk/stylus
    steps:
      - uses: actions/checkout@v4
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - name: Install Foundry
        uses: foundry-rs/foundry-toolchain@v1
        with:
          version: nightly
      - name: Install cargo-stylus
        run: cargo install cargo-stylus@0.5.8
      - name: Run wasm check
        run: ./scripts/check-wasm.sh
