Nightly Unit Tests Macos #512
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: Nightly Unit Tests Macos | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: 0 4 * * * | |
| env: | |
| NODE_OPTIONS: "--max-old-space-size=8192" | |
| TTL: ${{ vars.COORDINATOR_TTL }} | |
| LIMIT: ${{ vars.COORDINATOR_LIMIT }} | |
| COORDINATOR_PUBLIC_KEY_PATH: ${{ vars.COORDINATOR_PUBLIC_KEY_PATH }} | |
| COORDINATOR_PRIVATE_KEY_PATH: ${{ vars.COORDINATOR_PRIVATE_KEY_PATH }} | |
| COORDINATOR_MACI_PRIVATE_KEY: ${{ secrets.COORDINATOR_MACI_PRIVATE_KEY }} | |
| COORDINATOR_TALLY_ZKEY_NAME: ${{ vars.COORDINATOR_TALLY_ZKEY_NAME }} | |
| COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME: ${{ vars.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME }} | |
| COORDINATOR_POLL_JOINING_ZKEY_NAME: ${{ vars.COORDINATOR_POLL_JOINING_ZKEY_NAME }} | |
| COORDINATOR_POLL_JOINED_ZKEY_NAME: ${{ vars.COORDINATOR_POLL_JOINED_ZKEY_NAME }} | |
| COORDINATOR_RAPIDSNARK_EXE: ${{ vars.COORDINATOR_RAPIDSNARK_EXE }} | |
| COORDINATOR_ZKEY_PATH: "../../zkeys" | |
| COORDINATOR_RPC_URL: "http://localhost:8545" | |
| COORDINATOR_ADDRESSES: ${{ vars.COORDINATOR_ADDRESSES }} | |
| COORDINATOR_ALLOWED_ORIGINS: ${{ vars.COORDINATOR_ALLOWED_ORIGINS }} | |
| COORDINATOR_REDIS_HOST: ${{ vars.COORDINATOR_REDIS_HOST }} | |
| COORDINATOR_REDIS_PORT: ${{ vars.COORDINATOR_REDIS_PORT }} | |
| COORDINATOR_PORT: ${{ vars.COORDINATOR_PORT }} | |
| SUBGRAPH_NAME: ${{ vars.COORDINATOR_SUBGRAPH_NAME }} | |
| SUBGRAPH_PROVIDER_URL: ${{ vars.COORDINATOR_SUBGRAPH_PROVIDER_URL }} | |
| SUBGRAPH_DEPLOY_KEY: ${{ secrets.COORDINATOR_SUBGRAPH_DEPLOY_KEY }} | |
| SUBGRAPH_FOLDER: ${{ vars.COORDINATOR_SUBGRAPH_FOLDER }} | |
| ZERODEV_BUNDLER_RPC_OP_SEPOLIA: ${{ secrets.COORDINATOR_ZERODEV_BUNDLER_RPC_OP_SEPOLIA }} | |
| MNEMONIC: ${{ secrets.COORDINATOR_TEST_MNEMONIC }} | |
| RELAYER_RPC_URL: "http://localhost:8545" | |
| ALLOWED_ORIGINS: ${{ vars.ALLOWED_ORIGINS }} | |
| MAX_MESSAGES: ${{ vars.RELAYER_MAX_MESSAGES || 20 }} | |
| MONGO_DB_URI: ${{ secrets.RELAYER_MONGO_DB_URI }} | |
| MONGODB_USER: ${{ secrets.MONGODB_USER }} | |
| MONGODB_PASSWORD: ${{ secrets.MONGODB_PASSWORD }} | |
| MONGODB_DATABASE: ${{ secrets.MONGODB_DATABASE }} | |
| CRON_EXPRESSION: ${{ secrets.CRON_EXPRESSION }} | |
| jobs: | |
| generate-proving-keys: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| command: ["test", "test:unit", "test:integration", "test:e2e", "test:hardhat"] | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| ref: main | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: Use Node.js 20 | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| cache: "pnpm" | |
| - name: Install | |
| run: | | |
| pnpm install --frozen-lockfile --prefer-offline | |
| - name: Build | |
| run: | | |
| pnpm run build | |
| - name: Run hardhat fork | |
| run: | | |
| cd packages/contracts | |
| cp ./deploy-config-example.json ./deploy-config.json | |
| pnpm run hardhat & | |
| - name: Download circom Binary v2.1.6 | |
| run: | | |
| wget -qO ${{ github.workspace }}/circom https://github.com/iden3/circom/releases/download/v2.1.6/circom-macos-amd64 | |
| chmod +x ${{ github.workspace }}/circom | |
| echo "${{ github.workspace }}" >> $GITHUB_PATH | |
| - name: Compile Circuits And Generate zkeys | |
| run: | | |
| pnpm build:circuits-wasm -- --outPath ../../zkeys | |
| pnpm setup:zkeys -- --outPath ../../zkeys | |
| - name: Generate RSA Keypair | |
| working-directory: apps/coordinator | |
| run: | | |
| pnpm run generate-keypair | |
| - name: ${{ matrix.command }} | |
| run: pnpm run ${{ matrix.command }} | |
| - name: Stop Hardhat | |
| if: always() | |
| run: kill $(lsof -t -i:8545) | |
| - name: Notify on failure | |
| if: ${{ always() && (failure() || cancelled()) }} | |
| run: | | |
| curl -X POST -H 'Content-Type: application/json' \ | |
| -d '{"text": ":x: GitHub Actions job *${{ github.workflow }}* failed in *${{ github.repository }}* on branch *${{ github.ref }}*. [View run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})"}' \ | |
| ${{ secrets.WEBHOOK_URL }} |