Skip to content

fix: release workflow #8003

fix: release workflow

fix: release workflow #8003

Workflow file for this run

name: PR
on:
push:
branches: [main, dev, multilinear_v6]
pull_request:
branches:
- "**"
paths:
- "crates/**"
- "slop/**"
- "sp1-gpu/**"
- "examples/**"
- "Cargo.toml"
- ".github/workflows/**"
merge_group:
env:
SP1_CI_IN_PROGRESS: "true"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test-x86:
name: Test (x86-64)
runs-on:
[
runs-on,
runner=64cpu-linux-x64,
spot=false,
disk=large,
"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
with:
pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
- name: Install SP1 toolchain from repo
run: |
cargo run -p sp1-cli --no-default-features -- prove install-toolchain
cd crates/cli
- name: Run cargo check
uses: actions-rs/cargo@v1
with:
command: check
args: --all-targets --all-features --tests
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: >-
--release --workspace
--exclude sp1-verifier
--exclude sp1-gpu-air
--exclude sp1-gpu-basefold
--exclude sp1-gpu-challenger
--exclude sp1-gpu-commit
--exclude sp1-gpu-cudart
--exclude sp1-gpu-jagged-assist
--exclude sp1-gpu-jagged-sumcheck
--exclude sp1-gpu-jagged-tracegen
--exclude sp1-gpu-logup-gkr
--exclude sp1-gpu-merkle-tree
--exclude sp1-gpu-perf
--exclude sp1-gpu-prover
--exclude sp1-gpu-server
--exclude sp1-gpu-shard-prover
--exclude sp1-gpu-sys
--exclude sp1-gpu-tracegen
--exclude sp1-gpu-tracing
--exclude sp1-gpu-utils
--exclude sp1-gpu-zerocheck
--features native-gnark,experimental,profiling
env:
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0
RUST_BACKTRACE: 1
test-arm:
name: Test (ARM)
runs-on:
[
runs-on,
runner=64cpu-linux-arm64,
spot=false,
disk=large,
"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
with:
pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
- name: Install SP1 toolchain from repo
run: |
cargo run -p sp1-cli --no-default-features -- prove install-toolchain
cd crates/cli
- name: Run cargo check
uses: actions-rs/cargo@v1
with:
command: check
args: --all-targets --all-features --tests
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: >-
--release --workspace
--exclude sp1-verifier
--exclude sp1-gpu-air
--exclude sp1-gpu-basefold
--exclude sp1-gpu-challenger
--exclude sp1-gpu-commit
--exclude sp1-gpu-cudart
--exclude sp1-gpu-jagged-assist
--exclude sp1-gpu-jagged-sumcheck
--exclude sp1-gpu-jagged-tracegen
--exclude sp1-gpu-logup-gkr
--exclude sp1-gpu-merkle-tree
--exclude sp1-gpu-perf
--exclude sp1-gpu-prover
--exclude sp1-gpu-server
--exclude sp1-gpu-shard-prover
--exclude sp1-gpu-sys
--exclude sp1-gpu-tracegen
--exclude sp1-gpu-tracing
--exclude sp1-gpu-utils
--exclude sp1-gpu-zerocheck
--features native-gnark,experimental
env:
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0
RUST_BACKTRACE: 1
test-verifier:
name: Test Verifier Crate
runs-on:
[
runs-on,
runner=64cpu-linux-arm64,
spot=false,
disk=large,
"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
with:
pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
- name: Install SP1 toolchain from repo
run: |
cargo run -p sp1-cli --no-default-features -- prove install-toolchain
cd crates/cli
- name: Run cargo check
uses: actions-rs/cargo@v1
with:
command: check
args: --all-targets --all-features --tests
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --release --package sp1-verifier -F ark
env:
RUSTFLAGS: -Copt-level=3 -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native
RUST_BACKTRACE: 1
lint:
name: Formatting & Clippy
runs-on: [runs-on, runner=16cpu-linux-x64, disk=large, 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
with:
pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
- name: Install SP1 toolchain from repo
run: |
cargo run -p sp1-cli --no-default-features -- prove install-toolchain
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Check test-artifacts
uses: actions-rs/cargo@v1
with:
command: check
args: -p test-artifacts
- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: >-
--all-features --all-targets
-- -D warnings -A incomplete-features
check:
name: Cargo Check
runs-on: [runs-on, runner=16cpu-linux-x64, disk=large, spot=false, "run-id=${{ github.run_id }}"]
env:
CARGO_NET_GIT_FETCH_WITH_CLI: "true"
RUSTFLAGS: "--cfg sp1_debug_constraints"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Setup CI
uses: ./.github/actions/setup
with:
pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
- name: Install SP1 toolchain from repo
run: |
cargo run -p sp1-cli --no-default-features -- prove install-toolchain
cd crates/cli
- name: Check workspace no features
uses: actions-rs/cargo@v1
with:
command: check
args: >-
--workspace --all-targets --no-default-features
- name: Check workspace with default features
uses: actions-rs/cargo@v1
with:
command: check
args: >-
--workspace --all-targets
- name: Check workspace with all features
uses: actions-rs/cargo@v1
with:
command: check
args: >-
--workspace --all-targets --all-features
check-nightly:
name: Cargo Check (Nightly)
runs-on: [runs-on, runner=16cpu-linux-x64, disk=large, 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
with:
pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
rustup_override: nightly
- name: Install SP1 toolchain from repo
run: |
cargo run -p sp1-cli --no-default-features -- prove install-toolchain
cd crates/cli
- name: Check workspace no features
uses: actions-rs/cargo@v1
with:
command: check
args: >-
--workspace --all-targets --no-default-features
- name: Check workspace with default features
uses: actions-rs/cargo@v1
with:
command: check
args: >-
--workspace --all-targets
- name: Check workspace with all features
uses: actions-rs/cargo@v1
with:
command: check
args: >-
--workspace --all-targets --all-features
# examples:
# name: Examples
# runs-on:
# [
# runs-on,
# runner=64cpu-linux-x64,
# disk=large,
# 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
# with:
# pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
# - name: Install SP1 toolchain from repo
# run: |
# cargo run -p sp1-cli --no-default-features -- prove install-toolchain
# cd crates/cli
# cargo install --force --locked --path .
# cargo clean
# - name: Run cargo fmt
# uses: actions-rs/cargo@v1
# with:
# command: fmt
# args: --all -- --check
# toolchain: nightly
# env:
# CARGO_INCREMENTAL: 1
# - name: Run cargo check
# run: |
# cd ./examples/
# cargo check --all-targets --all-features
# - name: Run cargo clippy
# run: |
# cd ./examples/
# check-verifier-no-std:
# name: Check Verifier `no_std`
# runs-on: [runs-on, runner=16cpu-linux-x64, disk=large, "run-id=${{ github.run_id }}"]
# timeout-minutes: 10
# strategy:
# fail-fast: false
# steps:
# - name: Checkout Actions Repository
# uses: actions/checkout@v4
# - name: Install Rust toolchain
# uses: dtolnay/rust-toolchain@stable
# with:
# targets: riscv32imac-unknown-none-elf
# - name: Install target support
# run: rustup target add riscv32imac-unknown-none-elf
# - name: Check build
# run: cargo check --target riscv32imac-unknown-none-elf --no-default-features -p sp1-verifier
# TODO: Enable once recursion crates are fixed for multilinear.
# lock-files:
# name: "Check lock files"
# runs-on:
# [
# runs-on,
# cpu=64,
# ram=256,
# family=m7i+m7a,
# disk=large,
# 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
# with:
# pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
# - name: "Remove lock files"
# run: |
# find -name Cargo.lock -type f -exec rm {} \;
# - name: Install SP1 toolchain from repo
# run: |
# cargo run -p sp1-cli --no-default-features -- prove install-toolchain
# cd crates/cli
# cargo install --force --locked --path .
# cargo clean
# - name: "Build SP1 without lock files"
# run: |
# cargo build --all --all-targets
# - name: "Build examples without lock files"
# run: |
# cd examples
# cargo build --all --all-targets
# TODO: Enable once recursion crates are fixed for multilinear.
# build-in-host:
# name: "Build patches and zkvm in host"
# runs-on: [runs-on, runner=16cpu-linux-x64, disk=large, "run-id=${{ github.run_id }}"]
# steps:
# - name: "Checkout sources"
# uses: "actions/checkout@v4"
# - name: "Setup CI"
# uses: ./.github/actions/setup
# with:
# pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
# - name: "Build programs in host"
# run: |
# cd ./patch-testing/build-host
# GPU Unit Tests
test-gpu:
name: Test (GPU)
runs-on:
[
"runs-on",
"family=g6.4xlarge",
"hdd=200",
"ami=ami-0a63dc9cb9e934ba3",
"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
with:
pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
setup_gpu: true
- name: Install SP1 toolchain from repo
run: cargo run -p sp1-cli --no-default-features -- prove install-toolchain
- name: Run GPU cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: >-
--release
-p sp1-gpu-air
-p sp1-gpu-basefold
-p sp1-gpu-challenger
-p sp1-gpu-commit
-p sp1-gpu-cudart
-p sp1-gpu-jagged-assist
-p sp1-gpu-jagged-sumcheck
-p sp1-gpu-jagged-tracegen
-p sp1-gpu-logup-gkr
-p sp1-gpu-merkle-tree
-p sp1-gpu-prover
-p sp1-gpu-server
-p sp1-gpu-shard-prover
-p sp1-gpu-sys
-p sp1-gpu-tracegen
-p sp1-gpu-tracing
-p sp1-gpu-utils
-p sp1-gpu-zerocheck
-- --test-threads=1
env:
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native
RUST_BACKTRACE: 1
CUDA_ARCHS: 89
# GPU E2E Test
test-gpu-e2e:
name: GPU E2E (node)
runs-on:
[
"runs-on",
"family=g6.4xlarge",
"hdd=200",
"ami=ami-0a63dc9cb9e934ba3",
"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
with:
pull_token: ${{ secrets.PRIVATE_PULL_TOKEN }}
setup_gpu: true
- name: Install SP1 toolchain from repo
run: cargo run -p sp1-cli --no-default-features -- prove install-toolchain
- name: Run E2E node test
uses: actions-rs/cargo@v1
with:
command: run
args: --release -p sp1-gpu-perf --bin node --features native-gnark -- --program local-rsp --param 21000001 --mode groth16
env:
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native
RUST_BACKTRACE: 1
CUDA_ARCHS: 89