Skip to content

Commit ad0ed06

Browse files
author
Niko Matsakis
committed
document new procedure
1 parent e4b611a commit ad0ed06

File tree

2 files changed

+39
-20
lines changed

2 files changed

+39
-20
lines changed

src/admin/author_updates.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
## Soliciting updates
44

5-
Triagebot can ping project-goal owners for updates. To use it, go to Zulip and execute a command like this.
5+
Triagebot can ping project-goal owners for updates. To use it, go to Zulip and execute a command like this (you need to use an `@` in front of triagebot).
66

77
```
8-
@triagebot ping-goals 14 Oct-21
8+
triagebot ping-goals 14 Oct-21
99
```
1010

1111
The first number (14) is a threshold, it is typically set to the current day of the month (e.g., the above command assumes it is Oct 14). It means "if they have posted a comment in the last 14 days, don't bug them".
@@ -14,14 +14,15 @@ The second string ("Oct-21") is the deadline for updates to be included.
1414

1515
We need to improve this UI.
1616

17-
## Drafting the post
17+
## Filling out the template
1818

19-
The [blog post template][updates template] includes a longer description of the flagship goals as well as a bullet-point or two for each of the other goals -- more than that and the blog post becomes overwhelming, the goal is mostly to let people find the goal they're interested in and click to read the full details. You can fill out the template by hand but you can also use the `cargo rpg updates` ([documented here](./updates.md)) to prepare a rough draft; the tool uses an LLM currently hosted on AWS Bedrock and hence requires setting up an AWS account.
19+
Run the `cargo rpg updates` command to create the blog post template. If running from within vscode, the `--vscode` command will open the result in a fresh tab, which is convenient.
20+
21+
The template will be filled in with the list of flagship goals. Each flagship goal will have their [Why this goal?](./merge_rfc.md#author-the-why-this-goal-sections-for-the-flagship-goals) section auto-inserted from the corresponding tracking issue.
22+
23+
The template will also include the detailed list of updates in a `<details>` section as well as any TL;DR comments left by users.
24+
25+
The update template itself is maintained with handlebars, you will find it [here](https://github.com/rust-lang/rust-project-goals/blob/main/templates/updates.hbs).
2026

21-
```bash
22-
> cargo rpg updates
23-
```
2427

25-
Once the draft is prepared, create a hackmd in the rust-project-goals hackmd team, post it to `#project-goals` and apply edits (particularly for the flagship goals). Then open a PR against [the blog.rust-lang.org repository](https://github.com/rust-lang/blog.rust-lang.org).
2628

27-
[updates template]: https://github.com/rust-lang/rust-project-goals/blob/main/templates/updates.hbs

src/admin/merge_rfc.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,31 @@
11
# Merging the RFC
22

3-
Once the RFC is accepted
4-
5-
* Merge the RFC itself
6-
* Run `cargo rpg teams` to prepare adjustment to the teams repository
7-
* In particular to populate the project-goal-owners team
8-
* This will be needed to allow people to author updates on their goals
9-
* Run `cargo rpg issues` to create and update tracking issues
10-
* Continuing goals will be moved to the new milestone
11-
* You can run this tool over and over to keep things synchronized
12-
* Close out of date issues
13-
* For all issues in previous milestone, close them
3+
Once the RFC is accepted, you need to take the following steps.
4+
5+
## Merge the RFC itself
6+
7+
Update the RFC and merge as normal
8+
9+
## Update the teams
10+
11+
Run `cargo rpg teams` to prepare adjustment to the teams repository. You will need to have a checkout of the teams repository somewhere; you pass the command the path to that repo and it will make changes. You can then commit the changes and prepare a PR.
12+
13+
This will create a `project-goal-owners` team containing all the project goal owners. It will also add people to the rust-lang repository. This may trigger them to get invites if they are not already members of the org. You should encourage them to accept those invites. If they don't take these steps you won't be able to assign them to issues and they won't be able to author updates, etc.
14+
15+
## Create the milestone
16+
17+
Next you need to (manually) create a milestone on the rust-project-goals repository with the appropriate name (e.g., `2025h1`). We usually create a paired meta milestone like `2025h1-meta` to track other tasks related to running the program.
18+
19+
## Create tracking issues
20+
21+
Finally, you can create the tracking issues. To do this, you run `cargo rpg issues`. Before doing so, make sure that the metadata for any goals that are continuing from the previous milestone already lists the appropriate tracking issue, otherwise the comment will create a duplicate issue.
22+
23+
You can run the command more than once, it tries to pick up from where it left off. It will adjust the state of all issues to match what is expected.
24+
25+
## Author the "why this goal" sections for the flagship goals
26+
27+
For each flagship goal, you should add a section entitled `## Why this goal?` into the tracking issue. Put in there about a paragraph of text that explains the background for this goal. This text will be included verbatim when you prepare monthly updates, so make it readily understood. Often this is the same text that appeared in the RFC itself.
28+
29+
## Close old tracking issues
30+
31+
Finally, you can go to the previous milestone, find all remaining issues, and close them. These should correspond to goals from the previous session that were not continued into the current one.

0 commit comments

Comments
 (0)