]> kaliko git repositories - python-musicpd.git/blobdiff - .gitlab-ci.yml
Releasing 0.9.0
[python-musicpd.git] / .gitlab-ci.yml
index 4d7f68d6de1961f3c3e95c296f00a78c3dc6539a..6576783140e77d3886d75423817f39e198c2223f 100644 (file)
@@ -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
@@ -27,9 +26,15 @@ stages:
     - py.test -q --cov=musicpd test.py
   rules:
     - changes:
-      - musicpd.py
-      - test.py
-    - if: $MUSICPD_TEST
+        - musicpd.py
+        - test.py
+    - if: $CI_PIPELINE_SOURCE == "schedule"
+
+test-py3.12:
+  extends:
+    - .cache_python
+    - .test
+  image: "python:3.12"
 
 test-py3.11:
   extends:
@@ -85,11 +90,16 @@ build:
   artifacts:
     expire_in: 1 week
     paths:
-      - dist/*.whl
-      - dist/*.tar.gz
-      - dist/*.zip
+      - dist/*.*
   rules:
     - if: $CI_PIPELINE_SOURCE == "push"
+      changes:
+        - .gitlab-ci.yml
+        - musicpd.py
+        - test.py
+        - MANIFEST.in
+        - pyproject.toml
+    - if: $CI_PIPELINE_SOURCE == "schedule"
 
 tag_release:
   stage: build
@@ -102,13 +112,23 @@ tag_release:
     - python3 -m build -s -w
   artifacts:
     paths:
-      - dist/*.whl
-      - dist/*.tar.gz
-      - dist/*.zip
+      - dist/*.*
     name: "$CI_PROJECT_NAME-$CI_COMMIT_TAG"
   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
   script: