summaryrefslogtreecommitdiff
path: root/tools/cut_a_release.md
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2021-08-25 09:02:22 -0400
committerGitHub <noreply@github.com>2021-08-25 09:02:22 -0400
commitdce70d32a47801025b3b67a97ec9ebed90dfc8a2 (patch)
treef08176bdad18f931956f24cd7d3b92ba313c4493 /tools/cut_a_release.md
parentdccf4cbe36d66140f9e35a6ee755c3c440d745f9 (diff)
chore: add scripts for helping with a release (#11832)
Diffstat (limited to 'tools/cut_a_release.md')
-rw-r--r--tools/cut_a_release.md53
1 files changed, 18 insertions, 35 deletions
diff --git a/tools/cut_a_release.md b/tools/cut_a_release.md
index ea564b135..f5f3649b2 100644
--- a/tools/cut_a_release.md
+++ b/tools/cut_a_release.md
@@ -16,57 +16,40 @@ cut.**
## Updating the main repo
-1. Create a PR that does a minor version bump of all crates in `bench_util`,
- `core`, `ext`, `runtime` directories.
+1. 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.
-2. Make sure CI pipeline passes.
+2. Create a PR for this change.
-3. Publish all bumped crates to `crates.io`
+3. Make sure CI pipeline passes (DO NOT merge yet).
+
+4. 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.**
-This is done by running `cargo publish` in each crate, because of dependencies
-between the crates, it must be done in specific order:
-
-- `deno_core` - all crates depend on `deno_core` so it must always be published
- first
-- `bench_util`
-- crates in `ext/` directory, publish in the following order:
- - broadcast_channel
- - console
- - ffi
- - tls
- - web
- - webgpu
- - webidl
- - websocket
- - webstorage
- - crypto
- - fetch
- - http
- - net
- - url
- - timers
-- `runtime` - this crate depends on `deno_core` and all crates in `ext/`
- directory
-
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.
4. Once all crates are published merge the PR.
-5. Create a PR that bumps `cli` crate version and updates `Releases.md`.
+5. Run `./tools/release/03_bump_cli_version.ts` to bump the CLI version.
+
+6. Use the output of the above command to update `Releases.md`
+
+7. Create a PR for these changes.
-6. Make sure CI pipeline passes.
+8. Make sure CI pipeline passes.
-7. Publish `cli` crate to `crates.io`
+9. Publish `cli` crate to `crates.io`
-8. Merge the PR.
+10. Merge the PR.
-9. Create a tag with the version number (with `v` prefix).
+11. Create a tag with the version number (with `v` prefix).
-10. Wait for CI pipeline on the created tag branch to pass.
+12. 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).