Skip to content

Commit 0024fd6

Browse files
committed
Integrate benchmark building into existing build workflows
Instead of having separate workflow files for each platform's benchmarks, integrate benchmark building as a new job in the existing build-reusable workflow. This approach: - Reduces workflow file duplication - Reuses existing build caches for efficiency - Makes benchmarks depend on successful main build - Maintains benchmark builds across all platforms Changes: - Added build-benches job to build-reusable.yaml - Removed 8 separate bench-*.yaml workflow files - build-benches depends on build job and reuses its cache - Updated CHANGELOG to reflect the integration approach
1 parent f07a971 commit 0024fd6

10 files changed

+30
-184
lines changed

.github/workflows/bench-macos-13.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/workflows/bench-macos-14.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/workflows/bench-macos-15.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/workflows/bench-macos-latest.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/workflows/bench-reusable.yaml

Lines changed: 0 additions & 58 deletions
This file was deleted.

.github/workflows/bench-ubuntu-22-04.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/workflows/bench-ubuntu-24-04-arm.yaml

Lines changed: 0 additions & 17 deletions
This file was deleted.

.github/workflows/bench-ubuntu-24-04.yaml

Lines changed: 0 additions & 17 deletions
This file was deleted.

.github/workflows/build-reusable.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,33 @@ jobs:
131131
- name: Build tests
132132
run: make build-tests-webrtc
133133

134+
build-benches:
135+
needs: [build]
136+
timeout-minutes: 60
137+
runs-on: ${{ inputs.os }}
138+
env:
139+
RUSTFLAGS: "-C overflow-checks=off -C debug-assertions=off ${{ inputs.rustflags }}"
140+
steps:
141+
- name: Git checkout
142+
uses: actions/checkout@v5
143+
144+
- name: Setup build dependencies
145+
uses: ./.github/actions/setup-build-deps
146+
147+
- name: Use shared OCaml setting up steps
148+
uses: ./.github/actions/setup-ocaml
149+
with:
150+
ocaml_version: ${{ inputs.ocaml_version }}
151+
152+
- name: Setup Rust
153+
uses: ./.github/actions/setup-rust
154+
with:
155+
toolchain: 1.84
156+
cache-prefix: build-${{ inputs.os }}-${{ inputs.cache-prefix }}v0
157+
158+
- name: Build benchmarks
159+
run: make build-benches
160+
134161
build-wasm:
135162
if: ${{ inputs.build-wasm }}
136163
timeout-minutes: 60

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7575
([#1528](https://github.com/o1-labs/mina-rust/pull/1528/))
7676
- **Codebase**: remove unused `ledger/src/poseidon/fp.rs` file
7777
([#1538](https://github.com/o1-labs/mina-rust/pull/1538))
78-
- **Ledger**: convert unused binary to proper criterion benchmarks with CI
79-
support across all platforms
78+
- **Ledger**: convert unused binary to proper criterion benchmarks. Benchmarks
79+
are now built as part of the existing build workflows across all platforms,
80+
reusing build caches for efficiency
8081
([#1539](https://github.com/o1-labs/mina-rust/pull/1539))
8182

8283
## v0.17.0

0 commit comments

Comments
 (0)