@@ -13,8 +13,8 @@ the prior release.
13
13
14
14
## Promote beta to stable (T-3 days, Monday)
15
15
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:
18
18
19
19
``` sh
20
20
$ git fetch origin
@@ -30,31 +30,21 @@ on the stable branch making the following changes:
30
30
31
31
Once the PR is sent, r+ it and give it a high ` p=1000 ` .
32
32
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:
36
35
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
46
38
```
47
39
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 .
50
43
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:
55
45
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
58
48
```
59
49
60
50
## Promote master to beta (T-2 days, Tuesday)
@@ -117,10 +107,11 @@ Send a PR to the master branch to:
117
107
118
108
Decide on a time to do the release, T.
119
109
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:
121
112
122
113
```
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
124
115
```
125
116
126
117
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.
162
153
163
154
Bask in your success.
164
155
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
170
157
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:
174
162
175
163
```
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
177
165
```
178
166
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
182
168
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.
186
172
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:
188
176
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
191
179
```
192
180
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:
194
182
195
- ```
183
+ ``` sh
196
184
RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly
197
185
```
198
186
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