Switch to nox testing and python containers
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

Switched to basic python containers, onto which the ci
steps simply install poetry.
This takes a little more processing time during pipeline running (~16s
per step),
but also gives much more flexibility in container usage.

Switching to nox for test automation across multiple python versions.

Fixing mypy library stubs missing for some imported libraries.
This commit is contained in:
Marty Oehme 2022-01-18 22:44:09 +01:00
parent 860bb1b01c
commit e59b19d6e3
Signed by: Marty
GPG key ID: B7538B8F50A1C800
3 changed files with 34 additions and 16 deletions

View file

@ -1,34 +1,42 @@
# branches: main
pipeline:
unit_tests:
image: mquade/poetry:3.9-1.1.11
commands:
- poetry config virtualenvs.create false
- poetry install
- pytest
code_lint:
image: mquade/poetry:3.9-1.1.11
image: python
commands:
- poetry config virtualenvs.create false
- pip install poetry
- poetry install
- pip install black
- black .
- echo "----------------- running lint ------------------"
- python --version && poetry --version && black --version
- poetry run black .
unit_tests:
image: thekevjames/nox
commands:
- pip install poetry
- poetry install
- echo "----------------- running tests ------------------"
- python --version && poetry --version && nox --version
- poetry run nox
static_analysis:
image: mquade/poetry:3.9-1.1.11
image: python
commands:
- poetry config virtualenvs.create false
- pip install poetry
- poetry install
- pip install mypy
- mypy .
- echo "----------------- running analysis ------------------"
- python --version && poetry --version && mypy --version
- poetry run mypy .
build_dist:
image: mquade/poetry:3.9-1.1.11
image: python
commands:
- poetry config virtualenvs.create false
- pip install poetry
- poetry install
- echo "----------------- running analysis ------------------"
- python --version && poetry --version
- poetry build
when:
branch: main

View file

@ -1,4 +1,4 @@
import nox # type: ignore
import nox
@nox.session(python=["3.7", "3.8", "3.9"])

View file

@ -38,3 +38,13 @@ show_missing = true
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[[tool.mypy.overrides]]
module = [
"click",
"click.testing",
"pytest",
"nox",
"importlib-metadata"
]
ignore_missing_imports = true