diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-08-05 14:53:01 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-08-05 14:53:01 +0100 |
commit | dab810b1e623449cf3e9a422cf49d89cac17507f (patch) | |
tree | ee84cfe51f903aaf925d8600a4052a60ed29e570 /docs/dev | |
parent | 5721cca2f3a469954a4e778b6a24c0d530f531c3 (diff) | |
parent | 33447e285594189aed368ac48f6326b62d2c3806 (diff) |
Merge #5669
5669: Document release process r=jonas-schievink a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'docs/dev')
-rw-r--r-- | docs/dev/README.md | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/dev/README.md b/docs/dev/README.md index 18c53d5c0..67813a9c0 100644 --- a/docs/dev/README.md +++ b/docs/dev/README.md | |||
@@ -235,3 +235,34 @@ For measuring time of incremental analysis, use either of these: | |||
235 | $ cargo run --release -p rust-analyzer -- analysis-bench ../chalk/ --highlight ../chalk/chalk-engine/src/logic.rs | 235 | $ cargo run --release -p rust-analyzer -- analysis-bench ../chalk/ --highlight ../chalk/chalk-engine/src/logic.rs |
236 | $ cargo run --release -p rust-analyzer -- analysis-bench ../chalk/ --complete ../chalk/chalk-engine/src/logic.rs:94:0 | 236 | $ cargo run --release -p rust-analyzer -- analysis-bench ../chalk/ --complete ../chalk/chalk-engine/src/logic.rs:94:0 |
237 | ``` | 237 | ``` |
238 | |||
239 | # Release Process | ||
240 | |||
241 | Release process is handled by `release`, `dist` and `promote` xtasks, `release` being the main one. | ||
242 | |||
243 | `release` assumes that you have checkouts of `rust-analyzer`, `rust-analyzer.github.io`, and `rust-lang/rust` in the same directory: | ||
244 | |||
245 | ``` | ||
246 | ./rust-analyzer | ||
247 | ./rust-analyzer.github.io | ||
248 | ./rust-rust-analyzer # Note the name! | ||
249 | ``` | ||
250 | |||
251 | Additionally, it assumes that remote for `rust-analyzer` is called `upstream` (I use `origin` to point to my fork). | ||
252 | |||
253 | Release steps: | ||
254 | |||
255 | 1. Inside rust-analyzer, run `cargo xtask release`. This will: | ||
256 | * checkout the `release` branch | ||
257 | * reset it to `upstream/nightly` | ||
258 | * push it to `upstream`. This triggers GitHub Actions which: | ||
259 | ** runs `cargo xtask dist` to package binaries and VS Code extension | ||
260 | ** makes a GitHub release | ||
261 | ** pushes VS Code extension to the marketplace | ||
262 | * create new changelog in `rust-analyzer.github.io` | ||
263 | * create `rust-analyzer.github.io/git.log` file with the log of merge commits since last release | ||
264 | 2. While the release is in progress, fill-in the changelog using `git.log` | ||
265 | 3. Commit & push the changelog | ||
266 | 4. Tweet | ||
267 | 5. Inside `rust-analyzer`, run `cargo xtask promote` -- this will create a PR to rust-lang/rust updating rust-analyzer's submodule. | ||
268 | Self-approve the PR. | ||