# kate: indent-width 2; variables: TRAVIS_BRANCH: ${CI_COMMIT_REF_NAME} TRAVIS_COMMIT: ${CI_COMMIT_SHA} DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 GIT_SUBMODULE_STRATEGY: recursive .jobtpl: services: - docker:dind retry: max: 2 when: - always image: docker:stable before_script: - | apk --update add openssh-client rsync git file bash python3 pip3 install -U docker jinja2 docopt export BASEIMAGE="${MY_MODULE}-testing_${DOCKER_TAG}:${TRAVIS_BRANCH/\//_}" export IMAGE="dunecommunity/ci_${MY_MODULE}-testing_${DOCKER_TAG}:${TRAVIS_COMMIT}" # get image with fallback to master branch of the super repo docker pull dunecommunity/${BASEIMAGE} || export BASEIMAGE="${MY_MODULE}-testing_${DOCKER_TAG}:master" ; docker pull dunecommunity/${BASEIMAGE} export ENV_FILE=${HOME}/env mkdir ${CI_PROJECT_DIR}/testresults && chmod -R 777 ${CI_PROJECT_DIR}/testresults DOCKER_RUN="docker run -v ${CI_PROJECT_DIR}/testresults:/home/dune-ci/testresults --env-file ${ENV_FILE} ${IMAGE}" git submodule update --init --recursive docker build --build-arg BASE=${BASEIMAGE} -t ${IMAGE} -f .ci/shared/docker/ci_run/Dockerfile . docker inspect ${IMAGE} script: - | python3 ./.ci/shared/scripts/make_env_file.py ${DOCKER_RUN} /home/dune-ci/src/${MY_MODULE}/.ci/shared/scripts/test_cpp.bash ${DOCKER_RUN} /home/dune-ci/src/${MY_MODULE}/.ci/shared/scripts/test_python.bash after_script: - | export IMAGE="dunecommunity/ci_${MY_MODULE}-testing_${DOCKER_TAG}:${TRAVIS_COMMIT}" echo $DOCKER_PW | docker login --username="$DOCKER_USER" --password-stdin docker push ${IMAGE} artifacts: reports: junit: '${CI_PROJECT_DIR}/testresults/*xml'