Skip to content

Conversation

@ManuelBilbao
Copy link
Contributor

Motivation

We are deploying releases without the ability to test them before.

Description

The new workflow is:

  • All new versions should be tagged as RC first (e.g., v6.0.0-rc.1).
  • The CI will compile binaries and docker images, and will create a pre-release in Github.
  • New RC can be made and the process will repeat.
  • Once the binaries were confirmed to work, the pre-release needs to be edited, changing the name and creating a new tag without the "subversion" (e.g., v6.0.0). Also, the release should be set to latest now.
  • The CI will upload the previous compiled docker images with new tags latest and final version.

Changelog was improved too. Now it takes commits since the first common parent of the previous version (not RC)

@ManuelBilbao ManuelBilbao self-assigned this Oct 21, 2025
@ManuelBilbao ManuelBilbao requested a review from a team as a code owner October 21, 2025 20:25
@Copilot Copilot AI review requested due to automatic review settings October 21, 2025 20:25
@ManuelBilbao ManuelBilbao added the ci Github actions, build, tests, etc label Oct 21, 2025
@github-actions github-actions bot added L1 Ethereum client L2 Rollup client labels Oct 21, 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 refactors the release workflow to implement a two-stage release process where RC (release candidate) versions are tested before final releases. RC versions are first tagged, compiled, and published as pre-releases. After testing, the release is manually edited to create the final version tag, triggering automatic retagging of Docker images with latest and final version tags.

Key Changes:

  • RC versions are now always published as pre-releases instead of conditionally based on tag suffix
  • Changelog generation improved to use commits since first common parent of previous stable version
  • New workflow added to handle Docker image retagging when releases are edited from RC to final versions

Reviewed Changes

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

File Description
.github/workflows/tag_release.yaml Simplified tag matching pattern, removed conditional logic for RC vs stable releases, modified changelog generation to find previous stable version and common parent, set all releases as pre-releases
.github/workflows/tag_latest.yaml New workflow that triggers on release edits, retrieves latest release tag, and retags Docker images with final version and latest tags

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@github-project-automation github-project-automation bot moved this to In Review in ethrex_l1 Oct 22, 2025
@jrchatruc jrchatruc enabled auto-merge October 22, 2025 19:06
@jrchatruc jrchatruc added this pull request to the merge queue Oct 22, 2025
Merged via the queue into main with commit 0e63e98 Oct 22, 2025
33 checks passed
@jrchatruc jrchatruc deleted the release_workflow branch October 22, 2025 20:11
@github-project-automation github-project-automation bot moved this from In Review to Done in ethrex_l1 Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Github actions, build, tests, etc L1 Ethereum client L2 Rollup client

Projects

Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants