Python packages
A lot of our code is published as Python packages on PyPI.
Development
Make changes to the repository that contains the Python package using the normal GitHub flow.
Bump the version in the repository. You might have to look in:
setup.pypackage/__init__.pydocs/conf.py
Release
Use git flow release to publish a new release
to GitHub. This will create a new tag which will cause Travis to build.
The .travis.yml file will deploy the package to PyPI as the
praekelt.org user.
For many package repositories, there’s another repo prefixed with docker-. For
example, junebug and docker-junebug.
pyup.io will make an automatic pull request to the docker- repo
to increment the requirements.txt file.
When that pull request is merged, Travis will build a container image and deploy
it to Docker Hub as the
praekeltorgdeploy user
to the
praekeltfoundation namespace.
Deployment
Use Mission Control to deploy the Docker Hub image to QA and production.