Skip to content
Open
Show file tree
Hide file tree
Changes from 14 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
16 changes: 13 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,22 @@ 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
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' || '' }} 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' || '' }} clippy -r -p ethrex-prover --all-targets -F "${{ matrix.backend }},ci"

- name: Check ${{ matrix.backend }} Cargo.lock modified but not committed
run: |
Expand Down
29 changes: 27 additions & 2 deletions .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' || '' }} 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 @@ -225,7 +235,10 @@ jobs:
echo "ELF_ARTIFACT=ethrex-riscv64ima-${{ matrix.zkvm }}-elf-${{ github.ref_name }}" >> $GITHUB_ENV
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-riscv64ima-${{ matrix.zkvm }}-elf-${{ github.ref_name }}" >> $GITHUB_ENV
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 @@ -277,6 +290,18 @@ jobs:
name: ethrex-riscv64ima-zisk-elf-${{ github.ref_name }}
path: ethrex_guests/zisk/

- name: Download OpenVM elf artifact
uses: actions/download-artifact@v4
with:
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
Loading