2019-02-22 15:10:56 +01:00
|
|
|
variables:
|
|
|
|
CONTAINER_REGISTRY: $CI_REGISTRY/georg/mat2-ci-images
|
2018-03-27 20:58:21 +02:00
|
|
|
|
2018-05-01 00:01:18 +02:00
|
|
|
stages:
|
|
|
|
- linting
|
|
|
|
- test
|
|
|
|
|
2019-07-22 22:39:06 +02:00
|
|
|
.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 .
|
|
|
|
|
2019-03-09 13:15:10 +01:00
|
|
|
linting:bandit:
|
2019-02-22 15:10:56 +01:00
|
|
|
image: $CONTAINER_REGISTRY:linting
|
2018-05-01 00:01:18 +02:00
|
|
|
stage: linting
|
2018-06-27 23:10:53 +02:00
|
|
|
script: # TODO: remove B405 and B314
|
2019-03-09 13:15:10 +01:00
|
|
|
- bandit ./mat2 --format txt --skip B101
|
|
|
|
- bandit -r ./nautilus/ --format txt --skip B101
|
2019-09-21 15:33:49 +02:00
|
|
|
- bandit -r ./libmat2 --format txt --skip B101,B404,B603,B405,B314,B108
|
2018-05-01 00:01:18 +02:00
|
|
|
|
2019-07-22 22:31:40 +02:00
|
|
|
linting:codespell:
|
|
|
|
image: $CONTAINER_REGISTRY:linting
|
|
|
|
stage: linting
|
|
|
|
script:
|
|
|
|
# Run codespell to check for spelling errors; ignore errors about binary
|
|
|
|
# files, use a config with ignored words and exclude the git directory,
|
|
|
|
# which might contain false positives
|
|
|
|
- codespell -q 2 -I utils/ci/codespell/ignored_words.txt -S .git
|
|
|
|
|
2019-03-09 13:15:10 +01:00
|
|
|
linting:pylint:
|
2019-02-22 15:10:56 +01:00
|
|
|
image: $CONTAINER_REGISTRY:linting
|
2018-07-09 01:12:59 +02:00
|
|
|
stage: linting
|
|
|
|
script:
|
2019-03-09 13:15:10 +01:00
|
|
|
- pylint3 --disable=no-else-return --extension-pkg-whitelist=cairo,gi ./libmat2 ./mat2
|
|
|
|
# Once nautilus-python is in Debian, decomment it form the line below
|
|
|
|
- pylint3 --disable=no-else-return --extension-pkg-whitelist=Nautilus,GObject,Gtk,Gio,GLib,gi ./nautilus/mat2.py
|
2018-07-09 01:12:59 +02:00
|
|
|
|
2019-03-09 13:15:10 +01:00
|
|
|
linting:pyflakes:
|
2019-02-22 15:10:56 +01:00
|
|
|
image: $CONTAINER_REGISTRY:linting
|
2018-05-01 00:01:18 +02:00
|
|
|
stage: linting
|
|
|
|
script:
|
2019-03-09 13:15:10 +01:00
|
|
|
- pyflakes3 ./libmat2 ./mat2 ./tests/ ./nautilus
|
2018-05-01 00:01:18 +02:00
|
|
|
|
2019-03-09 13:15:10 +01:00
|
|
|
linting:mypy:
|
2019-02-22 15:10:56 +01:00
|
|
|
image: $CONTAINER_REGISTRY:linting
|
2018-06-04 22:54:01 +02:00
|
|
|
stage: linting
|
|
|
|
script:
|
2019-03-09 13:15:10 +01:00
|
|
|
- mypy --ignore-missing-imports mat2 libmat2/*.py ./nautilus/mat2.py
|
2018-06-04 22:54:01 +02:00
|
|
|
|
2019-03-09 13:15:10 +01:00
|
|
|
tests:archlinux:
|
|
|
|
image: $CONTAINER_REGISTRY:archlinux
|
|
|
|
stage: test
|
|
|
|
script:
|
|
|
|
- python3 setup.py test
|
|
|
|
|
2018-06-12 22:40:57 +02:00
|
|
|
tests:debian:
|
2019-02-22 15:10:56 +01:00
|
|
|
image: $CONTAINER_REGISTRY:debian
|
2018-05-01 00:01:18 +02:00
|
|
|
stage: test
|
2018-03-25 17:42:29 +02:00
|
|
|
script:
|
2019-03-09 13:15:10 +01:00
|
|
|
- apt-get -qqy purge bubblewrap
|
2019-07-22 23:36:20 +02:00
|
|
|
- python3 setup.py test
|
2019-02-03 10:43:27 +01:00
|
|
|
|
|
|
|
tests:debian_with_bubblewrap:
|
2019-02-22 15:10:56 +01:00
|
|
|
image: $CONTAINER_REGISTRY:debian
|
2019-02-03 10:43:27 +01:00
|
|
|
stage: test
|
2019-07-22 22:39:06 +02:00
|
|
|
<<: *prepare_env
|
2019-02-03 10:43:27 +01:00
|
|
|
script:
|
2019-07-22 22:39:06 +02:00
|
|
|
- su - mat2 -c "python3-coverage run --branch -m unittest discover -s tests/"
|
|
|
|
- su - mat2 -c "python3-coverage report --fail-under=100 -m --include 'libmat2/*'"
|
2018-06-12 22:40:57 +02:00
|
|
|
|
|
|
|
tests:fedora:
|
2019-02-22 15:10:56 +01:00
|
|
|
image: $CONTAINER_REGISTRY:fedora
|
2018-06-12 22:40:57 +02:00
|
|
|
stage: test
|
|
|
|
script:
|
2019-03-09 13:15:10 +01:00
|
|
|
- python3 setup.py test
|
2018-09-01 15:07:01 +02:00
|
|
|
|
2019-03-09 13:15:10 +01:00
|
|
|
tests:gentoo:
|
|
|
|
image: $CONTAINER_REGISTRY:gentoo
|
2018-09-01 15:07:01 +02:00
|
|
|
stage: test
|
2019-07-22 22:39:06 +02:00
|
|
|
<<: *prepare_env
|
2018-09-01 15:07:01 +02:00
|
|
|
script:
|
2019-07-22 22:39:06 +02:00
|
|
|
- su - mat2 -c "python3 -m unittest discover -v"
|