From aee21ebb7b6ef914aa7fed2143ecdaf3b8e65ced Mon Sep 17 00:00:00 2001 From: Rodrigo Villar Date: Tue, 27 Jan 2026 15:14:18 -0500 Subject: [PATCH 1/3] ci: add benchmark workflow --- .github/workflows/benchmarks.yaml | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/benchmarks.yaml diff --git a/.github/workflows/benchmarks.yaml b/.github/workflows/benchmarks.yaml new file mode 100644 index 000000000..0ac198edc --- /dev/null +++ b/.github/workflows/benchmarks.yaml @@ -0,0 +1,35 @@ +name: firewood-benchmarks + +on: + push: + branches: [main] + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + RUST_BACKTRACE: full + +jobs: + bench: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + with: + shared-key: "maxperf-ethhash-logger" + cache-all-crates: true + cache-workspace-crates: true + - name: Cargo Fetch (run `cargo generate-lockfile` if this fails) + run: cargo fetch --locked --verbose + - name: Build + run: cargo build --frozen --profile maxperf --features ethhash,logger --workspace --benches + - name: Run firewood crate benchmarks + run: cargo bench --frozen --profile maxperf --features ethhash,logger -p firewood --bench hashops -- --noplot + - name: Run storage crate benchmarks + run: cargo bench --frozen --profile maxperf --features ethhash,logger -p firewood-storage --bench serializer -- --noplot + - name: Upload benchmark results + uses: actions/upload-artifact@v4 + with: + name: benchmark-results + path: target/criterion From d792faa477508649c36014f62bf46a5c72ec086e Mon Sep 17 00:00:00 2001 From: Rodrigo Villar Date: Tue, 27 Jan 2026 15:21:23 -0500 Subject: [PATCH 2/3] chore: add PR workflow [REMOVE BEFORE MERGING] --- .github/workflows/benchmarks.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/benchmarks.yaml b/.github/workflows/benchmarks.yaml index 0ac198edc..ea144d009 100644 --- a/.github/workflows/benchmarks.yaml +++ b/.github/workflows/benchmarks.yaml @@ -4,6 +4,7 @@ on: push: branches: [main] workflow_dispatch: + pull_request: env: CARGO_TERM_COLOR: always From 3cf75e0bf6576f2420db5a67faa4550b0a086c4e Mon Sep 17 00:00:00 2001 From: Rodrigo Villar Date: Tue, 27 Jan 2026 15:28:53 -0500 Subject: [PATCH 3/3] chore: remove PR workflow --- .github/workflows/benchmarks.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/benchmarks.yaml b/.github/workflows/benchmarks.yaml index ea144d009..0ac198edc 100644 --- a/.github/workflows/benchmarks.yaml +++ b/.github/workflows/benchmarks.yaml @@ -4,7 +4,6 @@ on: push: branches: [main] workflow_dispatch: - pull_request: env: CARGO_TERM_COLOR: always