Skip to content

Integration guide

Integration guide #136

Workflow file for this run

name: CI
on:
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
NODE_VERSION: '24.12.0'
AZTEC_VERSION: 4.0.0-devnet.2-patch.0
NARGO_VERSION: 1.0.0-beta.18
jobs:
format-and-lint:
name: Format & Lint
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- uses: foundry-rs/foundry-toolchain@v1
- uses: noir-lang/noirup@v0.1.4
with:
toolchain: ${{ env.NARGO_VERSION }}
- name: Check Solidity formatting
run: cd solidity && forge fmt --check
- name: Check Noir formatting
run: cd noir && nargo fmt --check
- name: Check TypeScript formatting
run: npx prettier --check 'ts/**/*.ts' 'e2e-tests/**/*.ts'
test-e2e:
name: Test - E2E
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- uses: foundry-rs/foundry-toolchain@v1
- uses: ./.github/actions/setup-aztec
with:
version: ${{ env.AZTEC_VERSION }}
- run: corepack enable && yarn install --frozen-lockfile
- run: cd solidity && forge soldeer install
- name: Compile Noir contracts
run: yarn noir:compile && yarn noir:codegen
- name: Compile Solidity contracts
run: yarn sol:compile
- name: Build TypeScript SDK
run: yarn ts:build
- name: Run hash compatibility check
run: bash e2e-tests/hash-compatibility.sh
- name: Run noir/aztec unit tests
run: cd noir && aztec test
- name: Start dual-rollup infrastructure
run: yarn test:setup
- name: Test - Migration Key Registry
run: yarn test:registry
- name: Test - Migration Mode A (Private and Public)
run: yarn test:mode-a
- name: Test - Migration Mode B (Private)
run: yarn test:mode-b
- name: Test - Migration Mode B (Public)
run: yarn test:mode-b:public
- name: Tear down infrastructure
if: always()
run: yarn test:stop