-
Notifications
You must be signed in to change notification settings - Fork 249
Hotfix Checklist
Creating a hotfix release for Keptn Core is meant to be a simple process of just releasing the relevant changes, without having to go through the whole release process.
For that matter, a hotfix release should only contain those components that have been changed, it should not be a full release of Keptn.
Within this process, an example based on "release-0.8.2" and "0.8.2-hotfix1" is provided, for which a new version of helm-service.tgz for execution plane installation was released. Please adapt instructions to your needs.
- Collect all PRs relevant for the hotfix:
- Create a simple release issue that provides more information about the release and links to the PRs:
- Create a release-branch based on an existing release using the Create Release Branch Action
- Use workflow from:
master
- Version (e.g., 0.8.0):
0.8.2-hotfix1
- Which branch to create the release from (e.g., master):
release-0.8.2
-
Wait for the action to run. This creates a new branch called
release-0.8.2-hotfix1
, a PR from this branch back to master, and CI tasks are running. -
Checkout the release branch locally, and create backports for each of the above linked PRs by cherry-picking all commits (not the Pull Requests)
For each backport, branch away from release-0.8.2-hotfix1
branch and create a PR
git checkout release-0.8.2-hotfix1
git pull
git checkout -b backport/1234/my-feature
git cherry-pick COMMITID
git push -u origin backport/1234/my-feature
-
Get the backport reviewed and merged into the release-0.8.2-hotfix1 branch
-
Create release notes as a PR to the release-0.8.2-hotfix1 branch
-
Once everything has been approved and merged into the release-0.8.2-hotfix1 branch, check the CI pipeline for this branch: https://github.com/keptn/keptn/actions/workflows/CI.yml?query=branch%3Arelease-0.8.2-hotfix1+event%3Apush
-
Download artifacts from the respective CI pipeline
-
Create a draft release, copy-paste the release notes into it, and attach the respective artifacts (e.g., helm-service.tgz)
-
In case you are not releasing the CLI, mark the release as a pre-release. (This is in order to ensure that
curl get.keptn.sh
still works) -
Ask other Keptn core developers for final approval of the release
-
Once everything is approved/clear, please press the Publish button on the release.