name: OpenPassport CI/CD on: push: branches: - dev - main - openpassportv2 paths: - 'circuits/**' - 'common/**' pull_request: branches: - dev - main - openpassportv2 paths: - 'circuits/**' - 'common/**' jobs: run_circuit_tests: if: github.event.pull_request.draft == false 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.9 run: | wget -qO /home/runner/work/circom https://github.com/iden3/circom/releases/download/v2.1.9/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: ./circuits run: yarn install-circuits --immutable - name: Run lint working-directory: ./circuits run: yarn lint - name: Run Tests (Circuits) working-directory: ./circuits env: FULL_TEST_SUITE: false run: yarn test - name: Run Tests (Common) working-directory: ./common run: yarn test