Newer
Older
DOCKER_HOST: tcp://docker:2375
DOCKER_DRIVER: overlay2
CONTAINER_TEST_IMAGE: docker.km3net.de/test/orcasong:$CI_COMMIT_REF_SLUG
CONTAINER_RELEASE_IMAGE: docker.km3net.de/orcasong:$CI_COMMIT_TAG
CONTAINER_LATEST_IMAGE: docker.km3net.de/orcasong:latest
cache:
paths:
- .cache/pip
- venv/
key: "$CI_COMMIT_REF_SLUG"
.virtualenv_template: &virtualenv_definition |
python -V
test:
image: docker.km3net.de/base/python:3.6
stage: test
- make test
coverage:
image: docker.km3net.de/base/python:3.6
stage: coverage
script:
- *virtualenv_definition
- "make test-cov|grep TOTAL| awk '{printf \"COVERAGE: %.2f%%\", (1-$3/$2)*100 }'"
coverage: '/COVERAGE:\s*([0-9]*\.[0-9]*%)/'
artifacts:
paths:
- reports/coverage
docker:
image: docker:stable
services:
- docker:dind
stage: docker
script:
- docker build --pull -t $CONTAINER_TEST_IMAGE .
- docker push $CONTAINER_TEST_IMAGE
tags:
- docker
only:
- tags
image: docker.km3net.de/base/python:3.6
stage: release
cache: {}
script:
- pip install -U twine
- python setup.py sdist
- twine upload dist/*
only:
- tags
release-image:
image: docker:stable
services:
- docker:dind
stage: release
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE
- docker tag $CONTAINER_TEST_IMAGE $CONTAINER_LATEST_IMAGE
- docker push $CONTAINER_RELEASE_IMAGE
- docker push $CONTAINER_LATEST_IMAGE
tags:
- docker
only:
- tags
script:
- singularity --version
- singularity build $SINGULARITY_IMAGE Singularity
- apt-get update -qy
- apt-get install -qy lftp
- lftp -u $KM3NET_SFTP_USER,$KM3NET_SFTP_PASSWORD sftp://$KM3NET_SFTP_HOST -e "set sftp:auto-confirm yes; set ssl:verify-certificate no; cd singularity/; put $SINGULARITY_IMAGE; bye"