Skip to content
name: Continuous Integration - proof verification tests
on:
push:
# branches:
# - main
pull_request:
# branches:
# - main
jobs:
verify-proof:
runs-on: ubuntu-latest
strategy:
matrix:
layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet", "starknet_with_keccak"]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup Scarb
uses: software-mansion/setup-scarb@v1
- name: Setup Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Clone custom scarb
run: git clone https://github.com/fmkra/scarb.git && git checkout feature_set_manipulations
working-directory: ${{ github.workspace }}
- name: Build custom scarb
run: cargo build
working-directory: ${{ github.workspace }}/scarb
- name: Build project
run: ./scarb/target/debug/scarb build --no-default-features --features=${{ matrix.layout }},keccak
working-directory: ${{ github.workspace }}
- name: Test project
run: ./scarb/target/debug/scarb test --no-default-features --features=${{ matrix.layout }},keccak
working-directory: ${{ github.workspace }}
- name: Run verification
run: cargo run --bin runner -- target/dev/cairo_verifier.sierra.json < examples/proofs/${{ matrix.layout }}/example_proof.json
working-directory: ${{ github.workspace }}