mirror of
https://github.com/gsi-upm/senpy
synced 2024-11-14 12:42:27 +00:00
104 lines
1.9 KiB
YAML
104 lines
1.9 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:
|
|
- make -e login
|
|
|
|
.test: &test_definition
|
|
stage: test
|
|
script:
|
|
- make -e test-$PYTHON_VERSION
|
|
except:
|
|
- tags # Avoid unnecessary double testing
|
|
|
|
test-3.6:
|
|
<<: *test_definition
|
|
variables:
|
|
PYTHON_VERSION: "3.6"
|
|
|
|
test-3.7:
|
|
<<: *test_definition
|
|
allow_failure: true
|
|
variables:
|
|
PYTHON_VERSION: "3.7"
|
|
|
|
push:
|
|
stage: push
|
|
script:
|
|
- make -e push
|
|
only:
|
|
- tags
|
|
- triggers
|
|
- fix-makefiles
|
|
|
|
push-latest:
|
|
stage: push
|
|
script:
|
|
- make -e push-latest
|
|
only:
|
|
- master
|
|
- triggers
|
|
- fix-makefiles
|
|
|
|
push-github:
|
|
stage: deploy
|
|
script:
|
|
- make -e push-github
|
|
only:
|
|
- master
|
|
- triggers
|
|
- fix-makefiles
|
|
|
|
deploy_pypi:
|
|
stage: deploy
|
|
script: # Configure the PyPI credentials, then push the package, and cleanup the creds.
|
|
- echo "[server-login]" >> ~/.pypirc
|
|
- echo "repository=https://upload.pypi.org/legacy/" >> ~/.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
|
|
- fix-makefiles
|
|
|
|
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.
|