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
17 changes: 14 additions & 3 deletions .github/workflows/pr-main_l2_prover.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
backend: ["sp1", "risc0", "zisk", "openvm"]
backend: ["sp1", "risc0", "zisk", "openvm", "pico"]
steps:
- name: Checkout sources
uses: actions/checkout@v4
Expand Down Expand Up @@ -49,6 +49,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SETUP_KEY: none
ZISK_VERSION: 0.14.0
run: |
sudo apt-get update
sudo apt-get install -y xz-utils jq curl build-essential qemu-system libomp-dev libgmp-dev nlohmann-json3-dev protobuf-compiler uuid-dev libgrpc++-dev libsecp256k1-dev libsodium-dev libpqxx-dev nasm libopenmpi-dev openmpi-bin openmpi-common libclang-dev clang gcc-riscv64-unknown-elf
Expand All @@ -64,13 +65,23 @@ jobs:
rustup component add rust-src --toolchain nightly-2025-02-14
cargo +1.86 install --locked --git https://github.com/openvm-org/openvm.git --tag v1.4.1 cargo-openvm

- name: Pico toolchain install
if: matrix.backend == 'pico'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
rustup install nightly-2025-08-04
rustup component add rust-src --toolchain nightly-2025-08-04
rustup component add clippy --toolchain nightly-2025-08-04
cargo +nightly-2025-08-04 install --git https://github.com/brevis-network/pico --tag v1.1.9 pico-cli

- name: Check ${{ matrix.backend }} backend
run: |
cargo check -r -p ethrex-prover -F "${{ matrix.backend }},ci"
cargo ${{ matrix.backend == 'pico' && '+nightly-2025-08-04' || '' }} check -r -p ethrex-prover -F "${{ matrix.backend }},ci"

- name: Clippy ${{ matrix.backend }} backend
run: |
cargo clippy -r -p ethrex-prover --all-targets -F "${{ matrix.backend }},ci"
cargo ${{ matrix.backend == 'pico' && '+nightly-2025-08-04' || '' }} clippy -r -p ethrex-prover --all-targets -F "${{ matrix.backend }},ci"

- name: Check ${{ matrix.backend }} Cargo.lock modified but not committed
run: |
Expand Down
21 changes: 20 additions & 1 deletion .github/workflows/tag_release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ jobs:
- risc0
- zisk
- openvm
- pico
runs-on: ubuntu-latest
steps:
- name: Checkout code
Expand Down Expand Up @@ -207,9 +208,18 @@ jobs:
rustup component add rust-src --toolchain nightly-2025-02-14
cargo +1.86 install --locked --git https://github.com/openvm-org/openvm.git --tag v1.4.1 cargo-openvm

- name: Install Pico
if: ${{ matrix.zkvm == 'pico' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
rustup install nightly-2025-08-04
rustup component add rust-src --toolchain nightly-2025-08-04
cargo +nightly-2025-08-04 install --git https://github.com/brevis-network/pico --tag v1.1.9 pico-cli

- name: Build ethrex elf - ${{ matrix.zkvm }}
run: |
cargo build --release --package guest_program --features "${{ matrix.zkvm }},ci"
cargo ${{ matrix.zkvm == 'pico' && '+nightly-2025-08-04' || '' }} build --release --package guest_program --features "${{ matrix.zkvm }},ci"
mkdir -p ${{ matrix.zkvm }}_verification_keys
if [ "${{ matrix.zkvm }}" = "sp1" ]; then
mv crates/l2/prover/src/guest_program/src/${{ matrix.zkvm }}/out/riscv32im-succinct-zkvm-elf ethrex-riscv32im-${{ matrix.zkvm }}-elf-${{ github.ref_name }}
Expand All @@ -226,6 +236,9 @@ jobs:
elif [ "${{ matrix.zkvm }}" = "openvm" ]; then
mv crates/l2/prover/src/guest_program/src/${{ matrix.zkvm }}/out/riscv32im-openvm-elf ethrex-riscv32im-${{ matrix.zkvm }}-elf-${{ github.ref_name}}
echo "ELF_ARTIFACT=ethrex-riscv32im-${{ matrix.zkvm }}-elf-${{ github.ref_name }}" >> $GITHUB_ENV
elif [ "${{ matrix.zkvm }}" = "pico" ]; then
mv crates/l2/prover/src/guest_program/src/${{ matrix.zkvm }}/out/riscv32im-pico-zkvm-elf ethrex-riscv32im-${{ matrix.zkvm }}-elf-${{ github.ref_name}}
echo "ELF_ARTIFACT=ethrex-riscv32im-${{ matrix.zkvm }}-elf-${{ github.ref_name }}" >> $GITHUB_ENV
fi

- name: Upload ethrex guest elf artifact - ${{ matrix.zkvm }}
Expand Down Expand Up @@ -283,6 +296,12 @@ jobs:
name: ethrex-riscv32im-openvm-elf-${{ github.ref_name }}
path: ethrex_guests/openvm/

- name: Download Pico elf artifact
uses: actions/download-artifact@v4
with:
name: ethrex-riscv32im-pico-elf-${{ github.ref_name }}
path: ethrex_guests/pico/

- name: Archive ethrex guests
run: |
cd ethrex_guests/
Expand Down
Loading