# 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:
- 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: