From ec9eec269ada344ed47b08902fe9fddfa5e364f4 Mon Sep 17 00:00:00 2001 From: Rhonda Friberg Date: Tue, 15 Nov 2016 11:30:05 -0800 Subject: [PATCH] Updated release process --- RELEASE.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index 6459c004..109046e4 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,14 +1,18 @@ Mapzen.js Release process ==== -We publish Mapzen.js using [Github’s release process](https://github.com/blog/1547-release-your-software). When a commit is tagged as a release with a version number, a deploy script delivers a new version of mapzen.js (including npm package) and documentation. Mapzen.js should be released whenever there is a change of version number. Mapzen.js follows [Semver](http://semver.org/) rules to decide when to bump up the version number. +### Overview -Detailed release process: +We publish mapzen.js using [Github’s release process](https://github.com/blog/1547-release-your-software). When a commit is tagged as a release with a version number, a deploy script delivers a new version of mapzen.js (including npm package) and documentation. Mapzen.js follows [SemVer](http://semver.org/) versioning rules. Releases are made at authors' discretion. Please note that `master` may be ahead of the latest release. -1. After changes that need new release are merged to master branch, go to release tab on Mapzen.js repo page. -2. Click 'Draft a new release' button. -3. Put version number matching the pattern of `release-v*.*.*` (ex.`release-v0.3.0`)] -4. Write a release title reflecting main changes in the version. Details can go to the log part. -5. Click 'Publish release' button. (Hit that green button!) +### Steps to release + +1. Merge code _and documentation_ changes into master branch +2. Click "Draft a new release" on mapzen.js [release page](https://github.com/mapzen/mapzen.js/releases) +3. Tag version should use the following pattern: `release-vX.Y.Z` (ex.`release-v0.3.0`) +4. Release title should be the version number: `vX.Y.Z` +5. Description should be a list of changes organized into “Enhancements”, “Bug Fixes”, or "Misc". Be thorough as this serves as our changelog. If you are updating the version number of an upstream project (especially [Leaflet](https://github.com/Leaflet/Leaflet) and [Tangram](https://github.com/tangrams/tangram)), please include a link to the project's changelog. +6. Click “Publish release” button. + +Once a version has been released, CircleCI will kick off the deploy script. The script adds the new version of mapzen.js to our CDN, releases the npm package with new version number, and copies documents in the [/docs](https://github.com/mapzen/mapzen.js/tree/master/docs) folder to an S3 bucket so that it can be scraped by mapzen-docs-generator. -When proper version number of Mapzen.js is tagged, CircleCI (our continous integration system) executes [the deploy script](https://github.com/mapzen/mapzen.js/blob/master/deploy.sh). The script puts a new version of mapzen.js in S3 bucket which can be accessed through mapzen CDN, released npm package with new version number, and copy documents in `docs` folder to S3 bucket so that it can be scraped by docs-generator.