Skip to content

Commit 291867f

Browse files
authored
Prioritization procedure tweaks (#399)
* Organize better the prioritization procedure structure * General issues review process * Add links to issues and actions needed to follow * Reorganize the document and other general tweaks
1 parent a38f6fe commit 291867f

File tree

1 file changed

+87
-86
lines changed

1 file changed

+87
-86
lines changed

src/compiler/prioritization/procedure.md

Lines changed: 87 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,18 @@
33
This document details the procedure the WG-prioritization follows to fill the agenda for the weekly meeting of `T-compiler`.
44
The working group focuses mainly on triaging `T-compiler` and `libs-impl` bugs, deciding if bugs are critical (potential release blockers) or not and building the agenda for the most important things `T-compiler` needs to discuss.
55

6+
## General issues review process
7+
8+
- Check the status of the issue
9+
- Try moving it forward if possible (ex. stimulate further comments from the issue author or a reviewer)
10+
- Ask for more info if it's needed
11+
- Is there an MCVE for the issue already?
12+
- Check if it's a regression and label it accordingly (`regression-*` labels)
13+
- Figure out the area the issue belongs and label it accordingly (`A-*` labels)
14+
- [Ping notify groups](https://rustc-dev-guide.rust-lang.org/notification-groups/about.html) or relevant teams
15+
- Assign if possible
16+
- Nominate the issue if it needs to be discussed
17+
618
## The procedure in detail
719

820
High level overview:
@@ -15,15 +27,15 @@ High level overview:
1527
- Add `T-compiler` and `libs-impl` to unlabelled T-compiler and libs-impl issues
1628
- Assign priority to unprioritized issues with "I-prioritize" label
1729
- Assign priority to regressions without a `P-*` label
18-
- Summarize stable/beta nominations
19-
- Summarize PR's waiting on team
20-
- Summarize `P-critical` and unassigned `P-high` regressions
21-
- Summarize I-nominated issues
2230
- Process MCPs/FCPs
2331
- [Generate Agenda](#Generate-Agenda)
2432
- Run cli to generate agenda
2533
- Fill agenda announcements
2634
- Add performance logs
35+
- Summarize stable/beta nominations
36+
- Summarize PR's waiting on team
37+
- Summarize `P-critical` and unassigned `P-high` regressions
38+
- Summarize I-nominated issues
2739
- [Notify the team about the meeting](#Notify-the-team-about-the-meeting)
2840
- Figure out which WGs need to check-in
2941
- Notify @T-compiler/meeting about the meeting on Zulip
@@ -33,28 +45,16 @@ High level overview:
3345
- Nominate issues
3446
- Re-sync and check the agenda right before the meeting
3547

36-
## General review process
48+
### Follow ups from previous meeting
3749

38-
- Check the status of the issue
39-
- Try moving it forward if possible (ex. stimulate further comments from the issue author or a reviewer)
40-
- Ask for more info if it's needed
41-
- Is there an MCVE for the issue already?
42-
- Check if it's a regression and label it accordingly (`regression-*` labels)
43-
- Figure out the area the issue belongs and label it accordingly (`A-*` labels)
44-
- [Ping notify groups](https://rustc-dev-guide.rust-lang.org/notification-groups/about.html) or relevant teams
45-
- Assign if possible
46-
- Nominate the issue if it needs to be discussed
47-
48-
## Follow ups from previous meeting
49-
50-
- Remove `I-nominated` tags of already discussed issues
51-
- Notify @pnkfelix about accepted `beta-nominated` and `stable-nominated` without `beta-accepted` and `stable-accepted` label
52-
- Notify @pnkfelix about rejected `beta-nominated` and `stable-nominated` still with the nominated label
53-
- Create an empty agenda using our template, as soon as our Thursday's weekly meeting ends
50+
- Remove [`I-nominated`](https://github.com/rust-lang/rust/labels/I-nominated) tags of already discussed issues. For that check previous week agenda and Zulip meeting
51+
- Notify [@pnkfelix](https://rust-lang.zulipchat.com/#narrow/pm-with/116083-user116083) about accepted [`beta nominated`](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted) and [`stable nominated`](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted) without `beta-accepted` and `stable-accepted` label
52+
- Notify @pnkfelix about rejected [`beta nominated`](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted) and [`stable nominated`](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted) still with the nominated label
53+
- Create an empty agenda using [our template](https://hackmd.io/WQW0yzDDS16YvtBNurmj6A), as soon as our Thursday's weekly meeting ends
5454

55-
## Prepare agenda content
55+
### Prepare agenda content
5656

57-
### Add `T-compiler` and `libs-impl` labels
57+
#### Add `T-compiler` and `libs-impl` labels
5858

5959
Add `T-compiler` and `libs-impl` labels to corresponding issues that are missing these labels.
6060

@@ -64,26 +64,67 @@ Add `T-compiler` and `libs-impl` labels to corresponding issues that are missing
6464
- [All I-nominated](https://github.com/rust-lang/rust/labels/I-nominated)
6565
- [All PR's waiting on team](https://github.com/rust-lang/rust/labels/S-waiting-on-team)
6666

67-
### Assign priority to unprioritized issues with "I-prioritize" label
67+
#### Assign priority to unprioritized issues with "I-prioritize" label
6868

69-
We need all `I-prioritize` issues for `T-compiler` and `libs-impl` to be actually prioritized. To do so, we add one of the `P-critical`, `P-high`, `P-medium` or `P-low` labels and remove `I-prioritize` and also add a text such as:
69+
We need all [`I-prioritize T-compiler`](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AT-compiler+-label%3AP-critical+-label%3AP-high+-label%3AP-medium+-label%3AP-low+label%3AI-prioritize) and all [`I-prioritize libs-impl`](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3Alibs-impl+-label%3AP-critical+-label%3AP-high+-label%3AP-medium+-label%3AP-low+label%3AI-prioritize) to be actually prioritized. To do so, we add one of the `P-critical`, `P-high`, `P-medium` or `P-low` labels and remove `I-prioritize` and also add a text such as:
7070

7171
> Assigning `P-XXX` as [discussed as part of the Prioritization Working Group procedure](link_to_zulip_conversation) and removing `I-prioritize`.
7272
73-
The procedure here follows the [General review process](#General-review-process).
73+
The procedure here follows the [General issues review process](#General-issues-review-process).
7474

7575
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members once an issue is labelled with `I-prioritize`
7676
Note #2: These lists should typically be empty when we are close to the meeting.
7777

78-
### Assign priority to regressions without a P-label
78+
#### Assign priority to regressions without a P-label
7979

80-
We should not have unprioritized regressions and ideally regressions should have an assignee.
80+
We should not have unprioritized regressions ([stable](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-stable+-label%3AP-critical+-label%3AP-high+-label%3AP-medium+-label%3AP-low+-label%3AT-infra+-label%3AT-libs+-label%3AT-release+-label%3AT-rustdoc), [beta](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+-label%3AP-critical+-label%3AP-high+-label%3AP-medium+-label%3AP-low+-label%3AT-infra+-label%3AT-libs+-label%3AT-release+-label%3AT-rustdoc) and [nightly](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+-label%3AP-critical+-label%3AP-high+-label%3AP-medium+-label%3AP-low+-label%3AT-infra+-label%3AT-libs+-label%3AT-release+-label%3AT-rustdoc)) and ideally regressions should have an assignee.
8181

82-
The procedure here follows the [General review process](#General-review-process).
82+
The procedure here follows the [General issues review process](#General-issues-review-process).
8383

8484
Note: triagebot automatically adds `I-prioritize` to all regression issues and creates a topic and notify @*WG-prioritization* members requesting prioritization.
8585

86-
### Summarize stable/beta nominations
86+
#### Accept MCPs
87+
88+
Accept all [MCPs that have been on `final-comment-period`](https://github.com/rust-lang/compiler-team/issues?q=is%3Aissue+is%3Aopen+label%3Amajor-change+label%3Afinal-comment-period) for 10 or more days. Basically check that `final-comment-period` label was added more than 10 days ago.
89+
To accept, remove `final-comment-period`, add `major-change-accepted` and close the issue.
90+
91+
### Generate Agenda
92+
93+
#### Run cli to generate agenda
94+
95+
Run triagebot's prioritization cli to generate the agenda.
96+
For that you need to clone https://github.com/rust-lang/triagebot if you haven't done so already.
97+
You need to export your `GITHUB_API_TOKEN` on Linux that's typically done by adding
98+
99+
`export GITHUB_API_TOKEN=<your key>`
100+
101+
to your `~/.profile` file.
102+
103+
And then run:
104+
105+
```
106+
$ cargo run --bin prioritization
107+
```
108+
109+
Copy the content of the generated agenda into the agenda on HackMD.
110+
111+
#### Remove `to-announce` from MCPs/FCPs
112+
113+
As a quick reminder:
114+
115+
MCP = Major Change Proposal
116+
FCP = Final Comment Period
117+
118+
Remove all [`to-announce` MCPs](https://github.com/rust-lang/compiler-team/issues?q=is%3Aissue+is%3Aall+label%3Amajor-change+label%3Ato-announce) as they were already added in the agenda in their corresponding place.
119+
120+
FIXME: We need to add `to-announce` also to FCPs and here we would need to also remove the [FCPs `to-announce`](https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aall+label%3Afinished-final-comment-period+label%3Ato-announce).
121+
For now fix announcements output manually. Remove the nonsense no fcps kind of lines when there's content and remove old Finalized FCPs.
122+
123+
#### Fill agenda announcements
124+
125+
Check the compiler calendar to see if there's an outstanding event to announce and add it to the agenda.
126+
127+
#### Summarize stable/beta nominations
87128

88129
- Add them to the agenda explaining:
89130
- Why was it nominated
@@ -92,11 +133,11 @@ Note: triagebot automatically adds `I-prioritize` to all regression issues and c
92133

93134
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members requesting addition to the agenda.
94135

95-
### Summarize PR's waiting on team
136+
#### Summarize PR's waiting on team
96137

97138
These are PRs waiting for some decision by our team (`T-compiler` or `libs-impl`).
98139

99-
The procedure here should try following the [General review process](#General-review-process).
140+
Try to follow the [General issues review process](#General-issues-review-process).
100141

101142
We should:
102143

@@ -107,9 +148,9 @@ We should:
107148

108149
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members requesting addition to the agenda.
109150

110-
### Summarize `P-critical` and unassigned `P-high` regressions
151+
#### Summarize `P-critical` and unassigned `P-high` regressions
111152

112-
The procedure here should try following the [General review process](#General-review-process).
153+
Try to follow the [General issues review process](#General-issues-review-process).
113154

114155
We should:
115156

@@ -119,11 +160,11 @@ We should:
119160

120161
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members requesting addition to the agenda.
121162

122-
### Summarize I-nominated issues
163+
#### Summarize I-nominated issues
123164

124165
Issues labeled with `I-nominated` are important issues that we decide deserve discussion during the weekly meeting.
125166

126-
The procedure here should try following the [General review process](#General-review-process).
167+
Try to follow the [General issues review process](#General-issues-review-process).
127168

128169
We should:
129170

@@ -137,82 +178,42 @@ We should:
137178

138179
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members requesting addition to the agenda.
139180

140-
### Accept MCPs
141-
142-
Accept all [MCPs that have been on `final-comment-period`](https://github.com/rust-lang/compiler-team/issues?q=is%3Aissue+is%3Aopen+label%3Amajor-change) for 10 or more days. Basically check that `final-comment-period` label was added more than 10 days ago.
143-
To accept, remove `final-comment-period`, add `major-change-accepted` and close the issue.
144-
145-
## Generate Agenda
181+
#### Add performance logs
146182

147-
### Run cli to generate agenda
183+
Add [Triage Logs](https://github.com/rust-lang/rustc-perf/tree/master/triage#triage-logs) to the agenda.
148184

149-
Run triagebot's prioritization cli to generate the agenda.
150-
For that you need to clone https://github.com/rust-lang/triagebot if you haven't done so already.
151-
You need to export your `GITHUB_API_TOKEN` on Linux that's typically done by adding
152-
153-
`export GITHUB_API_TOKEN=<your key>`
154-
155-
to your `~/.profile` file.
156-
157-
And then run:
158-
159-
```
160-
$ cargo run --bin prioritization
161-
```
162-
163-
### Remove `to-announce` from MCPs/FCPs
164-
165-
As a quick reminder:
166-
167-
MCP = Major Change Proposal
168-
FCP = Final Comment Period
169-
170-
Remove all [`to-announce` MCPs](https://github.com/rust-lang/compiler-team/issues?q=is%3Aissue+is%3Aall+label%3Amajor-change+label%3Ato-announce) as they were already added in the agenda in their corresponding place.
171-
172-
FIXME: We need to add `to-announce` also to FCPs and here we would need to also remove the [FCPs `to-announce`](https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aall+label%3Afinished-final-comment-period+label%3Ato-announce)
173-
174-
### Fill agenda announcements
175-
176-
Check the compiler calendar to see if there's an outstanding event to announce and add it to the agenda.
177-
178-
### Add performance logs
179-
180-
- Add Triage Logs to the agenda
181-
- https://github.com/rust-lang/rustc-perf/tree/master/triage#triage-logs
182-
183-
## Notify the team about the meeting
185+
### Notify the team about the meeting
184186

187+
[Figure out which working groups' check-ins follow](https://rust-lang.github.io/compiler-team/about/triage-meeting/).
185188
Create `[weekly meeting] YYYY-MM-DD #54818` topic in `#t-compiler/meetings` Zulip's stream and send the following messages:
186189

187190
```text
188-
Hi @*T-compiler/meeting*; the triage meeting will be starting in ~ X hours Y minutes
191+
Hi @*T-compiler/meeting*; the triage meeting will happen tomorrow at 2pm UTC
189192
The @*WG-prioritization* have done pre-triage in #**t-compiler/wg-prioritization**
190193
@*WG-prioritization* have prepared the [meeting agenda](link_to_hackmd_agenda)
191194
We will have checkins from @*WG-X* and @*WG-Y*
192195
@**person1** do you have something you want to share about @*WG-X*?
193196
@**person2** do you have something you want to share about @*WG-Y*?
194197
```
195198

196-
Note: [Check which working groups' check-ins follow](https://rust-lang.github.io/compiler-team/about/triage-meeting/)
197-
198-
## Final reviews
199+
### Final reviews
199200

200-
### Check toolstate
201+
#### Check toolstate
201202

202203
Check [toolstate](https://rust-lang-nursery.github.io/rust-toolstate/) for tool breakage and notify teams in the corresponding channels.
203204

204-
### Check performance stats
205+
#### Check performance stats
205206

206207
Check [perf regressions](http://perf.rust-lang.org/index.html) and notify involved actors.
207208

208-
### Nominate P-high issues
209+
#### Nominate P-high issues
209210

210211
Check how packed the agenda looks like and if there's room for more nominations.
211212

212213
- [Other team's P-critical](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AP-critical+-label%3AT-compiler+-label%3Alibs-impl)
213214
- [T-compiler P-high](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3AT-compiler+label%3AP-high+)
214215
- [libs-impl P-high](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3Alibs-impl+label%3AP-high+)
215216

216-
### Re-sync and check the agenda right before the meeting
217+
#### Re-sync and check the agenda right before the meeting
217218

218219
Re-run the script and re-synchronize contents of the agenda with new information.

0 commit comments

Comments
 (0)