From 4e52fb7a1f85e04a1d004e8c55a8f21db8cb57c7 Mon Sep 17 00:00:00 2001 From: Max Gautier Date: Mon, 22 Jan 2024 17:11:17 +0100 Subject: [PATCH] Adjust the releases process documentation. (#10727) * markdown numbered lists: no need to manually maitain the numbers * add instructions to update the collection version roughly following Ansible collection maintenance guidelines (https://docs.ansible.com/ansible/latest/community/collection_contributors/collection_release_with_branches.html) * Distinguish major from minor releases in the release process * Bump current galaxy.yml version to the next release --- RELEASE.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index 296040de1..8248a097b 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -3,17 +3,19 @@ The Kubespray Project is released on an as-needed basis. The process is as follows: 1. An issue is proposing a new release with a changelog since the last release. Please see [a good sample issue](https://github.com/kubernetes-sigs/kubespray/issues/8325) -2. At least one of the [approvers](OWNERS_ALIASES) must approve this release -3. The `kube_version_min_required` variable is set to `n-1` -4. Remove hashes for [EOL versions](https://github.com/kubernetes/website/blob/main/content/en/releases/patch-releases.md) of kubernetes from `*_checksums` variables. -5. Create the release note with [Kubernetes Release Notes Generator](https://github.com/kubernetes/release/blob/master/cmd/release-notes/README.md). See the following `Release note creation` section for the details. -6. An approver creates [new release in GitHub](https://github.com/kubernetes-sigs/kubespray/releases/new) using a version and tag name like `vX.Y.Z` and attaching the release notes -7. An approver creates a release branch in the form `release-X.Y` -8. The corresponding version of [quay.io/kubespray/kubespray:vX.Y.Z](https://quay.io/repository/kubespray/kubespray) and [quay.io/kubespray/vagrant:vX.Y.Z](https://quay.io/repository/kubespray/vagrant) container images are built and tagged. See the following `Container image creation` section for the details. -9. The `KUBESPRAY_VERSION` variable is updated in `.gitlab-ci.yml` -10. The release issue is closed -11. An announcement email is sent to `dev@kubernetes.io` with the subject `[ANNOUNCE] Kubespray $VERSION is released` -12. The topic of the #kubespray channel is updated with `vX.Y.Z is released! | ...` +1. At least one of the [approvers](OWNERS_ALIASES) must approve this release +1. (Only for major releases) The `kube_version_min_required` variable is set to `n-1` +1. (Only for major releases) Remove hashes for [EOL versions](https://github.com/kubernetes/website/blob/main/content/en/releases/patch-releases.md) of kubernetes from `*_checksums` variables. +1. Create the release note with [Kubernetes Release Notes Generator](https://github.com/kubernetes/release/blob/master/cmd/release-notes/README.md). See the following `Release note creation` section for the details. +1. An approver creates [new release in GitHub](https://github.com/kubernetes-sigs/kubespray/releases/new) using a version and tag name like `vX.Y.Z` and attaching the release notes +1. (Only for major releases) An approver creates a release branch in the form `release-X.Y` +1. (For major releases) On the `master` branch: bump the version in `galaxy.yml` to the next expected major release (X.y.0 with y = Y + 1), make a Pull Request. +1. (For minor releases) On the `release-X.Y` branch: bump the version in `galaxy.yml` to the next expected minor release (X.Y.z with z = Z + 1), make a Pull Request. +1. The corresponding version of [quay.io/kubespray/kubespray:vX.Y.Z](https://quay.io/repository/kubespray/kubespray) and [quay.io/kubespray/vagrant:vX.Y.Z](https://quay.io/repository/kubespray/vagrant) container images are built and tagged. See the following `Container image creation` section for the details. +1. (Only for major releases) The `KUBESPRAY_VERSION` in `.gitlab-ci.yml` is upgraded to the version we just released # TODO clarify this, this variable is for testing upgrades. +1. The release issue is closed +1. An announcement email is sent to `dev@kubernetes.io` with the subject `[ANNOUNCE] Kubespray $VERSION is released` +1. The topic of the #kubespray channel is updated with `vX.Y.Z is released! | ...` ## Major/minor releases and milestones