Dreditor follows the Semantic Versioning standard.
Given a version number MAJOR.MINOR.PATCH
, increment the:
-
MAJOR version when the new release contains incompatible API changes.
-1.2.5 +2.0.0
-
MINOR version when the new release adds new functionality in a backwards-compatible manner.
-1.2.5 +1.3.0
-
PATCH version when the new release contains backwards-compatible bug fixes.
-1.2.5 +1.2.6
Additional suffixes for pre-releases or build numbers may be appended, separated by a dash/hyphen.
Examples assume that:
- Current version is
1.2.5
and new version is1.2.6
. origin
refers to unicorn-fail/dreditor
-
Ensure that you have the latest code and HEAD is clean:
$ git checkout 1.x $ git reset --hard $ git pull origin 1.x
-
Confirm that Dreditor works correctly:
$ grunt build $ grunt test
-
Increase the version number:
$ grunt release
This bumps the PATCH version in
package.json
. Alternatively:- To bump the MINOR version:
grunt release:minor
- To bump the MAJOR version:
grunt release:major
$ git diff diff --git a/package.json b/package.json index 2432958..1a299ec 100644 --- a/package.json +++ b/package.json @@ -5 +5 @@ - "version": "1.2.5", + "version": "1.2.6",
- To bump the MINOR version:
-
Commit the version change:
$ git add package.json $ git commit -m "Dreditor 1.2.6"
-
Create an annotated tag for the release:
$ git tag -m 1.2.6 1.2.6
-
Push the new version commit and tag:
$ git push origin 1.x --tags
-
Verify that the new release and all builds appear on the build page.
-
Test whether the new release installs and works correctly in each browser.
All performed operations up till here can be reverted in case something went wrong.
Proceed with publishing the newly built extensions.
Examples assume that:
- Current version is
1.2.5
and new version is1.2.6
. origin
refers to unicorn-fail/dreditor.org
-
Download the packaged Chrome extension from the build page.
-
Go to https://chrome.google.com/webstore/developer/dashboard
-
Click the Edit operation link for Dreditor.
-
Click the Upload Updated Package button + upload the downloaded package.
-
Click the Publish changes button at the bottom.
-
Change to your local clone of unicorn-fail/dreditor.org.
-
Ensure that you have the latest code and HEAD is clean:
$ git checkout 7.x $ git reset --hard $ git pull origin 7.x
-
Download the packaged extension for each browser from the build page and replace the corresponding
dreditor.*
file in the root directory. -
Create a new "release" on https://github.com/unicorn-fail/dreditor/releases for the tag created above and upload the same binary files to that tagged release.
-
Edit the
update.plist
file in the root directory to replace the version with the new version.$ git diff diff --git a/dreditor.safariextz b/dreditor.safariextz index 2e8dd2d..ee6524f 100644 Binary files a/dreditor.safariextz and b/dreditor.safariextz differ diff --git a/dreditor.xpi b/dreditor.xpi index 742cdf1..0e6542e 100644 Binary files a/dreditor.xpi and b/dreditor.xpi differ diff --git a/update.plist b/update.plist index 9d040be..f1b51b5 100644 --- a/update.plist +++ b/update.plist @@ -12,5 +12,5 @@ <key>CFBundleVersion</key> - <string>1.2.5</string> + <string>1.2.6</string> <key>CFBundleShortVersionString</key> - <string>1.2.5</string> + <string>1.2.6</string> <key>URL</key>
-
Commit and push the new releases to unicorn-fail/dreditor.org:
$ git add -u $ git commit -m "Dreditor 1.2.6" $ git push origin 7.x
-
Deploy changes on the server:
$ sudo su $ cd /var/www/sites/dreditor.org $ git pull