104 lines
2.2 KiB
YAML
104 lines
2.2 KiB
YAML
variables:
|
|
CONTAINER_REGISTRY: $CI_REGISTRY/georg/mat2-ci-images
|
|
GIT_DEPTH: "5"
|
|
GIT_STRATEGY: clone
|
|
|
|
stages:
|
|
- linting
|
|
- test
|
|
|
|
.prepare_env: &prepare_env
|
|
before_script: # This is needed to not run the testsuite as root
|
|
- useradd --home-dir ${CI_PROJECT_DIR} mat2
|
|
- chown -R mat2 .
|
|
|
|
linting:ruff:
|
|
image: $CONTAINER_REGISTRY:linting
|
|
stage: linting
|
|
script:
|
|
- apt update
|
|
- apt install -qqy --no-install-recommends python3-venv
|
|
- python3 -m venv venv
|
|
- source venv/bin/activate
|
|
- pip3 install ruff
|
|
- ruff check .
|
|
|
|
linting:mypy:
|
|
image: $CONTAINER_REGISTRY:linting
|
|
stage: linting
|
|
script:
|
|
- mypy --ignore-missing-imports mat2 libmat2/*.py
|
|
|
|
tests:archlinux:
|
|
image: $CONTAINER_REGISTRY:archlinux
|
|
stage: test
|
|
script:
|
|
- python3 -m unittest discover -v
|
|
|
|
tests:debian:
|
|
image: $CONTAINER_REGISTRY:debian
|
|
stage: test
|
|
<<: *prepare_env
|
|
script:
|
|
- apt-get -qqy purge bubblewrap
|
|
- su - mat2 -c "python3-coverage run --branch -m unittest discover -s tests/"
|
|
- su - mat2 -c "python3-coverage report --fail-under=95 -m --include 'libmat2/*'"
|
|
|
|
tests:debian_with_bubblewrap:
|
|
image: $CONTAINER_REGISTRY:debian
|
|
stage: test
|
|
allow_failure: true
|
|
<<: *prepare_env
|
|
script:
|
|
- apt-get -qqy install bubblewrap
|
|
- python3 -m unittest discover -v
|
|
|
|
tests:fedora:
|
|
image: $CONTAINER_REGISTRY:fedora
|
|
stage: test
|
|
script:
|
|
- python3 -m unittest discover -v
|
|
|
|
tests:gentoo:
|
|
image: $CONTAINER_REGISTRY:gentoo
|
|
stage: test
|
|
<<: *prepare_env
|
|
script:
|
|
- su - mat2 -c "python3 -m unittest discover -v"
|
|
|
|
tests:python3.7:
|
|
image: $CONTAINER_REGISTRY:python3.7
|
|
stage: test
|
|
script:
|
|
- python3 -m unittest discover -v
|
|
|
|
tests:python3.8:
|
|
image: $CONTAINER_REGISTRY:python3.8
|
|
stage: test
|
|
script:
|
|
- python3 -m unittest discover -v
|
|
|
|
tests:python3.9:
|
|
image: $CONTAINER_REGISTRY:python3.9
|
|
stage: test
|
|
script:
|
|
- python3 -m unittest discover -v
|
|
|
|
tests:python3.10:
|
|
image: $CONTAINER_REGISTRY:python3.10
|
|
stage: test
|
|
script:
|
|
- python3 -m unittest discover -v
|
|
|
|
tests:python3.11:
|
|
image: $CONTAINER_REGISTRY:python3.11
|
|
stage: test
|
|
script:
|
|
- python3 -m unittest discover -v
|
|
|
|
tests:python3.12:
|
|
image: $CONTAINER_REGISTRY:python3.12
|
|
stage: test
|
|
script:
|
|
- python3 -m unittest discover -v
|