Merge pull request #27 from AztecProtocol/add-create-tag-workflow #17
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: Prediction Market Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - "prediction-market/**" | |
| - ".github/workflows/prediction-market-tests.yml" | |
| workflow_dispatch: | |
| jobs: | |
| prediction-market-tests: | |
| name: Prediction Market Tests | |
| runs-on: ubuntu-latest | |
| env: | |
| AZTEC_ENV: local-network | |
| AZTEC_VERSION: 3.0.0-devnet.20251212 | |
| 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 local network | |
| run: | | |
| aztec-up ${{ env.AZTEC_VERSION }} | |
| docker tag aztecprotocol/aztec:${{ env.AZTEC_VERSION }} aztecprotocol/aztec:latest | |
| aztec start --local-network & | |
| - name: Wait for local network to be ready | |
| run: | | |
| echo "Waiting for local network 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 "✅ Local network is ready!" | |
| break | |
| fi | |
| if [ $i -eq $MAX_RETRIES ]; then | |
| echo "❌ Local network failed to start after $MAX_RETRIES attempts" | |
| exit 1 | |
| fi | |
| echo "Waiting... ($i/$MAX_RETRIES)" | |
| sleep 2 | |
| done | |
| - name: Install project dependencies | |
| working-directory: prediction-market | |
| run: bun install | |
| - name: Run Noir unit tests | |
| working-directory: prediction-market | |
| run: aztec test | |
| timeout-minutes: 10 | |
| - name: Compile contract and generate artifacts | |
| working-directory: prediction-market | |
| run: | | |
| aztec compile | |
| aztec codegen target -o artifacts | |
| - name: Run end-to-end tests | |
| working-directory: prediction-market | |
| run: bun test | |
| timeout-minutes: 15 | |
| - name: Upload test results if failed | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-logs | |
| path: | | |
| prediction-market/tests/**/*.log | |
| retention-days: 7 | |
| - name: Cleanup | |
| if: always() | |
| run: | | |
| echo "Stopping Aztec local network..." | |
| pkill -f "aztec" || true | |
| docker stop $(docker ps -q) || true | |
| docker rm $(docker ps -a -q) || true |