6fde80d3e3
The previous commit changed the strategy to 'clone', instead of 'fetch' as before. While this fixes permission errors, it is also slower, as an existing checkout of the repository will be ignored. To overcome this, this commit limits the depth to 5.
98 lines
2.1 KiB
YAML
98 lines
2.1 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
|