Skip to content
Open
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
44 changes: 22 additions & 22 deletions .github/workflows/bench-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
build:
runs-on: warp-ubuntu-latest-x64-32x
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
# Pinned Rust toolchain + cargo cache (~/.cargo + target/, via the action's
# built-in rust-cache), so `lake build`'s cargo step doesn't recompile the
# Plonky3/multi-stark deps from scratch on every run.
Expand All @@ -77,7 +77,7 @@ jobs:
lake build bench-typecheck bench-recursive-verifier
cp .lake/build/bin/bench-typecheck .lake/build/bin/bench-recursive-verifier ~/.local/bin/
chmod +x ~/.local/bin/bench-typecheck ~/.local/bin/bench-recursive-verifier
- uses: actions/cache/save@v5
- uses: actions/cache/save@v6
with:
path: ~/.local/bin
key: bench-bins-${{ github.sha }}
Expand All @@ -97,8 +97,8 @@ jobs:
bench-envs: ${{ steps.matrix.outputs.bench-envs }}
zkvm-cells: ${{ steps.matrix.outputs.zkvm-cells }}
steps:
- uses: actions/checkout@v6
- uses: actions/cache/restore@v5
- uses: actions/checkout@v7
- uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ github.sha }}
Expand Down Expand Up @@ -147,8 +147,8 @@ jobs:
- { env: FLT, cache_pkg: flt, mathlib: true }
# - { env: FC, cache_pkg: formal_conjectures, mathlib: true }
steps:
- uses: actions/checkout@v6
- uses: actions/cache/restore@v5
- uses: actions/checkout@v7
- uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ github.sha }}
Expand All @@ -168,7 +168,7 @@ jobs:
use-mathlib-cache: ${{ matrix.mathlib && 'true' || 'false' }}
# FLT and FC take a few minutes to rebuild, so cache their build artifacts.
- if: matrix.cache_pkg
uses: actions/cache@v5
uses: actions/cache@v6
with:
path: ${{ env.COMPILE_DIR }}/.lake/packages/${{ matrix.cache_pkg }}/.lake/build
key: ${{ matrix.cache_pkg }}-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles(format('{0}/lean-toolchain', env.COMPILE_DIR)) }}-${{ hashFiles(format('{0}/lake-manifest.json', env.COMPILE_DIR)) }}
Expand Down Expand Up @@ -209,7 +209,7 @@ jobs:
# this key must list the SAME paths — actions/cache versions the entry
# by its path list.
- if: steps.benched.outputs.yes == 'true'
uses: actions/cache/save@v5
uses: actions/cache/save@v6
with:
path: |
${{ matrix.env }}.ixe
Expand Down Expand Up @@ -270,8 +270,8 @@ jobs:
bench: ${{ fromJson(needs.plan.outputs.bench-envs) }}
mode: [execute, prove]
steps:
- uses: actions/checkout@v6
- uses: actions/cache/restore@v5
- uses: actions/checkout@v7
- uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ github.sha }}
Expand All @@ -286,7 +286,7 @@ jobs:
use-github-cache: false
# Pull the `.ixe` the compile job built — do NOT recompile it here.
# (The path list must match the compile job's save exactly.)
- uses: actions/cache/restore@v5
- uses: actions/cache/restore@v6
with:
path: |
${{ matrix.bench }}.ixe
Expand Down Expand Up @@ -371,8 +371,8 @@ jobs:
runs-on: warp-ubuntu-latest-x64-32x
timeout-minutes: 120
steps:
- uses: actions/checkout@v6
- uses: actions/cache/restore@v5
- uses: actions/checkout@v7
- uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ github.sha }}
Expand Down Expand Up @@ -462,14 +462,14 @@ jobs:
# `if: matrix.cell.backend == 'sp1'` install-sp1 step then.
cell: ${{ fromJson(needs.plan.outputs.zkvm-cells) }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-workspaces: ${{ matrix.cell.backend }}
- name: Install Zisk
if: matrix.cell.backend == 'zisk'
uses: ./.github/actions/install-zisk
- uses: actions/cache/restore@v5
- uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ github.sha }}
Expand All @@ -483,7 +483,7 @@ jobs:
# Pull the `.ixe` + the pre-cut closure-shard artifacts the compile job
# built — `--ixe` means no recompile, and `ix bench run` skips
# re-cutting shards it finds in zkshards-<env>/.
- uses: actions/cache/restore@v5
- uses: actions/cache/restore@v6
with:
path: |
${{ matrix.cell.env }}.ixe
Expand Down Expand Up @@ -564,8 +564,8 @@ jobs:
matrix:
bench: ${{ fromJson(needs.plan.outputs.bench-envs) }}
steps:
- uses: actions/checkout@v6
- uses: actions/cache/restore@v5
- uses: actions/checkout@v7
- uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ github.sha }}
Expand All @@ -577,7 +577,7 @@ jobs:
build: false
use-github-cache: false
# (The path list must match the compile job's save exactly.)
- uses: actions/cache/restore@v5
- uses: actions/cache/restore@v6
with:
path: |
${{ matrix.bench }}.ixe
Expand Down Expand Up @@ -638,8 +638,8 @@ jobs:
matrix:
bench: ${{ fromJson(needs.plan.outputs.bench-envs) }}
steps:
- uses: actions/checkout@v6
- uses: actions/cache/restore@v5
- uses: actions/checkout@v7
- uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ github.sha }}
Expand All @@ -651,7 +651,7 @@ jobs:
build: false
use-github-cache: false
# (The path list must match the compile job's save exactly.)
- uses: actions/cache/restore@v5
- uses: actions/cache/restore@v6
with:
path: |
${{ matrix.bench }}.ixe
Expand Down
42 changes: 21 additions & 21 deletions .github/workflows/bench-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,13 +147,13 @@ jobs:
run: |
[[ "$BASE" =~ ^[0-9a-f]{40}$ && "$HEAD" =~ ^[0-9a-f]{40}$ ]] \
|| { echo "base-sha/head-sha must be full 40-hex SHAs" >&2; exit 1; }
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
ref: ${{ inputs.head-sha }}
# The job builds and runs PR code; never leave the token in .git.
persist-credentials: false
- id: bins
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ inputs.head-sha }}
Expand Down Expand Up @@ -182,7 +182,7 @@ jobs:
cp .lake/build/bin/ix .lake/build/bin/bench-typecheck .lake/build/bin/bench-recursive-verifier ~/.local/bin/
chmod +x ~/.local/bin/ix ~/.local/bin/bench-typecheck ~/.local/bin/bench-recursive-verifier
- if: steps.bins.outputs.cache-hit != 'true'
uses: actions/cache/save@v5
uses: actions/cache/save@v6
with:
path: ~/.local/bin
key: bench-bins-${{ inputs.head-sha }}
Expand Down Expand Up @@ -211,7 +211,7 @@ jobs:
env: ${{ fromJSON(needs.build.outputs.envs) }}
steps:
- name: Checkout PR
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
ref: ${{ inputs.head-sha }}
# The job runs PR code; never leave the token in .git.
Expand All @@ -228,14 +228,14 @@ jobs:
# .ixe is already published — nothing to do.
- name: Check for published .ixe
id: pr-ixe
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
with:
path: ${{ matrix.env }}.ixe
key: bench-pr-ixe-${{ inputs.head-sha }}-${{ matrix.env }}-${{ hashFiles('ptenv.txt') }}
lookup-only: true
- name: Restore PR binaries
if: steps.pr-ixe.outputs.cache-hit != 'true'
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ inputs.head-sha }}
Expand Down Expand Up @@ -267,15 +267,15 @@ jobs:
run: ix bench run --backend compile --env ${{ matrix.env }} --out compile.json
- name: Publish .ixe
if: steps.pr-ixe.outputs.cache-hit != 'true'
uses: actions/cache/save@v5
uses: actions/cache/save@v6
with:
path: ${{ matrix.env }}.ixe
key: bench-pr-ixe-${{ inputs.head-sha }}-${{ matrix.env }}-${{ hashFiles('ptenv.txt') }}
# The measured row: the compile cell reuses it as its PR side (same
# runner class, same binaries, same command it would run itself).
- name: Publish compile row
if: steps.pr-ixe.outputs.cache-hit != 'true'
uses: actions/cache/save@v5
uses: actions/cache/save@v6
with:
path: compile.json
key: bench-pr-row-${{ inputs.head-sha }}-${{ matrix.env }}-${{ hashFiles('ptenv.txt') }}
Expand Down Expand Up @@ -311,7 +311,7 @@ jobs:
# PR checked out at the workspace root so the local install actions
# resolve; base (bencher-miss fallback only) goes under base/.
- name: Checkout PR
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
ref: ${{ env.HEAD_SHA }}
# The job runs PR code; never leave the token in .git.
Expand All @@ -332,7 +332,7 @@ jobs:
# PR's `ix bench` orchestrates BOTH sides, with `--repo` selecting
# whose tools get measured.
- name: Restore PR binaries
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ env.HEAD_SHA }}
Expand Down Expand Up @@ -360,15 +360,15 @@ jobs:
# the compile job published it; cells pass it via `--ixe` instead of
# recompiling.
- name: Restore PR .ixe
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
with:
path: ${{ matrix.cell.env }}.ixe
key: bench-pr-ixe-${{ env.HEAD_SHA }}-${{ matrix.cell.env }}-${{ hashFiles('ptenv.txt') }}
fail-on-cache-miss: true
# Compile cells reuse the compile job's measured row as their PR side.
- name: Restore compile row
if: matrix.cell.backend == 'compile'
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
with:
path: compile.json
key: bench-pr-row-${{ env.HEAD_SHA }}-${{ matrix.cell.env }}-${{ hashFiles('ptenv.txt') }}
Expand Down Expand Up @@ -471,7 +471,7 @@ jobs:
esac
- name: Checkout base (bencher data missing or partial)
if: steps.bencher.outputs.run-base == 'true'
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
ref: ${{ env.BASE_SHA }}
path: base
Expand All @@ -485,14 +485,14 @@ jobs:
- name: Restore base binaries (bench-bins cache)
if: steps.bencher.outputs.run-base == 'true'
id: base-bins
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ env.BASE_SHA }}
- name: Restore base .ixe (bench-main compile cache)
if: steps.bencher.outputs.run-base == 'true'
id: base-ixe
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
with:
# Path list must match bench-main's compile-job save (actions/cache
# versions entries by path list); the key suffix is the env name
Expand Down Expand Up @@ -617,7 +617,7 @@ jobs:

