Skip to content

Nightly Unit Tests Macos #512

Nightly Unit Tests Macos

Nightly Unit Tests Macos #512

Workflow file for this run

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 }}