Skip to content

Commit 62941d4

Browse files
authored
Merge branch 'master' into libs/more-docs
2 parents 34e838e + a38f6fe commit 62941d4

17 files changed

+552
-16
lines changed

blacksmith/Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

blacksmith/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ version = "2.33.1"
2121
default-features = false
2222

2323
[dependencies.mdbook]
24-
version = "=0.4.0"
24+
version = "=0.4.1"
2525
default-features = false
2626
features = ["search"]

book.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,9 @@ git-repository-url="https://github.com/rust-lang/rust-forge"
4040
"compiler/bug-fix-procedure.html" = "https://rustc-dev-guide.rust-lang.org/bug-fix-procedure.html"
4141
"compiler/diagnostic-codes.html" = "https://rustc-dev-guide.rust-lang.org/diagnostics/diagnostic-codes.html"
4242
"compiler/profile-queries.html" = "https://rustc-dev-guide.rust-lang.org/queries/profiling.html"
43+
"chat/index.html" = "/platforms/index.html"
44+
"chat/discord.html" = "platforms/discord.html"
45+
"github.html" = "platforms/github.html"
46+
"chat/email.html" = "platforms/email.html"
47+
"chat/zulip/index.html" = "platforms/zulip/index.html"
48+
"chat/zulip.html" = "platforms/zulip.html"

src/SUMMARY.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
# Rust Forge
22

33
[Overview](./README.md)
4-
- [Chat Platforms](./chat/README.md)
5-
- [Discord](./chat/discord.md)
6-
- [Email](./chat/email.md)
7-
- [Zulip](./chat/zulip.md)
8-
- [Moderation](./chat/zulip/moderation.md)
4+
- [Platforms](./platforms/README.md)
5+
- [Discord](./platforms/discord.md)
6+
- [Email](./platforms/email.md)
7+
- [GitHub](./platforms/github.md)
8+
- [Zulip](./platforms/zulip.md)
9+
- [Moderation](./platforms/zulip/moderation.md)
10+
- [Triagebot](./platforms/zulip/triagebot.md)
911
- [Core](./core/README.md)
1012
- [Rust Blog Guidelines](./core/blogs.md)
1113
- [Legal counsel](./core/legal.md)
@@ -18,6 +20,9 @@
1820
- [So you want to add a new option to rustc?](./compiler/new_option.md)
1921
- [Major Change Proposals](./compiler/mcp.md)
2022
- [Membership](./compiler/membership.md)
23+
- [Prioritization](./compiler/prioritization.md)
24+
- [Procedure](./compiler/prioritization/procedure.md)
25+
- [Notification groups](./compiler/notification-groups.md)
2126
- [Triage Meeting](./compiler/triage-meeting.md)
2227
- [Steering Meeting](./compiler/steering-meeting.md)
2328
- [Submitting a proposal](./compiler/steering-meeting/submit.md)
@@ -31,7 +36,6 @@
3136
- [Self-hosting a docs.rs instance](./docs-rs/self-hosting.md)
3237
- [Maintenance procedures](./docs-rs/maintenance.md)
3338
- [Migrating from a local database to S3](./docs-rs/migrate-s3.md)
34-
- [GitHub](./github.md)
3539
- [Governance](./governance/README.md)
3640
- [Infrastructure](./infra/README.md)
3741
- [Other Installation Methods](./infra/other-installation-methods.md)

src/chat/README.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/compiler/notification-groups.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Notification groups
2+
3+
The compiler team has a number of notification groups that we use to
4+
ping people and draw their attention to issues. Notification groups
5+
are setup so that anyone can join them if they want.
6+
7+
## Creating a notification group
8+
9+
If you'd like to create a notification group, here are the steps.
10+
First, you want to get approval from the compiler team:
11+
12+
* Propose the group by preparing a [Major Change Proposal][MCP]. If
13+
your group is not analogous to some existing group, it is probably
14+
a good idea to ping compiler team leads before-hand or as part of
15+
the MCP.
16+
* The MCP should specify what GitHub label will be associated with the
17+
notification group. Often this is an existing label, such as
18+
`O-Windows`.
19+
20+
Once the MCP is accepted, here are the steps to actually create the group.
21+
In some cases we include an example PR from some other group.
22+
23+
* File a tracking issue in the rust-lang/compiler-team repository to collect
24+
your progress.
25+
* Create a PR against the rust-lang/team repository adding the notification
26+
group. [Example PR.](https://github.com/rust-lang/team/pull/347)
27+
* Configure the rust-lang/rust repository to accept triagebot commands
28+
for this group. [Example PR.](https://github.com/rust-lang/rust/pull/72706)
29+
* Create a PR for the rustc-dev-guide amending [the notification group
30+
section](https://rustc-dev-guide.rust-lang.org/notification-groups/about.html)
31+
to mention your group.
32+
* Create a sample PR for the rust-lang/team repository showing how one can add
33+
oneself. This will be referenced by your blog post to show people how to
34+
join. [Example PR.](https://github.com/rust-lang/team/pull/140)
35+
* Write an announcement blog post for Inside Rust and open a PR against
36+
[blog.rust-lang.org](https://github.com/rust-lang/blog.rust-lang.org).
37+
[Example PR.](https://github.com/rust-lang/blog.rust-lang.org/pull/615)
38+
39+
[MCP]: ./mcp.md

src/compiler/prioritization.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Prioritization
2+
3+
This section documents the processes of the prioritization WG.
Lines changed: 218 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
# Prioritization WG - Procedure
2+
3+
This document details the procedure the WG-prioritization follows to fill the agenda for the weekly meeting of `T-compiler`.
4+
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.
5+
6+
## The procedure in detail
7+
8+
High level overview:
9+
10+
- [Follow ups from previous meeting](#Follow-ups-from-previous-meeting)
11+
- Remove `I-nominated` tags of already discussed issues
12+
- Notify @pnkfelix about not properly tagged stable/beta-nominated issues
13+
- Create the next meeting agenda using the weekly agenda template
14+
- [Prepare agenda content](#Prepare-agenda-content)
15+
- Add `T-compiler` and `libs-impl` to unlabelled T-compiler and libs-impl issues
16+
- Assign priority to unprioritized issues with "I-prioritize" label
17+
- 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
22+
- Process MCPs/FCPs
23+
- [Generate Agenda](#Generate-Agenda)
24+
- Run cli to generate agenda
25+
- Fill agenda announcements
26+
- Add performance logs
27+
- [Notify the team about the meeting](#Notify-the-team-about-the-meeting)
28+
- Figure out which WGs need to check-in
29+
- Notify @T-compiler/meeting about the meeting on Zulip
30+
- [Final reviews](#Final-reviews)
31+
- Check toolstate
32+
- Check performance stats
33+
- Nominate issues
34+
- Re-sync and check the agenda right before the meeting
35+
36+
## General review process
37+
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
54+
55+
## Prepare agenda content
56+
57+
### Add `T-compiler` and `libs-impl` labels
58+
59+
Add `T-compiler` and `libs-impl` labels to corresponding issues that are missing these labels.
60+
61+
- [All unprioritized I-prioritize](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+-label%3AP-critical+-label%3AP-high+-label%3AP-medium+-label%3AP-low+label%3AI-prioritize)
62+
- [All stable nominations](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted)
63+
- [All beta nominations](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted)
64+
- [All I-nominated](https://github.com/rust-lang/rust/labels/I-nominated)
65+
- [All PR's waiting on team](https://github.com/rust-lang/rust/labels/S-waiting-on-team)
66+
67+
### Assign priority to unprioritized issues with "I-prioritize" label
68+
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:
70+
71+
> Assigning `P-XXX` as [discussed as part of the Prioritization Working Group procedure](link_to_zulip_conversation) and removing `I-prioritize`.
72+
73+
The procedure here follows the [General review process](#General-review-process).
74+
75+
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members once an issue is labelled with `I-prioritize`
76+
Note #2: These lists should typically be empty when we are close to the meeting.
77+
78+
### Assign priority to regressions without a P-label
79+
80+
We should not have unprioritized regressions and ideally regressions should have an assignee.
81+
82+
The procedure here follows the [General review process](#General-review-process).
83+
84+
Note: triagebot automatically adds `I-prioritize` to all regression issues and creates a topic and notify @*WG-prioritization* members requesting prioritization.
85+
86+
### Summarize stable/beta nominations
87+
88+
- Add them to the agenda explaining:
89+
- Why was it nominated
90+
- Who the assignee is
91+
- Add important details
92+
93+
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members requesting addition to the agenda.
94+
95+
### Summarize PR's waiting on team
96+
97+
These are PRs waiting for some decision by our team (`T-compiler` or `libs-impl`).
98+
99+
The procedure here should try following the [General review process](#General-review-process).
100+
101+
We should:
102+
103+
- Add them to the agenda explaining:
104+
- What are they waiting for
105+
- Add important details
106+
- Explicitly nominate any issue that can be *quickly* resolved in a triage meeting.
107+
108+
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members requesting addition to the agenda.
109+
110+
### Summarize `P-critical` and unassigned `P-high` regressions
111+
112+
The procedure here should try following the [General review process](#General-review-process).
113+
114+
We should:
115+
116+
- [Notify the appropriate groups](https://rustc-dev-guide.rust-lang.org/notification-groups/about.html)
117+
- Push them forward, if possible
118+
- Assign if possible; if the issue remains unassigned, it should be added to the agenda so we can assign it during the meeting
119+
120+
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members requesting addition to the agenda.
121+
122+
### Summarize I-nominated issues
123+
124+
Issues labeled with `I-nominated` are important issues that we decide deserve discussion during the weekly meeting.
125+
126+
The procedure here should try following the [General review process](#General-review-process).
127+
128+
We should:
129+
130+
- Check if these issues were already discussed and in that case remove `I-nominated` label
131+
- Check if each issue is worth being discussed
132+
- Add them to the agenda explaining:
133+
- Why was it nominated
134+
- Who the assignee is
135+
- Is this an issue or a PR: if an issue, does it have a PR that fixes it?
136+
- Add important details
137+
138+
Note: triagebot automatically creates a topic and notify @*WG-prioritization* members requesting addition to the agenda.
139+
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
146+
147+
### Run cli to generate agenda
148+
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
184+
185+
Create `[weekly meeting] YYYY-MM-DD #54818` topic in `#t-compiler/meetings` Zulip's stream and send the following messages:
186+
187+
```text
188+
Hi @*T-compiler/meeting*; the triage meeting will be starting in ~ X hours Y minutes
189+
The @*WG-prioritization* have done pre-triage in #**t-compiler/wg-prioritization**
190+
@*WG-prioritization* have prepared the [meeting agenda](link_to_hackmd_agenda)
191+
We will have checkins from @*WG-X* and @*WG-Y*
192+
@**person1** do you have something you want to share about @*WG-X*?
193+
@**person2** do you have something you want to share about @*WG-Y*?
194+
```
195+
196+
Note: [Check which working groups' check-ins follow](https://rust-lang.github.io/compiler-team/about/triage-meeting/)
197+
198+
## Final reviews
199+
200+
### Check toolstate
201+
202+
Check [toolstate](https://rust-lang-nursery.github.io/rust-toolstate/) for tool breakage and notify teams in the corresponding channels.
203+
204+
### Check performance stats
205+
206+
Check [perf regressions](http://perf.rust-lang.org/index.html) and notify involved actors.
207+
208+
### Nominate P-high issues
209+
210+
Check how packed the agenda looks like and if there's room for more nominations.
211+
212+
- [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)
213+
- [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+)
214+
- [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+)
215+
216+
### Re-sync and check the agenda right before the meeting
217+
218+
Re-run the script and re-synchronize contents of the agenda with new information.

src/infra/other-installation-methods.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- [Which installer should you use?](#which)
44
- [Other ways to install `rustup`](#more-rustup)
55
- [Standalone installers](#standalone)
6-
- [Source code](#source)
6+
- [Source code](#source-code)
77

88
## Which installer should you use?
99

src/libs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ This section documents meta processes by the Libs team.
55
## Where to find us
66

77
The libs team hangs out primarily in [the rust-lang Zulip](https://rust-lang.zulipchat.com/) these days in the `#t-libs` stream.
8+
89
You can also find out more details about [Zulip and how the Rust community uses it](../../chat/zulip.html).
910

1011
## Useful GitHub queries

src/platforms/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## Platforms
2+
3+
Rust uses a number of different platforms for organizing work and internal communications between
4+
teams. This does not currently seek to be an exhaustive list, rather documenting
5+
the policies for a select few platforms used by the teams.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)