Add a Gitlab CI pipeline.

Merged Gmodena requested to merge add-ci-pipeline into main

This MR adds a Gitlab CI pipeline to run tests, mypy and linting on python 3.7 and 3.9.

Build jobs will be triggered each time a change set is pushed, or when opening a merge request.

During the test stage, two CI jobs will be executed in parallel for python 3.7 and 3.9 (the envs declared in tox.ini).

A manual step in the publish stage will build sdist/bdist pacakges and push them Gitlab's PyPI Registry (e.g.

Implementation details

I opted to use dedicated Python 3.7/3.9 images rather than bootstrapping with pyenv (or similar), to avoid having to manage additional setup logic. To the best of my knowledge pyenv is not packaged in debian buster (the base image I used).

Edited by Ottomata

Merge request reports