|
| 1 | +#!/bin/bash |
| 2 | +echo '--- :evergreen_tree: Configuring Environment' |
| 3 | +set -euo pipefail |
| 4 | + |
| 5 | +buildkite-agent artifact download '*.deb' --step ':ubuntu: Ubuntu 18.04 - Package Builder' . |
| 6 | +echo ":done: download successful" |
| 7 | + |
| 8 | +SANITIZED_BRANCH=$(echo "$BUILDKITE_BRANCH" | sed 's.^/..' | sed 's/[:/]/_/g') |
| 9 | +SANITIZED_TAG=$(echo "$BUILDKITE_TAG" | sed 's.^/..' | tr '/' '_') |
| 10 | +echo "$SANITIZED_BRANCH" |
| 11 | +echo "$SANITIZED_TAG" |
| 12 | + |
| 13 | +# do docker build |
| 14 | +echo '+++ :docker: Building Container' |
| 15 | +echo ":docker::build: Building image..." |
| 16 | +DOCKERHUB_REGISTRY="docker.io/eosio/eosio.cdt" |
| 17 | + |
| 18 | +BUILD_TAG=${BUILDKITE_BUILD_NUMBER:-latest} |
| 19 | +DOCKER_BUILD_GEN="docker build -t eosio_cdt_image:$BUILD_TAG -f ./docker/dockerfile ." |
| 20 | +echo "$ $DOCKER_BUILD_GEN" |
| 21 | +eval $DOCKER_BUILD_GEN |
| 22 | + |
| 23 | +#tag and push on each destination AWS & DOCKERHUB |
| 24 | +echo '+++ :arrow_up: Pushing Container' |
| 25 | +EOSIO_REGS=("$EOSIO_CDT_REGISTRY" "$DOCKERHUB_REGISTRY") |
| 26 | +for REG in ${EOSIO_REGS[@]}; do |
| 27 | + DOCKER_TAG_COMMIT="docker tag eosio_cdt_image:$BUILD_TAG $REG:$BUILDKITE_COMMIT" |
| 28 | + DOCKER_TAG_BRANCH="docker tag eosio_cdt_image:$BUILD_TAG $REG:$SANITIZED_BRANCH" |
| 29 | + echo -e "$ Tagging Images: \n$DOCKER_TAG_COMMIT \n$DOCKER_TAG_BRANCH" |
| 30 | + eval $DOCKER_TAG_COMMIT |
| 31 | + eval $DOCKER_TAG_BRANCH |
| 32 | + DOCKER_PUSH_COMMIT="docker push $REG:$BUILDKITE_COMMIT" |
| 33 | + DOCKER_PUSH_BRANCH="docker push $REG:$SANITIZED_BRANCH" |
| 34 | + echo -e "$ Pushing Images: \n$DOCKER_PUSH_COMMIT \n$DOCKER_PUSH_BRANCH" |
| 35 | + eval $DOCKER_PUSH_COMMIT |
| 36 | + eval $DOCKER_PUSH_BRANCH |
| 37 | + CLEAN_IMAGE_COMMIT="docker rmi $REG:$BUILDKITE_COMMIT" |
| 38 | + CLEAN_IMAGE_BRANCH="docker rmi $REG:$SANITIZED_BRANCH" |
| 39 | + echo -e "Cleaning Up: \n$CLEAN_IMAGE_COMMIT \n$CLEAN_IMAGE_BRANCH$" |
| 40 | + eval $CLEAN_IMAGE_COMMIT |
| 41 | + eval $CLEAN_IMAGE_BRANCH |
| 42 | + if [[ ! -z "$SANITIZED_TAG" ]]; then |
| 43 | + DOCKER_TAG="docker tag eosio_cdt_image $REG:$SANITIZED_TAG" |
| 44 | + DOCKER_REM="docker rmi $REG:$SANITIZED_TAG" |
| 45 | + echo -e "$ \n Tagging Image: \n$DOCKER_TAG \n Cleaning Up: \n$DOCKER_REM" |
| 46 | + eval $DOCKER_TAG |
| 47 | + eval $DOCKER_REM |
| 48 | + fi |
| 49 | +done |
| 50 | + |
| 51 | +DOCKER_GEN="docker rmi eosio_cdt_image:$BUILD_TAG" |
| 52 | +echo "Clean up base image" |
| 53 | +eval $DOCKER_GEN |
0 commit comments