# Official language image. Look for the different tagged releases at: # 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: - .cache stages: - test - build smoketest: stage: test script: - 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: - smoketest script: - python -V artifacts: paths: - dist/*.whl - dist/*.tar.gz - dist/*.zip name: "$CI_PROJECT_NAME-$CI_COMMIT_TAG" cache: {} only: - tags