mirror of
https://github.com/selfxyz/self.git
synced 2026-01-09 14:48:06 -05:00
69 lines
1.8 KiB
YAML
69 lines
1.8 KiB
YAML
name: Self Circuits 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@v4
|
|
|
|
# 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: "enable yarn"
|
|
run: corepack enable yarn
|
|
- name: Install Yarn dependencies
|
|
run: yarn workspaces focus @selfxyz/circuits
|
|
|
|
- name: Run lint
|
|
working-directory: ./circuits
|
|
run: yarn lint
|
|
- name: Build (Circuits + Self dependencies)
|
|
run: yarn build:deps
|
|
working-directory: ./circuits
|
|
- name: Run Tests (Circuits)
|
|
working-directory: ./circuits
|
|
env:
|
|
FULL_TEST_SUITE: false
|
|
run: yarn test
|