feat(ethproofs): proving pipeline, metrics, prover perf, and cluster CLI #542
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: "PR" | |
| on: | |
| push: | |
| branches: | |
| - "main" | |
| pull_request: | |
| concurrency: | |
| group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}" | |
| cancel-in-progress: true | |
| jobs: | |
| lock-files: | |
| name: "Check lock files" | |
| runs-on: ["runs-on", "runner=8cpu-linux-x64", "run-id=${{ github.run_id }}"] | |
| env: | |
| CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
| steps: | |
| - name: "Checkout sources" | |
| uses: "actions/checkout@v4" | |
| - name: "Update lock files" | |
| run: | | |
| cargo tree | |
| (cd ./bin/client && cargo tree) | |
| - name: "Assert no changes" | |
| run: | | |
| if [ -n "$(git status --porcelain)" ]; then | |
| echo "Lock files not up to date" | |
| exit 1 | |
| fi | |
| fmt: | |
| name: "Check code format" | |
| runs-on: ["runs-on", "runner=8cpu-linux-x64", "run-id=${{ github.run_id }}"] | |
| steps: | |
| - name: "Checkout sources" | |
| uses: "actions/checkout@v4" | |
| - name: "Setup nightly toolchain" | |
| uses: "actions-rs/toolchain@v1" | |
| with: | |
| toolchain: "nightly" | |
| profile: "minimal" | |
| components: "rustfmt" | |
| override: true | |
| - name: "Check Rust format" | |
| run: | | |
| cargo fmt --all -- --check | |
| clippy: | |
| name: "Run clippy lints" | |
| runs-on: ["runs-on", "runner=8cpu-linux-x64", "run-id=${{ github.run_id }}"] | |
| steps: | |
| - name: "Checkout sources" | |
| uses: "actions/checkout@v4" | |
| - name: "Install protoc" | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y protobuf-compiler | |
| - name: "Install sp1up" | |
| run: | | |
| curl -L https://sp1.succinct.xyz | bash | |
| echo "$HOME/.sp1/bin" >> $GITHUB_PATH | |
| - name: "Install SP1 toolchain" | |
| run: | | |
| sp1up -v v6.3.1 | |
| # This step is necessary to generate the ELF files. | |
| - name: "Build" | |
| run: | | |
| cargo build --all --all-targets | |
| - name: "Run clippy lints" | |
| run: | | |
| cargo clippy --all --all-targets -- -D warnings | |
| tests: | |
| name: "Run tests" | |
| runs-on: | |
| ["runs-on", "runner=64cpu-linux-x64", "run-id=${{ github.run_id }}"] | |
| steps: | |
| - name: "Checkout sources" | |
| uses: "actions/checkout@v4" | |
| with: | |
| fetch-depth: 0 | |
| - name: "Install protoc" | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y protobuf-compiler | |
| - name: "Install sp1up" | |
| run: | | |
| curl -L https://sp1.succinct.xyz | bash | |
| echo "$HOME/.sp1/bin" >> $GITHUB_PATH | |
| - name: "Install SP1 toolchain" | |
| run: | | |
| sp1up -v v6.3.1 | |
| - name: "Set up test fixture" | |
| run: | | |
| git clone https://github.com/succinctlabs/rsp-tests --branch 2025-09-30 --depth 1 ../rsp-tests | |
| cd ../rsp-tests/ | |
| docker compose up -d | |
| - name: "Use local test fixture" | |
| run: | | |
| echo "RPC_1=http://localhost:9545/main/evm/1" >> $GITHUB_ENV | |
| echo "RPC_10=http://localhost:9545/main/evm/10" >> $GITHUB_ENV | |
| echo "RPC_17000=http://localhost:9545/main/evm/17000" >> $GITHUB_ENV | |
| echo "RPC_59144=http://localhost:9545/main/evm/59144" >> $GITHUB_ENV | |
| echo "RPC_11155111=http://localhost:9545/main/evm/11155111" >> $GITHUB_ENV | |
| echo "RPC_11155420=http://localhost:9545/main/evm/11155420" >> $GITHUB_ENV | |
| - name: "Run tests" | |
| run: | | |
| export RUST_LOG=info | |
| cargo test --all -- --skip test_in_zkvm --nocapture |