-
Notifications
You must be signed in to change notification settings - Fork 146
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 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 --no-cache --version $VERSION --push
Or from BDK:
VERSION=`cd bonobo; python setup.py --version`
python -m bonobo_docker build --no-cache --version $VERSION --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 -