mirror of
https://github.com/gsi-upm/senpy
synced 2024-11-25 17:42:29 +00:00
107 lines
2.0 KiB
YAML
107 lines
2.0 KiB
YAML
# Uncomment if you want to use docker-in-docker
|
|
# image: gsiupm/dockermake:latest
|
|
# services:
|
|
# - docker:dind
|
|
# When using dind, it's wise to use the overlayfs driver for
|
|
# improved performance.
|
|
|
|
stages:
|
|
- test
|
|
- push
|
|
- deploy
|
|
- clean
|
|
|
|
before_script:
|
|
- docker login -u $HUB_USER -p $HUB_PASSWORD
|
|
|
|
.test: &test_definition
|
|
stage: test
|
|
script:
|
|
- make -e test-$PYTHON_VERSION
|
|
|
|
test-3.5:
|
|
<<: *test_definition
|
|
variables:
|
|
PYTHON_VERSION: "3.5"
|
|
|
|
test-2.7:
|
|
<<: *test_definition
|
|
variables:
|
|
PYTHON_VERSION: "2.7"
|
|
|
|
.image: &image_definition
|
|
stage: push
|
|
script:
|
|
- make -e push-$PYTHON_VERSION
|
|
only:
|
|
- tags
|
|
- triggers
|
|
|
|
push-3.5:
|
|
<<: *image_definition
|
|
variables:
|
|
PYTHON_VERSION: "3.5"
|
|
|
|
push-2.7:
|
|
<<: *image_definition
|
|
variables:
|
|
PYTHON_VERSION: "2.7"
|
|
|
|
push-latest:
|
|
<<: *image_definition
|
|
variables:
|
|
PYTHON_VERSION: latest
|
|
only:
|
|
- master
|
|
- triggers
|
|
|
|
push-github:
|
|
stage: deploy
|
|
script:
|
|
- make -e push-github
|
|
only:
|
|
- master
|
|
- triggers
|
|
|
|
deploy_pypi:
|
|
stage: deploy
|
|
script: # Configure the PyPI credentials, then push the package, and cleanup the creds.
|
|
- echo "[server-login]" >> ~/.pypirc
|
|
- echo "username=" ${PYPI_USER} >> ~/.pypirc
|
|
- echo "password=" ${PYPI_PASSWORD} >> ~/.pypirc
|
|
- make pip_upload
|
|
- echo "" > ~/.pypirc && rm ~/.pypirc # If the above fails, this won't run.
|
|
only:
|
|
- /^v?\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags)
|
|
except:
|
|
- branches
|
|
|
|
deploy:
|
|
stage: deploy
|
|
environment: test
|
|
script:
|
|
- make -e deploy
|
|
only:
|
|
- master
|
|
|
|
push-github:
|
|
stage: deploy
|
|
script:
|
|
- make -e push-github
|
|
only:
|
|
- master
|
|
- triggers
|
|
|
|
clean :
|
|
stage: clean
|
|
script:
|
|
- make -e clean
|
|
when: manual
|
|
|
|
cleanup_pypirc:
|
|
stage: clean
|
|
when: always # this is important; run even if preceding stages failed.
|
|
script:
|
|
- rm -vf ~/.pypirc # we don't want to leave these around, but GitLab may clean up anyway.
|
|
- docker logout
|