Skip to content

Conversation

@ManuelBilbao
Copy link
Contributor

Motivation

We use docker to generate reproducible guest program elfs. This slows down a lot the compilation time (about 15 minutes in a Mac).

Description

Don't use docker by default but only when releasing binaries. The docker build is triggered by setting the PROVER_REPRODUCIBLE_BUILD env var.

@ManuelBilbao ManuelBilbao self-assigned this Nov 13, 2025
Copilot AI review requested due to automatic review settings November 13, 2025 01:58
@ManuelBilbao ManuelBilbao requested a review from a team as a code owner November 13, 2025 01:58
@ManuelBilbao ManuelBilbao added the L2 Rollup client label Nov 13, 2025
@ManuelBilbao ManuelBilbao added the prover L2 prover label Nov 13, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR optimizes the prover compilation process by making Docker usage optional, controlled by the PROVER_REPRODUCIBLE_BUILD environment variable. This significantly reduces compilation time (from ~15 minutes on Mac) during development while maintaining reproducible builds for releases.

Key Changes:

  • Docker-based compilation is now opt-in via PROVER_REPRODUCIBLE_BUILD environment variable
  • Both RISC0 and SP1 guest program builds conditionally use Docker when the variable is set
  • GitHub release workflow automatically sets PROVER_REPRODUCIBLE_BUILD=true to ensure reproducible builds

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
crates/l2/prover/src/guest_program/build.rs Adds conditional logic to use Docker for guest program builds only when PROVER_REPRODUCIBLE_BUILD is set
.github/workflows/tag_release.yaml Sets PROVER_REPRODUCIBLE_BUILD=true environment variable to enable reproducible builds for releases

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

github-actions bot commented Nov 13, 2025

Lines of code report

Total lines added: 7
Total lines removed: 0
Total lines changed: 7

Detailed view
+----------------------------------------------------+-------+------+
| File                                               | Lines | Diff |
+----------------------------------------------------+-------+------+
| ethrex/crates/l2/prover/src/guest_program/build.rs | 83    | +7   |
+----------------------------------------------------+-------+------+

@ilitteri ilitteri enabled auto-merge November 13, 2025 15:31
@ilitteri ilitteri added this pull request to the merge queue Nov 13, 2025
Merged via the queue into main with commit 9e0d0a5 Nov 13, 2025
54 of 56 checks passed
@ilitteri ilitteri deleted the prover_docker_only_release branch November 13, 2025 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

L2 Rollup client prover L2 prover

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants