Introduce Nox for Test Automation
This MR introduces the test automation tool nox to pystencils-sfg. At this point, the nox configuration offers these sessions:
-
lint
, for running flake8 on the codebase -
typecheck
, for running mypy -
testsuite
, to run the testsuite and collect coverage data -
docs
to build the documentation pages -
dev_env
, to quickly set up a virtual environment for development
Through Nox, the appropriate pre-release version of pystencils 2.0 will be dynamically loaded for testing.
The GitLab CI is adapted to also use Nox. For the time being, it runs in a minimal Alpine Linux-based container featuring Python 3.10, nox, and the necessary C++ build tools. This will have to be extended in the near future, e.g. with CUDA/HIP support.
Depends on !11 (merged)
Edited by Frederik Hennig