summaryrefslogtreecommitdiff
path: root/tools/cut_a_release.md
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2022-03-08 18:10:03 -0500
committerGitHub <noreply@github.com>2022-03-08 18:10:03 -0500
commita3d6be025c14174ce6e270a3004b9892d5aae071 (patch)
tree86b083148ce7646dfea4a4dd395240f29faa2e69 /tools/cut_a_release.md
parent32ef9bfa47f8e8f838c02ddda376bea134b140eb (diff)
chore: reduce release PRs from 2 to 1 (#13878)
Diffstat (limited to 'tools/cut_a_release.md')
-rw-r--r--tools/cut_a_release.md73
1 files changed, 24 insertions, 49 deletions
diff --git a/tools/cut_a_release.md b/tools/cut_a_release.md
index ca6cb9ff3..aa5e0eb47 100644
--- a/tools/cut_a_release.md
+++ b/tools/cut_a_release.md
@@ -64,65 +64,40 @@ previous release and start cherry-picking newer commits from the `main`.
Once all relevant commits are cherry-picked, push the branch to the upstream and
verify on GitHub that everything looks correct.
-1. Checkout a branch for releasing crate dependencies (e.g. `deps_#.#.#`).
-
-2. Run `./tools/release/01_bump_dependency_crate_versions.ts` to increase the
- minor versions of all crates in the `bench_util`, `core`, `ext`, and
- `runtime` directories.
-
-3. Commit these changes with a commit message like
- `chore: bump crate version for #.#.#` and create a PR for this change. **If
- you are cutting a patch release**: make sure to target `v1.XX` branch instead
- of `main` in your PR.
-
-4. Make sure CI pipeline passes (DO NOT merge yet).
-
-5. Run `./tools/release/02_publish_dependency_crates.ts` to publish these bumped
- crates to `crates.io`
-
- **Make sure that `cargo` is logged on with a user that has permissions to
- publish those crates.**
-
- If there are any problems when you publish, that require you to change the
- code, then after applying the fixes they should be committed and pushed to
- the PR.
-
-6. Once all crates are published merge the PR.
-
-7. Update your local branch (`v1.XX` for patch or `main` for minor) and checkout
+1. Update your local branch (`v1.XX` for patch or `main` for minor) and checkout
another branch (e.g. `release_#.#.#`).
-8. Run `./tools/release/03_bump_cli_version.ts` to bump the CLI version.
-
-9. If you are doing a patch release, answer `y` to the _Increment patch?_
- prompt.
+2. Run `./tools/release/01_bump_crate_versions.ts` to increase the versions of
+ all crates including the CLI. If you are doing a CLI patch release, answer
+ `y` to the _Increment patch?_ prompt.
-10. The above command will update the `Releases.md` file. Review it and ensure
- its output is correct. **If you are cutting a minor release**: make sure
- that there are no duplicate entries in previous releases; most often commits
- with `fix` prefix would have been included in patch releases.
+3. The above command will update the `Releases.md` file. Review it and ensure
+ its output is correct. **If you are cutting a minor release**: make sure that
+ there are no duplicate entries in previous releases; most often commits with
+ `fix` prefix would have been included in patch releases.
-11. Update link in `cli/compat/mod.rs` with the released version of `deno_std`
- and do a search through the tests to find std urls that need to be updated.
+4. Update link in `cli/compat/mod.rs` with the released version of `deno_std`
+ and do a search through the tests to find std urls that need to be updated.
-12. Create a PR for these changes. **If you are cutting a patch release**: make
- sure to target `v1.XX` branch instead of `main` in your PR.
+5. Create a PR for these changes. **If you are cutting a patch release**: make
+ sure to target `v1.XX` branch instead of `main` in your PR.
-13. Make sure CI pipeline passes.
+6. Make sure CI pipeline passes (DO NOT merge yet).
-14. Publish `cli` crate to `crates.io`: `cd cli && cargo publish`
+7. Publish the crates to `crates.io` by running
+ `./tools/release/02_publish_crates.ts`
-15. Merge the PR.
+8. Merge the PR.
-16. Create a tag with the version number (with `v` prefix).
+9. Create a tag with the version number (with `v` prefix).
-17. Wait for CI pipeline on the created tag branch to pass.
+10. Wait for CI pipeline on the created tag branch to pass.
The CI pipeline will create a release draft on GitHub
(https://github.com/denoland/deno/releases). Update the draft with the
contents of `Releases.md` that you previously added.
-18. Upload Apple M1 build (`deno-aarch64-apple-darwin.zip`) to the release draft
+11. Upload Apple M1 build (`deno-aarch64-apple-darwin.zip`) to the release draft
and to https://console.cloud.google.com/storage/browser/dl.deno.land
```
@@ -131,20 +106,20 @@ verify on GitHub that everything looks correct.
zip -r deno-aarch64-apple-darwin.zip deno
```
-19. Publish the release on Github
+12. Publish the release on Github
-20. Update the Deno version on the website by updating
+13. Update the Deno version on the website by updating
https://github.com/denoland/dotland/blob/main/versions.json.
-21. Push a new tag to [`manual`](https://github.com/denoland/manual). The tag
+14. Push a new tag to [`manual`](https://github.com/denoland/manual). The tag
must match the CLI tag; you don't need to create dedicated commit for that
purpose, it's enough to tag the latest commit in that repo.
-22. For minor releases: make sure https://github.com/mdn/browser-compat-data has
+15. For minor releases: make sure https://github.com/mdn/browser-compat-data has
been updated to reflect Web API changes in this release. Usually done ahead
of time by @lucacasonato.
-23. **If you are cutting a patch release**: open a PR that forwards all commits
+16. **If you are cutting a patch release**: open a PR that forwards all commits
created in the release process to the `main` branch.
## Updating `doc.deno.land`