-
Notifications
You must be signed in to change notification settings - Fork 145
Release Process
For now, reference at http://rdc.li/r
Release management in bonobo requires the following additional requirements
$ pip install -U pip wheel twine
$ pip install git-semver edgy-project
Maintenance releases are patch-level versions (x.y.*) and only contains:
- Bugfixes
- Dependencies frozen versions number updates (keeping same wide requirement)
$ # dependencies...
$ rm requirements*.txt
$ edgy-project update
$ # merge upstream
$ git fetch upstream
$ git merge upstream/master
Then use http://rdc.li/r to make the release.
Changelog help:
$ git diff 0.3.0.. -- requirements* | grep '^+' | grep -v '^+++' | sort -u | sed 's/^+/ * /g'
Once the release is made, a few additional steps are required:
Build public docker images:
$ python -m bonobo_docker build --push
Forth-port maintenance to current development branch:
$ git checkout develop
$ git merge master
$ # resolve eventual conflicts
$ edgy-project update
$ git commit
$ git push
Then pull-request, wait for continuous integration, merge.
TODO: REWRITE EVERYTHING BELOW THIS LINE AND REMOVE FROM PROJECT DOC
Releases above patch level are more complex, because we did not find a way not to hardcode the version number in a bunch of files, and because a few dependant services (source control, continuous integration, code coverage, documentation builder ...) also depends on version numbers.
Checklist:
- Files
- Github
Get current minor:
git semver | python -c 'import sys; print(".".join(sys.stdin.read().strip().split(".")[0:2]))'
Open git with all files containing current minor:
ack `git semver | python -c 'import sys; print("\\\\.".join(sys.stdin.read().strip().split(".")[0:2]))'` | vim -