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 the
devtools_tool
executable has been globally activated:flutter pub global activate --source path tool
./tool/release_helper.sh
Verify the code on the release PR:
devtools_app
and devtools_test
pubspec versionspubspec.yaml
filespackages/devtools_app/lib/devtools.dart
These 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.
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+dev
minor
+ dev
version bump