#!/bin/bash export REGISTRY=eudat-docker-public.artie.ia.surfsara.nl REGISTRY_USER=eudat-artie-readonly _VERSION=centos7_4_2_8 CLEANUP="yes" RUNTESTS="yes" BUILD=0 GIT_BRANCH="" SECRET_DIR="" while [[ $# -gt 0 ]] do key="$1" case $key in "--nocleanup") CLEANUP="no" shift ;; "--notests") RUNTESTS="no" shift ;; "--branch") shift GIT_BRANCH=$1 shift ;; "--secret") shift SECRET_DIR=$1 shift ;; *) _VERSION=$1 shift ;; esac done set -x set -e export VERSION=$_VERSION source $(cd `dirname "${BASH_SOURCE[0]}"` && pwd)/version.sh IMAGE_NAME_VERSION=`image_name $VERSION` cleanup () { exit_code=$? echo "shuting down" docker-compose -f ci/docker-compose.yml down -v exit $exit_code } is_logged_in() { cat ~/.docker/config.json | jq -r --arg url "${REGISTRY}" '.auths | has($url)' } if [[ "$(is_logged_in)" == "false" ]]; then docker login -u $REGISTRY_USER $REGISTRY; fi if [ "$CLEANUP" = "yes" ] then trap cleanup EXIT ERR INT TERM fi if [ -z "$CI_COMMIT_TAG" ] then if [ -z "${GIT_BRANCH}" ] then GIT_BRANCH=${CI_COMMIT_REF_NAME} fi else GIT_BRANCH=release fi export DOCKER_IMAGE=${IMAGE_NAME_VERSION} IMAGE_NAME=${REGISTRY}/${IMAGE_NAME_VERSION} if [ -z "${SECRET_DIR}" ] then if [ -e secret ] then SECRET_DIR=$( pwd )/ci/secret else SECRET_DIR=$( realpath ~/secret ) fi fi echo "export SECRET_DIR=$SECRET_DIR" >> .variables export VOLUME=$( dirname $( pwd ) ) export SECRET_DIR=${SECRET_DIR} # start container docker pull ${IMAGE_NAME} docker-compose -f ci/docker-compose.yml run --rm icat \ /app/b2safe_entry_point.sh sudo -u irods /app/run_b2safe_tests.sh