Skip to content

Commit bb3601f

Browse files
Document new release branching process
We want to avoid publishing nighlies with a misleading version number. When we promote master to beta, all subsequent commits on master should have an incremented version number, but this is currently not quite true, as during release week we first promote and then later bump version numbers.
1 parent 60dd86d commit bb3601f

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

src/release/process.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
Here's how Rust is currently released:
44

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+
514
## Promote beta to stable (T-3 days, Monday)
615

716
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
5059

5160
## Promote master to beta (T-2 days, Tuesday)
5261

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+
5370
Create a new branch on `rust-lang/cargo` for the new beta. Here, `rust-lang` is
5471
the remote for https://github.com/rust-lang/rust.git. Replace `YY` with the
5572
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
5875
```sh
5976
$ cd rust
6077
$ 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`
6279
$ cd src/tools/cargo
6380
$ git branch rust-1.YY.0 $CARGO_SHA
6481
$ git push origin rust-1.YY.0
@@ -75,7 +92,7 @@ repo. Promote rust-lang/rust's master branch to beta as with yesterday:
7592

7693
```sh
7794
$ git fetch rust-lang
78-
$ git push rust-lang rust-lang/master:beta -f
95+
$ git push rust-lang $BRANCH_POINT:beta -f
7996
```
8097

8198
Re-enable branch protection on GitHub. Send a PR to the freshly created beta
@@ -103,7 +120,8 @@ tomorrow.
103120
Send a PR to the master branch to:
104121

105122
- 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
107125

108126
## Release day (Thursday)
109127

0 commit comments

Comments
 (0)