diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1a32486..2878f46 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,21 +1,33 @@ -image: python:2.7.12-slim - -cache: - paths: - - pip-cache - -before_script: - - bash ci-scripts/before.sh - -variables: - COVERAGE_FILE: .coverage - PIP_CACHE_DIR: pip-cache - ONE_AUTH: "/tmp/test-one-auth" - ONE_XMLRPC: "http://localhost:2633/RPC2" +stages: + - test + - build pytest: stage: test + image: python:2.7.12-slim + cache: + paths: + - pip-cache + before_script: + - ci-scripts/before.sh + variables: + COVERAGE_FILE: .coverage + PIP_CACHE_DIR: pip-cache + ONE_AUTH: "/tmp/test-one-auth" + ONE_XMLRPC: "http://localhost:2633/RPC2" script: - python setup.py test tags: - docker + - docker-build + +build_image: + stage: build + image: docker:git + variables: + GODEBUG: 'netdns=cgo' + script: + - ci-scripts/build-image.sh + tags: + - docker + - docker-build diff --git a/ci-scripts/before.sh b/ci-scripts/before.sh old mode 100644 new mode 100755 diff --git a/ci-scripts/build-image.sh b/ci-scripts/build-image.sh new file mode 100755 index 0000000..64c7553 --- /dev/null +++ b/ci-scripts/build-image.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -e +DOCKER_IMAGE_TAG=${CI_BUILD_REF_NAME} +if [ ${DOCKER_IMAGE_TAG} == "master" ]; then + DOCKER_IMAGE_TAG="latest" +fi +docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY +docker build -t $CI_REGISTRY_IMAGE:${DOCKER_IMAGE_TAG} . +docker push $CI_REGISTRY_IMAGE:${DOCKER_IMAGE_TAG}