Kpack release process is composed of 3 phases:
Our development flow is detailed in Development.
During this period, a Release Candidate (RC) is published and used for further User Acceptance testing (UAT
). Furthermore, additional RCs may be published based on assessment by the kpack
maintainers of the impact, effort and risk of including the changes in the upcoming release. Any other changes may be merged into the main
branch through the normal process, and will make it into the next release.
To produce the release candidate a maintainer will:
- Create a new release branch in form
release/<MAYOR-VERSION>.<MINOR-VERSION>.<PATCH-VERSION>-rc.<NUMBER>
yielding a draft GitHub release to be published. - Publish the GitHub release:
- Tag release branch as
v<MAYOR-VERSION>.<MINOR-VERSION>.<PATCH-VERSION>-rc.<NUMBER>
. - Release should be marked as "pre-release".
- The GitHub release will contain the following:
- artifacts
- release notes
- The release notes should be edited and cleaned
- Tag release branch as
The maintainer will:
- Create a new release branch in form
release/<MAYOR-VERSION>.<MINOR-VERSION>.<PATCH-VERSION>
yielding a draft GitHub release to be published. - Publish the GitHub release while tagging the release branch as
v<VERSION>
.- Tag release branch as
v<MAYOR-VERSION>.<MINOR-VERSION>.<PATCH-VERSION>
. - The GitHub release will contain the following:
- artifacts
- release notes
- Tag release branch as
And with that, you're done!
- The release candidate process is automated using GitHub Actions. The workflow is triggered by a push to a release branch.
- The release finalization is manual step