Skip to content

Experiment with multiple jobs in a workflow #3

Experiment with multiple jobs in a workflow

Experiment with multiple jobs in a workflow #3

Workflow file for this run

name: Circuits
on: [push]
jobs:
setup:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v3
with:
node-version: '20.x'
- name: Enable Corepack and Install Yarn 4
run: |
corepack enable
yarn set version latest
- name: Install Dependencies
run: yarn install
- name: Install Nargo
uses: noir-lang/noirup@v0.1.3
with:
toolchain: 0.23.0
profiling:
name: Profiling
needs: setup
runs-on: ubuntu-latest
steps:
- name: Run nargo info
run: nargo info --workspace --silence-warnings | tee profiling_info.txt
- name: Archive profiling artifacts
uses: actions/upload-artifact@v4
with:
name: profiling_info
path: |
profiling_info.txt
tests:
name: Tests
needs: setup
runs-on: ubuntu-latest
steps:
- name: Run Tests
run: nargo test --workspace
e2e-tests:
name: E2E Tests
needs: setup
runs-on: 32-core-ubuntu-runner
environment: CI
env:
ETHEREUM_JSON_RPC_API_URL: ${{ secrets.ETHEREUM_JSON_RPC_API_URL }}
steps:
- name: Compile Circuit
run: nargo compile --workspace
- name: Start Oracle Server
working-directory: ethereum_history_api/oracles
run: |
yarn oracle-server &
ORACLE_SERVER_PID=$!
echo "ORACLE_SERVER_PID=$ORACLE_SERVER_PID" >> $GITHUB_ENV
- name: Generate Proof
run: |
nargo prove --package get_header --oracle-resolver=http://localhost:5555
nargo prove --package get_account --oracle-resolver=http://localhost:5555
- name: Veirfy Proof
run: |
nargo verify --package get_header
nargo verify --package get_account
- name: Stop Oracle Server
if: always()
run: kill $ORACLE_SERVER_PID