aboutsummaryrefslogtreecommitdiff
path: root/docs/dev/README.md
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-08-05 12:50:09 +0100
committerAleksey Kladov <[email protected]>2020-08-05 12:50:47 +0100
commit36d75f31051b456f0423eb4444b997fd4e70f075 (patch)
tree2f56bdab407a34f1d38006e4d05e32ca55acbbcc /docs/dev/README.md
parent2ad29eb23167273f2e101b44c1f21b4ec2821bc2 (diff)
Document release process
Diffstat (limited to 'docs/dev/README.md')
-rw-r--r--docs/dev/README.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/dev/README.md b/docs/dev/README.md
index 18c53d5c0..ffbbdadc5 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
241Release 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-ananalyzer.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
251Additionally, it assumes that remote for `rust-analyzer` is called `upstream` (I use `origin` to point to my fork).
252
253Release steps:
254
2551. 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
2642. While the release is in progress, fill-in the changelog using `git.log`
2653. Commit & push the changelog
2664. Tweet
2675. 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.