Skip to content

Commit e846704

Browse files
pietroalbiniMark-Simulacrum
authored andcommitted
update the release process with boxy's feedback
1 parent d32174d commit e846704

File tree

1 file changed

+43
-3
lines changed

1 file changed

+43
-3
lines changed

src/release/process.md

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22

33
Here's how Rust is currently released:
44

5+
## A note about the `start-release.py` script
6+
7+
Steps of the release process that require interacting with our production
8+
environment are executed through the `start-release.py` script. The script
9+
requires you to install programs and configure your local environmet, and it
10+
will guide you through the setup.
11+
12+
The first time you run the script (or when the pre-requisites change), you will
13+
need to invoke the script *multiple times* until everything is setup correctly.
14+
15+
`start-release.py` will always start a CI job in the background. To know when
16+
it finishes, you have to watch the logs. WHen the build finishes, a line like
17+
this will appear in the logs:
18+
19+
```
20+
Phase complete: UPLOAD_ARTIFACTS State: SUCCEEDED
21+
```
22+
523
## Bump the stable version number (Friday the week before)
624

725
Open a PR bumping the version number in `src/version`. `r+ rollup=never` this
@@ -51,6 +69,15 @@ following changes:
5169
5270
Self-approve the PR with `r+ rollup=never p=1000`.
5371
72+
Note that we need to merge this PR as soon as possible, to maximise the
73+
pre-release testing time. If another PR is being tested by bors, and CI is not
74+
going to finish soon (use your judgement here), you can "yield"
75+
priority to the stable release PR by going into that PR and typing this
76+
comment:
77+
78+
> @bors retry
79+
> Yield priority to the stable release.
80+
5481
### `beta` PR
5582
5683
Send a PR to [rust-lang/rust] targeting the new `beta` branch with these
@@ -79,6 +106,11 @@ You need to replace `YYYY-MM-DD` with the date of the release (Thursday).
79106
80107
## Master bootstrap update (Tuesday)
81108
109+
This step can only be done after the new beta has been released. The release
110+
process for the beta happens automatically at 00:00 UTC every day, so if the
111+
beta PR landed after that you will have to wait another day. You can check
112+
whether beta has been released by installing it with rustup.
113+
82114
Send a PR to the master branch to:
83115
84116
- Cherry pick the commit that ran `replace-version-placeholder`
@@ -109,11 +141,19 @@ Send a PR to the master branch to:
109141
relevant documentation block (or in a new documentation block).
110142
- Replace any `#[cfg_attr(not(bootstrap), $attr)]` with `#[$attr]`.
111143
144+
Note that if a PR adds `cfg(bootstrap)` and is merged between the beta PR and
145+
the master bootstrap update, the `rg` invocation will show them even though
146+
they won't have to be removed. The easiest way to handle this is to change
147+
them anyway and let CI show you the failure.
148+
112149
## Release day (Thursday)
113150
114-
Decide on a time to do the release. Let the Social Media coordinator (currently Mara)
115-
know of the time, so that she can be ready to post the release on the project's social
116-
media channels.
151+
Decide on a time to do the release. You are fully in charge of deciding when
152+
the release happens, pick the time that works best for you. The only constraint
153+
is, the release process must start and finish within the release day (in UTC).
154+
155+
Let the Social Media coordinator (currently Mara) know of the time, so that she
156+
can be ready to post the release on the project's social media channels.
117157
118158
As of September 2024 a release takes between 75 and 90 minutes to complete, so
119159
start the release process earlier enough to hit the time you planned.

0 commit comments

Comments
 (0)