Remove `group/*` labels, and explain how milestones are managed.
Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
| ... | ... |
@@ -30,7 +30,12 @@ reopened when the necessary information is provided. |
| 30 | 30 |
|
| 31 | 31 |
### 2. Classify the Issue |
| 32 | 32 |
|
| 33 |
-An issue can have multiple of the following labels. |
|
| 33 |
+An issue can have multiple of the following labels. Typically, a properly classified issues should |
|
| 34 |
+have: |
|
| 35 |
+ |
|
| 36 |
+- One label identifying its kind (`kind/*`). |
|
| 37 |
+- One or multiple labels identifying the functional areas of interest (`area/*`). |
|
| 38 |
+- Where applicable, one label categorizing its difficulty (`exp/*`). |
|
| 34 | 39 |
|
| 35 | 40 |
#### Issue kind |
| 36 | 41 |
|
| ... | ... |
@@ -101,9 +106,8 @@ class="gh-label expert">exp/expert</strong> level task. |
| 101 | 101 |
|
| 102 | 102 |
### 3. Prioritizing issue |
| 103 | 103 |
|
| 104 |
-When attached to a specific milestone, an issue can be attributed one of the |
|
| 105 |
-following labels to indicate their degree of priority (from more urgent to less |
|
| 106 |
-urgent). |
|
| 104 |
+When, and only when, an issue is attached to a specific milestone, the issue can be labeled with the |
|
| 105 |
+following labels to indicate their degree of priority (from more urgent to less urgent). |
|
| 107 | 106 |
|
| 108 | 107 |
| Priority | Description | |
| 109 | 108 |
|-------------|-----------------------------------------------------------------------------------------------------------------------------------| |
| ... | ... |
@@ -28,16 +28,6 @@ Special status labels: |
| 28 | 28 |
* `status/failing-ci`: indicates that the PR in its current state fails the test suite |
| 29 | 29 |
* `status/needs-attention`: calls for a collective discussion during a review session |
| 30 | 30 |
|
| 31 |
-### Specialty group labels |
|
| 32 |
- |
|
| 33 |
-Those labels are used to raise awareness of a particular specialty group, either because we need |
|
| 34 |
-help in reviewing the PR, or because of the potential impact of the PR on their work: |
|
| 35 |
- |
|
| 36 |
- * `group/distribution` |
|
| 37 |
- * `group/networking` |
|
| 38 |
- * `group/security` |
|
| 39 |
- * `group/windows` |
|
| 40 |
- |
|
| 41 | 31 |
### Impact labels (apply to merged pull requests) |
| 42 | 32 |
|
| 43 | 33 |
* `impact/api` |
| ... | ... |
@@ -207,3 +197,24 @@ review session. The goal of that session is to agree on one of the following out |
| 207 | 207 |
* Escalate to Solomon by formulating a few specific questions on which his answers will allow |
| 208 | 208 |
maintainers to decide. |
| 209 | 209 |
|
| 210 |
+## Milestones |
|
| 211 |
+ |
|
| 212 |
+Typically, every merged pull request get shipped naturally with the next release cut from the |
|
| 213 |
+`master` branch (either the next minor or major version, as indicated by the |
|
| 214 |
+[`VERSION`](https://github.com/docker/docker/blob/master/VERSION) file at the root of the |
|
| 215 |
+repository). However, the time-based nature of the release process provides no guarantee that a |
|
| 216 |
+given pull request will get merged in time. In other words, all open pull requests are implicitly |
|
| 217 |
+considered part of the next minor or major release milestone, and this won't be materialized on |
|
| 218 |
+GitHub. |
|
| 219 |
+ |
|
| 220 |
+A merged pull request must be attached to the milestone corresponding to the release in which it |
|
| 221 |
+will be shipped: this is both useful for tracking, and to help the release manager with the |
|
| 222 |
+changelog generation. |
|
| 223 |
+ |
|
| 224 |
+An open pull request may exceptionally get attached to a milestone to express a particular intent to |
|
| 225 |
+get it merged in time for that release. This may for example be the case for an important feature to |
|
| 226 |
+be included in a minor release, or a critical bugfix to be included in a patch release. |
|
| 227 |
+ |
|
| 228 |
+Finally, and as documented by the [`PATCH-RELEASES.md`](PATCH-RELEASES.md) process, the existence of |
|
| 229 |
+a milestone is not a guarantee that a release will happen, as some milestones will be created purely |
|
| 230 |
+for the purpose of bookkeeping |