1
0
mirror of https://github.com/gsi-upm/senpy synced 2024-11-22 08:12:27 +00:00
senpy/.gitlab-ci.yml

107 lines
2.0 KiB
YAML
Raw Normal View History

2017-05-19 12:38:29 +00:00
# Uncomment if you want to use docker-in-docker
# image: gsiupm/dockermake:latest
# services:
# - docker:dind
2017-02-13 11:04:29 +00:00
# When using dind, it's wise to use the overlayfs driver for
# improved performance.
2017-05-19 12:38:29 +00:00
2017-02-13 11:04:29 +00:00
stages:
- test
2017-02-27 19:00:09 +00:00
- push
2017-05-19 12:38:29 +00:00
- deploy
- clean
2017-02-13 11:04:29 +00:00
2017-05-19 12:38:29 +00:00
before_script:
- docker login -u $HUB_USER -p $HUB_PASSWORD
2017-05-19 12:38:29 +00:00
2017-02-13 11:04:29 +00:00
.test: &test_definition
2017-02-13 18:41:18 +00:00
stage: test
2017-02-13 11:04:29 +00:00
script:
- make -e test-$PYTHON_VERSION
2017-02-17 10:24:57 +00:00
2017-02-13 11:04:29 +00:00
test-3.5:
<<: *test_definition
variables:
PYTHON_VERSION: "3.5"
2017-02-13 11:04:29 +00:00
test-2.7:
<<: *test_definition
variables:
PYTHON_VERSION: "2.7"
2017-02-13 11:04:29 +00:00
.image: &image_definition
2017-02-27 19:00:09 +00:00
stage: push
2017-02-13 11:04:29 +00:00
script:
- make -e push-$PYTHON_VERSION
2017-02-13 11:04:29 +00:00
only:
2017-02-13 18:41:18 +00:00
- tags
- triggers
2017-02-13 11:04:29 +00:00
2017-02-27 19:00:09 +00:00
push-3.5:
2017-02-13 11:04:29 +00:00
<<: *image_definition
variables:
2017-02-13 18:41:18 +00:00
PYTHON_VERSION: "3.5"
2017-02-13 11:04:29 +00:00
2017-02-27 19:00:09 +00:00
push-2.7:
2017-02-13 11:04:29 +00:00
<<: *image_definition
variables:
2017-02-13 18:41:18 +00:00
PYTHON_VERSION: "2.7"
2017-02-27 19:00:09 +00:00
push-latest:
<<: *image_definition
2017-02-27 18:30:02 +00:00
variables:
PYTHON_VERSION: latest
2017-02-13 18:41:18 +00:00
only:
- master
- triggers
push-github:
2017-05-19 12:38:29 +00:00
stage: deploy
script:
- make -e push-github
2017-05-19 12:38:29 +00:00
only:
- master
- triggers
2017-05-19 12:38:29 +00:00
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:
2017-05-19 15:55:52 +00:00
stage: deploy
environment: test
2017-05-19 15:55:52 +00:00
script:
- make -e deploy
2017-05-19 15:55:52 +00:00
only:
- master
2017-05-19 15:55:52 +00:00
push-github:
stage: deploy
script:
- make -e push-github
only:
- master
- triggers
clean :
stage: clean
script:
- make -e clean
when: manual
cleanup_py:
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.
2017-06-02 18:02:27 +00:00
- docker logout