Add recursive verification example and cleanup #8
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: Recursive Verification Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - "recursive_verification/**" | |
| - ".github/workflows/recursive-verification-tests.yml" | |
| workflow_dispatch: | |
| jobs: | |
| recursive-verification-tests: | |
| name: Recursive Verification Tests | |
| runs-on: ubuntu-latest | |
| env: | |
| AZTEC_ENV: sandbox | |
| AZTEC_VERSION: 2.0.3 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.1.36 | |
| - name: Set up Docker | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Install Aztec CLI | |
| run: | | |
| curl -s https://install.aztec.network > tmp.sh | |
| NON_INTERACTIVE=1 bash tmp.sh | |
| rm tmp.sh | |
| - name: Update path | |
| run: echo "$HOME/.aztec/bin" >> $GITHUB_PATH | |
| - name: Set Aztec version and start sandbox | |
| run: | | |
| aztec-up ${{ env.AZTEC_VERSION }} | |
| aztec start --sandbox & | |
| - name: Wait for sandbox to be ready | |
| run: | | |
| echo "Waiting for sandbox to start..." | |
| MAX_RETRIES=60 | |
| for i in $(seq 1 $MAX_RETRIES); do | |
| if curl -s http://localhost:8080/status >/dev/null 2>&1; then | |
| echo "✅ Sandbox is ready!" | |
| break | |
| fi | |
| if [ $i -eq $MAX_RETRIES ]; then | |
| echo "❌ Sandbox failed to start after $MAX_RETRIES attempts" | |
| exit 1 | |
| fi | |
| echo "Waiting... ($i/$MAX_RETRIES)" | |
| sleep 2 | |
| done | |
| - name: Install project dependencies | |
| working-directory: recursive_verification | |
| run: bun install | |
| - name: Compile Noir circuit | |
| working-directory: recursive_verification/circuit | |
| run: aztec-nargo compile | |
| - name: Compile contract and generate artifacts | |
| working-directory: recursive_verification | |
| run: bun ccc | |
| - name: Generate proof data | |
| working-directory: recursive_verification | |
| env: | |
| BB_SINGLE_THREADED: "1" | |
| HARDWARE_CONCURRENCY: "1" | |
| NODE_OPTIONS: "--max-old-space-size=6144" | |
| run: | | |
| echo "Generating proof data with memory optimizations..." | |
| bun data | |
| timeout-minutes: 30 | |
| - name: Run recursive verification script | |
| working-directory: recursive_verification | |
| run: bun recursion | |
| timeout-minutes: 15 | |
| - name: Upload test results if failed | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-logs | |
| path: | | |
| recursive_verification/tests/**/*.log | |
| recursive_verification/data.json | |
| retention-days: 7 | |
| - name: Cleanup | |
| if: always() | |
| run: | | |
| echo "Stopping Aztec sandbox..." | |
| pkill -f "aztec" || true | |
| docker stop $(docker ps -q) || true | |
| docker rm $(docker ps -a -q) || true |