Make sure:
Your Dart SDK is configured:
a. You have a local checkout of the Dart SDK
b. Ensure your .bashrc sets $LOCAL_DART_SDK
```shell DART_SDK_REPO_DIR=<Path to cloned dart sdk> export LOCAL_DART_SDK=$DART_SDK_REPO_DIR/sdk ```
c. The local checkout is at main branch: git rebase-update
Your Flutter version is equal to latest candidate release branch:
./tool/update_flutter_sdk.sh --local from the main devtools directory.You have goma configured.
If you need to install the Github CLI you can run:
brew install gh
Ensure that you have access to devtools_tool by adding the tool/bin folder to your PATH environment variable
~/.bashrc file.export PATH=$PATH:<DEVTOOLS_DIR>/tool/bin[!NOTE]
Replace<DEVTOOLS_DIR>with the local path to your DevTools repo path.
Path variable and click Edit<DEVTOOLS_DIR>/tool/bin[!NOTE]
Replace<DEVTOOLS_DIR>with the local path to your DevTools repo path.
Run: devtools_tool release-helper
This will create a PR for you using the tip of master.
The branch for that PR will be checked out locally for you.
It will also update your local version of flutter to the Latest flutter candidate
Verify the code on the release PR:
devtools_app and devtools_test pubspec versionspubspec.yaml filespackages/devtools_app/lib/devtools.dartThese packages always have their version numbers updated in lock, so we don't have to worry about versioning.
Build the DevTools binary and run it from your local Dart SDK.
dart ./tool/build_e2e.dart
Launch DevTools and verify that everything generally works.
flutter run an applicationOnce the build is in good shape,
git checkout . && \ git clean -f -d;
Receive an LGTM for the PR, squash and commit.
Checkout the commit from which you want to release DevTools
master, for the PR you just landedgit log -v to see the commits.Run the tag_version.sh script
flutter/devtools repo for this release.packages/devtools/pubspec.yaml so there is no need to manually enter the version.tool/tag_version.sh;
On each DevTools commit, DevTools is built and uploaded to CIPD. You can check the status of the builds on this dashboard. Within minutes, a build should be uploaded for the commit you just merged and tagged.
[!NOTE]
If the CIPD build times out, instructions for re-triggering can be found at go/dart-engprod/release.md
Run the tool script with the commit hash you just merged and tagged:
devtools_tool update-sdk-deps -c <commit-hash>
This automatically creates a Gerrit CL with the DEPS update for DevTools. Quickly test the build and then add a reviewer.
Build the dart sdk locally
cd $LOCAL_DART_SDK && \ gclient sync -D && \ ./tools/build.py -mrelease -ax64 create_sdk;
Verify that running dart devtools launches the version of DevTools you just released.
xcodebuild/ReleaseX64/dart-sdk/bin/dart devtools
out/ReleaseX64/dart-sdk/bin/dart devtools
If the version of DevTools you just published to CIPD does not load properly, you may need to hard reload and clear your browser cache.
Add a reviewer and submit once approved.
If package:devtools_app_shared, package:devtools_extensions, or package:devtools_shared have unreleased changes, publish these packages to pub.
devtools/packages/devtools_* directories, run:flutter pub publish
gh workflow run daily-dev-bump.yaml -f updateType=minor+devminor + dev version bump