This PR has a few enhancements from the previous one
Note:
The OPERATOR_BETA_RELEASE_MINOR_VERSION parameter is no longer necessary and has been eliminated, as the recipe itself can now determine the minor version by querying the repository.
The beta release channel will always have the SNAPSHOT version of the image.
The stable release channel will always have the non-SNAPSHOT version of the image.
Background
Enhancements are as follows
Now, utilizing GitHub API, this recipe is capable of querying the turbodeploy GitHub repository to examine the release versions for both the stable and beta channels.
In the case of a stable release, an error will be returned if the version directory already exists, as multiple releases with the same versions cannot be issued.
As for a beta release, if the version directory already exists, it will determine the maximum minor version for the release and increment the new release by 1. For instance, if we intend to release version 1.2.3 in the beta channel, and versions 1.2.3-beta.1 and 1.2.3-beta.2 already exist, the script will retrieve the maximum minor version, which is 2, and create a new release by incrementing the minor version to 3, resulting in 1.2.3-beta.3.
Execution Instructions
Utilize the make command: make build-certified-operator-bundle
A model command for launching a certified operator bundle in a stable release: make build-certified-operator-bundle OPERATOR_RELEASE_VERSION=1.2.3 OPERATOR_RELEASE_CHANNEL=stable ACCESS_TOKEN=xxxxxxxxxx
A model command for launching a certified operator bundle in a beta release: make build-certified-operator-bundle OPERATOR_RELEASE_VERSION=1.2.3 OPERATOR_RELEASE_CHANNEL=beta ACCESS_TOKEN=xxxxxxxxxx
Parameters Required to run
OPERATOR_RELEASE_VERSION - This refers to the operator version you aim to release on ocp.
OPERATOR_RELEASE_CHANNEL - This specifies the release channel you intend to use for ocp release. The options are restricted to stable or beta.
ACCESS_TOKEN - This is to access the GitHub Repo of turbodeploy. It assists in averting rate limitations imposed by the API. (Note: This is merely used to avoid GitHub API's rate restrictions in case they hit their upper limit)
Testing
Release of operator
Checklist
These are the items that must be done by the developer and by reviewers before the change is ready to merge. Please strikeout any items that are not applicable, but don't delete them
[ ] Developer Checks
[ ] Full build with unit tests and fmt and vet checks
[ ] Unit tests added / updated
[ ] No unlicensed images, no third-party code (such as from StackOverflow)
[ ] Integration tests added / updated
[x] Manual testing done (and described)
[ ] Product sweep run and passed
[ ] Developer wiki updated (and linked to this description)
[ ] Reviewer Checks
[ ] Merge request description clear and understandable
[ ] Developer checklist items complete
[ ] Functional code review (how is the code written)
[ ] Architectural review (does the code try to do the right thing, in the right way)
This PR is an enhancement to the already merged PR - https://github.com/turbonomic/kubeturbo/pull/893
Intent
This PR has a few enhancements from the previous one
Note:
OPERATOR_BETA_RELEASE_MINOR_VERSION
parameter is no longer necessary and has been eliminated, as the recipe itself can now determine the minor version by querying the repository.beta
release channel will always have theSNAPSHOT
version of the image.stable
release channel will always have thenon-SNAPSHOT
version of the image.Background
Enhancements are as follows
1.2.3
in thebeta
channel, and versions1.2.3-beta.1
and1.2.3-beta.2
already exist, the script will retrieve the maximum minor version, which is2
, and create a new release by incrementing the minor version to3
, resulting in1.2.3-beta.3
.Execution Instructions
make build-certified-operator-bundle
make build-certified-operator-bundle OPERATOR_RELEASE_VERSION=1.2.3 OPERATOR_RELEASE_CHANNEL=stable ACCESS_TOKEN=xxxxxxxxxx
make build-certified-operator-bundle OPERATOR_RELEASE_VERSION=1.2.3 OPERATOR_RELEASE_CHANNEL=beta ACCESS_TOKEN=xxxxxxxxxx
Parameters Required to run
OPERATOR_RELEASE_VERSION
- This refers to the operator version you aim to release on ocp.OPERATOR_RELEASE_CHANNEL
- This specifies the release channel you intend to use for ocp release. The options are restricted tostable
orbeta
.ACCESS_TOKEN
- This is to access the GitHub Repo of turbodeploy. It assists in averting rate limitations imposed by the API. (Note: This is merely used to avoid GitHub API's rate restrictions in case they hit their upper limit)Testing
Release of operator
Checklist
These are the items that must be done by the developer and by reviewers before the change is ready to merge. Please
strikeoutany items that are not applicable, but don't delete themAudience
(@ mention any
review/...
groups or people that should be aware of this merge request)