# https://hub.docker.com/r/library/python/
image: python:3
-stages:
- - test
- - build
-
-# Change pip's cache directory to be inside the project directory since we can
-# only cache local items.
variables:
- PIP_CACHE_DIR: "$CI_PROJECT_DIR/cache"
+ #XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
+ PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache"
-# Pip's cache doesn't store the python packages
-# https://pip.pypa.io/en/stable/reference/pip_install/#caching
-#
-# If you want to also cache the installed packages, you have to install
-# them in a virtualenv and cache it as well.
cache:
paths:
- - cache/pip
- - venv/
+ - .cache
-before_script:
- - python -V # Print out python version for debugging
- - python -m venv venv
- - source venv/bin/activate
+stages:
+ - test
+ - build
test:
stage: test
- pip install pytest-cov requests
- py.test -q --cov=sima tests
- python setup.py test
- - pip install tox flake8
- - tox -e py36,flake8
-
-run:
- stage: test
- script:
+ # build wheel and source
- python setup.py bdist_wheel sdist
- - pip install dist/*
+ # install
+ - pip install dist/*.whl
+ # smoke test
- mpd-sima --help
- cache:
- paths:
- - dist/
- policy: pull
artifacts:
+ expire_in: 1 hour
paths:
- dist/*.whl
+ - dist/*.tar.gz
+ - dist/*.zip
tag_release:
stage: build
+ dependencies:
+ - test
script:
- - python -V
+ - python -V
artifacts:
paths:
- dist/*.whl
- dist/*.tar.gz
- dist/*.zip
name: "$CI_PROJECT_NAME-$CI_COMMIT_TAG"
+ cache: {}
only:
- tags