X-Git-Url: http://git.kaliko.me/?p=python-musicpd.git;a=blobdiff_plain;f=.gitlab-ci.yml;h=c12ae0eebee9ca838ce5e3e2b32a780b48ded2a8;hp=514412926cb3b9d9d138b404c55d8a7f8c014425;hb=HEAD;hpb=43efcdd63b071ef5a5224fec37ebf298cfacd0f9 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5144129..f312042 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,6 @@ stages: key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths: # cache the venv and pip cache (you may opt to use just 1 of these) - $PIP_CACHE_DIR - #- venv .test: stage: test @@ -25,50 +24,24 @@ stages: - source venv/bin/activate - pip install pytest-cov - py.test -q --cov=musicpd test.py - only: - changes: - - musicpd.py - - test.py + rules: + - changes: + - musicpd.py + - test.py + - if: $CI_PIPELINE_SOURCE == "schedule" -test-py3.11: +tests: extends: - .cache_python - .test - image: "python:3.11" - -test-py3.10: - extends: - - .cache_python - - .test - image: "python:3.10" - coverage: '/musicpd.py\s+\d+\s+\d+\s+(\d+)%/' - -test-py3.9: - extends: - - .cache_python - - .test - image: "python:3.9" - -test-py3.8: - extends: - - .cache_python - - .test - image: "python:3.8" - -test-py3.7: - extends: - - .cache_python - - .test - image: "python:3.7" - -test-py3.6: - extends: - - .cache_python - - .test - image: "python:3.6" + image: "python:$VERSION" + parallel: + matrix: + - VERSION: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] build: + image: "python:$VERSION" stage: build extends: - .cache_python @@ -84,11 +57,19 @@ build: artifacts: expire_in: 1 week paths: - - dist/*.whl - - dist/*.tar.gz - - dist/*.zip - only: - - pushes + - dist/*.* + rules: + - if: $CI_PIPELINE_SOURCE == "push" + changes: + - .gitlab-ci.yml + - musicpd.py + - test.py + - MANIFEST.in + - pyproject.toml + - if: $CI_PIPELINE_SOURCE == "schedule" + parallel: + matrix: # uses python versions shipped in Debian + - VERSION: ['3.9', '3.11', '3.13'] tag_release: stage: build @@ -101,12 +82,22 @@ tag_release: - python3 -m build -s -w artifacts: paths: - - dist/*.whl - - dist/*.tar.gz - - dist/*.zip + - dist/*.* name: "$CI_PROJECT_NAME-$CI_COMMIT_TAG" - only: - - tags + rules: + - if: $CI_COMMIT_TAG + +# Documentation +build_doc: + stage: build + script: + - pip install sphinx sphinx_rtd_theme + - sphinx-build doc/source -b html ./html -D html_theme=sphinx_rtd_theme -E -W -n --keep-going + rules: + - if: $CI_PIPELINE_SOURCE == "push" + changes: + - doc/source/* + - if: $CI_PIPELINE_SOURCE == "schedule" pages: stage: build @@ -116,5 +107,5 @@ pages: artifacts: paths: - public - only: - - master + rules: + - if: $CI_COMMIT_BRANCH == "master"