image: debian stages: - linting - test bandit: stage: linting script: # TODO: remove B405 and B314 - apt-get -qqy update - apt-get -qqy install --no-install-recommends python3-bandit - bandit ./mat2 --format txt - bandit -r ./nautilus/ --format txt --skip B101 - bandit -r ./libmat2 --format txt --skip B101,B404,B603,B405,B314 pylint: stage: linting script: - apt-get -qqy update - apt-get -qqy install --no-install-recommends pylint3 python3-mutagen python3-gi-cairo gir1.2-poppler-0.18 gir1.2-gdkpixbuf-2.0 - pylint3 --extension-pkg-whitelist=cairo,gi ./libmat2 ./mat2 # Once nautilus-python is in Debian, decomment it form the line below - pylint3 --extension-pkg-whitelist=Nautilus,GObject,Gtk,Gio,GLib,gi ./nautilus/mat2.py pyflakes: stage: linting script: - apt-get -qqy update - apt-get -qqy install --no-install-recommends pyflakes3 - pyflakes3 ./libmat2 ./mat2 ./tests/ ./nautilus mypy: stage: linting script: - apt-get -qqy update - apt-get -qqy install --no-install-recommends python3-pip - pip3 install mypy - mypy mat2 libmat2/*.py --ignore-missing-imports - mypy --ignore-missing-imports ./nautilus/mat2.py tests:debian: stage: test script: - apt-get -qqy update - apt-get -qqy install --no-install-recommends python3-mutagen python3-gi-cairo gir1.2-poppler-0.18 gir1.2-gdkpixbuf-2.0 libimage-exiftool-perl python3-coverage - python3-coverage run --branch -m unittest discover -s tests/ - python3-coverage report -m --include 'libmat2/*' tests:fedora: image: fedora stage: test script: - dnf install -y python3 python3-mutagen python3-gobject gdk-pixbuf2 poppler-glib gdk-pixbuf2 gdk-pixbuf2-modules cairo-gobject cairo python3-cairo perl-Image-ExifTool mailcap - gdk-pixbuf-query-loaders-64 > /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders.cache - python3 setup.py test