test(e2e): EVM Eth712Account deposit + withdraw through the dapp client #6707
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: TypeScript CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| jobs: | |
| lint: | |
| name: SDK Lint & Format | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: sdk | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| sdk: | |
| - 'sdk/**' | |
| - uses: actions/setup-node@v4 | |
| if: steps.filter.outputs.sdk == 'true' | |
| with: | |
| node-version: '24' | |
| cache: 'npm' | |
| cache-dependency-path: sdk/package-lock.json | |
| - if: steps.filter.outputs.sdk == 'true' | |
| run: npm ci && npm run lint | |
| check: | |
| name: SDK Build & Test | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: sdk | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '24' | |
| cache: 'npm' | |
| cache-dependency-path: sdk/package-lock.json | |
| - name: Install npm dependencies | |
| run: npm ci | |
| - name: Install Scarb | |
| uses: software-mansion/setup-scarb@v1 | |
| with: | |
| scarb-version: "2.17.0" | |
| - uses: software-mansion/setup-universal-sierra-compiler@v1 | |
| with: | |
| universal-sierra-compiler-version: "v2.8.0" | |
| - name: Install starknet-foundry via asdf | |
| uses: asdf-vm/actions/install@v3 | |
| with: | |
| asdf_branch: v0.14.1 | |
| tool_versions: | | |
| starknet-foundry 0.59.0 | |
| - name: Regenerate Cairo contract artifacts | |
| run: npm run generate | |
| - name: Fetch proving API spec | |
| env: | |
| SEQUENCER_SPEC_REF: "avi/privacy/add-rpc-spec" | |
| run: npm run fetch:proving-spec | |
| - name: Run tests | |
| run: npm run test:fast | |
| devnet: | |
| name: SDK Devnet Test | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: sdk | |
| steps: | |
| # fetch-depth: 2 so paths-filter can diff against the parent commit on push events (on | |
| # pull_request it uses the GitHub API and needs no history). | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| # The devnet suite exercises the SDK against the Cairo contracts, so run it only when the SDK, the | |
| # contracts, or this workflow itself change (the last so a change to the job below is exercised by | |
| # its own PR). Client-only PRs skip it (the steps no-op and the job still reports green, keeping a | |
| # required check satisfied) rather than being gated on the unrelated Cairo/devnet build. | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| devnet: | |
| - 'sdk/**' | |
| - 'packages/**' | |
| - 'Scarb.toml' | |
| - 'Scarb.lock' | |
| - '.github/workflows/typescript-ci.yml' | |
| - uses: actions/setup-node@v4 | |
| if: steps.filter.outputs.devnet == 'true' | |
| with: | |
| node-version: '24' | |
| cache: 'npm' | |
| cache-dependency-path: sdk/package-lock.json | |
| - name: Install Scarb | |
| if: steps.filter.outputs.devnet == 'true' | |
| uses: software-mansion/setup-scarb@v1 | |
| with: | |
| scarb-version: "2.17.0" | |
| - uses: software-mansion/setup-universal-sierra-compiler@v1 | |
| if: steps.filter.outputs.devnet == 'true' | |
| with: | |
| universal-sierra-compiler-version: "v2.8.0" | |
| - name: Install starknet-devnet | |
| if: steps.filter.outputs.devnet == 'true' | |
| run: | | |
| curl -L https://github.com/0xSpaceShard/starknet-devnet/releases/download/v0.8.0-rc.3/starknet-devnet-x86_64-unknown-linux-gnu.tar.gz | tar -xz -C /usr/local/bin | |
| chmod +x /usr/local/bin/starknet-devnet | |
| - name: Install npm dependencies | |
| if: steps.filter.outputs.devnet == 'true' | |
| run: npm ci | |
| - name: Build Cairo contracts | |
| if: steps.filter.outputs.devnet == 'true' | |
| run: npm run scarb:build | |
| - name: Run devnet tests | |
| if: steps.filter.outputs.devnet == 'true' | |
| run: npm run test:devnet |