Browse code

Update triage process

Remove `group/*` labels, and explain how milestones are managed.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>

Arnaud Porterie (icecrime) authored on 2016/09/21 04:04:14
Showing 2 changed files
... ...
@@ -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