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 -
docsto 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