@@ -18,55 +18,33 @@ time, but make sure the stable promotion lands first.
18
18
19
19
### Beta to stable
20
20
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:
23
22
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
29
25
```
30
26
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:
33
32
34
33
- Update ` src/ci/channel ` to ` stable `
34
+ - Update release notes to the latest available copy
35
+ * e.g., ` git checkout origin/master -- RELEASES.md `
35
36
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.
37
39
38
40
After the PR is merged you'll need to start a ** dev** release. [ Obtain AWS CLI
39
41
credentials] [ awscli ] and run this command from the [ simpleinfra] repository:
40
42
41
43
```
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
43
46
```
44
47
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
-
70
48
## Master bootstrap update (T-2 day, Tuesday)
71
49
72
50
Send a PR to the master branch to:
@@ -99,24 +77,13 @@ Decide on a time to do the release, T.
99
77
credentials] [ awscli ] in the [ simpleinfra] repository:
100
78
101
79
```
102
- ./start- release.py prod stable
80
+ ./release-scripts/promote- release.py release prod stable
103
81
```
104
82
105
83
That'll, in the background, schedule the ` promote-release ` binary to run on
106
84
the production secrets (not the dev secrets). That'll sign everything, upload
107
85
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.
120
87
121
88
- ** T-2m** - Merge blog post.
122
89
@@ -149,9 +116,12 @@ is merged, issue the following command in a shell with [AWS
149
116
credentials] [ awscli ] on the [ simpleinfra] repository:
150
117
151
118
```
152
- ./start- release.py dev stable --bypass-startup-checks
119
+ ./release-scripts/promote- release.py release dev stable --bypass-startup-checks
153
120
```
154
121
122
+ You'll also want to update the previously published blog post and internals post
123
+ with the new information.
124
+
155
125
## Publishing a nightly based off a try build
156
126
157
127
Sometimes 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]
163
133
repository:
164
134
165
135
``` sh
166
- ./start- release.py dev nightly $MERGE_COMMIT_SHA
136
+ ./release-scripts/promote- release.py release dev nightly $MERGE_COMMIT_SHA
167
137
```
168
138
169
139
When the release process end you'll be able to install the new nightly with:
0 commit comments