]> kaliko git repositories - mpd-sima.git/blobdiff - .gitlab-ci.yml
Cleanup PlayerError exception wrapper
[mpd-sima.git] / .gitlab-ci.yml
index 2b204856a82e75e18f958ad4a77a79dbf774077a..ad63ee2b930e8adb55be3d3727d41d721c203e19 100644 (file)
@@ -1,10 +1,17 @@
 # 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
 
+include:
+  - local: .gitlab/gitlab-templates.yml
+  - local: .gitlab/pylint.yml
+  - template: Jobs/SAST.gitlab-ci.yml
+
 variables:
   #XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
   PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache"
+  SAST_EXCLUDED_ANALYZERS: brakeman, flawfinder, kubesec, mobsf, nodejs-scan,
+    phpcs-security-audit, pmd-apex, sobelow, spotbugs
 
 cache:
   paths:
@@ -14,29 +21,47 @@ stages:
   - test
   - build
 
-test:
+smoketest:
   stage: test
   script:
-  - pip install pytest-cov requests
-  - py.test -q --cov=sima tests
+  - pip install requests python-musicpd sphinx
   - python setup.py test
   # build wheel and source
   - python setup.py bdist_wheel sdist
+  # manual and HTML documentation
+  - sphinx-build -d ./build/doctrees doc/source -b man ./build/man/
+  - sphinx-build -d ./build/doctrees doc/source -b html ./build/html/
   # install
   - pip install dist/*.whl
   # smoke test
   - mpd-sima --help
+  - TRACE=y ./mpd-sima -d --pid ./mpd-sima.pid -l ./mpd-sima.log
+  - sleep 10
+  - test -f ./mpd-sima.pid && kill $(cat ./mpd-sima.pid)
   artifacts:
     expire_in: 1 hour
     paths:
     - dist/*.whl
     - dist/*.tar.gz
     - dist/*.zip
+    - ./mpd-sima.pid
+    - ./mpd-sima.log
+
+unittests:
+  stage: test
+  script:
+  - pip install pytest-cov requests python-musicpd
+  - py.test -q --cov=sima --junitxml=report.xml tests
+  coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
+  artifacts:
+    when: always
+    reports:
+      junit: report.xml
 
 tag_release:
   stage: build
   dependencies:
-    - test
+    - smoketest
   script:
     - python -V
   artifacts: