This document details the procedure the WG-prioritization follows to fill the agenda for the weekly meeting of T-compiler.
The working group focuses mainly on triaging T-compiler and T-libs 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.
- Check the status of the issue
- Try moving it forward if possible (ex. stimulate further comments from the issue author or a reviewer)
- Ask for more info if it's needed
- Is there an MCVE for the issue already?
- Check if it's a regression and label it accordingly (
regression-*labels) - Figure out the area the issue belongs and label it accordingly (
A-*labels) - Ping notify groups or relevant teams
- Assign if possible
- Nominate the issue if it needs to be discussed
High level overview:
- Prepare agenda content
- Add
T-compilerandT-libsto unlabelledT-compilerandT-libsissues - Assign priority to unprioritized issues with
I-prioritizelabel - Process MCPs/FCPs
- Add
- Generate Agenda
- Run cli to generate agenda
- Fill agenda announcements
- Add performance logs
- Notify the team about the meeting
- Figure out which WGs need to check-in
- Notify @T-compiler/meeting about the meeting on Zulip
- Add details to the Agenda
- Summarize stable/beta nominations
- Summarize PR's waiting on team
- Summarize
P-criticaland unassignedP-highregressions - Summarize I-nominated issues
- Final reviews
- Nominate more issues if needed
- Re-sync and check the agenda right before the meeting
Then, after the meeting (ideally the same day) there are are some followup tasks:
- Remove
I-nominatedtags of already discussed issues - Accept or decline pull requests nominated for backport (according to the meeting decisions)
- Create the next meeting agenda using the weekly agenda template
- Remove
to-announceMCPs, only the ones that we've added to the agenda and not the ones that may have showed up between we've built the agenda and we execute this step. - Remove
to-announceFCPs from rust repo, compiler-team repo and forge repo, only the ones that we've added to the agenda and not the ones that may have showed up between we've built the agenda and we execute this step. - Accept
beta nominatedandstable nominatedbackports that have been accepted during the meeting. - Decline
beta nominatedandstable nominatedbackports that have been declined during the meeting. - Remove
I-nominatedtags of already discussed issues. For that check previous week agenda and Zulip meeting - Create an empty agenda using our template, as soon as our Thursday's weekly meeting ends. After creating the meeting change document permissions to Write -> Owners.
- Copy content from last week's agenda that is still pending. The relevant sections are
PRs waiting on team,P-critical,P-high regressionsandNominated issues. - Notify WG leads about next week's checkins
Add T-compiler and T-libs labels to corresponding issues that are missing these labels.
- No team assigned unprioritized I-prioritize
- No team assigned stable nominations
- No team assigned beta nominations
- No team assigned I-nominated
- No team assigned PR's waiting on team
We need all I-prioritize T-compiler and all I-prioritize T-libs 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:
Assigning
P-XXXas discussed as part of the Prioritization Working Group procedure and removingI-prioritize.
The procedure here follows the General issues review process.
Note: triagebot automatically creates a topic and notify @WG-prioritization members once an issue is labelled with I-prioritize
Note #2: These lists should typically be empty when we are close to the meeting.
Note #3: we should not have unprioritized regressions (stable, beta and nightly) and ideally regressions should have an assignee.
Accept all MCPs that have been on final-comment-period for 10 or more days. Basically check that final-comment-period label was added more than 10 days ago.
To accept, remove final-comment-period, add major-change-accepted and close the issue.
Run triagebot's prioritization cli to generate the agenda.
For that you need to clone https://github.com/rust-lang/triagebot if you haven't done so already.
You need to export your GITHUB_API_TOKEN on Linux that's typically done by adding
export GITHUB_API_TOKEN=<your key>
to your ~/.profile file.
And then run:
$ cargo run --bin prioritization-agenda
Copy the content of the generated agenda into the agenda on HackMD.
Check the compiler calendar to see if there's an outstanding event to announce and add it to the agenda.
Add Triage Logs to the agenda.
Create [weekly meeting] YYYY-MM-DD #54818 topic in #t-compiler/meetings Zulip's stream and send the following messages:
Hi @*T-compiler/meeting*; the triage meeting will happen tomorrow at <time:YYYY-MM-DDT14:00:00+00:00>
*WG-prioritization* has done pre-triage in #**t-compiler/wg-prioritization/alerts**
@*WG-prioritization* has prepared the [meeting agenda](link_to_hackmd_agenda)
We will have checkins from *WG-X* and *WG-Y*
@**person1** do you have something you want to share about @*WG-X*?
@**person2** do you have something you want to share about @*WG-Y*?
- Add them to the agenda explaining:
- Who the author of the PR is
- Who the assignee is
- Which issue fixes, it is a regression? what's the priority?
- Why was it nominated
- Add other important details
Note: triagebot automatically creates a topic and notify @WG-prioritization members requesting addition to the agenda.
These are PRs waiting for some decision by our team (T-compiler or T-libs).
Try to follow the General issues review process.
We should:
- Add them to the agenda explaining:
- Who the author of the PR is
- Who the assignee is
- What is the issue waiting for
- Add other important details
- Explicitly nominate any issue that can be quickly resolved in a triage meeting.
Note: triagebot automatically creates a topic and notify @WG-prioritization members requesting addition to the agenda.
Try to follow the General issues review process.
We should:
-
Push them forward, if possible
-
Assign if possible
-
Add
P-criticals and unassignedP-highs to the agenda explaining:- If it's assigned or not and to whom
- Does it needs MCVE and/or bisection?
- Are there identified culprits?
- Do already have a PR open that fixes the issue?
- Add other important details
Note: triagebot automatically creates a topic and notify @WG-prioritization members requesting addition to the agenda.
Issues labeled with I-nominated are important issues that we decide deserve discussion during the weekly meeting.
Try to follow the General issues review process.
We should:
- Check if these issues were already discussed and in that case remove
I-nominatedlabel - Check if each issue is worth being discussed
- Add them to the agenda explaining:
- Who the assignee is
- Is this an issue or a PR: if an issue, does it have a PR that fixes it?
- Why was it nominated
- Add other important details
Note: triagebot automatically creates a topic and notify @WG-prioritization members requesting addition to the agenda.
Check how packed the agenda looks like and if there's room for more nominations.
Re-run the script and re-synchronize contents of the agenda with new information.