@@ -18,55 +18,32 @@ time, but make sure the stable promotion lands first.
1818
1919### Beta to stable
2020
21- Temporarily turn off GitHub branch protection for the ` stable ` branch in
22- rust-lang/rust repo. In your local Rust repo:
21+ [ Obtain AWS CLI credentials] [ awscli ] and run this command from the [ simpleinfra] repository:
2322
24- ``` sh
25- $ git fetch origin
26- $ git push origin origin/beta:stable -f
27- # make sure that the release notes file is as fresh as possible
28- $ git checkout origin/master -- RELEASES.md
23+ ```
24+ ./release-scripts/promote-branches.py
2925```
3026
31- Re-enable branch protection for the ` stable ` branch. Send a PR to rust-lang/rust
32- on the stable branch making the following changes:
27+ Once that's done, send a PR to the freshly created beta branch of rust-lang/rust
28+ which updates ` src/ci/channel ` to ` beta ` .
29+
30+ Also send a PR to rust-lang/rust targeting the new stable branch making the
31+ following changes:
3332
3433- Update ` src/ci/channel ` to ` stable `
34+ - Update release notes to the latest available copy
35+ * e.g., ` git checkout origin/master -- RELEASES.md `
3536
36- Once the PR is sent, r+ it and give it a high ` p=1000 ` .
37+ Once the PRs are sent, r+ both and give them a high ` p=1000 ` (for stable) and
38+ ` p=10 ` for beta.
3739
3840After the PR is merged you'll need to start a ** dev** release. [ Obtain AWS CLI
3941credentials] [ awscli ] and run this command from the [ simpleinfra] repository:
4042
4143```
42- ./start-release.py dev stable
44+ ./release-scripts/ start-release.py dev stable --release-date YYYY-MM-DD
4345```
4446
45- As soon as this build is done create a blog post on Inside Rust asking for
46- testing. The index is
47- https://dev-static.rust-lang.org/dist/YYYY-MM-DD/index.html .
48-
49- Test rustup with:
50-
51- ``` sh
52- RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup update stable
53- ```
54-
55- ### Master to beta
56-
57- Run this command in the [ simpleinfra] repository, while in a rust-lang/rust
58- checkout (branch doesn't matter):
59-
60- ``` sh
61- ../simpleinfra/release-scripts/master-to-beta.sh
62- ```
63-
64- This script sets up the new rust-lang/cargo branch and force pushes the appropriate
65- commit to rust-lang/rust's beta branch.
66-
67- Once that's done, send a PR to the freshly created beta branch of rust-lang/rust
68- which updates ` src/ci/channel ` to ` beta ` .
69-
7047## Master bootstrap update (T-2 day, Tuesday)
7148
7249Send a PR to the master branch to:
@@ -105,18 +82,7 @@ Decide on a time to do the release, T.
10582 That'll, in the background, schedule the ` promote-release ` binary to run on
10683 the production secrets (not the dev secrets). That'll sign everything, upload
10784 it, update the html index pages, and invalidate the CDN. Note that this takes
108- about 30 minutes right now. Logs are in ` /opt/rcs/logs ` .
109-
110- - ** T-10m** - Locally, tag the new release and upload it. Use "x.y.z release" as
111- the commit message.
112-
113- ``` sh
114- $ git tag -u FA1BE5FE 1.3.0 $COMMIT_SHA
115- $ git push rust-lang 1.3.0
116- ```
117-
118- After this [ Update thanks.rust-lang.org] [ update-thanks ] by triggering a build
119- on GitHub Actions on the master branch.
85+ about 30 minutes right now. This will also push a signed tag to rust-lang/rust.
12086
12187- ** T-2m** - Merge blog post.
12288
@@ -152,6 +118,9 @@ credentials][awscli] on the [simpleinfra] repository:
152118./start-release.py dev stable --bypass-startup-checks
153119```
154120
121+ You'll also want to update the previously published blog post and internals post
122+ with the new information.
123+
155124## Publishing a nightly based off a try build
156125
157126Sometimes a PR requires testing how it behaves when downloaded from rustup, for
0 commit comments