- name: Upload table
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: table-${{ env.LABEL }}
path: out/table-${{ env.LABEL }}.md
Expand Down Expand Up @@ -650,11 +650,11 @@ jobs:
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
ref: ${{ inputs.head-sha }}
persist-credentials: false
- uses: actions/cache/restore@v5
- uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ inputs.head-sha }}
Expand All @@ -667,7 +667,7 @@ jobs:
build: false
use-github-cache: false
- name: Download tables
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
path: tables
pattern: table-*
Expand All @@ -683,7 +683,7 @@ jobs:
--head "$HEAD_SHA" \
--repo-url "${{ github.server_url }}/${{ github.repository }}" \
--run-id "${{ github.run_id }}" --out comment-body.md
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
with:
name: comment-body
path: comment-body.md
Expand Down Expand Up @@ -764,7 +764,7 @@ jobs:
- name: Download comment body
if: needs.assemble.result == 'success'
continue-on-error: true
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: comment-body
# Any failed stage prepends a red-X header (quoting the parse error
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/bencher-plots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ jobs:
# calls — cheap host is fine (same rationale as bench-main's plan job).
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
# The staged binaries from bench-main's build job: this main tip's
# exact cache when bench-main has finished its build, else the newest
# available (prefix match) — whose compiled-in registry may then lag
# the checkout.
- uses: actions/cache/restore@v5
- uses: actions/cache/restore@v6
with:
path: ~/.local/bin
key: bench-bins-${{ github.sha }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
lean-test:
runs-on: warp-ubuntu-latest-x64-16x
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions-rust-lang/setup-rust-toolchain@v1
- uses: leanprover/lean-action@v1
with:
Expand Down Expand Up @@ -59,7 +59,7 @@ jobs:
rust-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions-rust-lang/setup-rust-toolchain@v1
- uses: taiki-e/install-action@nextest
# Install Lean for rust-bindgen step
Expand Down Expand Up @@ -107,7 +107,7 @@ jobs:
name: SP1 host build
runs-on: warp-ubuntu-latest-x64-16x
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-workspaces: sp1
Expand Down Expand Up @@ -155,7 +155,7 @@ jobs:
name: Zisk host build
runs-on: warp-ubuntu-latest-x64-16x
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-workspaces: zisk
Expand Down
Loading