diff options
| author | bors <bors@rust-lang.org> | 2024-04-21 16:39:18 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-04-21 16:39:18 +0000 |
| commit | a200391f54d44e05ef20c1b65bb206deeece24bd (patch) | |
| tree | 27a21c5ea067adaa35520f2b17305878e7e57731 /src/tools/rust-analyzer/docs/dev | |
| parent | 8ea8c7432b734161d208cf6599f0454d42e6fa58 (diff) | |
| parent | 8f2138102ff572a8d06262b7e82ab6f179dc4131 (diff) | |
| download | rust-a200391f54d44e05ef20c1b65bb206deeece24bd.tar.gz rust-a200391f54d44e05ef20c1b65bb206deeece24bd.zip | |
Auto merge of #17025 - lnicola:josh, r=lnicola
internal: Use josh for subtree syncs
Diffstat (limited to 'src/tools/rust-analyzer/docs/dev')
| -rw-r--r-- | src/tools/rust-analyzer/docs/dev/README.md | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/tools/rust-analyzer/docs/dev/README.md b/src/tools/rust-analyzer/docs/dev/README.md index cdab6b09928..8897f02e277 100644 --- a/src/tools/rust-analyzer/docs/dev/README.md +++ b/src/tools/rust-analyzer/docs/dev/README.md @@ -229,12 +229,22 @@ Release steps: * publishes the VS Code extension to the marketplace * call the GitHub API for PR details * create a new changelog in `rust-analyzer.github.io` -3. While the release is in progress, fill in the changelog -4. Commit & push the changelog +3. While the release is in progress, fill in the changelog. +4. Commit & push the changelog. 5. Run `cargo xtask publish-release-notes <CHANGELOG>` -- this will convert the changelog entry in AsciiDoc to Markdown and update the body of GitHub Releases entry. -6. Tweet -7. Inside `rust-analyzer`, run `cargo xtask promote` -- this will create a PR to rust-lang/rust updating rust-analyzer's subtree. - Self-approve the PR. +6. Tweet. +7. Make a new branch and run `cargo xtask rustc-pull`, open a PR, and merge it. + This will pull any changes from `rust-lang/rust` into `rust-analyzer`. +8. Switch to `master`, pull, then run `cargo xtask rustc-push --rust-path ../rust-rust-analyzer --rust-fork matklad/rust`. + Replace `matklad/rust` with your own fork of `rust-lang/rust`. + You can use the token to authenticate when you get prompted for a password, since `josh` will push over HTTPS, not SSH. + This will push the `rust-analyzer` changes to your fork. + You can then open a PR against `rust-lang/rust`. + +Note: besides the `rust-rust-analyzer` clone, the Josh cache (stored under `~/.cache/rust-analyzer-josh`) will contain a bare clone of `rust-lang/rust`. +This currently takes about 3.5 GB. + +This [HackMD](https://hackmd.io/7pOuxnkdQDaL1Y1FQr65xg) has details about how `josh` syncs work. If the GitHub Actions release fails because of a transient problem like a timeout, you can re-run the job from the Actions console. If it fails because of something that needs to be fixed, remove the release tag (if needed), fix the problem, then start over. |
