Merge pull request #17 from AztecProtocol/feat/add-basic-prediction-m… #3
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_contract/**" | |
| - ".github/workflows/prediction-market-tests.yml" | |
| workflow_dispatch: | |
| jobs: | |
| prediction-market-tests: | |
| name: Prediction Market Tests | |
| runs-on: ubuntu-latest | |
| env: | |
| AZTEC_ENV: sandbox | |
| AZTEC_VERSION: 3.0.0-devnet.4 | |
| 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 }} | |
| docker tag aztecprotocol/aztec:${{ env.AZTEC_VERSION }} aztecprotocol/aztec:latest | |
| 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: prediction_market_contract | |
| run: bun install | |
| - name: Run Noir unit tests | |
| working-directory: prediction_market_contract | |
| run: aztec test | |
| timeout-minutes: 10 | |
| - name: Compile contract and generate artifacts | |
| working-directory: prediction_market_contract | |
| run: | | |
| aztec-nargo compile | |
| aztec-postprocess-contract | |
| aztec codegen target -o artifacts | |
| - name: Run end-to-end tests | |
| working-directory: prediction_market_contract | |
| 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_contract/tests/**/*.log | |
| 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 |