The release process of a new version of OpenYurt 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.1
- 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://openyurt.io.
Fork openyurtio/openyurt.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.2.0).
Every release should use the template provided below to create the GitHub release.
Here's the template:
## v1.2.0
### What's New
### Other Notable changes
### Fixes
### Contributors
**Thank you to everyone who contributed to this release!** ❤
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 openyurt charts.
- Update the CRDs & Kubernetes resources based on the release artifact (YAML)
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.