image: python:latest before_script: - python -V # Print out python version for debugging stages: - test - build .test: stage: test script: - pip install pytest-cov - py.test -q --cov=musicpd test.py only: - pushes test-py3.9: extends: ".test" image: "python:3.9" coverage: '/musicpd.py\s+\d+\s+\d+\s+(\d+)%/' test-py3.8: extends: ".test" image: "python:3.8" test-py3.7: extends: ".test" image: "python:3.7" build: stage: build script: # packaging test - python setup.py bdist_wheel sdist - pip install dist/*.whl - pip install twine - twine check dist/* artifacts: expire_in: 1 week paths: - dist/*.whl - dist/*.tar.gz - dist/*.zip only: - pushes tag_release: stage: build script: - python setup.py bdist_wheel sdist artifacts: paths: - dist/*.whl - dist/*.tar.gz - dist/*.zip name: "$CI_PROJECT_NAME-$CI_COMMIT_TAG" only: - tags pages: stage: build script: - pip install sphinx sphinx_rtd_theme - sphinx-build -d ./build/doctrees doc/source -b html ./public -D html_theme=sphinx_rtd_theme artifacts: paths: - public only: - master