diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-08-05 13:53:01 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-05 13:53:01 +0000 |
| commit | dab810b1e623449cf3e9a422cf49d89cac17507f (patch) | |
| tree | ee84cfe51f903aaf925d8600a4052a60ed29e570 /docs/dev | |
| parent | 5721cca2f3a469954a4e778b6a24c0d530f531c3 (diff) | |
| parent | 33447e285594189aed368ac48f6326b62d2c3806 (diff) | |
| download | rust-dab810b1e623449cf3e9a422cf49d89cac17507f.tar.gz rust-dab810b1e623449cf3e9a422cf49d89cac17507f.zip | |
Merge #5669
5669: Document release process r=jonas-schievink a=matklad Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
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 18c53d5c0e9..67813a9c07f 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: $ cargo run --release -p rust-analyzer -- analysis-bench ../chalk/ --highlight ../chalk/chalk-engine/src/logic.rs $ cargo run --release -p rust-analyzer -- analysis-bench ../chalk/ --complete ../chalk/chalk-engine/src/logic.rs:94:0 ``` + +# Release Process + +Release process is handled by `release`, `dist` and `promote` xtasks, `release` being the main one. + +`release` assumes that you have checkouts of `rust-analyzer`, `rust-analyzer.github.io`, and `rust-lang/rust` in the same directory: + +``` +./rust-analyzer +./rust-analyzer.github.io +./rust-rust-analyzer # Note the name! +``` + +Additionally, it assumes that remote for `rust-analyzer` is called `upstream` (I use `origin` to point to my fork). + +Release steps: + +1. Inside rust-analyzer, run `cargo xtask release`. This will: + * checkout the `release` branch + * reset it to `upstream/nightly` + * push it to `upstream`. This triggers GitHub Actions which: + ** runs `cargo xtask dist` to package binaries and VS Code extension + ** makes a GitHub release + ** pushes VS Code extension to the marketplace + * create new changelog in `rust-analyzer.github.io` + * create `rust-analyzer.github.io/git.log` file with the log of merge commits since last release +2. While the release is in progress, fill-in the changelog using `git.log` +3. Commit & push the changelog +4. Tweet +5. Inside `rust-analyzer`, run `cargo xtask promote` -- this will create a PR to rust-lang/rust updating rust-analyzer's submodule. + Self-approve the PR. |
