]> kaliko git repositories - mpd-sima.git/blobdiff - .gitlab-ci.yml
Fixed wrong exception
[mpd-sima.git] / .gitlab-ci.yml
index f11417c7a645c4c6ab92c75dc5b45a6fee71622a..8379c87799f6f7d06aadf0ccdde9ee8fd26ea884 100644 (file)
@@ -1,63 +1,82 @@
 # Official language image. Look for the different tagged releases at:
-# https://hub.docker.com/r/library/python/
+# https://hub.docker.com/_/python
 image: python:3
 
-stages:
-  - test
-  - build
+include:
+  - local: .gitlab/gitlab-templates.yml
+  - local: .gitlab/pylint.yml
+  - template: Security/SAST.gitlab-ci.yml
 
-# Change pip's cache directory to be inside the project directory since we can
-# only cache local items.
 variables:
-  PIP_CACHE_DIR: "$CI_PROJECT_DIR/cache"
+  #XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
+  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache"
 
-# Pip's cache doesn't store the python packages
-# https://pip.pypa.io/en/stable/reference/pip_install/#caching
-#
-# If you want to also cache the installed packages, you have to install
-# them in a virtualenv and cache it as well.
 cache:
   paths:
-    - cache/pip
-    - venv/
+    - .cache
 
-before_script:
-  - python -V               # Print out python version for debugging
-  - python -m venv venv
-  - source venv/bin/activate
+stages:
+  - test
+  - build
 
-test:
+smoketest:
   stage: test
   script:
-  - pip install pytest-cov
-  - py.test -q --cov=sima tests
+  - pip install requests python-musicpd sphinx
   - python setup.py test
-  - pip install tox flake8
-  - tox -e py36,flake8
-
-run:
-  stage: test
-  script:
+  # build wheel and source
   - python setup.py bdist_wheel sdist
-  - pip install dist/*
+  # manual and HTML documentation
+  - python setup.py build_sphinx
+  # install
+  - pip install dist/*.whl
+  # smoke test
   - mpd-sima --help
-  cache:
-    paths:
-      - dist/
-    policy: pull
   artifacts:
+    expire_in: 1 hour
     paths:
     - dist/*.whl
+    - dist/*.tar.gz
+    - dist/*.zip
+
+unittests:
+  stage: test
+  script:
+  - pip install pytest-cov requests python-musicpd
+  - py.test -q --cov=sima --junitxml=report.xml tests
+  artifacts:
+    when: always
+    reports:
+      junit: report.xml
+
+vinstall:
+  stage: test
+  script:
+  # test virtualenv install
+  - python3 ./vinstall.py
+  # smoke test
+  - ./vmpd-sima --help
+  artifacts:
+    expire_in: 1 hour
+
+sast:
+  variables:
+    SAST_EXCLUDED_ANALYZERS: brakeman, eslint, flawfinder, gosec, kubesec, nodejs-scan,
+      phpcs-security-audit, pmd-apex, security-code-scan, semgrep, sobelow, spotbugs
+  stage: test
 
 tag_release:
   stage: build
+  dependencies:
+    - smoketest
   script:
-  - python -V
+    - python -V
   artifacts:
     paths:
     - dist/*.whl
     - dist/*.tar.gz
     - dist/*.zip
     name: "$CI_PROJECT_NAME-$CI_COMMIT_TAG"
+  cache: {}
   only:
     - tags