Skip to content

Commit a6405b0

Browse files
authored
Merge pull request #6828 from fabriziopandini/improve-issue-triage-and-milestone-management
🌱 improve how do we perform issue triage and milestone management
2 parents a087b02 + 8984cd2 commit a6405b0

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

CONTRIBUTING.md

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,23 +174,30 @@ When submitting the PR remember to label it with the 📖 (:book:) icon.
174174

175175
## Releases
176176

177-
Cluster API uses [GitHub milestones](https://github.com/kubernetes-sigs/cluster-api/milestones) to track releases. Issues in a release milestone have been prioritized and accepted for the release. However, these issues are not committed to the release, unless they are marked as `kind/release-blocking`. Getting them into the release is dependent on someone in the community getting assigned to the issue and completing the work.
178-
179177
- Minor versions CAN be planned and scheduled for each quarter, or sooner if necessary.
180178
- Each minor version is preceded with one or more planning session.
181179
- Planning consists of one or more backlog grooming meetings, roadmap amendments,
182180
and CAEP proposal reviews.
183-
- Patch versions CAN be planned and scheduled each month for each of the currently supported series (usually N and N-1).
184-
- Code freeze is in effect 72 hours (3 days) before a release.
181+
- Cluster API uses [GitHub milestones](https://github.com/kubernetes-sigs/cluster-api/milestones) to track work
182+
for minor releases.
183+
- Adding an issue to a milestone provides forward visibility on what the next release will be, so, as soon as there
184+
is the intent to work on an issue for a specific target release, contributors are expected to work with maintainers to
185+
set the milestone on the issue so it will be tracked for the release (note: only major features/bug fixes specifically
186+
targeting a release must be tracked; everything else will simply merge when ready without additional toil).
187+
- Before adding an issue to a release milestone, maintainers must ensure that the issue have been triaged and
188+
there is an assignee who expressed the intent to complete the work before the release date.
189+
- An issue being in the milestone doesn't guarantee inclusion in the release; this depends on the work being
190+
completed before the release code freeze target date.
191+
- Code freeze is in effect at least 72 hours (3 days) before a major/minor release.
185192
- Maintainers should communicate the code freeze date at a community meeting preceding the code freeze date.
186193
- Only critical bug fixes may be merged in between freeze & release.
187194
- Each bug MUST be associated with an open issue and properly triaged.
188195
- PRs MUST be approved by at least 2 project maintainers.
189196
- First approver should `/approve` and `/hold`.
190197
- Second approver should `/approve` and `/hold cancel`.
191198
- [E2E Test grid](https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi%20e2e%20tests) SHOULD be green before cutting a release.
199+
- Patch versions CAN be planned and scheduled each month for supported minor releases.
192200
- Dates in a release are approximations and always subject to change.
193-
- `Next` milestone is for work that has been triaged, but not prioritized/accepted for any release.
194201

195202
## Proposal process (CAEP)
196203

@@ -259,7 +266,16 @@ process.
259266

260267
## Features and bugs
261268

262-
Open [issues](https://github.com/kubernetes-sigs/cluster-api/issues/new/choose) to report bugs, or minor features.
269+
Open [issues](https://github.com/kubernetes-sigs/cluster-api/issues/new/choose) to report bugs, or discuss minor feature implementation.
270+
271+
Each new issue will be automatically labeled as `needs-triage`; after being triaged by the maintainers the label
272+
will be removed and replaced by one of the following:
273+
274+
- `triage/accepted`: Indicates an issue or PR is ready to be actively worked on.
275+
- `triage/duplicate`: Indicates an issue is a duplicate of another open issue.
276+
- `triage/needs-information`: Indicates an issue needs more information in order to work on it.
277+
- `triage/not-reproducible`: Indicates an issue can not be reproduced as described.
278+
- `triage/unresolved`: Indicates an issue that can not or will not be resolved.
263279

264280
For big feature, API and contract amendments, we follow the CAEP process as outlined below.
265281

0 commit comments

Comments
 (0)