regression and benchmark testing between jerigon and zkevm #2551
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
--- # Workflow with multiple jobs to test different parts of the project | |
name: Continuous Integration | |
on: | |
push: | |
branches: [develop, 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_mpt_trie: | |
name: Test mpt_trie | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Test in mpt_trie subdirectory | |
run: cargo test --manifest-path mpt_trie/Cargo.toml | |
env: | |
RUSTFLAGS: > | |
-Copt-level=3 | |
-Cdebug-assertions | |
-Coverflow-checks=y | |
-Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
test_trace_decoder: | |
name: Test trace_decoder | |
runs-on: zero-ci | |
timeout-minutes: 10 | |
env: | |
RUST_LOG: info | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: build # build separately so test logs are actually nice | |
run: cargo build --tests --manifest-path trace_decoder/Cargo.toml | |
- name: test | |
run: cargo test --release --manifest-path trace_decoder/Cargo.toml -- --nocapture | |
test_evm_arithmetization: | |
name: Test evm_arithmetization | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Test in evm_arithmetization subdirectory | |
run: cargo test --manifest-path evm_arithmetization/Cargo.toml | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
run_ignored_tests: | |
name: Slow evm_arithmetization tests in release mode | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Run specific ignored tests in release mode | |
run: | | |
cargo test --release \ | |
--test empty_tables --test erc721 --test two_to_one_block -- --ignored | |
test_zero_bin: | |
name: Test zero_bin | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Test in zero_bin subdirectory | |
run: | | |
cargo test --manifest-path zero/Cargo.toml | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
test_zk_evm_proc_macro: | |
name: Test zk_evm_proc_macro | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Set up rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Test in proc_macro subdirectory | |
run: cargo test --manifest-path proc_macro/Cargo.toml | |
env: | |
RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 | |
RUST_LOG: 1 | |
CARGO_INCREMENTAL: 1 | |
RUST_BACKTRACE: 1 | |
simple_proof_regular: | |
name: Execute bash script to generate and verify a proof for a small block. | |
runs-on: zero-ci | |
timeout-minutes: 15 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run the script | |
run: ./scripts/prove_stdio.sh artifacts/witness_b19807080.json | |
simple_proof_witness_only: | |
name: Execute bash script to generate the proof witness for a small block. | |
runs-on: zero-ci | |
timeout-minutes: 5 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run the script | |
run: ./scripts/prove_stdio.sh artifacts/witness_b19807080.json test_only | |
multi_blocks_proof_regular: | |
name: Execute bash script to generate and verify a proof for multiple blocks using parallel proving. | |
runs-on: zero-ci | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run the script | |
run: ./scripts/prove_stdio.sh artifacts/witness_b3_b6.json "" use_test_config |