Automating testing and deployment with Github and Travis


Follow to receive video recommendations   a   A

Maintaining an open source project can be a drag. Especially when you have dozens of them. Besides being tedious , making a new release can be a very error prone process. Maybe you forgot to run the full test suite, forgot to update the release version or tag the release on VCS or maybe you bungled up the upload to PyPI. Fortunately there are things you can do to eliminate entire categories of human errors in the release process – by automating them.

This talk uses a trivial project as an example to present a release pipeline, from packaging and testing to deployment, that only requires you to push a git tag to your Github repository. Automation then takes care of the rest and you end up with a new release on PyPI (yay!).

This talk is mostly useful for open source developers using Github to house their projects, as it heavily leans on Travis, its continuous integration provider . You also need to be at least somewhat familiar with Python packaging and testing in order to follow along. Familiarity with common tools like pytest and tox helps but is not strictly required.

Editors Note:

If you like this website, please upvote my Awesome Python pull request.