From fe4b6d4770785f131645731b4d08cf80b34256f9 Mon Sep 17 00:00:00 2001 From: Kenzie Davisson <43759233+kenzieschmoll@users.noreply.github.com> Date: Tue, 23 Apr 2024 10:54:21 -0700 Subject: [PATCH] Add diagram to release instructions and clean up. (#7639) --- tool/RELEASE_INSTRUCTIONS.md | 161 ++++++++++------------ tool/_markdown_images/release_diagram.png | Bin 0 -> 38646 bytes 2 files changed, 76 insertions(+), 85 deletions(-) create mode 100644 tool/_markdown_images/release_diagram.png diff --git a/tool/RELEASE_INSTRUCTIONS.md b/tool/RELEASE_INSTRUCTIONS.md index 1fe9ded1436..ae65b260145 100644 --- a/tool/RELEASE_INSTRUCTIONS.md +++ b/tool/RELEASE_INSTRUCTIONS.md @@ -6,6 +6,8 @@ Discord channel before trying to create a DevTools release. # DevTools release process +![A diagram of the DevTools release process](./_markdown_images/release_diagram.png) + A new minor version of DevTools should be released into the Dart SDK **monthly**. This release should be timed with the Dart / Flutter release code cutoff dates so that we can ensure it is included with the next Flutter beta (see the @@ -16,11 +18,44 @@ releases of DevTools may occur as needed between minor or major releases. Before each minor or major DevTools release, the DevTools team will perform a bug bash for quality assurance and to prevent regressions from slipping into the release. +# Pre-requisites + +1. Ensure that you have access to `devtools_tool` by adding the `tool/bin` folder to your +`PATH` environment variable + - **MacOS Users** + - add the following to your `~/.bashrc` file. + - `export PATH=$PATH:/tool/bin` + > [!NOTE] + > Replace `` with the local path to your DevTools + > repo path. + - **Windows Users** + - Open "Edit environment variables for your account" from Control Panel + - Locate the `Path` variable and click **Edit** + - Click the **New** button and paste in `/tool/bin` + > [!NOTE] + > Replace `` with the local path to your DevTools + > repo path. + +2. Ensure your Dart SDK is configured: + + a. You have a local checkout of the Dart SDK + - (for getting started instructions, see + [sdk/CONTRIBUTING.md](https://github.com/dart-lang/sdk/blob/main/CONTRIBUTING.md)). + + b. Ensure your `.bashrc` sets `$LOCAL_DART_SDK` + ```shell + DART_SDK_REPO_DIR= + export LOCAL_DART_SDK=$DART_SDK_REPO_DIR/sdk + ``` + +3. Ensure you have goma [configured](http://go/ma-mac-setup) + # How to release Dart DevTools 1. Release into the Dart SDK master branch - - [Full release](#full-release-into-the-dart-sdk-master-branch) - - [Dev release](#dev-release-into-the-dart-sdk-master-branch) + - [Full release](#full-release-into-the-dart-sdk-master-branch) (monthly cadence + with the Dart / Flutter beta release schedule) + - [Dev release](#dev-release-into-the-dart-sdk-master-branch) (as needed) 2. [Cherry-pick releases into the Dart SDK stable / beta branches](#cherry-pick-releases) ## Full release into the Dart SDK master branch @@ -29,24 +64,15 @@ bash for quality assurance and to prevent regressions from slipping into the rel Make sure: -1. Your Dart SDK is configured: - - a. You have a local checkout of the Dart SDK - - (for getting started instructions, see - [sdk/CONTRIBUTING.md](https://github.com/dart-lang/sdk/blob/main/CONTRIBUTING.md)). - - b. Ensure your `.bashrc` sets `$LOCAL_DART_SDK` - - ```shell - DART_SDK_REPO_DIR= - export LOCAL_DART_SDK=$DART_SDK_REPO_DIR/sdk - ``` - - c. The local checkout is at `main` branch: `git rebase-update` +1. Your Dart SDK checkout is on the latest `main` branch: + ```shell + git checkout main; git rebase-update + ``` -2. Your Flutter SDK in `tool/flutter-sdk` and the one on PATH are updated to the latest candidate release branch: - - Run `devtools_tool update-flutter-sdk --update-on-path` -3. You have goma [configured](http://go/ma-mac-setup) +2. Your Flutter SDK in `devtools/tool/flutter-sdk` and the one on PATH are updated to the latest candidate release branch: + ```shell + devtools_tool update-flutter-sdk --update-on-path + ``` ### Prepare the release @@ -56,45 +82,26 @@ Make sure: > If you need to install the [Github CLI](https://cli.github.com/manual/installation) you can run: `brew install gh` -1. Ensure that you have access to `devtools_tool` by adding the `tool/bin` folder to your -`PATH` environment variable - - **MacOS Users** - - add the following to your `~/.bashrc` file. - - `export PATH=$PATH:/tool/bin` - > [!NOTE] - > Replace `` with the local path to your DevTools - > repo path. - - **Windows Users** - - Open "Edit environment variables for your account" from Control Panel - - Locate the `Path` variable and click **Edit** - - Click the **New** button and paste in `/tool/bin` - > [!NOTE] - > Replace `` with the local path to your DevTools - > repo path. - -2. Run `devtools_tool release-helper` in order to: - +From the `devtools/tool` directory, run the following: +```shell +devtools_tool release-helper +``` +This command will automatically: - create a new branch using the tip of master and check out locally - - create a PR for the branch + - create a PR for release changes - update your local version of flutter to the latest flutter candidate - - This is to facilitate testing in the next steps - - NOTE: Run the script from `/devtools/tool` while [the issue](https://github.com/dart-lang/sdk/issues/54493) is not adderessed. #### Verify the version changes for the Release PR -Verify the code on the release PR: -1. updated the `devtools_app` and `devtools_test` pubspec versions -2. updated all references to those packages in other `pubspec.yaml` files -3. updated the version constant in `packages/devtools_app/lib/devtools.dart` +Verify the changes in the release PR contain: +1. an updated the `devtools_app` pubspec version +2. an updated version constant in `packages/devtools_app/lib/devtools.dart` -`devtools_app` and `devtools_test` versions are updated in lock, so we don't -have to worry about versioning between these two packages. The other DevTools -packages, however, are not updated in lock and each have their own versioning. -For `devtools_app_shared`, `devtools_extensions`, and `devtools_shared`, we -adhere to semantic versioning strategy where breaking changes should be versioned -with a major version bump, and all other changes should be minor or patch version -bumps. +The other DevTools packages each have their own versioning strategy and are published +as needed on their own schedules. For `devtools_app_shared`, `devtools_extensions`, +and `devtools_shared`, we adhere to semantic versioning where breaking changes should +be versioned with a major version bump, and all other changes should be minor or patch +version bumps. ### Test the release PR @@ -129,15 +136,6 @@ server instance: Receive an LGTM for the PR, squash and commit. -### Tag the release -1. Checkout the commit from which you want to release DevTools - - This is likely the commit, on `master`, for the PR you just landed - - You can run `git log -v` to see the commits. -2. Run `devtools_tool tag-version` - - this creates a tag on the `flutter/devtools` repo for this release. - - This script will automatically determine the version from - `packages/devtools/pubspec.yaml` so there is no need to manually enter the version. - ### Wait for the binary to be uploaded CIPD On each DevTools commit, DevTools is built and uploaded to CIPD. You can check the @@ -182,33 +180,26 @@ you may need to hard reload and clear your browser cache. 4. Add a reviewer and submit once approved. -### Publish DevTools pub packages - -If `package:devtools_app_shared`, `package:devtools_extensions`, or -`package:devtools_shared` have unreleased changes, these packages may need to be -published to pub. - -**Before publishing these packages, please message the DevTools Team chat room to ask if there -are any reasons why we should wait.** Since these packages follow their own release schedules, -it is possible that there are changes that are not ready to publish. - -From the respective `devtools/packages/devtools_*` directories, run `flutter pub publish`. You can copy -commands from here: +### Tag the release +1. In your terminal from the `devtools` directory, checkout the commit that you +just released into the Dart SDK (the hash you updated the DEPS file with): + ``` + git fetch upstream; git checkout ` + ``` +2. Then, tag the release: ```shell - # Assuming you are in one of the directories under packages/ (e.g packages/devtools_app). - cd ../devtools_shared - flutter pub publish - - cd ../devtools_app_shared - flutter pub publish - - cd ../devtools_extensions - flutter pub publish + devtools_tool tag-version ``` + This command creates a tag on the `flutter/devtools` repo for this release. The + version for the tag is automatically determined from `packages/devtools/pubspec.yaml` + so there is no need to manually enter the version. -### Update to the next version -1. `gh workflow run daily-dev-bump.yaml -f updateType=minor+dev` +### Prepare DevTools for the next beta release +1. Update the DevTools version for the next release: + ```shell + gh workflow run daily-dev-bump.yaml -f updateType=minor+dev + ``` This will kick off a workflow that will automatically create a PR with a `minor` + `dev` version bump. That PR should then be auto-submitted. 2. Make sure that the release PR goes through without issue: @@ -280,7 +271,7 @@ DevTools version number: ### Manually run the DevTools Builder Follow the instructions at -[go/dart-engprod/devtools.md#cherry-picks](go/dart-engprod/devtools.md#cherry-picks) +[go/dart-engprod/devtools.md#cherry-picks](http://go/dart-engprod/devtools.md#cherry-picks) to trigger the DevTools builder. ### Create the cherry-pick CL in the Dart SDK diff --git a/tool/_markdown_images/release_diagram.png b/tool/_markdown_images/release_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1a4160440d4c90ce9b1f9b2cb414c5743ec308 GIT binary patch literal 38646 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�gTa-bDC*k%uv2SGM%Yxe_{m747 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 literal 0 HcmV?d00001