Github Actions

We make use of Github Actions for the automation in this project. Currently, we have three workflows:

  • Code Quality

  • Platform Tests

  • Publish PyPI

Code Quality

Triggered upon push to main and pull requests into main.

The code quality pipeline, defined in .github/workflows/code-quality.yaml runs some check to verify the quality of the code. Among others it does linting using pylint and flake8, formatting using isort and black, run all of the tests using pytest and do a coverage analysis.

Platform Tests

Triggered upon push to main and pull requests into main with the tag platform-test applied. (apply this tag to trigger the platform tests)

The platform tests pipeline, defined in .github/workflows/code-quality.yaml runs the tests on a wide range of platforms and environments. The tests are run on linux, windows and macos machines. On each of these platforms we run te tests on python 3.6, 3.7, 3.8 and then we use several versions of click with version larger or equal to 7.0.

Publish PyPI

Triggered when a new tag is applied to a commit, the tag should have the shape v0.0.0. If the tag version does not the version in the code, the pipeline fails.

The publish PyPI workflow builds the package, tries to upload the package to a test PyPI server and if all succeeds, uploads the package to PyPI.