name: ZK Email tests
on: [push]
jobs:
  run_circuit_tests:
    runs-on: ubuntu-latest
    environment: development
    steps:
      - uses: actions/checkout@v3

      # Circom installation from https://github.com/erhant/circomkit/blob/main/.github/workflows/tests.yml
      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install --yes \
            build-essential \
            libgmp-dev \
            libsodium-dev \
            nasm \
            nlohmann-json3-dev

      - name: Set Node.js 18.x
        uses: actions/setup-node@v3
        with:
          node-version: 18

      - name: Setup Rust
        uses: dtolnay/rust-toolchain@stable

      - name: Download Circom Binary v2.1.8
        run: |
          wget -qO /home/runner/work/circom https://github.com/iden3/circom/releases/download/v2.1.8/circom-linux-amd64
          chmod +x /home/runner/work/circom
          sudo mv /home/runner/work/circom /bin/circom

      - name: Print Circom version
        run: circom --version

      - name: Install Yarn dependencies
        working-directory: ./packages/circuits
        run: yarn install --immutable

      - name: Run Tests
        working-directory: ./packages/circuits
        run: yarn test

  run_helpers_tests:
    runs-on: ubuntu-latest
    environment: development
    steps:
      - uses: actions/checkout@v3

      - name: Set Node.js 18.x
        uses: actions/setup-node@v3
        with:
          node-version: 18

      - name: Install Yarn dependencies
        working-directory: ./packages/helpers
        run: yarn install --immutable

      - name: Run build
        working-directory: ./packages/helpers
        run: yarn build

      - name: Run Tests
        working-directory: ./packages/helpers
        run: yarn test
