feat: verifier crate #524
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: Main | |
on: | |
pull_request: | |
branches: | |
- main | |
paths: | |
- "crates/**" | |
- "Cargo.toml" | |
- ".github/workflows/**" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
plonk: | |
name: Plonk Native | |
runs-on: | |
[ | |
runs-on, | |
cpu=64, | |
ram=256, | |
family=m7i+m7a, | |
hdd=80, | |
image=ubuntu22-full-x64, | |
spot=false, | |
"run-id=${{ github.run_id }}", | |
] | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup CI | |
uses: ./.github/actions/setup | |
- name: Run cargo test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
toolchain: 1.81.0 | |
args: --release -p sp1-sdk --features native-gnark -- test_e2e_prove_plonk --nocapture | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native | |
RUST_BACKTRACE: 1 | |
plonk-docker: | |
name: Plonk Docker | |
runs-on: | |
[ | |
runs-on, | |
cpu=64, | |
ram=256, | |
family=m7i+m7a, | |
hdd=80, | |
image=ubuntu22-full-x64, | |
spot=false, | |
"run-id=${{ github.run_id }}", | |
] | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup CI | |
uses: ./.github/actions/setup | |
- name: Run cargo test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
toolchain: 1.81.0 | |
args: --release -p sp1-sdk -- test_e2e_prove_plonk --nocapture | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native | |
RUST_BACKTRACE: 1 | |
check-branch: | |
name: Check branch | |
runs-on: [ubuntu-latest, "run-id=${{ github.run_id }}"] | |
steps: | |
- name: Check branch | |
if: github.head_ref != 'dev' && !startsWith(github.head_ref, 'release/') && !startsWith(github.head_ref, 'hotfix/') | |
run: | | |
echo "ERROR: You can only merge to main from dev, release/*, or hotfix/*." | |
exit 1 | |
ssz-withdrawals: | |
name: Example (SSZ Withdrawals) | |
runs-on: | |
[ | |
runs-on, | |
runner=64cpu-linux-arm64, | |
spot=false, | |
"run-id=${{ github.run_id }}", | |
] | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup CI | |
uses: ./.github/actions/setup | |
- name: Install SP1 toolchain | |
run: | | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up | |
~/.sp1/bin/cargo-prove prove --version | |
- name: Install SP1 CLI | |
run: | | |
cd crates/cli | |
cargo install --force --locked --path . | |
cd ~ | |
- name: Run script | |
run: | | |
cd examples/ssz-withdrawals/program | |
cargo add sp1-zkvm --path $GITHUB_WORKSPACE/crates/zkvm/entrypoint | |
cargo prove build | |
cd ../script | |
cargo remove sp1-sdk | |
cargo add sp1-sdk --path $GITHUB_WORKSPACE/crates/sdk | |
SP1_DEV=1 RUST_LOG=info cargo run --release | |
cycle-tracking: | |
name: Example (Cycle Tracking) | |
runs-on: | |
[ | |
runs-on, | |
runner=64cpu-linux-arm64, | |
spot=false, | |
"run-id=${{ github.run_id }}", | |
] | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup CI | |
uses: ./.github/actions/setup | |
- name: Install SP1 toolchain | |
run: | | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up | |
~/.sp1/bin/cargo-prove prove --version | |
- name: Install SP1 CLI | |
run: | | |
cd crates/cli | |
cargo install --force --locked --path . | |
cd ~ | |
- name: Run script | |
run: | | |
cd examples/cycle-tracking/script | |
cargo add sp1-sdk --path $GITHUB_WORKSPACE/crates/sdk | |
SP1_DEV=1 RUST_LOG=info cargo run --release | |
tendermint: | |
name: Example (Tendermint) | |
runs-on: | |
[ | |
runs-on, | |
runner=64cpu-linux-arm64, | |
spot=false, | |
"run-id=${{ github.run_id }}", | |
] | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup CI | |
uses: ./.github/actions/setup | |
- name: Install SP1 toolchain | |
run: | | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up | |
~/.sp1/bin/cargo-prove prove --version | |
- name: Install SP1 CLI | |
run: | | |
cd crates/cli | |
cargo install --force --locked --path . | |
cd ~ | |
- name: Run script | |
run: | | |
cd examples/tendermint/program | |
cargo add sp1-zkvm --path $GITHUB_WORKSPACE/crates/zkvm/entrypoint | |
cargo prove build | |
cd ../script | |
cargo remove sp1-sdk | |
cargo add sp1-sdk --path $GITHUB_WORKSPACE/crates/sdk | |
SP1_DEV=1 RUST_LOG=info cargo run --release | |
test-cuda: | |
name: Test CUDA | |
runs-on: nvidia-gpu-linux-x64 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: rust-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
~/.rustup/ | |
key: rust-1.81.0-${{ hashFiles('**/Cargo.toml') }} | |
restore-keys: rust-1.81.0- | |
- name: Setup toolchain | |
id: rustc-toolchain | |
shell: bash | |
run: | | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain 1.81.0 -y | |
- name: Run script | |
run: | | |
. "$HOME/.cargo/env" | |
curl -L https://sp1.succinct.xyz | bash | |
/home/runner/.sp1/bin/sp1up | |
sudo apt install libssl-dev pkg-config | |
cd examples/fibonacci | |
RUST_LOG=info cargo run --release --features cuda |