Skip to content

feat: release automation and documentation#40

Open
shaneutt wants to merge 1 commit intonetworking-incubator:mainfrom
shaneutt:shaneutt/release-automation
Open

feat: release automation and documentation#40
shaneutt wants to merge 1 commit intonetworking-incubator:mainfrom
shaneutt:shaneutt/release-automation

Conversation

@shaneutt
Copy link
Member

@shaneutt shaneutt commented Feb 13, 2026

This adds a release workflow to (mostly) automate releases. When tags are pushed, they are identified as to whether they are pre-release or a stable release and then bundles and other content are automatically generated.

Importantly, this release workflow only produces draft releases so that a maintainer always makes the final decision to publish a release. This is especially important because we enforce immutable releases.

A RELEASE.md document is also added, as helpful notes for future maintainers cutting releases.

Resolves #23

Testing

I tested this workflow on my fork. You can see the following tests:

All succeeded, resulting in the correct release workflow:

The corresponding draft PRs that were produced can be found here:

Each has been tagged as pre-release or not appropriately by the workflow.

@shaneutt shaneutt added area/documentation Improvements or additions to documentation area/testing Testing related area/infrastructure CI, packaging, etc labels Feb 13, 2026
@shaneutt shaneutt requested a review from Copilot February 13, 2026 18:27
@shaneutt shaneutt added this to the v0.2.0 milestone Feb 13, 2026
@shaneutt shaneutt requested review from a team, aslakknutsen and rikatz and removed request for a team February 13, 2026 18:29
@shaneutt shaneutt enabled auto-merge (squash) February 13, 2026 18:30
Copy link

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 pull request adds release automation for the Coraza Kubernetes Operator. It introduces a GitHub Actions workflow that automatically creates draft releases when tags are pushed, determines if releases are pre-releases or stable releases based on version patterns, and generates manifest bundles (CRDs, operator, and samples) as release artifacts. The workflow enforces immutable releases by creating only draft releases that require manual publishing by maintainers.

Changes:

  • Added automated release workflow triggered after successful build-test runs on version tags
  • Added comprehensive release documentation for maintainers
  • Removed CHANGELOG.md in favor of auto-generated release notes
  • Added Makefile target to build release manifest bundles

Reviewed changes

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

Show a summary per file
File Description
.github/workflows/release.yml New workflow that creates draft GitHub releases with manifest bundles after successful builds on version tags
.github/workflows/ci.yml Updated to trigger build-test workflow on version tags (v*) in addition to main branch and PRs
RELEASE.md New documentation outlining the complete release process for maintainers
Makefile Added release.manifests target to build CRD, operator, and sample manifest bundles
DEVELOPMENT.md Added reference to new RELEASE.md documentation
CHANGELOG.md Removed in favor of auto-generated release notes
.gitignore Updated to ignore dist/ directory and allow RELEASE.md while removing CHANGELOG.md from allowlist

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

@shaneutt shaneutt force-pushed the shaneutt/release-automation branch from 2ac2e5e to 978930a Compare February 13, 2026 18:37
@shaneutt shaneutt requested a review from Copilot February 13, 2026 18:37
@shaneutt shaneutt disabled auto-merge February 13, 2026 18:37
@shaneutt shaneutt enabled auto-merge (squash) February 13, 2026 18:37
Copy link

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

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


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

This also adds a RELEASE.md.

This also removes CHANGELOG.md in favor of using GitHub's automatically
generated changelogs on releases.

Signed-off-by: Shane Utt <shaneutt@linux.com>
@shaneutt shaneutt force-pushed the shaneutt/release-automation branch from 978930a to 5911445 Compare February 13, 2026 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/documentation Improvements or additions to documentation area/infrastructure CI, packaging, etc area/testing Testing related

Development

Successfully merging this pull request may close these issues.

Release Automation

1 participant