@@ -13,8 +13,8 @@ the prior release.
1313
1414## Promote beta to stable (T-3 days, Monday)
1515
16- Promote beta to stable. Temporarily turn off GitHub branch protection for the
17- ` stable ` branch in rust-lang/rust repo. In your local Rust repo:
16+ Temporarily turn off GitHub branch protection for the ` stable ` branch in
17+ rust-lang/rust repo. In your local Rust repo:
1818
1919``` sh
2020$ git fetch origin
@@ -30,31 +30,21 @@ on the stable branch making the following changes:
3030
3131Once the PR is sent, r+ it and give it a high ` p=1000 ` .
3232
33- The stable build will ** not** deploy automatically to prod. The
34- rust-central-station repository is configured to upload to ** dev** every hour if
35- it detects a change. You should be able to browse changes in dev.
33+ After the PR is merged you'll need to start a ** dev** release. [ Obtain AWS CLI
34+ credentials] [ awscli ] and run this command from the [ simpleinfra] repository:
3635
37- As soon as this build is done post a message to irlo asking for testing. The
38- index is
39- https://dev-static-rust-lang-org.s3.amazonaws.com/dist/2015-09-17/index.html and
40- our URL is then https://dev-static.rust-lang.org/dist/2015-09-17/index.html .
41-
42- Test rustup with
43-
44- ``` sh
45- RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup update stable
36+ ```
37+ ./start-release.py dev stable
4638```
4739
48- If something goes wrong, and we rebuild stable artifacts, you'll need to
49- invalidate the dev-static bucket for RCS to re-release it.
40+ As soon as this build is done create a blog post on Inside Rust asking for
41+ testing. The index is
42+ https://dev-static.rust-lang.org/dist/YYYY-MM-DD/index.html .
5043
51- 1 . Obtain AWS credentials (i.e., ` aws-creds.py ` from ` rust-lang/simpleinfra ` ).
52- 1 . Run the ` invalidate-dev-static-stable.sh ` script in ` rust-lang/simpleinfra ` .
53- 1 . (optional) login to central station, and run the following. This starts the
54- dev-static promotion immediately, vs. waiting till the next hour.
44+ Test rustup with:
5545
56- ``` bash
57- docker exec -d -it rcs bash -c ' promote-release /tmp/stable stable /data/secrets- dev.toml 2>&1 | logger --tag release- stable'
46+ ``` sh
47+ RUSTUP_DIST_SERVER=https:// dev-static.rust-lang.org rustup update stable
5848```
5949
6050## Promote master to beta (T-2 days, Tuesday)
@@ -117,10 +107,11 @@ Send a PR to the master branch to:
117107
118108Decide on a time to do the release, T.
119109
120- - ** T-30m** - This is on rust-central-station:
110+ - ** T-30m** - Run the following command in a shell with [ AWS
111+ credentials] [ awscli ] in the [ simpleinfra] repository:
121112
122113 ```
123- docker exec -d -it rcs bash -c 'promote- release /tmp/stable stable /data/secrets.toml 2>&1 | logger --tag release- stable-realz'
114+ ./start- release.py prod stable
124115 ```
125116
126117 That'll, in the background, schedule the ` promote-release ` binary to run on
@@ -162,38 +153,37 @@ Decide on a time to do the release, T.
162153
163154Bask in your success.
164155
165- ## Publishing a nightly based off a try build
166-
167- Sometimes a PR requires testing how it behaves when downloaded from rustup, for
168- example after a manifest change. In those cases it's possible to publish a new
169- nightly based off that PR on dev-static.rust-lang.org.
156+ ## Rebuilding stable pre-releases
170157
171- Once the try build finishes make sure the merge commit for your PR is at the
172- top of [ the ` try ` branch] [ rust-try ] , log into the rust-central-station server
173- and run this command:
158+ If something goes wrong and we need to rebuild the stable artifacts, merge the
159+ PR on the ` stable ` branch of the [ rust-lang/rust] repository. Once the commit
160+ is merged, issue the following command in a shell with [ AWS
161+ credentials] [ awscli ] on the [ simpleinfra] repository:
174162
175163```
176- docker exec -d -it rcs bash -c 'PROMOTE_RELEASE_OVERRIDE_BRANCH=try promote- release /tmp/nightly-tmp nightly /data/secrets- dev.toml 2>&1 | logger --tag release-nightly-tmp'
164+ ./start- release.py dev stable --bypass-startup-checks
177165```
178166
179- If the ` try ` branch doesn't contain the merge commit (because a new build
180- started in the meantime) you can create a new branch pointing to the merge
181- commit and run (replacing ` BRANCH_NAME ` with the name of the branch):
167+ ## Publishing a nightly based off a try build
182168
183- ```
184- docker exec -d -it rcs bash -c 'PROMOTE_RELEASE_OVERRIDE_BRANCH=BRANCH_NAME promote-release /tmp/nightly-tmp nightly /data/secrets-dev.toml 2>&1 | logger --tag release-nightly-tmp'
185- ```
169+ Sometimes a PR requires testing how it behaves when downloaded from rustup, for
170+ example after a manifest change. In those cases it's possible to publish a new
171+ nightly based off that PR on dev-static.rust-lang.org.
186172
187- You can follow the build progress with:
173+ Once the try build finishes grab the merge commit SHA and run the following
174+ command in a shell with [ AWS credentials] [ awscli ] on the [ simpleinfra]
175+ repository:
188176
189- ```
190- sudo tail -n 1000 -f /var/log/syslog | grep release- nightly-tmp
177+ ``` sh
178+ ./start-release.py dev nightly $MERGE_COMMIT_SHA
191179```
192180
193- Once the build ends it's possible to install the new nightly with:
181+ When the release process end you'll be able to install the new nightly with:
194182
195- ```
183+ ``` sh
196184RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly
197185```
198186
199- [ rust-try ] : https://github.com/rust-lang/rust/commits/try
187+ [ awscli ] : /infra/docs/aws-access.md#using-the-aws-cli
188+ [ rust-lang/rust ] : https://github.com/rust-lang/rust
189+ [ simpleinfra ] : https://github.com/rust-lang/simpleinfra
0 commit comments