Skip to content
Merged
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
15 changes: 15 additions & 0 deletions .github/actions/install-risc0/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: "Install RISC0"
description: "Install RISC0 Toolchain"

runs:
using: "composite"
steps:
- name: Install RISC0
shell: bash
run: |
curl -L https://risczero.com/install | bash
~/.risc0/bin/rzup install cargo-risczero 3.0.3
~/.risc0/bin/rzup install risc0-groth16
~/.risc0/bin/rzup install rust
~/.risc0/bin/rzup install cpp
~/.risc0/bin/rzup install r0vm 3.0.3
6 changes: 1 addition & 5 deletions .github/workflows/pr-main_l2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,7 @@ jobs:
- name: Install RISC0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl -L https://risczero.com/install | bash
~/.risc0/bin/rzup install cargo-risczero 3.0.3
~/.risc0/bin/rzup install risc0-groth16
~/.risc0/bin/rzup install rust
uses: ./.github/actions/install-risc0

- name: Create placeholder SP1 ELF
run: |
Expand Down
10 changes: 2 additions & 8 deletions .github/workflows/pr-main_l2_prover.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,11 @@ jobs:
- name: Add Rust Cache
uses: Swatinem/rust-cache@v2

- name: RISC-V Risc0 toolchain install
- name: Install RISC0
if: matrix.backend == 'risc0'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# should be able to specify a version for `rzup install rust` (toolchain version)
# but it throws a "error decoding response body" in that case
run: |
curl -L https://risczero.com/install | bash
~/.risc0/bin/rzup install cargo-risczero 3.0.3
~/.risc0/bin/rzup install risc0-groth16
~/.risc0/bin/rzup install rust
uses: ./.github/actions/install-risc0

- name: RISC-V SP1 toolchain install
if: matrix.backend == 'sp1'
Expand Down
14 changes: 4 additions & 10 deletions .github/workflows/tag_release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ permissions:
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
PROVER_REPRODUCIBLE_BUILD: true

jobs:
build-ethrex:
Expand Down Expand Up @@ -96,11 +97,8 @@ jobs:
if: ${{ matrix.platform == 'ubuntu-22.04' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl -L https://risczero.com/install | bash
~/.risc0/bin/rzup install cargo-risczero 3.0.3
~/.risc0/bin/rzup install risc0-groth16
~/.risc0/bin/rzup install rust
uses: ./.github/actions/install-risc0

- name: Install CUDA (only Linux x86 GPU)
uses: Jimver/[email protected]
if: ${{ matrix.platform == 'ubuntu-22.04' && matrix.stack == 'l2_gpu' }}
Expand Down Expand Up @@ -185,11 +183,7 @@ jobs:
if: ${{ matrix.zkvm == 'risc0' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl -L https://risczero.com/install | bash
~/.risc0/bin/rzup install cargo-risczero 3.0.3
~/.risc0/bin/rzup install risc0-groth16
~/.risc0/bin/rzup install rust
uses: ./.github/actions/install-risc0

- name: Build ethrex elf - ${{ matrix.zkvm }}
run: |
Expand Down
27 changes: 17 additions & 10 deletions crates/l2/prover/src/guest_program/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,22 @@ fn build_risc0_program() {
vec![]
};

let docker_options = DockerOptionsBuilder::default()
.root_dir(format!("{}/../../../../../", env!("CARGO_MANIFEST_DIR")))
.build()
.unwrap();
let guest_options = GuestOptionsBuilder::default()
.features(features)
.use_docker(docker_options)
.build()
.unwrap();
let guest_options = if option_env!("PROVER_REPRODUCIBLE_BUILD").is_some() {
let docker_options = DockerOptionsBuilder::default()
.root_dir(format!("{}/../../../../../", env!("CARGO_MANIFEST_DIR")))
.build()
.unwrap();
GuestOptionsBuilder::default()
.features(features)
.use_docker(docker_options)
.build()
.unwrap()
} else {
GuestOptionsBuilder::default()
.features(features)
.build()
.unwrap()
};

let built_guests = embed_methods_with_options(std::collections::HashMap::from([(
"zkvm-risc0-program",
Expand Down Expand Up @@ -66,7 +73,7 @@ fn build_sp1_program() {
output_directory: Some("./src/sp1/out".to_string()),
elf_name: Some("riscv32im-succinct-zkvm-elf".to_string()),
features,
docker: true,
docker: option_env!("PROVER_REPRODUCIBLE_BUILD").is_some(),
tag: "v5.0.8".to_string(),
workspace_directory: Some(format!("{}/../../../../../", env!("CARGO_MANIFEST_DIR"))),
..Default::default()
Expand Down