diff --git a/contributing.md b/contributing.md index edd77d4b099..b7a157bce1d 100644 --- a/contributing.md +++ b/contributing.md @@ -192,3 +192,34 @@ Once you're configured, `grunt` tasks are available: grunt watch # watch coffee/ for changes and build Chosen If you're interested, you can find the task in [Gruntfile.coffee](https://github.com/harvesthq/chosen/blob/master/Gruntfile.coffee). + +# Release a new version of Chosen + +This documentation is for Chosen maintainers. You must have write permissions for this repository to cut a release. + +1. Bump the version number in the source but _do not push it yet_. [Example commit](https://github.com/harvesthq/chosen/commit/be0a298f528ec59ce97889eaeeeb47a2dca9ca79). + +2. Create a tag for that commit: `git tag -m "" ` + + - `` formatted as `vX.Y.Z` + - `` is the SHA of the commit from step 1 + +3. Push the commit _and_ the tag: `git push origin --follow-tags` + +4. Draft a new release [on the releases page](https://github.com/harvesthq/chosen/releases). + + - Title formatted as "Version X.Y.Z" + - Tagged as `` from step 2 + - Body of the release should contain changes included in the release. Ideally, there will already be a draft release present with a running log from contributions merged since the last release. + +5. Run `grunt prep-release` + +6. Attach the generated `chosen_vX.Y.Z.zip` file (in the Chosen root directory) to the draft release from step 4. + +7. Publish the release. + +8. Run `grunt publish-release` to publish to the `gh-pages` branch. + +9. Verify https://harvesthq.github.io/chosen/ is showing the new version. + +_Note:_ the release repository [harvesthq/chosen-package](https://github.com/harvesthq/chosen-package) is automatically built by [Travis CI](https://travis-ci.org/harvesthq/chosen). No explicit action is necessary.