blob: 1f025c978a6c22f633b982f9228bc36ddae8c84d [file] [log] [blame] [view] [edit]
## How to release the next version of DevTools
**Note:** If you need to publish a new version of devtools_server, you will need
to do that prior to performing these steps, and update the devtools pubspec.yaml
to reference the new published version of devtools_server. To publish devtools_server, run
`pub publish` from `packages/devtools_server`. Be sure to test the server locally
before publishing. For instructions on how to do that, see
[CONTRIBUTING.md](https://github.com/flutter/devtools/blob/master/CONTRIBUTING.md#devtools-server).
Create a branch for your release. Below we're creating release 0.0.15, with all the PRs.
## Update master branch and create a local release branch
```shell
cd ~/devtools-git/devtools
checkout master
git pull upstream master
git checkout -b release_0_0_15
```
## Update the release number in three files:
- **packages/devtools/pubspec.yaml**
Change ```version: 0.0.14``` to ```version: 0.0.15```
- **packages/devtools_app/pubspec.yaml**
Change ```version: 0.0.14``` to ```version: 0.0.15```
- **packages/devtools_app/lib/devtools.dart**
Change ```const String version = '0.0.14';``` to ```const String version = '0.0.15';```
## Update the CHANGELOG.md
- **packages/devtools/CHANGELOG.md**
Add the release number and date followed by the features or changes e.g.,
```
## 0.0.15 - 2019-04-01
* Added a great feature ...
```
## Push the local branch
```shell
git add packages/devtools_app/lib/devtools.dart
git add packages/devtools_app/pubspec.yaml
git add packages/devtools/pubspec.yaml
git add pavackages/devtools/CHANGELOG.md
git commit -a -m “Prepare for v0.0.15 release.”
git push origin release_0_0_15
```
## Create the PR and Commit the above changes
From the git UI tool create the PR, squash and commit.
## Publishing DevTools
### Update your master branch from the remote repository
> Ensure that the tip of master is the above commit, just made with the exact set of PRs wanted. Otherwise, checkout using the SHA1 of the above commit e.g.,
``` git checkout -b release_15 <SHA1>``` then proceed to the step 'Prep to publish'.
```shell
cd ~/devtools-git/devtools
git checkout master
git pull upstream master
```
### Prep to publish
```shell
./tool/publish.sh
```
### Publish
#### Verify the package works (DevTools)
- cd packages/devtools
- dart bin/devtools.dart
- open the page in a browser
- flutter run an application
- connect to the running app from devtools, and verify that the pages
generally work, and there are no exceptions in the chrome devtools log
#### Publish the packages
```shell
cd packages/devtools_app
pub publish
...
Looks great! Are you ready to upload your package (y/n)? y
cd packages/devtools
pub publish
...
Looks great! Are you ready to upload your package (y/n)? y
```
#### Revert the change to .gitignore
```shell
git checkout .gitignore
```
#### Create the tag for this release and push to the remote repository.
```shell
git tag -a v0.0.15 -m "DevTools 0.0.15"
git push upstream v0.0.15
```