-
Tobias Leibner authoredTobias Leibner authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
# 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
TESTS_MODULE_SUBDIR: None
.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 .
script:
- |
[[ -f ./.gitsuper ]] && echo "Please remove .gitsuper from the repo" && exit 1
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'