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.
tool/release_helper.sh script with minor or major. ./tool/release_helper.sh [minor|major]tool/release_helper.sh script exports the following two variables to the terminal it is run in:$DEVTOOLS_RELEASE_BRANCH$DEVTOOLS_NEXT_BRANCH$DEVTOOLS_RELEASE_BRANCHVerify release_helper.sh script:
packages/devtools_app/lib/devtools.dartThese packages always have their version numbers updated in lock, so we don't have to worry about versioning.
$DEVTOOLS_RELEASE_BRANCHReview/update CHANGELOG.md:
Verify all changes are here:
dart tool/bin/repo_tool.dart generate-changelog --since-tag=<tag like v1.5.2> with passed parameter for the tag.Verify the version for the CHANGELOG entry was correctly generated.
Verify each item is a complete sentence, written as though it was an order, and there is no syntax errors.
Create draft PR for the branch and add the item for it to the top.
$DEVTOOLS_RELEASE_BRANCHCheckout the $DEVTOOLS_RELEASE_BRANCH,
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;
$DEVTOOLS_RELEASE_BRANCHEnsure you are still on the
$DEVTOOLS_RELEASE_BRANCH
git push -u origin $DEVTOOLS_RELEASE_BRANCH
From the git GUI tool or from github.com directly:
Checkout the commit from which you want to release DevTools
git 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;
See the release notes README.md for details on where to add DevTools release notes to Flutter website and how to test them.
$DEVTOOLS_RELEASE_BRANCH copy the release notes from NEXT_RELEASE_NOTES.mdUse the update.sh script to build and upload the DevTools binary to CIPD:
TARGET_COMMIT_HASH=<Commit hash for the version bump commit in DevTools>
cd $LOCAL_DART_SDK && \ git rebase-update && \ third_party/devtools/update.sh $TARGET_COMMIT_HASH [optional --no-update-flutter];
For cherry pick releases that need to be built from a specific version of Flutter, checkout the Flutter version on your local flutter repo (the Flutter SDK that which flutter points to). Then when you run the update.sh command, include the --no-update-flutter flag:
third_party/devtools/update.sh $TARGET_COMMIT_HASH --no-update-flutter
Create new branch for your changes:
cd $LOCAL_DART_SDK && \ git new-branch dt-release;
Update the devtools_rev entry in the Dart SDK DEPS file
devtools_rev entry to the TARGET_COMMIT_HASH.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 loads properly
You may need to hard reload and clear your browser cache in order to see the changes.
git add . && \ git commit -m "Bump DevTools DEP to $NEW_DEVTOOLS_VERSION" && \ git cl upload -s;
package:devtools_shared is the only DevTools package that is published on pub.
devtools/packages/devtools_shared directory, run:flutter pub publish
git pull upstream master git checkout $DEVTOOLS_NEXT_BRANCH git push -u origin $DEVTOOLS_NEXT_BRANCH
From the git GUI tool or from github.com directly: