Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
7a1a87f
feat: typeless `AddressMap` with typed APIs (#1559)
jonathanpwang Apr 14, 2025
01c028d
feat: `GuestMemory` trait (#1574)
jonathanpwang Apr 13, 2025
aef64c9
feat(new-execution): make vm segment executor generic (#1582)
shuklaayush Apr 15, 2025
e51d918
feat(new-execution): `TracingMemory` and removal of records/logs (#1584)
jonathanpwang Apr 17, 2025
13d6234
feat(new-execution): add execute functions for rv32im instructions (#…
shuklaayush Apr 18, 2025
b85bfc2
feat(new-execution): `AdapterTraceStep` trait and rv32 ALU refactor (…
jonathanpwang Apr 21, 2025
bcde3f8
feat(new-execution): rv32im tracegen and e1 execution (#1607)
shuklaayush Apr 29, 2025
ae9635c
fix(new-execution): fix some rv32im loadstore tests (#1611)
shuklaayush Apr 29, 2025
e885ec0
feat: access adapters (#1614)
jonathanpwang May 2, 2025
8c2d6af
fix(new-execution): make rv32im hintstore work (#1616)
jonathanpwang May 2, 2025
6c86876
fix(new-execution): don't override min block size (#1619)
shuklaayush May 1, 2025
4a2ac13
fix: auipc tracegen
jonathanpwang May 2, 2025
e9cabd2
chore: remove `OfflineMemory` (#1623)
jonathanpwang May 3, 2025
d12a24d
feat: make rv32im testing uniform accross all the chips (#1630)
arayikhalatyan May 7, 2025
5506f06
fix: divrem tests (#1633)
arayikhalatyan May 7, 2025
9695af7
feat: bigint circuit to compile (#1639)
arayikhalatyan May 12, 2025
9174577
feat(new-execution): add codspeed execution benchmark (#1643)
shuklaayush May 13, 2025
169d5bb
feat: memory access adapters, boundary chips, merkle chip E3 (#1640)
Golovanov399 May 13, 2025
65ab533
fix: Cargo lock & format (#1650)
nyunyunyunyu May 14, 2025
8c33445
fix: new block initialization in memory access adapters (#1651)
Golovanov399 May 14, 2025
164eb0e
feat(new-execution): trigger codspeed ci on branch pushes (#1654)
shuklaayush May 15, 2025
327fe86
feat: new execution remove redundant controller memory e1 (#1653)
Golovanov399 May 15, 2025
d603ad0
feat: mod builder rewrite (#1644)
arayikhalatyan May 15, 2025
cf8bcdc
feat(new-execution): measure walltime in codspeed ci job (#1656)
shuklaayush May 15, 2025
00bab47
feat: rv32im working execution + tracegen + prove (aka integration te…
Golovanov399 May 16, 2025
5da1c54
feat: e1, e3 implementation for sha2 + keccak extensions (#1657)
arayikhalatyan May 20, 2025
950320b
feat(new-execution): metered execution (#1652)
shuklaayush May 20, 2025
e8afdad
fix: handle keccak256 input/output not 4-byte aligned (#1671)
jonathanpwang May 21, 2025
15a9ae8
fix: misaligned calls to sha256 (#1674)
arayikhalatyan May 21, 2025
87e9e3f
fix: remove serialized_modulus and align modulus constant (#1678)
jonathanpwang May 21, 2025
cc1002c
feat(new-execution): port native chips (#1665)
shuklaayush May 22, 2025
b1387a3
fix: integration test (#1679)
arayikhalatyan May 22, 2025
ae501ac
feat(new-execution): add interfaces for running different execute fun…
shuklaayush May 22, 2025
a32e4be
feat: port public values chip and native adapter (#1681)
shuklaayush May 22, 2025
fe29323
chore: bump stark backend (#1682)
shuklaayush May 22, 2025
61913de
fix: add InsExecutorE1 to sdk vc executor (#1684)
luffykai May 22, 2025
f188a93
fix(new-execution): return final memory (#1685)
shuklaayush May 23, 2025
46e36b0
fix(new-execution): add missing pc increment (#1687)
shuklaayush May 23, 2025
cb2a533
fix(new-execution): properly calculate total max cells (#1688)
shuklaayush May 23, 2025
cc62f86
feat: Poseidon2 chip (#1672)
nyunyunyunyu May 23, 2025
e9bc13d
fix: Fix setting initial memory (#1690)
Golovanov399 May 24, 2025
c9c7240
refactor: VM Executor for E1/E2 (#1699)
nyunyunyunyu May 30, 2025
3f3147b
fix(new-execution): use unpadded height for segmentation (#1698)
shuklaayush May 30, 2025
9b217c5
fix: fixes to get e2e benchmark working (#1696)
jonathanpwang May 30, 2025
a7f81dc
refactor: Make InsExecutorE1 Stateless (#1700)
nyunyunyunyu May 30, 2025
82f7ff9
fix(new-execution): return segments in `execute_metered` (#1702)
shuklaayush Jun 2, 2025
69aa7a0
refactor: Move `Streams` into `VmStateMut` (#1707)
nyunyunyunyu Jun 4, 2025
e8f34f4
feat: make merkle tree finalization parallel in new execution (#1701)
Golovanov399 Jun 5, 2025
356162e
feat: Do not build a `BTreeMap` when we don't need to (#1718)
Golovanov399 Jun 5, 2025
e9d9a6a
fix(new-execution): remove hardcoded trace heights (#1715)
shuklaayush Jun 13, 2025
9364d65
chore: merge `main` branch (#1740)
jonathanpwang Jun 15, 2025
e8ded6c
chore: add serde to segment (#1749)
luffykai Jun 17, 2025
d5a267c
fix(new-execution): cleanup `vm.rs` (#1751)
shuklaayush Jun 18, 2025
2851dc5
chore(new-execution): clk/cycles -> instret/insns (#1755)
shuklaayush Jun 18, 2025
337f768
ci: add benches for `execute_metered` (#1752)
shuklaayush Jun 18, 2025
bc094fa
Merge branch 'main' into jpw/merge-main-again
jonathanpwang Jun 18, 2025
7d6f53a
fmt
jonathanpwang Jun 18, 2025
341cada
fix bad merge
jonathanpwang Jun 18, 2025
724ab98
fix again
jonathanpwang Jun 18, 2025
70ae977
chore: merge `main` (#1759)
jonathanpwang Jun 18, 2025
2fa8d0b
fix(new-execution): prevent segmentation in single segment executor (…
shuklaayush Jun 19, 2025
df0a38a
feat: generalize E3 with generic `RecordArena` (#1761)
jonathanpwang Jun 20, 2025
8730118
fix(new-execution): use `StdRng` for deterministic execution (#1769)
shuklaayush Jun 20, 2025
42d4dc7
chore: add execution insn/s logging (#1764)
jonathanpwang Jun 20, 2025
6cbe7d1
fix(ci): make codspeed instrumentation dispatch only (#1771)
shuklaayush Jun 20, 2025
b0b892f
chore(ci): fix REF_HASH calculation (#1776)
jonathanpwang Jun 23, 2025
5eba513
perf(new-execution): use page-based approach for merkle tree metering…
shuklaayush Jun 23, 2025
c5d731b
feat(sdk): derive Debug traits in config (#1777)
Qumeric Jun 23, 2025
2011411
feat: RecordArena implementation on DenseRecordArena for variable len…
arayikhalatyan Jun 24, 2025
d0399d7
chore: make testing ProgramDummyAir mod public (#1781)
stephenh-axiom-xyz Jun 24, 2025
29e11c3
chore: make RANGE_CHECKER_BUS pub (#1783)
stephenh-axiom-xyz Jun 24, 2025
9875e86
chore: add 'allocated' method to DenseRecordArena (#1785)
arayikhalatyan Jun 24, 2025
6446607
chore: fix last chore (#1786)
arayikhalatyan Jun 24, 2025
77983f5
feat: use memmap instead of paged_vecs on platforms that support it (…
pjabbarzade Jun 25, 2025
184b12e
chore: derive Clone for Segment
Qumeric Jun 25, 2025
ca2e67d
fix: proper memory access functions in `execute_e1_impl` in the nativ…
Golovanov399 Jun 25, 2025
bb20ff8
refactor(new-execution): make `ExecutionCtrl`s stateless (#1789)
shuklaayush Jun 25, 2025
d0f6585
chore(ci): make sdk and cli tests faster
jonathanpwang Jun 25, 2025
fc3d59e
chore: use tracing spans for metrics (#1791)
jonathanpwang Jun 25, 2025
9be060c
chore: make memory volatile and persistent boundary chips pub (#1792)
stephenh-axiom-xyz Jun 25, 2025
24786c5
fix(new-execution): no segmentation in single segment executor (#1796)
shuklaayush Jun 26, 2025
24dc65b
feat(new-execution): change default `PAGE_BITS` value in e2 to 6 (#1794)
shuklaayush Jun 26, 2025
b4cd1d7
refactor: use PagedVec for TracingMemory metadata storage (#1793)
jonathanpwang Jun 26, 2025
6169738
fix(new-execution): remove duplicate assignment (#1799)
shuklaayush Jun 26, 2025
054b336
ci(new-execution): run codspeed instrumentation on push (#1797)
shuklaayush Jun 26, 2025
6fce5ac
fix: account for E1 / E2 execution in metrics summary (#1800)
yi-sun Jun 27, 2025
68630ef
Add ColsRef macro
Avaneesh-axiom Apr 7, 2025
399a393
Rename crates/circuits/sha256-air/ to crates/circuits/sha2-air/
Avaneesh-axiom Apr 7, 2025
c714d13
Update SHA-256 subair to support SHA-512 and SHA_384
Avaneesh-axiom Apr 7, 2025
a3b73ca
Rename extensions/sha256 to extensions/sha2
Avaneesh-axiom Apr 7, 2025
6dffa9b
fix(new-execution): adapter offset should be boundary_idx + 1 (#1803)
shuklaayush Jun 27, 2025
96b3e5c
Update SHA-256 VM chip to support SHA-512 and SHA-384
Avaneesh-axiom Apr 7, 2025
f38d801
Rename examples/sha256 to examples/sha2
Avaneesh-axiom Apr 7, 2025
49c739d
Update SHA-256 examples
Avaneesh-axiom Apr 7, 2025
e62ed2c
Rename SHA-256 to SHA-2 in various places
Avaneesh-axiom Apr 7, 2025
aaef884
Update the docs
Avaneesh-axiom Apr 7, 2025
05d78e4
Rename book/src/custom-extensions/sha256.md to sha2.md
Avaneesh-axiom Apr 7, 2025
1d4bd1f
Update book
Avaneesh-axiom Apr 7, 2025
665237e
Fix lint
Avaneesh-axiom Jun 27, 2025
9fafdbb
chore(ci): fix the instance type for codspeed benches (#1811)
jonathanpwang Jul 2, 2025
ffdfbbc
feat: new execution e4 for memory adapters (#1733)
Golovanov399 Jul 2, 2025
040d653
chore: update `stark-backend` commit (#1812)
jonathanpwang Jul 2, 2025
3f2b5fc
feat: extract_layout implementation for native Poseidon2 (#1813)
stephenh-axiom-xyz Jul 3, 2025
25ecd07
chore: make plonky3 nightly-features optional (#1818)
jonathanpwang Jul 3, 2025
8638194
fix(new-execution): disable loads from address space 1 (#1802)
shuklaayush Jul 5, 2025
0ed7820
feat(new-execution): ignore register addr space for memory ops (#1798)
shuklaayush Jul 5, 2025
378e076
feat: modify fri records + tests (#1819)
arayikhalatyan Jul 7, 2025
4a2f95e
fix: native Poseidon2 record size should be in bytes instead of u32 (…
stephenh-axiom-xyz Jul 7, 2025
5f4bc59
Merge branch 'feat/sha-512' into feat/sha-512-new-execution
Avaneesh-axiom Jul 9, 2025
7396a2a
Merge branch 'feat/new-execution' into feat/sha-512-new-execution
Avaneesh-axiom Jul 9, 2025
1f3c4fa
Rename sha256 to sha2 (missed in the merge)
Avaneesh-axiom Jul 9, 2025
c4e2cb6
fix(openvm-prof): replace unwraps with better error strings (#1833)
shuklaayush Jul 9, 2025
dabf5d5
fix(new-execution): add register contribtions on `reset_segment` (#1843)
shuklaayush Jul 10, 2025
45c2403
Merge branch 'main' into feat/new-exec-merge-1.3
jonathanpwang Jul 10, 2025
ad5e7c2
chore: fix merge
jonathanpwang Jul 10, 2025
ac7576d
Merge branch 'main' into feat/new-exec-merge-1.3
jonathanpwang Jul 10, 2025
a7d1125
chore: merge `main` (#1844)
jonathanpwang Jul 10, 2025
4090d73
Enforce 4-byte alignment for input to SHA-512/384
Avaneesh-axiom Jul 10, 2025
a58f1c3
Move ShaChipConfig::VARIANT to Sha2Config
Avaneesh-axiom Jul 10, 2025
2138780
Fix double negative "should_panic" in sha subair unit tests
Avaneesh-axiom Jul 10, 2025
2e86a9e
Merge branch 'feat/new-execution' into feat/sha-512-new-execution
Avaneesh-axiom Jul 10, 2025
a8b79b5
Fix typos in spec
Avaneesh-axiom Jul 10, 2025
49e1eb4
Fix bug
Avaneesh-axiom Jul 10, 2025
32b66e5
fix: do multiple digest writes for e1 for sha512/384
Avaneesh-axiom Jul 11, 2025
2ed19d5
Rename ShaChipConfig to Sha2ChipConfig for consistency with Sha2Config
Avaneesh-axiom Jul 11, 2025
a6be3df
feat: use cached max trace heights in leaf/internal aggregation (#1839)
stephenh-axiom-xyz Jul 11, 2025
3735326
Fix lint
Avaneesh-axiom Jul 11, 2025
48c80d7
feat: Add pubs needed for gpu (#1860)
Golovanov399 Jul 14, 2025
9315f1a
feat: RecordSeeker::get_aligned_record_size (#1863)
arayikhalatyan Jul 14, 2025
e027992
refactor(new-execution): optimize E1/E2 implementation (#1827)
nyunyunyunyu Jul 15, 2025
1c43154
chore: General Sys phantom (#1867)
nyunyunyunyu Jul 15, 2025
97eaf48
fix(new-execution): don't pass total_widths to execute_metered (#1868)
shuklaayush Jul 15, 2025
616dfa2
Merge branch 'feat/new-execution' into feat/sha-512-new-execution
Avaneesh-axiom Jul 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Nextest configuration for OpenVM project

# Define test groups with different weights
[[profile.default.overrides]]
# Match all tests with "persistent" in their name
filter = 'test(~persistent)'
# Give these tests 5x the default weight because they use more memory
threads-required = 16

# custom profile for heavy tests
[profile.heavy]
# Run fewer tests in parallel for heavy workloads
test-threads = 2
14 changes: 10 additions & 4 deletions .github/workflows/benchmark-call.yml
Original file line number Diff line number Diff line change
Expand Up @@ -250,9 +250,15 @@ jobs:
fi

##########################################################################
# Update s3 for latest main metrics upon a push event #
# Update s3 for latest branch metrics upon a push event #
##########################################################################
- name: Update latest main result in s3
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
- name: Update latest branch result in s3
if: github.event_name == 'push'
run: |
s5cmd cp $METRIC_PATH "${{ env.S3_METRICS_PATH }}/main-${METRIC_NAME}.json"
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
# for backwards compatibility
REF_HASH="main"
else
REF_HASH=$(echo "${{ github.ref }}" | sha256sum | cut -d' ' -f1)
fi
s5cmd cp $METRIC_PATH "${{ env.S3_METRICS_PATH }}/${REF_HASH}-${METRIC_NAME}.json"
145 changes: 67 additions & 78 deletions .github/workflows/benchmarks-execute.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: "benchmarks-execute"
name: "Execution benchmarks"

on:
push:
branches: ["main"]
# TODO(ayush): remove after feat/new-execution is merged
branches: ["main", "feat/new-execution"]
pull_request:
types: [opened, synchronize, reopened, labeled]
branches: ["**"]
Expand All @@ -18,95 +19,83 @@ on:
- ".github/workflows/benchmarks-execute.yml"
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

env:
CARGO_TERM_COLOR: always

jobs:
execute-benchmarks:
codspeed-walltime-benchmarks:
name: Run codspeed walltime benchmarks
runs-on:
- runs-on=${{ github.run_id }}
- runner=8cpu-linux-x64
- family=m5a.xlarge # 2.5Ghz clock speed
- image=ubuntu24-full-x64
- extras=s3-cache

env:
CODSPEED_RUNNER_MODE: walltime

steps:
- uses: runs-on/action@v1
- uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
profile: minimal
toolchain: stable
override: true
cache-on-failure: true

- name: Run execution benchmarks
working-directory: benchmarks/execute
run: cargo run | tee benchmark_output.log
- name: Install cargo-binstall
uses: cargo-bins/cargo-binstall@main
- name: Install codspeed
run: cargo binstall --no-confirm --force cargo-codspeed

- name: Parse benchmark results
- name: Build benchmarks
working-directory: benchmarks/execute
run: |
# Determine if running in GitHub Actions environment
if [ -n "$GITHUB_STEP_SUMMARY" ]; then
SUMMARY_FILE="$GITHUB_STEP_SUMMARY"
echo "### Benchmark Results Summary" >> "$SUMMARY_FILE"
else
SUMMARY_FILE="benchmark_summary.md"
echo "### Benchmark Results Summary" > "$SUMMARY_FILE"
echo "Saving summary to $SUMMARY_FILE"
fi

# Set up summary table header
echo "| Program | Total Time (ms) |" >> "$SUMMARY_FILE"
echo "| ------- | --------------- |" >> "$SUMMARY_FILE"

# Variables to track current program and total time
current_program=""
total_time=0

# Process the output file line by line
while IFS= read -r line; do
# Check if line contains "Running program" message
if [[ $line =~ i\ \[info\]:\ Running\ program:\ ([a-zA-Z0-9_-]+) ]]; then
# If we were processing a program, output its results
if [[ -n "$current_program" ]]; then
echo "| $current_program | $total_time |" >> "$SUMMARY_FILE"
fi

# Start tracking new program
current_program="${BASH_REMATCH[1]}"
total_time=0
fi

# Check for program completion to catch programs that might have no execution segments
if [[ $line =~ i\ \[info\]:\ Completed\ program:\ ([a-zA-Z0-9_-]+) ]]; then
completed_program="${BASH_REMATCH[1]}"
# If no segments were found for this program, ensure it's still in the output
if [[ "$current_program" == "$completed_program" && $total_time == 0 ]]; then
echo "| $current_program | 0 |" >> "$SUMMARY_FILE"
current_program=""
fi
fi

# Check if line contains execution time (looking for the format with ms or s)
if [[ $line =~ execute_segment\ \[\ ([0-9.]+)(ms|s)\ \|\ [0-9.]+%\ \]\ segment ]]; then
segment_time="${BASH_REMATCH[1]}"
unit="${BASH_REMATCH[2]}"
run: cargo codspeed build --profile maxperf
- name: Run benchmarks
uses: CodSpeedHQ/action@v3
with:
working-directory: benchmarks/execute
run: cargo codspeed run
token: ${{ secrets.CODSPEED_TOKEN }}
env:
CODSPEED_RUNNER_MODE: walltime

codspeed-instrumentation-benchmarks:
name: Run codspeed instrumentation benchmarks
runs-on:
- runs-on=${{ github.run_id }}
- family=m5a.xlarge
- image=ubuntu24-full-x64
- extras=s3-cache
if: github.event_name != 'pull_request'

# Convert to milliseconds if in seconds
if [[ "$unit" == "s" ]]; then
segment_time=$(echo "scale=6; $segment_time * 1000" | bc)
fi
env:
CODSPEED_RUNNER_MODE: instrumentation

# Add segment time to total
total_time=$(echo "scale=6; $total_time + $segment_time" | bc)
fi
done < benchmark_output.log
steps:
- uses: runs-on/action@v1
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

# Output the last program result if there was one
if [[ -n "$current_program" ]]; then
echo "| $current_program | $total_time |" >> "$SUMMARY_FILE"
fi
- name: Install cargo-binstall
uses: cargo-bins/cargo-binstall@main
- name: Install codspeed
run: cargo binstall --no-confirm --force cargo-codspeed

# If not in GitHub Actions, print the summary to the terminal
if [ -z "$GITHUB_STEP_SUMMARY" ]; then
echo -e "\nBenchmark Summary:"
cat "$SUMMARY_FILE"
fi
- name: Build benchmarks
working-directory: benchmarks/execute
run: cargo codspeed build
- name: Run benchmarks
uses: CodSpeedHQ/action@v3
with:
working-directory: benchmarks/execute
run: cargo codspeed run
token: ${{ secrets.CODSPEED_TOKEN }}
env:
CODSPEED_RUNNER_MODE: instrumentation
18 changes: 15 additions & 3 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: "OpenVM Benchmarks: Coordinate Runner & Reporting"

on:
push:
branches: ["main"]
branches: ["main", "feat/new-execution"]
pull_request:
types: [opened, synchronize, reopened, labeled]
branches: ["**"]
Expand Down Expand Up @@ -211,9 +211,21 @@ jobs:
json_file_list=$(echo -n "$json_files" | paste -sd "," -)
echo $json_file_list

prev_json_files=$(echo $matrix | jq -r '
# For PRs, get the latest commit from the target branch
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
if [[ "${{ github.base_ref }}" == "main" ]]; then
REF_HASH="main"
else
REF_HASH=$(echo "refs/heads/${{ github.base_ref }}" | sha256sum | cut -d' ' -f1)
fi
echo "Target branch REF_HASH: $REF_HASH"
else
REF_HASH="main"
fi

prev_json_files=$(echo $matrix | jq -r --arg target "$REF_HASH" '
.[] |
"main-\(.id).json"')
"\($target)-\(.id).json"')
prev_json_file_list=$(echo -n "$prev_json_files" | paste -sd "," -)
echo $prev_json_file_list

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
runs-on:
- runs-on=${{ github.run_id }}
- runner=64cpu-linux-arm64
- image=ubuntu24-full-arm64
- extras=s3-cache
steps:
- uses: runs-on/action@v1
Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ jobs:
runs-on:
- runs-on=${{ github.run_id }}
- disk=large
- runner=32cpu-linux-arm64
- runner=64cpu-linux-arm64
- image=ubuntu24-full-arm64
- extras=s3-cache

steps:
Expand All @@ -47,7 +48,8 @@ jobs:
cache-on-failure: true
- uses: taiki-e/install-action@nextest
- name: Install solc # svm should support arm64 linux
run: (hash svm 2>/dev/null || cargo install --version 0.2.23 svm-rs) && svm install 0.8.19 && solc --version
run: |
(hash svm 2>/dev/null || cargo install --version 0.2.23 svm-rs) && svm install 0.8.19 && solc --version

- name: Install cargo-openvm
working-directory: crates/cli
Expand Down Expand Up @@ -80,8 +82,7 @@ jobs:
working-directory: crates/cli
run: |
export RUST_BACKTRACE=1
cargo build
cargo run --bin cargo-openvm -- openvm keygen --config ./example/app_config.toml --output-dir .
cargo openvm keygen --config ./example/app_config.toml --output-dir .

- name: Set USE_LOCAL_OPENVM environment variable
run: |
Expand All @@ -94,4 +95,5 @@ jobs:
- name: Run CLI tests
working-directory: crates/cli
run: |
cargo nextest run --cargo-profile=fast
export SKIP_INSTALL=1
cargo nextest run --cargo-profile=fast --test-threads=1
7 changes: 4 additions & 3 deletions .github/workflows/extension-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- { name: "rv32im", path: "rv32im" }
- { name: "native", path: "native" }
- { name: "keccak256", path: "keccak256" }
- { name: "sha256", path: "sha256" }
- { name: "sha2", path: "sha2" }
- { name: "bigint", path: "bigint" }
- { name: "algebra", path: "algebra" }
- { name: "ecc", path: "ecc" }
Expand All @@ -40,6 +40,7 @@ jobs:
runs-on:
- runs-on=${{ github.run_id }}
- runner=64cpu-linux-arm64
- image=ubuntu24-full-arm64
- tag=extension-${{ matrix.extension.name }}
- extras=s3-cache

Expand Down Expand Up @@ -69,7 +70,7 @@ jobs:

- name: Run ${{ matrix.extension.name }} circuit crate tests
working-directory: extensions/${{ matrix.extension.path }}/circuit
run: cargo nextest run --cargo-profile=fast
run: cargo nextest run --cargo-profile=fast --test-threads=32

- name: Run ${{ matrix.extension.name }} guest crate tests
if: hashFiles(format('extensions/{0}/guest', matrix.extension.path)) != ''
Expand All @@ -86,4 +87,4 @@ jobs:
working-directory: extensions/${{ matrix.extension.path }}/tests
run: |
rustup component add rust-src --toolchain nightly-2025-02-14
cargo nextest run --cargo-profile=fast --no-tests=pass
cargo nextest run --cargo-profile=fast --profile=heavy --no-tests=pass
1 change: 1 addition & 0 deletions .github/workflows/guest-lib-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ jobs:
runs-on:
- runs-on=${{ github.run_id }}
- runner=64cpu-linux-arm64
- image=ubuntu24-full-arm64
- tag=crate-${{ matrix.crate.name }}
- extras=s3-cache

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/native-compiler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
runs-on:
- runs-on=${{ github.run_id }}
- runner=64cpu-linux-arm64
- image=ubuntu24-full-arm64
- extras=s3-cache

steps:
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/primitives.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
paths:
- "crates/circuits/primitives/**"
- "crates/circuits/poseidon2-air/**"
- "crates/circuits/sha256-air/**"
- "crates/circuits/sha2-air/**"
- "crates/circuits/mod-builder/**"
- "Cargo.toml"
- ".github/workflows/primitives.yml"
Expand All @@ -26,6 +26,7 @@ jobs:
runs-on:
- runs-on=${{ github.run_id }}
- runner=32cpu-linux-arm64
- image=ubuntu24-full-arm64
- extras=s3-cache

steps:
Expand All @@ -47,8 +48,8 @@ jobs:
run: |
cargo nextest run --cargo-profile fast --features parallel

- name: Run tests for sha256-air
working-directory: crates/circuits/sha256-air
- name: Run tests for sha2-air
working-directory: crates/circuits/sha2-air
run: |
cargo nextest run --cargo-profile fast --features parallel

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/recursion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ jobs:
runs-on:
- runs-on=${{ github.run_id }}
- runner=64cpu-linux-arm64
- image=ubuntu24-full-arm64
- extras=s3-cache

steps:
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ jobs:
runs-on:
- runs-on=${{ github.run_id }}
- family=m7a.24xlarge
- image=ubuntu24-full-x64
- disk=large
- extras=s3-cache

Expand Down Expand Up @@ -97,4 +98,10 @@ jobs:
working-directory: crates/sdk
run: |
export RUST_BACKTRACE=1
cargo nextest run --cargo-profile=fast --test-threads=2 --features parallel,evm-verify
cargo nextest run --cargo-profile=fast --features parallel,evm-verify

- name: Run ignored tests
working-directory: crates/sdk
if: ${{ github.event_name == 'push' }}
run: |
cargo nextest run --cargo-profile=fast --features parallel,evm-verify --ignored test_static_verifier_custom_pv_handler
Loading
Loading