This document explains cherry picks are managed on release branches within the Kubernetes projects. Patches are either applied in batches or individually depending on the point in the release cycle.
- Cherrypicks are [managed with labels and milestones] (pull-requests.md#release-notes)
- To get a PR merged to the release branch, first ensure the following labels are on the original master branch PR:
- An appropriate milestone (e.g. v1.3)
- The
cherrypick-candidate
label
- If
release-note-none
is set on the master PR, the cherrypick PR will need to set the same label to confirm that no release note is needed. release-note
labeled PRs generate a release note using the PR title by default OR the release-note block in the PR template if filled in.
- See the PR template for more details.
- PR titles and body comments are mutable and can be modified at any time prior to the release to reflect a release note friendly message.
- BATCHING: After a branch is first created and before the X.Y.0 release
- Branch owners review the list of
cherrypick-candidate
labeled PRs. - PRs batched up and merged to the release branch get a
cherrypick-approved
label and lose thecherrypick-candidate
label. - PRs that won't be merged to the release branch, lose the
cherrypick-candidate
label.
- INDIVIDUAL CHERRYPICKS: After the first X.Y.0 on a branch
- Run the cherry pick script. This example applies a master branch PR #98765
to the remote branch
upstream/release-3.14
:hack/cherry_pick_pull.sh upstream/release-3.14 98765
- Your cherrypick PR (targeted to the branch) will immediately get the
do-not-merge
label. The branch owner will triage PRs targeted to the branch and label the ones to be merged by applying thelgtm
label.
There is an issue open tracking the tool to automate the batching procedure.
Cherry pick pull requests are reviewed differently than normal pull requests. In particular, they may be self-merged by the release branch owner without fanfare, in the case the release branch owner knows the cherry pick was already requested - this should not be the norm, but it may happen.
See the cherrypick queue dashboard for
status of PRs labeled as cherrypick-candidate
.
Contributor License Agreements is considered implicit for all code within cherry-pick pull requests, unless there is a large conflict.