Skip to content

Releases

Phil Shafer edited this page Jul 17, 2013 · 3 revisions

Release Management

We are following the branching scheme from:

http://nvie.com/posts/a-successful-git-branching-model/

This means we will do development under the "develop" branch, and release from the master. This makes the release process:

- commit any changes
  - gt commit
- move to master branch
  - gt br master
- merge development changes into master
  - gt merge-from develop
- bump version number in configure.ac
  - manually, using [Semantic Versioning](http://semver.org/)
- autoreconf
- run configure
  - cd build ; ../configure
- build and test
  - make clean && make && make install && make test && make dist
- Commit any changes
  - gt commit
- upload any documentation changes to gh-pages/
  - make upload
- add the release tag
  - gt tag 
- publish packaging data to gh-pages/
  - make packages
- move back to develop branch
  - gt br develop
- pick up changes for configure.ac
  - gt merge-from master
- goto https://github.com/Juniper/libslax/releases
  - create release notes
    - gt diff ...
  - drag-n-drop distfile into the release

Simple, eh? I've coded this into the script bin/new-release, since it's become annoying long. The script will walk you thru these steps, and "new-release -d" will write this list on stdout, suitable for adding to this file. The script should be run the the "build" directory.

Clone this wiki locally