mirror of
https://github.com/gsi-upm/senpy
synced 2024-11-14 04:32:29 +00:00
c8f6f5613d
This replaces the makes for each python version with a simple `make push`. It will also add a "main image" for each version, i.e. `gsiupm/senpy:1.0.0` in addition to `gsiupm/senpy:1.0.0-python2.7` and `gsiupm/senpy:1.0.0-python3.5`.
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.5:
|
|
<<: *test_definition
|
|
variables:
|
|
PYTHON_VERSION: "3.5"
|
|
|
|
test-2.7:
|
|
<<: *test_definition
|
|
variables:
|
|
PYTHON_VERSION: "2.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.
|
|
- docker logout
|