Skip to content

chore: release workflow for codegen 3.0#12730

Merged
ewaostrowska merged 1 commit into
masterfrom
master-release-3
May 13, 2026
Merged

chore: release workflow for codegen 3.0#12730
ewaostrowska merged 1 commit into
masterfrom
master-release-3

Conversation

@ewaostrowska
Copy link
Copy Markdown
Contributor

Summary

Implements the Codegen 3.0 release workflow for branch 3.0.0 as the second part of the release automation split (prepare-release was done earlier). Supports:

  • optional generators release,
  • dry-run mode with no irreversible operations,
  • post-release snapshot PR automation.

What Changed

Workflows

  • Added .github/workflows/release-codegen-3.yml
  • Removed legacy .github/workflows/release-full-3.yml

Release scripts

  • Added CI/release/resolve-release-versions.sh
  • Added CI/release/build-codegen-with-generators.sh
  • Added CI/release/post-codegen-snapshot.sh
  • Updated CI/release/common.sh with shared resolution/validation helpers
  • Updated CI/release/update-codegen-release-files.py to support post-release snapshot updates

Flow

1. validate

  • resolves versions and release mode,
  • verifies release/snapshot prerequisites in Maven metadata,
  • protects against accidental redeploys.

2. bootstrap_codegen (only if generators must be released)

  • breaks circular dependency by building codegen with bootstrap generators version.

3. generators (optional)

  • builds/deploys generators when required.

4. codegen

  • builds codegen with resolved generators version,
  • deploys codegen (unless skipped/dry-run),
  • publishes prepared draft release notes when not dry-run.

5. optional docker and online_deploy

  • gated via inputs.

6. post_release_pr

  • prepares next snapshot and opens PR to 3.0.0.

Dry-Run Safety

With dry_run=true (default):

  • no Maven deploy
  • no Docker push
  • no Rancher deploy
  • no release publication
  • post-release PR creation remains allowed (reversible action)

Inputs Added

  • release_generators
  • skip_maven_deploy
  • skip_docker_push
  • skip_rancher_deploy
  • previous_generators_version
  • codegen_generators_bootstrap_version
  • dry_run (default: true)

Why

  • Completes release automation part 2 for 3.0.0.
  • Improves safety, observability, and recovery handling over the old single-job release flow.
  • Keeps prepare and release concerns separated while preserving expected release outcomes.

Copy link
Copy Markdown

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

Implements a new GitHub Actions release workflow for the 3.0.0 branch (“Codegen 3.0”) by replacing the legacy monolithic release workflow with a staged pipeline and a set of shared release helper scripts. The workflow supports optional generators release, dry-run mode, and post-release automation to open a “next snapshot” PR.

Changes:

  • Added a new staged workflow (release-codegen-3.yml) and removed the legacy full release workflow.
  • Introduced version-resolution and build helper scripts to validate preconditions, handle the codegen↔generators bootstrap cycle, and gate deploy/publish steps.
  • Extended release file update tooling to support a post-release “move back to snapshot” mode and automated snapshot PR preparation.

Reviewed changes

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

Show a summary per file
File Description
CI/release/update-codegen-release-files.py Adds post mode and snapshot doc update helpers for post-release snapshot automation.
CI/release/resolve-release-versions.sh New resolver to compute canonical versions/flags and enforce safe release preconditions.
CI/release/post-codegen-snapshot.sh New script to bump the repo back to the next -SNAPSHOT and update related files.
CI/release/common.sh Adds shared helpers (notice/output, maven property reads, resolve checks, artifact constants).
CI/release/build-codegen-with-generators.sh New standardized build wrapper to build codegen against an explicit generators version.
.github/workflows/release-full-3.yml Removes legacy single-job release workflow.
.github/workflows/release-codegen-3.yml Adds the new multi-stage release workflow with dry-run and post-release PR automation.

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

Comment thread CI/release/update-codegen-release-files.py
Comment thread CI/release/common.sh
@ewaostrowska ewaostrowska merged commit c7dd2fc into master May 13, 2026
13 checks passed
@ewaostrowska ewaostrowska deleted the master-release-3 branch May 13, 2026 07:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants