X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=.gitlab-ci.yml;h=514412926cb3b9d9d138b404c55d8a7f8c014425;hb=43efcdd63b071ef5a5224fec37ebf298cfacd0f9;hp=c12ae0eebee9ca838ce5e3e2b32a780b48ded2a8;hpb=b269d59a79016ce79941b64d15fcd6453cc7ddd5;p=python-musicpd.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c12ae0e..5144129 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,4 @@ +--- image: python:latest before_script: @@ -7,41 +8,102 @@ stages: - test - build -test: +.cache_python: + variables: + FF_USE_FASTZIP: 1 # enable faster caching/artifacting + PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" + cache: + 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 script: - - pip install pytest-cov - - py.test -q --cov=musicpd test.py - coverage: '/musicpd.py\s+\d+\s+\d+\s+(\d+)%/' + - python -m venv venv + - source venv/bin/activate + - pip install pytest-cov + - py.test -q --cov=musicpd test.py only: - - pushes + changes: + - musicpd.py + - test.py + +test-py3.11: + 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" + build: stage: build + extends: + - .cache_python script: - # packaging test - - python setup.py bdist_wheel sdist - - pip install dist/*.whl - - pip install twine - - twine check dist/* + - python -m venv venv + - source venv/bin/activate + - pip install build + # packaging test + - python3 -m build -s -w + - pip install dist/*.whl + - pip install twine + - twine check dist/* artifacts: expire_in: 1 week paths: - - dist/*.whl - - dist/*.tar.gz - - dist/*.zip + - dist/*.whl + - dist/*.tar.gz + - dist/*.zip only: - pushes tag_release: stage: build + extends: + - .cache_python script: - - python setup.py bdist_wheel sdist + - python -m venv venv + - source venv/bin/activate + - pip install build + - python3 -m build -s -w artifacts: paths: - - dist/*.whl - - dist/*.tar.gz - - dist/*.zip + - dist/*.whl + - dist/*.tar.gz + - dist/*.zip name: "$CI_PROJECT_NAME-$CI_COMMIT_TAG" only: - tags @@ -49,10 +111,10 @@ tag_release: 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 + - 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 + - public only: - - master + - master