@@ -18,55 +18,33 @@ 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-release.py branches
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+ # The date here is of the actual, production, stable release. Used for the blog post.
45+ ./release-scripts/promote-release.py release dev stable --release-date YYYY-MM-DD
4346```
4447
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-
7048## Master bootstrap update (T-2 day, Tuesday)
7149
7250Send a PR to the master branch to:
@@ -99,24 +77,13 @@ Decide on a time to do the release, T.
9977 credentials] [ awscli ] in the [ simpleinfra] repository:
10078
10179 ```
102- ./start- release.py prod stable
80+ ./release-scripts/promote- release.py release prod stable
10381 ```
10482
10583 That'll, in the background, schedule the ` promote-release ` binary to run on
10684 the production secrets (not the dev secrets). That'll sign everything, upload
10785 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.
86+ about 30 minutes right now. This will also push a signed tag to rust-lang/rust.
12087
12188- ** T-2m** - Merge blog post.
12289
@@ -149,9 +116,12 @@ is merged, issue the following command in a shell with [AWS
149116credentials] [ awscli ] on the [ simpleinfra] repository:
150117
151118```
152- ./start- release.py dev stable --bypass-startup-checks
119+ ./release-scripts/promote- release.py release dev stable --bypass- -startup-checks
153120```
154121
122+ You'll also want to update the previously published blog post and internals post
123+ with the new information.
124+
155125## Publishing a nightly based off a try build
156126
157127Sometimes a PR requires testing how it behaves when downloaded from rustup, for
@@ -163,7 +133,7 @@ command in a shell with [AWS credentials][awscli] on the [simpleinfra]
163133repository:
164134
165135``` sh
166- ./start- release.py dev nightly $MERGE_COMMIT_SHA
136+ ./release-scripts/promote- release.py release dev nightly $MERGE_COMMIT_SHA
167137```
168138
169139When the release process end you'll be able to install the new nightly with:
0 commit comments