feat: add lambdavm #278
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test and clippy verifier crates | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - 'release/**' | |
| pull_request: | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| show-program-vk-and-proof-size: | |
| name: Show program vk and proof size | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Run | |
| run: | | |
| echo "## Program VK size and Proof size" >> "$GITHUB_STEP_SUMMARY" | |
| python3 .github/scripts/show-program-vk-and-proof-size.py \ | |
| | tee -a "$GITHUB_STEP_SUMMARY" | |
| benchmark-verifier: | |
| name: Benchmark verifier crates | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| # protoc is needed for crate `sp1-prover-types` (transitive dep of the | |
| # verifier bench). The rest are needed to build `proofman-starks-lib-c`, | |
| # which is pulled by `proofman-fields` unconditionally on x86_64. | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y protobuf-compiler nasm nlohmann-json3-dev libgmp-dev libsodium-dev libomp-dev libopenmpi-dev libssl-dev | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run verifier benchmark | |
| run: | | |
| cargo bench \ | |
| --package ere-verifier \ | |
| --bench verify \ | |
| | tee bench-output.txt | |
| - name: Append verification time to summary | |
| run: | | |
| { | |
| echo "# Verification time" | |
| echo "" | |
| echo '```' | |
| grep -E '^verify/' bench-output.txt | awk '{print; print ""}' | |
| echo '```' | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| test-stable: | |
| name: Test and clippy verifier crates with stable toolchain | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| # protoc is needed for crate `sp1-prover-types`. The rest are needed to | |
| # build `proofman-starks-lib-c`, which is pulled by `proofman-fields` | |
| # unconditionally on x86_64. | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y protobuf-compiler nasm nlohmann-json3-dev libgmp-dev libsodium-dev libomp-dev libopenmpi-dev libssl-dev | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Cache dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run cargo clippy verifier crates | |
| run: | | |
| cargo clippy --all-targets \ | |
| --package ere-verifier \ | |
| --package ere-verifier-lambdavm \ | |
| --package ere-verifier-openvm \ | |
| --package ere-verifier-sp1 \ | |
| --package ere-verifier-zisk \ | |
| -- -D warnings | |
| - name: Run cargo test verifier crates | |
| run: | | |
| cargo test --release \ | |
| --package ere-verifier \ | |
| --package ere-verifier-lambdavm \ | |
| --package ere-verifier-openvm \ | |
| --package ere-verifier-sp1 \ | |
| --package ere-verifier-zisk \ | |
| --test verifier |