2
2
3
3
Here's how Rust is currently released:
4
4
5
+ ## Promote beta to stable (T-6 days, Friday the week before)
6
+
7
+ Open a PR bumping the version number in ` src/bootstrap/channel.rs ` . r+
8
+ rollup=never this PR.
9
+
10
+ Mark it as rollup=never, because if it lands in a rollup as * not* the first PR
11
+ then other pull requests in that rollup will be incorrectly associated with the
12
+ prior release.
13
+
5
14
## Promote beta to stable (T-3 days, Monday)
6
15
7
16
Promote beta to stable. Temporarily turn off GitHub branch protection for the
@@ -50,6 +59,14 @@ docker exec -d -it rcs bash -c 'promote-release /tmp/stable stable /data/secrets
50
59
51
60
## Promote master to beta (T-2 days, Tuesday)
52
61
62
+ We need to find out the parent commit in which the PR opened last Monday merged.
63
+
64
+ Go to that PR, and find the "bors merged commit $SHA into rust-lang: master at the bottom.
65
+
66
+ Locally, run ` git log $SHA --author=bors ` , and take the SHA of the first
67
+ bors-authored merge into master (should be the the first commit). Call that
68
+ ` $BRANCH_POINT ` .
69
+
53
70
Create a new branch on ` rust-lang/cargo ` for the new beta. Here, ` rust-lang ` is
54
71
the remote for https://github.com/rust-lang/rust.git . Replace ` YY ` with the
55
72
minor version of master. First determine the branch point for cargo in
@@ -58,7 +75,7 @@ minor version of master. First determine the branch point for cargo in
58
75
``` sh
59
76
$ cd rust
60
77
$ git fetch rust-lang
61
- $ CARGO_SHA=` git rev-parse rust-lang/master :src/tools/cargo`
78
+ $ CARGO_SHA=` git rev-parse $BRANCH_POINT :src/tools/cargo`
62
79
$ cd src/tools/cargo
63
80
$ git branch rust-1.YY.0 $CARGO_SHA
64
81
$ git push origin rust-1.YY.0
@@ -75,7 +92,7 @@ repo. Promote rust-lang/rust's master branch to beta as with yesterday:
75
92
76
93
``` sh
77
94
$ git fetch rust-lang
78
- $ git push rust-lang rust-lang/master :beta -f
95
+ $ git push rust-lang $BRANCH_POINT :beta -f
79
96
```
80
97
81
98
Re-enable branch protection on GitHub. Send a PR to the freshly created beta
@@ -103,7 +120,8 @@ tomorrow.
103
120
Send a PR to the master branch to:
104
121
105
122
- modify src/stage0.txt to bootstrap from yesterday's beta
106
- - modify src/bootstrap/channel.rs with the new version number
123
+ - Remove ` cfg(stage0) ` annotated items
124
+ - Replace ` cfg(not(stage0)) ` with nothing
107
125
108
126
## Release day (Thursday)
109
127
0 commit comments