Skip to content
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

UPDATE: Release Document #1133

Open
wants to merge 1 commit into
base: release-process-enhancement
Choose a base branch
from

Conversation

Boomatang
Copy link
Contributor

Adjust the release document to suit the new release process.

@Boomatang Boomatang marked this pull request as draft January 22, 2025 13:49
RELEASE.md Outdated
Comment on lines 135 to 120
## Automated Verification Processes.

* Check that dependencies release images exist for stated version
* Check that the git tag does not all ready exist for the stated release.
* Automated test, install via OLM and ensure the correct images are on cluster.
This should handle most of [Verify OLM Deployment](#verify-olm-deployment), except the checking of the logs.
* Ensure all required fields are stated in the `release.toml`.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Tracking checks that I believe should be part of the release process. This section may not make it to the final version.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yeah these look good and IMO should be added as tasks to the overall top level issue

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure, that makes more sense than making the note here.

@Boomatang Boomatang mentioned this pull request Jan 22, 2025
2 tasks
RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Show resolved Hide resolved
RELEASE.md Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved
@maleck13
Copy link
Collaborator

How long do you want to keep it as draft? Until the changes are ready or do you want it to be a full PR before that?


3. Run the GHA [Release operator](https://github.com/Kuadrant/kuadrant-operator/actions/workflows/release.yaml); make
Copy link
Contributor

Choose a reason for hiding this comment

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

What is this release operator workflow doing high level?

I think we should have one section for minor releases and other one for patch releases.

minor releases

  • create kuadrant-vX.Y.0 branch
  • create kuadrant-vX.Y.0-minor branch
  • Open PR against kuadrant-vX.Y.0 branch updating kuadrant version and dependency versions (that would trigger tests)
  • Once approved, tag it.
    • The tag would trigger GHA workflow to build images and create release notes in GH. (no tests run), deploy new release in operatorhub (maybe not for this time.. in the future), deploy helm charts.

patch releases

  • create kuadrant-vX.Y.Z-patch branch
  • Open PR against kuadrant-vX.Y.0 branch updating kuadrant version and dependency versions (that would trigger tests)
  • Once approved, tag it.
    • The tag would trigger GHA workflow to build images and create release notes in GH. (no tests run), deploy new release in operatorhub (maybe not for this time.. in the future), deploy helm charts.

Sounds reasonable? No need to deal with release implementation details. My design goal is that anyone, with no tech knowledge requirements of kuadrant, is able to release kuadrant.

Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like minor and patch release procedures are pretty much the same.. maybe we should merge them in one single... IDK 🤷

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yeah I think that is fine as long as we call out the key difference of using the existing release branch for a patch

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think the two can be rolled one. There should be no difference in the cutting of release for patches over minor versions. The only thing is the ensuring of the kuadrant-vx.Y.0 branch, and creation if missing.


This example of the `release.toml` file uses tag `v1.0.1` as reference.

```toml
Copy link
Contributor

Choose a reason for hiding this comment

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

The format LGTM. What tools could we leverage from GHActions (bash) or Makefile to read those?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You can use yq, however I have notice support for list is not native and you need to pass the -oy flag.

RELEASE.md Outdated
## Automated Verification Processes.

* Check that dependencies release images exist for stated version
* Check that the git tag does not all ready exist for the stated release.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
* Check that the git tag does not all ready exist for the stated release.
* Check that the git tag does not already exist for the stated release.

Adjust the release document to suit the new release process.

Signed-off-by: Jim Fitzpatrick <[email protected]>
@Boomatang Boomatang force-pushed the release_process/docs branch from 43adc05 to aa9d1bb Compare January 29, 2025 10:44
@Boomatang Boomatang marked this pull request as ready for review January 29, 2025 10:45
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.

4 participants