1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-11 10:07:54 -05:00
denoland-deno/tools/release/release_doc_template.md
2024-10-25 02:09:34 +02:00

5.6 KiB

  • Fork this gist and follow the instructions there.

Pre-flight

During this process $BRANCH_NAME branch should be frozen and no commits should land until the release is finished.

:lock: 

@here

Deno v$VERSION is now getting released.

`denoland/deno` is now locked.

*DO NOT LAND ANY PRs*

Release checklist: <LINK TO THIS FORKED GIST GOES HERE>

Patch release preparation

If you are cutting a patch release: First you need to sync commits to the v$MINOR_VERSION branch in the deno repo.

To do that, you need to cherry-pick commits from the main branch to the v$MINOR_VERSION branch. If the branch doesn't exist yet, create one from the latest minor tag:

# checkout latest minor release
$ git checkout v$PAST_VERSION

# create a branch
$ git checkout v$MINOR_VERSION

# push the branch to the `denoland/deno` repository
$ git push upstream v$MINOR_VERSION

For patch releases we want to cherry-pick all commits that do not add features to the CLI. This generally means to filter out feat commits.

Check what was the last commit on v$MINOR_VERSION branch before the 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.

  • DO NOT create a v$VERSION-like branch! You are meant to cherry pick to the v$MINOR_VERSION branch. If you have accidentally created then v$VERSION branch then delete it as tagging the CLI will fail otherwise.

Updating deno

Phase 1: Bumping versions

  • Go to the "version_bump" workflow in the CLI repo's actions: https://github.com/denoland/deno/actions/workflows/version_bump.yml

    1. Click on the "Run workflow" button.
    2. In the drop down, select the minor branch (v$MINOR_VERSION) if doing a patch release or the main branch if doing a minor release.
    3. For the kind of release, select either patch or minor.
    4. Run the workflow.
  • Wait for the workflow to complete and for a pull request to be automatically opened. Review the pull request, make any necessary changes, and merge it.

    • DO NOT create a release tag manually That will automatically happen.
    Failure Steps
    1. Checkout the branch the release is being made on.
    2. Manually run ./tools/release/01_bump_crate_versions.ts
      1. Ensure the crate versions were bumped correctly
      2. Ensure Releases.md was updated correctly
    3. Open a PR with the changes and continue with the steps below.

Phase 2: Publish

Updating deno_docker

All done!

  • Write a message in company's #cli channel:
:unlock:

@here 

`denoland/deno` is now unlocked.

*You can land PRs now*

Deno v$VERSION has been released.