Updating release procedure with the new release cycle for 1.0 onwards

Julia Medina 2015-05-27 10:20:40 -03:00
parent 29ffaad242
commit 82d1ace8d8
1 changed files with 39 additions and 14 deletions

@ -6,23 +6,47 @@ You will need [bumpversion](https://pypi.python.org/pypi/bumpversion) installed.
## Version and git branch
Here is an example, assuming we are releasing 0.26.0:
Here is an example, assuming we are releasing 1.1.0rc1:
```bash
# Be sure your local master branch is uptodate with remote master branch.
$ git pull origin --rebase
# Update release notes by editing docs/news.rst (Don't forget to set release date)
# Update release notes by editing docs/news.rst
$ git add docs/news.rst
$ git commit -m 'Add 0.26.0 release notes'
$ git commit -m 'Add 1.1.0 release notes'
# Increase version and create featured branch
$ bumpversion minor
$ git branch 0.26
# master: 1.1.0dev1 to 1.1.0rc1
$ bumpversion prerel
$ git branch 1.1
# master: 1.1.0rc1 to 1.2.0dev1
$ bumpversion minor --no-tag
# Review everything and push when sure.
$ git push origin master 0.26 --tags
$ git push origin master 1.1 --tags
```
To make an official release from a release candidate:
```bash
# Checkout the featured branch.
$ git checkout 1.1
# Set release date in docs/news.rst.
$ git add docs/news.rst
$ git commit -m 'Update 1.1.0 release date'
# Increase version.
# 1.1: 1.1.0rc1 to 1.1.0
$ bumpversion prerel
# Review everything and push when sure.
$ git push origin master 1.1 --tags
# Checkout master and cherry pick `docs/news.rst` changes.
$ git checkout master
$ git cherry-pick 1.1 # resolve any conflicts on docs/news.rst
$ git push origin master
```
## Buildbot
@ -49,20 +73,21 @@ $ git push origin master 0.26 --tags
## Micro/bugfix releases
Assuming we are releasing `0.24.4`:
Assuming we are releasing `1.0.1`:
```bash
$ git checkout 0.24
$ bumpversion patch
$ git checkout 1.0
# 1.0: 1.0.0 to 1.0.1 (Use --serialize to avoid the 1.0.1dev1 version)
$ bumpversion patch --serialize "{major}.{minor}.{patch}"
# Add version, release date and changes to `docs/news.rst`
$ git log '--format=- %s (:commit:`%h`)' 0.24.3...0.24 # update docs/news.rst
$ git log '--format=- %s (:commit:`%h`)' 1.0.1...1.0 # update docs/news.rst
$ git add docs/news.rst
$ git commit -m 'Add 0.24.4 release notes'
$ git push origin 0.24 --tags
$ git commit -m 'Add 1.0.1 release notes'
$ git push origin 1.0 --tags
# Checkout master and cherry pick `docs/news.rst` changes.
$ git checkout master
$ git cherry-pick 0.24 # resolve any conflicts on docs/news.rst
$ git cherry-pick 1.0 # resolve any conflicts on docs/news.rst
$ git push origin master
```
```