Unified Recursion Circuit for Multi-Degree Starky Proof Verification #5531
This file contains 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: Continuous Integration | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: | |
- "**" | |
workflow_dispatch: | |
branches: | |
- "**" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
test: | |
name: Test Suite | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install nightly toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Check in plonky2 subdirectory | |
run: cargo check --manifest-path plonky2/Cargo.toml | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
- name: Check in starky subdirectory | |
run: cargo check --manifest-path starky/Cargo.toml | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
- name: Run cargo test | |
run: cargo test --workspace | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
wasm: | |
name: Check wasm32 compatibility | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install nightly toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
targets: wasm32-unknown-unknown | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Check in plonky2 subdirectory for wasm targets | |
run: cargo check --manifest-path plonky2/Cargo.toml --target wasm32-unknown-unknown --no-default-features | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
- name: Check in starky subdirectory for wasm targets | |
run: cargo check --manifest-path starky/Cargo.toml --target wasm32-unknown-unknown --no-default-features | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
no_std: | |
name: Test Suite in no-std | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install nightly toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-02-01 | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Run cargo test in plonky2 subdirectory (no-std) | |
run: cargo test --manifest-path plonky2/Cargo.toml --no-default-features --lib | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
- name: Run cargo test in starky subdirectory (no-std) | |
run: cargo test --manifest-path starky/Cargo.toml --no-default-features --lib | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
lints: | |
name: Formatting and Clippy | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install nightly toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: rustfmt, clippy | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Run cargo fmt | |
run: cargo fmt --all --check | |
- name: Run cargo clippy | |
run: cargo clippy --all-features --all-targets -- -D warnings -A incomplete-features |