Building CI/CD pipelines are great if you want to save time on testing your python code in multiple environments before publishing/deploying your packages automatically. It is also a way to see bugs early and to ensure some consistency and reproducibility to your development process.

I recently worked on a project that implements a relatively recent approach to applying a deep learning model to structured data, details of the approach can be found here: Training Better Deep Learning Models for Structured Data using Semi-supervised Learning. I wanted to set up a CI/CD pipeline to do the following:

  • Automatic testing of the code at every merge request.
  • Computing and displaying the test coverage for the master branch.
  • Automatic deployment of the python package/wheel to PyPi if a build on the staging branch passes the tests.

To do that I used Github, Travis-CI, and Codecov, both of which are free for open-source projects.

#ci-cd-pipeline #machine-learning #tensorflow #open-source #python

Step-by-Step tutorial to build a minimal CI/CD pipeline for your Python project
1.45 GEEK