Skip to content
This repository has been archived by the owner on Dec 16, 2019. It is now read-only.

Commit

Permalink
Merge c7cf1ae into cedabe5
Browse files Browse the repository at this point in the history
  • Loading branch information
viklund committed Sep 21, 2018
2 parents cedabe5 + c7cf1ae commit 1222479
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 23 deletions.
29 changes: 14 additions & 15 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,38 +33,44 @@ jobs:
- cd docker
script:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USER" --password-stdin
- ../extras/travis.sh os
- ../extras/travis.sh openssh
- ../extras/travis_check_image_change.sh os
- ../extras/travis_check_image_change.sh openssh
# Pulling image for layer caching
- docker pull nbisweden/ega-base
- docker pull nbisweden/ega-inbox
- make -C images base inbox
- docker push nbisweden/ega-base:dev
- docker push nbisweden/ega-inbox:dev
- docker push nbisweden/ega-base:"PR${TRAVIS_PULL_REQUEST}"
- docker push nbisweden/ega-inbox:"PR${TRAVIS_PULL_REQUEST}"
- stage: integration tests
before_script:
- cd docker
- ../extras/travis_push_docker_hub.sh
- make bootstrap ARGS='--inbox mina --keyserver ega'
- sudo chown -R travis private
- docker network create cega
- make up
- docker-compose ps
script:
- sleep 20
- sleep 25
- cd tests
- mvn test -Dtest=CommonTests -B
- stage: integration tests
before_script:
- cd docker
- ../extras/travis_push_docker_hub.sh
- make bootstrap ARGS='--inbox mina --keyserver ega'
- sudo chown -R travis private
- docker network create cega
- make up
- docker-compose ps
script:
- sleep 20
- sleep 25
- cd tests
- mvn test -Dtest=RobustnessTests -B
- stage: integration tests
before_script:
- cd docker
- ../extras/travis_push_docker_hub.sh
- make bootstrap
- sudo chown -R travis private
- docker network create cega
Expand All @@ -80,15 +86,8 @@ jobs:
- make -C test check

after_success:
- if [[ "$TRAVIS_BRANCH" == "dev" && "$TRAVIS_PULL_REQUEST" == "false" ]]; then
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USER" --password-stdin ;
docker pull nbisweden/ega-base:dev ;
docker pull nbisweden/ega-inbox:dev ;
docker tag nbisweden/ega-base:dev nbisweden/ega-base:latest ;
docker tag nbisweden/ega-inbox:dev nbisweden/ega-inbox:latest ;
docker push nbisweden/ega-base:latest ;
docker push nbisweden/ega-inbox:latest ;
fi
- cd extras
- ./travis_push_docker_hub.sh

notifications:
email: false
Expand Down
7 changes: 4 additions & 3 deletions docker/bootstrap/boot.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ OPENSSL=openssl
INBOX=openssh
KEYSERVER=lega


function usage {
echo "Usage: $0 [options]"
echo -e "\nOptions are:"
Expand All @@ -37,9 +38,9 @@ while [[ $# -gt 0 ]]; do
--verbose|-v) VERBOSE=yes;;
--polite|-p) FORCE=no;;
--openssl) OPENSSL=$2; shift;;
--inbox) INBOX=$2; shift;;
--keyserver) KEYSERVER=$2; shift;;
--) shift; break;;
--inbox) INBOX=$2; shift;;
--keyserver) KEYSERVER=$2; shift;;
--) shift; break;;
*) echo "$0: error - unrecognized option $1" 1>&2; usage; exit 1;; esac
shift
done
Expand Down
5 changes: 3 additions & 2 deletions docker/images/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ ifdef TRAVIS_COMMIT
TAG=$(TRAVIS_COMMIT)
CHECKOUT=$(TAG)
endif
ifdef TRAVIS_PULL_REQUEST_SHA
TAG=$(TRAVIS_PULL_REQUEST_SHA)
ifdef TRAVIS_PULL_REQUEST
TAG=PR$(TRAVIS_PULL_REQUEST)
CHECKOUT=$(TRAVIS_PULL_REQUEST_SHA)
endif

TARGET_PREFIX=nbisweden/ega
Expand Down
6 changes: 3 additions & 3 deletions docker/images/base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ RUN pip3.6 install --upgrade pip && \

ARG checkout=dev

RUN pip3.6 install -r https://raw.githubusercontent.com/NBISweden/LocalEGA/${checkout}/requirements.txt
RUN pip3.6 install git+https://github.com/NBISweden/LocalEGA.git@${checkout}

RUN pip3.6 install -r https://raw.githubusercontent.com/NBISweden/LocalEGA-cryptor/master/requirements.txt
RUN pip3.6 install git+https://github.com/NBISweden/LocalEGA-cryptor.git

RUN pip3.6 install -r https://raw.githubusercontent.com/NBISweden/LocalEGA/${checkout}/requirements.txt
RUN pip3.6 install git+https://github.com/NBISweden/LocalEGA.git@${checkout}
File renamed without changes.
41 changes: 41 additions & 0 deletions extras/travis_push_docker_hub.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env bash

DOCKER_IMAGES=(nbisweden/ega-base nbisweden/ega-inbox)

retag_image() {
base=$1
from=$2
to=$3
push=$4
docker pull "${base}:${from}"
docker tag "${base}:${from}" "${base}:${to}"
if [[ ${push} ]]; then
echo "Pushing LocalEGA image: ${base}:${to}"
docker push "${base}:${to}"
fi
}

retag_images() {
from=$1
to=$2
push=$3
for img in "${DOCKER_IMAGES[@]}"; do
retag_image $img "$from" "$to" $push
done
}

echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USER" --password-stdin ;

## Travis run on dev branch and not a PR (this is after a PR has been approved)
if [[ "$TRAVIS_BRANCH" == "dev" && "$TRAVIS_PULL_REQUEST" == "false" ]]; then
retag_images "PR${TRAVIS_PULL_REQUEST}" "latest" true
fi

# When we push a tag we will retag latest with that tag
if [[ "$TRAVIS_TAG" != "" && "$TRAVIS_PULL_REQUEST" == "false" ]]; then
retag_images "latest" "${TRAVIS_TAG}" true
fi

if [[ "$TRAVIS_PULL_REQUEST" != "false" && "$TRAVIS_PULL_REQUEST" != "" && "$TRAVIS_BUILD_STAGE_NAME" == "Integration tests" ]]; then
retag_images "PR${TRAVIS_PULL_REQUEST}" "dev" false
fi

0 comments on commit 1222479

Please sign in to comment.