Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.84 KiB
Newer Older
  • Learn to ignore specific revisions
  • Julien (jvoisin) Voisin's avatar
    Julien (jvoisin) Voisin committed
    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/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/nautilus_mat2.py
    
    tests:debian:
    
      stage: test
    
    Julien (jvoisin) Voisin's avatar
    Julien (jvoisin) Voisin committed
      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