Say the previous release was 0.0.J, the current release is 0.0.K, and the next release will be 0.0.L.
-
Check that features and bug fixes are in by looking at the milestone tag for 0.0.K. Create a milestone for 0.0.L, and bump anything that doesn't need to be finished from 0.0.K to 0.0.L.
-
Check if there are new versions of selenium and iedriver, chromedriver, or latest browsers that the configuration needs to be updated against. We test against the latest two versions of Chrome, Firefox, and IE.
- The latest selenium version should be used in spec/ciConf.js and spec/smokeConf.js.
- The versions in config.json/webdriverVersions should be up to date, and you should run
webdriver-manager update
locally. - The latest version of Chrome and Firefox should be used in spec/ciConf.js. All other browsers we support should be listed in spec/smokeConf.js.
-
Make sure Travis is passing. Note that there is an 'allowed failures' section in Travis - make sure that all failures are known.
-
Make sure
npm test
is passing (this runs more that just what is run on Travis)- Run
npm test
against AngularJS 1.2.x. Do this by starting the testapp with the flag--ngversion 1.2.9
.
- Run
-
Make sure .gitignore and .npmignore are updated with any new files that need to be ignored.
-
Update package.json with a version bump. If the changes are only bug fixes, increment the patch (e.g. 0.0.5 -> 0.0.6), otherwise increment the minor version.
-
Update CHANGELOG.md.
-
You can get a list of changes in the correct format by running
git log 0.0.J..HEAD --format="- ([%h](https://github.com/angular/protractor/commit/%H)) %n%w(100,2,2)%B" > /tmp/changes.txt
-
Create a new section in CHANGELOG.md and copy in features, bug fixes, and breaking changes. No need to note chores or stylistic changes - the changelog should be primarily useful to someone using Protractor, not developing on it.
-
Breaking changes should be in their own section and include before/after examples of how to fix code that needs to change.
-
-
Make a commit with the API and package.json changes titled chore(release): version bump and changelog for 0.0.K.
-
Tag the release with
git tag 0.0.K
-
Push to github
-
Push tags to github (
git push <remote> --tags
) -
Verify that the changelog and tags look sane on github
-
NPM publish
-
Update the website.
./scripts/generate-docs.sh
. Run unit and e2e tests. Then switch to thegh-pages
branch, edit the commit message withgit commit --amend
, and push the new website. -
Run e2e test against the published website.
-
Let people know
- Have @ProtractorTest tweet about it
-
Close the 0.0.K milestone