Skip to content

Commit 8f5836c

Browse files
IgorMinarhansl
authored andcommitted
docs(TRIAGE_AND_LABELS): update labels to reflect the current state
1 parent 319ce18 commit 8f5836c

File tree

1 file changed

+55
-65
lines changed

1 file changed

+55
-65
lines changed

docs/TRIAGE_AND_LABELS.md

Lines changed: 55 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,51 @@
1-
# Triage Process and Github Labels for Angular
1+
# Triage Process and GitHub Labels for Angular
22

3-
This document describes how the Angular team uses labels and milestones
3+
This document describes how the Angular team uses labels and milestones
44
to triage issues on github. The basic idea of the process is that
5-
caretaker only assigns a component and type (bug, feature) label. The
6-
owner of the component than is in full control of how the issues should
5+
caretaker only assigns a component and type (bug, feature) label. The
6+
owner of the component than is in full control of how the issues should
77
be triaged further.
88

9-
Once this process is implemented and in use, we will revisit it to see
9+
Once this process is implemented and in use, we will revisit it to see
1010
if further labeling is needed.
1111

12-
## Components
12+
## Label Types
1313

14-
A caretaker should be able to determine which component the issue
14+
### Components
15+
16+
A caretaker should be able to determine which component the issue
1517
belongs to. The components have a clear piece of source code associated
16-
with it.
17-
18-
* `comp: animations`: `@matsko`
19-
* `comp: benchpress`: `@tbosch`
20-
* `comp: build & ci`: `@IgorMinar` -- All build and CI scripts
21-
* `comp: common`: `@mhevery` -- This includes core components / pipes.
22-
* `comp: core & compiler`: `@tbosch` -- Because core and compiler are very
23-
intertwined, we will be treating them as one.
24-
* `comp: forms`: `@kara`
25-
* `comp: http`: `@jeffbcross`
26-
* `comp: i18n`: `@vicb`
27-
* `comp: language service`: `@chuckjaz`
28-
* `comp: metadata-extractor`: `@chuckjaz`
29-
* `comp: router`: `@vicb`
30-
* `comp: testing`: `@juliemr`
31-
* `comp: upgrade`: `@mhevery`
32-
* `comp: web-worker`: `@vicb`
33-
* `comp: zones`: `@mhevery`
18+
with it within the `/packages/` folder of this repo.
19+
20+
* `comp: aio` - the angular.io application
21+
* `comp: animations`
22+
* `comp: benchpress`
23+
* `comp: common` - this includes core components / pipes
24+
* `comp: core, compiler` - because core, compiler, compiler-cli and
25+
browser-platforms are very intertwined, we will be treating them as one
26+
* `comp: forms`
27+
* `comp: http`
28+
* `comp: i18n`
29+
* `comp: language service`
30+
* `comp: router`
31+
* `comp: testing`
32+
* `comp: upgrade`
33+
* `comp: web-worker`
34+
* `comp: zones`
3435

3536
There are few components which are cross-cutting. They don't have
3637
a clear location in the source tree. We will treat them as a component
3738
even thought no specific source tree is associated with them.
3839

39-
* `comp: docs`: `@naomiblack`
40-
* `comp: packaging`: `@IgorMinar`
41-
* `comp: performance`: `@tbosch`
42-
* `comp: security`: `@IgorMinar`
40+
* `comp: build & ci` - all build and CI scripts
41+
* `comp: docs` - documentation, including API docs, guides, tutorial
42+
* `comp: packaging`
43+
* `comp: performance`
44+
* `comp: security`
45+
4346

47+
### Type
4448

45-
## Type
4649
What kind of problem is this?
4750

4851
* `type: RFC / discussion / question`
@@ -95,62 +98,49 @@ These criteria are then used to calculate a "user pain" score as follows:
9598
`pain = severity × frequency`
9699

97100

