Skip to content

Conversation

@ilitteri
Copy link
Contributor

@ilitteri ilitteri commented Nov 11, 2025

Motivation

One of the changes in a recent PR disabled the default features of the c-kzg crate and manually enabled a subset of them. The goal was to ensure the library imports with only 2 out of its 3 default features enabled. Unfortunately, this broke the ethrex L2 + GPU build for Ubuntu 22.04 (specifically due to a RISC0-related compilation error).
This issue went undetected because ethrex builds are only tested during release or release candidate preparation, not on every commit.

Description

To avoid similar regressions in the future, this PR adapts the existing GitHub Actions workflow for releases and pre-releases. The workflow will now also trigger automatically after every push to the main branch, ensuring continuous validation of key builds.

While debugging, I noticed that releases for ethrex L1 and L1 + L2 + GPU on Ubuntu 22.04 are being built with the RUSTFLAGS='-C target-cpu=x86-64-v2' flag, which overrides the settings in .cargo/config.toml. This PR removes this override to align with our configured defaults.

  • Revert c-kzg features change: Re-enable all default features to restore compatibility without negative impacts.
  • Update CI workflow: extend the release workflow to run on pushes to main for proactive build testing; and replace main_docker_publish in the process.
  • Remove RUSTFLAGS override: eliminate the hardcoded flag from the release configuration.

@ilitteri ilitteri requested a review from a team as a code owner November 11, 2025 19:02
Copilot AI review requested due to automatic review settings November 11, 2025 19:02
@github-actions github-actions bot added L1 Ethereum client L2 Rollup client labels Nov 11, 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 fixes a build compilation issue for ethrex L1 + L2 + GPU builds on Ubuntu 22.04 that was introduced by a previous change to the c-kzg crate configuration. The fix ensures continuous validation of key builds by extending the release workflow.

  • Reverted c-kzg dependency to use default features to restore RISC0 compatibility
  • Extended GitHub Actions release workflow to trigger on pushes to main branch for continuous build validation
  • Removed hardcoded RUSTFLAGS override to use the default configuration from .cargo/config.toml

Reviewed Changes

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

File Description
crates/common/crypto/Cargo.toml Restores default features for c-kzg dependency to fix Ubuntu 22.04 build compatibility
.github/workflows/tag_release.yaml Adds main branch trigger for continuous validation, removes RUSTFLAGS override, adds conditional logic for Docker tagging and release creation

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

- name: Format name
run: |
echo "TAG_VERSION=$(echo ${{ github.ref_name }} | tr -d v)" >> $GITHUB_ENV
# For branch builds (main) we want docker images tagged as 'main'. For tag pushes
Copy link
Contributor

Choose a reason for hiding this comment

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

There's already a CI that builds the docker image for main commits. We should remove either that or this

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Does this change replace entirely the tag_latest workflow?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

echo "TAG_VERSION=$(echo ${{ github.ref_name }} | tr -d v)" >> $GITHUB_ENV
# For branch builds (main) we want docker images tagged as 'main'. For tag pushes
# use the tag name (stripped of a leading 'v').
if [[ "$GITHUB_REF" == "refs/heads/main" ]]; then
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggestion from copilot:

Suggested change
if [[ "$GITHUB_REF" == "refs/heads/main" ]]; then
if [[ ${{ github.ref_type }} == "branch" ]]; then

Comment on lines 9 to 12
branches:
- main
# FIXME: This is to trigger the job in the PR's CI
- fix_v7.0.0-rc.1
Copy link
Collaborator

Choose a reason for hiding this comment

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

We could add a workflow_dispatch trigger, to make this run without adding patches like this

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, good idea. We have something similar in ethrex-replay.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We can do that in another PR.

@github-project-automation github-project-automation bot moved this to In Review in ethrex_l1 Nov 11, 2025
@ilitteri ilitteri enabled auto-merge November 11, 2025 21:06
@ilitteri ilitteri added this pull request to the merge queue Nov 11, 2025
Merged via the queue into main with commit 4184393 Nov 11, 2025
41 checks passed
@ilitteri ilitteri deleted the fix_v7.0.0-rc.1 branch November 11, 2025 21:36
@github-project-automation github-project-automation bot moved this from In Review to Done in ethrex_l1 Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

L1 Ethereum client L2 Rollup client

Projects

Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants