mirror of
https://github.com/selfxyz/self.git
synced 2026-02-21 03:00:36 -05:00
70 lines
1.8 KiB
YAML
70 lines
1.8 KiB
YAML
name: OpenPassport CI/CD
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "circuits/circuits/**"
|
|
- ".github/workflows/artifacts.yml"
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "circuits/circuits/**"
|
|
- ".github/workflows/artifacts.yml"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ['self-hosted', 'selfxyz-org', 'ubuntu-22-04', '128ram']
|
|
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install cpp dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --yes \
|
|
build-essential \
|
|
libgmp-dev \
|
|
libsodium-dev \
|
|
nasm \
|
|
nlohmann-json3-dev \
|
|
wget
|
|
|
|
# TODO(): Use caching
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
npm i -g yarn && cd circuits && yarn
|
|
|
|
- name: Setup Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Download Circom Binary v2.1.9
|
|
run: |
|
|
mkdir -p /home/runner/work
|
|
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: Build cpp circuits
|
|
run: |
|
|
chmod +x circuits/scripts/build/build_cpp.sh && \
|
|
./circuits/scripts/build/build_cpp.sh register &&
|
|
./circuits/scripts/build/build_cpp.sh disclose &&
|
|
./circuits/scripts/build/build_cpp.sh dsc
|
|
|
|
- name: Upload Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: circuits
|
|
path: output/
|