From bf17d7e1153180fe68cc568a6f4ffa8db66010dc Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Fri, 2 Mar 2018 13:55:56 -0800 Subject: Add version bumping script One step towards automating our deploy process is automating our version bumping scheme. This PR does that. --- docs/bumping_version.md | 33 +++++++++++++++++++++++++++++++++ docs/publishing.md | 6 +++--- 2 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 docs/bumping_version.md (limited to 'docs') diff --git a/docs/bumping_version.md b/docs/bumping_version.md new file mode 100644 index 000000000..df38369a2 --- /dev/null +++ b/docs/bumping_version.md @@ -0,0 +1,33 @@ +# How to Bump MetaMask's Version Automatically + +``` +npm run version:bump patch +``` + +MetaMask publishes using a loose [semver](https://semver.org/) interpretation. We divide the three segments of our version into three types of version bump: + +## Major + +Means a breaking change, either an API removed, or a major user expectation changed. + +## Minor + +Means a new API or new user feature. + +## Patch + +Means a fix for a bug, or correcting something that should have been assumed to work a different way. + +# Bumping the version + +`npm run version:bump $BUMP_TYPE` where `$BUMP_TYPE` is one of `major`, `minor`, or `patch`. + +This will increment the version in the `app/manifest.json` and `CHANGELOG.md` files according to our current protocol, where the manifest's version is updated, and any line items currently under the changelog's "master" section are now under the new dated version section. + +# Modifying the bump script + +The script that is executed lives [here](../development/run-version-bump.js). +The main functions all live [here](../development/version-bump.js). +The test for this behavior is at `test/unit/development/version-bump-test.js`. + + diff --git a/docs/publishing.md b/docs/publishing.md index 00369acf9..3022b7eda 100644 --- a/docs/publishing.md +++ b/docs/publishing.md @@ -4,15 +4,15 @@ When publishing a new version of MetaMask, we follow this procedure: ## Incrementing Version & Changelog - You must be authorized already on the MetaMask plugin. +Version can be automatically incremented [using our bump script](./bumping-version.md). -1. Update the version in `app/manifest.json` and the Changelog in `CHANGELOG.md`. -2. Visit [the chrome developer dashboard](https://chrome.google.com/webstore/developer/dashboard?authuser=2). +npm run version:bump $BUMP_TYPE` where `$BUMP_TYPE` is one of `major`, `minor`, or `patch`. ## Publishing 1. `npm run dist` to generate the latest build. 2. Publish to chrome store. + - Visit [the chrome developer dashboard](https://chrome.google.com/webstore/developer/dashboard?authuser=2). 3. Publish to firefox addon marketplace. 4. Post on Github releases page. 5. `npm run announce`, post that announcement in our public places. -- cgit