Skip to content

How to release

Mathias Rangel Wulff edited this page Jul 14, 2015 · 21 revisions

How to release a new version of AlaSQL

AlaSQL uses git flow to manage development and Semantic Versioning to manage versioning.

In practice the result is that the master branch us never updated without updating the version number. That includes changes like minor corrections to documentation files such as README.md.

The following is a checklist for the team to remember the steps. Please update where you see a better way...

  1. Make sure you have the last version both master and develop git checkout develop && git pull && git checkout master && git pull

  2. Pick the correct version number: Given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner. PATCH version when you make backwards-compatible bug fixes.

  3. Create and switch to a new release branch git flow release start x.y.z (in source tree click "git flow" at the top right). Name it exactly as the new version number (for example "0.2.0").

  4. Copy al content from https://github.com/agershun/alasql/wiki/readme into README.md

  5. Update CHANGELOG.md with some words to what has changed. Select a city name the flavor of the day as part of the title. You can see the commits and the roadmap for inspiration to what to write

  6. Create a draft of the release on github. Same description as CHANGELOG.md and with release title as "CITYNAME" (LAST_RELEASE - TODAY) for example "Athens" (02.06.2015 - 13.07.2015) and

  7. Change version number in src/05start.js, src/10alasql.js and meteor/10alasql.js

  8. Change version number in comments in alasql.js sourcecode Todo: Describe where they are located

  9. Change version number in package.json npm publish

  10. Change version number in bower.json

  11. Change version number for Meteor cd meteor && meteor publish && cd ..

  12. Run 'gulp', change a line in any js file in src and wait until uglyfy is done - close it. Todo: automate npm build script - or/and make better gulp file

  13. Verify that 'npm test' does not give any erros

  14. push package to npm

  15. push package to athmospherejs (Meteor)

  16. Finish release git flow release finish x.y.z (for source tree just clicking "git-flow" at the top right corner)

  17. Push develop to github git checkout develop && git push

  18. Push master and tags to github git checkout master && git push && git push --tags

  19. Finish your draft of the release on github. You should be able to find it in the dropdown in "Tag version" - and select master as branch.

Clone this wiki locally