-
Notifications
You must be signed in to change notification settings - Fork 43
Release process enhancement #1185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Adjust the release document to suit the new release process. Signed-off-by: Jim Fitzpatrick <[email protected]>
From talks and calls, the release process has being moved to a more local process, less automated to allow for manual checks of the data before releasing. Signed-off-by: Jim Fitzpatrick <[email protected]>
- fix naming issue - refine process steps Signed-off-by: Jim Fitzpatrick <[email protected]>
The release script has being design to use a toml file for the version and is to be run locally. Signed-off-by: Jim Fitzpatrick <[email protected]>
Remove the reference to bundles from the format. It is suspected that the released version of the operator will never be different from the bundles. There is also an overlap with helm which does not have the concept of bundles. Signed-off-by: Jim Fitzpatrick <[email protected]>
The release workflow has being modified to only be triggered when a pull request is merged to branches that match `release-vX.Y`. The workflow will only make the GitHub release objects. Signed-off-by: Jim Fitzpatrick <[email protected]>
Set up a make target for verifying that the prepare-release target was ran, and there is no uncommitted changes. There has also being a workflow set up to run this check when a Pull Request is made against the release branches. Signed-off-by: Jim Fitzpatrick <[email protected]>
Slight change to the form that is being used. Signed-off-by: Jim Fitzpatrick <[email protected]>
[ci] Setting OLM channel depending on prerelease input [ci] Fixing yq cmd updating release.yaml [ci] Fixing branching, prepare release scripts and dependencies [ci] Creating CR release branch on `Create Pull Request` step * Running Create Pull Request only if not triggered by ACT * In order to set the desired channel and default channel * Changed consolePlugin default to `0.0.0` * Also descriptions of inputs to semver [ci] Updated sed command to also work with `+build` tags Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
Refactor workflows to only use the verify-prepare-release target. This removed one of the workflows which was no longer required. Signed-off-by: Jim Fitzpatrick <[email protected]>
In the release.yaml 0.0.0 can now be used to mark a version should be the latest version. Signed-off-by: Jim Fitzpatrick <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1185 +/- ##
==========================================
- Coverage 83.38% 77.46% -5.93%
==========================================
Files 82 82
Lines 7120 7388 +268
==========================================
- Hits 5937 5723 -214
- Misses 949 1477 +528
+ Partials 234 188 -46
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Signed-off-by: dd di cesare <[email protected]>
* If it so, exit the release process Signed-off-by: dd di cesare <[email protected]>
* Until we have some scripts in that directory Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
* In order to avoid rate limiting and empty json Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
The workflow steps has no field needs Signed-off-by: Jim Fitzpatrick <[email protected]>
Set the commitish-target to the prerlease branch. The branch will be the in the following format: "release-vMAJOR.MINO" Signed-off-by: Jim Fitzpatrick <[email protected]>
prepare-release: make default-channel optional
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
workflows/build-images-for-tag-release.yaml: fix operator image build
The softprops/action-gh-release does not correctly pick up the tag for comparing when creating the release notes. Here the GitHub api is directly used to generate the release notes. softporps/action-gh-release is still used to create the actual release. Signed-off-by: Jim Fitzpatrick <[email protected]>
Some refactor of the scripts. - Move the default release body header from load_github_envvar.sh - Link future todo issue - Fix some spelling mistakes Signed-off-by: Jim Fitzpatrick <[email protected]>
Co-authored-by: Eguzki Astiz Lezaun <[email protected]> Signed-off-by: dd di cesare <[email protected]>
33065b4
to
8efafb9
Compare
Signed-off-by: dd di cesare <[email protected]>
… build Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Co-authored-by: dd di cesare <[email protected]> Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Fix custom catalog images build workflow build
eguzki
previously approved these changes
Mar 26, 2025
Boomatang
previously approved these changes
Mar 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good to me
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
eguzki
approved these changes
Mar 26, 2025
Boomatang
approved these changes
Mar 26, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #1122
This PR introduces a new process for releasing the Kuadrant operator. It replaces the poorly documented manual way and the error prone automated workflow, by a new automated workflow and a well documented manual one. Both of the processes work around a new manifest named
release.yaml
, which is the source of truth for our kustomize configs, bundles and helm charts.release.yaml file format.
This example of the
release.yaml
file uses tagv1.0.1
as reference.The
kuadrant-operator
section relates to the release version of the kuadrant operator.While the
olm
section relates to fields required for building the olm catalogs.And the
dependencies
section relates to the released versions of the subcomponents that will be included in a release.There are validation steps during the
make prepare-release
that require the dependencies to be release before generating the release of the Kuadrant operator.How to release Kuadrant Operator
To release a version “vX.Y.Z” of Kuadrant Operator in GitHub and Quay.io, there are two options, a manual and an automated process.
For both processes, first make sure every Kuadrant Operator dependency has been already released.
Automated Workflow
filling the following fields:
channels
anddefault-channel
annotationsit will also build the images and packages and publish them on Quay, Helm repository.
Notes
Manual Workflow
Local steps
release-vX.Y
branch, if the branch does not already exist.release-vX.Y
to the remote (kuadrant/kuadrant-operator)release-vX.Y.Z-rc(n)
branch withrelease-vX.Y
as the base.kudrant-vX.Y.Z-rc(n)
from the relevant sources, i.e.main
.make prepare-release
on therelease-vX.Y.Z-rc(n)
. If you run into rate limit errors, set the envGITHUB_TOKEN
with your PAT.Remote steps
release-vX.Y
branch with the changes fromrelease-vX.Y.Z-rc(n)
branch../bundle.Dockerfile
./bundle
./config
./charts/
release-vX.Y
. This does the following:TODO
needs
directive from steps