The release process of a new version of Kruise involves the following:
(Currently only the maintainers are eligible to release a new version)
Look at the last release in the releases page:
- For example, at the time of writing, it was v1.2.0
- The next version will thus be v1.3.0
Add a new section in CHANGELOG.md for the new version that is being released along with the new features, patches and deprecations it introduces.
It should not include every single change but solely what matters to our customers, for example issue template that has changed is not important.
Publish documentation for new version on https://openkruise.io.
Fork openkruise/openkruise.io, create a version from current using yarn run docusaurus docs:version <VERSION>
.
Creating a new release in the releases page will trigger a GitHub workflow which will create a new image with the latest code and tagged with the next version (in this example v1.3.0).
Every release should use the template provided below to create the GitHub release.
Here's the template:
#### To install or upgrade to the old version, see [installation doc](https://openkruise.io/docs/installation/).
## Changes since v1.2.0
### New CRD and Controller: XXX
### CloneSet
### XXX
### Others
Thanks to all our contributors! 😊
Before we can release our new Helm chart version, we need to prepare it:
- Create a new chart version with the updated version and appVersion in our chart repository.
- Update the CRDs & Kubernetes resources based on the release artifact (YAML)
Submit a PR to merge the new release, and then the Publish action will automatically package and publish it.
As per our release governance, we need to create a new shipping cycle in our project settings with a target date in 2 to 3 months after the last cycle.
Lastly, a new milestone should be created to maintain the changes of next release.
Announce the new release in Slack channel, DingTalk and WeChat groups.