sigs.k8s.io/controller-runtime@v0.18.2/RELEASE.md (about)

     1  # Release Process
     2  
     3  The Kubernetes controller-runtime Project is released on an as-needed basis. The process is as follows:
     4  
     5  **Note:** Releases are done from the `release-MAJOR.MINOR` branches. For PATCH releases is not required
     6  to create a new branch you will just need to ensure that all big fixes are cherry-picked into the respective
     7  `release-MAJOR.MINOR` branch. To know more about versioning check https://semver.org/.
     8  
     9  ## How to do a release
    10  
    11  ### Create the new branch and the release tag
    12  
    13  1. Create a new branch `git checkout -b release-<MAJOR.MINOR>` from main
    14  2. Push the new branch to the remote repository
    15  
    16  ### Now, let's generate the changelog
    17  
    18  1. Create the changelog from the new branch `release-<MAJOR.MINOR>` (`git checkout release-<MAJOR.MINOR>`).
    19  You will need to use the [kubebuilder-release-tools][kubebuilder-release-tools] to generate the notes. See [here][release-notes-generation]
    20  
    21  > **Note**
    22  > - You will need to have checkout locally from the remote repository the previous branch
    23  > - Also, ensure that you fetch all tags from the remote `git fetch --all --tags`
    24  
    25  ### Draft a new release from GitHub
    26  
    27  1. Create a new tag with the correct version from the new `release-<MAJOR.MINOR>` branch
    28  2. Add the changelog on it and publish. Now, the code source is released !
    29  
    30  ### Add a new Prow test the for the new branch release
    31  
    32  1. Create a new prow test under [github.com/kubernetes/test-infra/tree/master/config/jobs/kubernetes-sigs/controller-runtime](https://github.com/kubernetes/test-infra/tree/master/config/jobs/kubernetes-sigs/controller-runtime)
    33  for the new `release-<MAJOR.MINOR>` branch. (i.e. for the `0.11.0` release see the PR: https://github.com/kubernetes/test-infra/pull/25205)
    34  2. Ping the infra PR in the controller-runtime slack channel for reviews.
    35  
    36  ### Announce the new release:
    37  
    38  1. Publish on the Slack channel the new release, i.e:
    39  
    40  ````
    41  :announce: Controller-Runtime v0.12.0 has been released!
    42  This release includes a Kubernetes dependency bump to v1.24.
    43  For more info, see the release page: https://github.com/kubernetes-sigs/controller-runtime/releases.
    44   :tada:  Thanks to all our contributors!
    45  ````
    46  
    47  2. An announcement email is sent to `kubebuilder@googlegroups.com` with the subject `[ANNOUNCE] Controller-Runtime $VERSION is released`
    48  
    49  [kubebuilder-release-tools]: https://github.com/kubernetes-sigs/kubebuilder-release-tools
    50  [release-notes-generation]: https://github.com/kubernetes-sigs/kubebuilder-release-tools/blob/master/README.md#release-notes-generation
    51  [release-process]: https://github.com/kubernetes-sigs/kubebuilder/blob/master/VERSIONING.md#releasing