Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions .github/workflows/bolt-equivalence.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Bolt equivalence

on:
pull_request:
branches: [main]
push:
branches: [main]
schedule:
- cron: "47 9 * * *"
workflow_dispatch:
inputs:
include_full_sweep:
description: "Run the optional full jolt-equivalence sweep"
required: false
default: "false"

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -D warnings

jobs:
generated-role-full-field:
name: generated role full-field challenge parity
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rust-src
- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Install LLVM
run: brew install llvm
- name: Configure LLVM
run: |
llvm_prefix="$(brew --prefix llvm)"
sdkroot="$(xcrun --show-sdk-path)"
echo "MLIR_SYS_220_PREFIX=${llvm_prefix}" >> "$GITHUB_ENV"
echo "${llvm_prefix}/bin" >> "$GITHUB_PATH"
echo "SDKROOT=${sdkroot}" >> "$GITHUB_ENV"
echo "BINDGEN_EXTRA_CLANG_ARGS=-isysroot${sdkroot}" >> "$GITHUB_ENV"
- name: Run generated role parity
run: cargo nextest run -p jolt-equivalence --test generated_role_crates --cargo-quiet

real-data-parity-tamper:
name: real-data parity and tamper gates
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rust-src
- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Install LLVM
run: brew install llvm
- name: Configure LLVM
run: |
llvm_prefix="$(brew --prefix llvm)"
sdkroot="$(xcrun --show-sdk-path)"
echo "MLIR_SYS_220_PREFIX=${llvm_prefix}" >> "$GITHUB_ENV"
echo "${llvm_prefix}/bin" >> "$GITHUB_PATH"
echo "SDKROOT=${sdkroot}" >> "$GITHUB_ENV"
echo "BINDGEN_EXTRA_CLANG_ARGS=-isysroot${sdkroot}" >> "$GITHUB_ENV"
- name: Run real-data parity and tamper gates
run: cargo nextest run -p jolt-equivalence --test bolt_commitment --cargo-quiet

full-equivalence-sweep:
name: optional full equivalence/tamper sweep
runs-on: macos-latest
if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.include_full_sweep == 'true')
steps:
- uses: actions/checkout@v6
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rust-src
- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Install LLVM
run: brew install llvm
- name: Configure LLVM
run: |
llvm_prefix="$(brew --prefix llvm)"
sdkroot="$(xcrun --show-sdk-path)"
echo "MLIR_SYS_220_PREFIX=${llvm_prefix}" >> "$GITHUB_ENV"
echo "${llvm_prefix}/bin" >> "$GITHUB_PATH"
echo "SDKROOT=${sdkroot}" >> "$GITHUB_ENV"
echo "BINDGEN_EXTRA_CLANG_ARGS=-isysroot${sdkroot}" >> "$GITHUB_ENV"
- name: Run full equivalence/tamper sweep
run: cargo nextest run -p jolt-equivalence --cargo-quiet
91 changes: 91 additions & 0 deletions .github/workflows/bolt-perf-oracle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Bolt perf oracle

on:
pull_request:
branches: [main]
push:
branches: [main]
schedule:
- cron: "23 8 * * *"
workflow_dispatch:
inputs:
include_large:
description: "Run the sha2-chain 2^20 gate"
required: false
default: "true"

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -D warnings

jobs:
sha2-chain-2-16:
name: sha2-chain 2^16 core-vs-Bolt
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rust-src
- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Install LLVM
run: brew install llvm
- name: Configure LLVM
run: |
llvm_prefix="$(brew --prefix llvm)"
sdkroot="$(xcrun --show-sdk-path)"
echo "MLIR_SYS_220_PREFIX=${llvm_prefix}" >> "$GITHUB_ENV"
echo "${llvm_prefix}/bin" >> "$GITHUB_PATH"
echo "SDKROOT=${sdkroot}" >> "$GITHUB_ENV"
echo "BINDGEN_EXTRA_CLANG_ARGS=-isysroot${sdkroot}" >> "$GITHUB_ENV"
- name: Run perf oracle
env:
JOLT_BOLT_PERF_TRACE: "1"
run: >
cargo nextest run -p jolt-equivalence --test bolt_perf --release
--cargo-quiet --run-ignored only --no-capture
bolt_sha2_chain_2_16_core_vs_bolt_perf_oracle
- name: Upload Perfetto trace
if: always()
uses: actions/upload-artifact@v7
with:
name: bolt-perf-oracle-sha2-chain-2-16
path: benchmark-runs/perfetto_traces/*.json
if-no-files-found: warn

sha2-chain-2-20:
name: sha2-chain 2^20 core-vs-Bolt
runs-on: macos-latest
if: github.event_name != 'workflow_dispatch' || inputs.include_large == 'true'
steps:
- uses: actions/checkout@v6
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rust-src
- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Install LLVM
run: brew install llvm
- name: Configure LLVM
run: |
llvm_prefix="$(brew --prefix llvm)"
sdkroot="$(xcrun --show-sdk-path)"
echo "MLIR_SYS_220_PREFIX=${llvm_prefix}" >> "$GITHUB_ENV"
echo "${llvm_prefix}/bin" >> "$GITHUB_PATH"
echo "SDKROOT=${sdkroot}" >> "$GITHUB_ENV"
echo "BINDGEN_EXTRA_CLANG_ARGS=-isysroot${sdkroot}" >> "$GITHUB_ENV"
- name: Run perf oracle
env:
JOLT_BOLT_PERF_TRACE: "1"
run: >
cargo nextest run -p jolt-equivalence --test bolt_perf --release
--cargo-quiet --run-ignored only --no-capture
bolt_sha2_chain_2_20_core_vs_bolt_perf_oracle
- name: Upload Perfetto trace
if: always()
uses: actions/upload-artifact@v7
with:
name: bolt-perf-oracle-sha2-chain-2-20
path: benchmark-runs/perfetto_traces/*.json
if-no-files-found: warn
Loading