98-
### Assigning Issues to Milestones
99-
100-
Any issue that is being worked on must have:
101-
102-
* An `Assignee`: The person doing the work.
103-
* A `Milestone`: When we expect to complete this work.
104-
105-
We aim to only have at most three milestones open at a time:
106-
107-
* Closing Milestone: A milestone with a very small number of issues, about to release.
108-
* Current Milestone: Work that we plan to complete within one week.
109-
* Next Milestone: Work that is > 1 week but current for the team.
110-
111-
The [backlog](https://github.com/angular/angular/issues?q=is%3Aopen+is%3Aissue+no%3Amilestone)
112-
consists of all issues that have been triaged but do not have an assignee or milestone.
113-
114101
## Triaged vs Untrained PRs
115102

116-
PRs should also be label with a `comp: *` so that it is clear which
103+
PRs should also be label with a `comp: *` so that it is clear which
117104
primary area the PR effects.
118105

119-
Because of the cumulative pain associated with rebasing PRs, we triage PRs daily, and
120-
closing or reviewing PRs is a top priority ahead of other ongoing work.
106+
Because of the cumulative pain associated with rebasing PRs, we triage PRs daily, and
107+
closing or reviewing PRs is a top priority ahead of other ongoing work.
121108

122109
Every triaged PR must have a `pr_action` label assigned to it and an assignee:
123-
124-
* `pr_action: review` -- work is complete and comment is needed from the assignee.
125-
* `pr_action: cleanup` -- more work is needed from the current assignee.
126-
* `pr_action: discuss` -- discussion is needed, to be led by the current assignee.
127-
* `pr_action: merge` -- the PR should be merged. Add this to a PR when you would like to
110+
111+
* `pr_action: review` - work is complete and comment is needed from the assignee.
112+
* `pr_action: cleanup` - more work is needed from the current assignee.
113+
* `pr_action: discuss` - discussion is needed, to be led by the current assignee.
114+
* `pr_action: merge` - the PR should be merged. Add this to a PR when you would like to
128115
trigger automatic merging following a successful build. This is described in [COMMITTER.md](COMMITTER.md).
129116

130117
In addition, PRs can have the following states:
131118

132-
* `pr_state: LGTM` -- PR may have outstanding changes but does not require further review.
133-
* `pr_state: WIP` -- PR is experimental or rapidly changing. Not ready for review or triage.
134-
* `pr_state: blocked` -- PR is blocked on an issue or other PR. Not ready for review or triage.
119+
* `pr_state: WIP` - PR is experimental or rapidly changing. Not ready for review or triage.
120+
* `pr_state: blocked` - PR is blocked on an issue or other PR. Not ready for review or triage.
135121

136-
Note that an LGTM state does not mean a PR is ready to merge: for example, a reviewer might set the
137-
LGTM state but request a minor tweak that doesn't need further review, e.g., a rebase or small
138-
uncontroversial change.
139122

140-
PRs do not need to be assigned to milestones, unless a milestone release should be held for that
141-
PR to land.
123+
## PR Approvals
124+
125+
Before a PR can be merged it must be approved by the appropriate reviewer(s).
126+
127+
To ensure that there right people review each change, we configured [PullApprove bot](https://about.pullapprove.com/) via (`.pullapprove.yaml`) to provide aggregate approval state via the GitHub PR Status API.
128+
129+
Note that approved state does not mean a PR is ready to be merged. For example, a reviewer might
130+
approve the PR but request a minor tweak that doesn't need further review, e.g., a rebase or small
131+
uncontroversial change.
142132

143133

144134
## Special Labels
145135

146136
### action:design
147-
More active discussion is needed before the issue can be worked on further. Typically used for
137+
More active discussion is needed before the issue can be worked on further. Typically used for
148138
`type: feature` or `type: RFC/discussion/question`
149139

150140
[See all issues that need discussion](https://github.com/angular/angular/labels/action:%20Design)
151141

152-
### cla
153-
Managed by googlebot. Indicates whether a PR has a CLA on file for its author(s). Only issues with
142+
### cla: yes, cla: no
143+
Managed by googlebot. Indicates whether a PR has a CLA on file for its author(s). Only issues with
154144
`cla:yes` should be merged into master.
155145

156146
### WORKS_AS_INTENDED

0 commit comments

Comments
 (0)