Skip to content

Commit

Permalink
Describe the release process
Browse files Browse the repository at this point in the history
  • Loading branch information
simonbrunel committed Aug 28, 2016
1 parent f12fbbc commit 15528d4
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions docs/Maintainers/Release-Process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Release Process
Chart.js relies on [Travis CI](https://travis-ci.org/) to automate the library [releases](https://github.com/chartjs/Chart.js/releases).

## Creating a New Release
Releasing a new version requires the following *manual* tasks:
1. draft release notes on [GitHub](https://github.com/chartjs/Chart.js/releases/new) for the upcoming tag
1. update `master` `package.json` version using [semver](http://semver.org/) semantic
1. merge `master` into the `release` branch
1. follow the build process on [Travis CI](https://travis-ci.org/chartjs/Chart.js)

> **Note:** if `master` is merged in `release` with a `package.json` version that already exists, the tag
creation fails and the release process is aborted.

## Automated Tasks
Merging into the `release` branch kicks off the automated release process:
* build of the `dist/*.js` files
* `bower.json` is generated from `package.json`
* `dist/*.js` and `bower.json` are added to a detached branch
* a tag is created from the `package.json` version
* tag (with dist files) is pushed to GitHub

Creation of this tag triggers a new build:
* `Chart.js.zip` package is generated, containing dist files and examples
* `dist/*.js` and `Chart.js.zip` are attached to the GitHub release (downloads)
* a new npm package is published on [npmjs](https://www.npmjs.com/package/chart.js)

Finally, [cdnjs](https://cdnjs.com/libraries/Chart.js) is automatically updated from the npm release.

## Further Reading
* [Travis GitHub releases](/chartjs/Chart.js/pull/2555)
* [Bower support and dist/* files](/chartjs/Chart.js/issues/3033)
* [cdnjs npm auto update](/cdnjs/cdnjs/pull/8401)

0 comments on commit 15528d4

Please sign in to comment.