#!/usr/bin/env bash set -eo pipefail image_name="babashka/babashka" image_tag=$(cat resources/BABASHKA_VERSION) latest_tag="latest" if [[ $image_tag =~ SNAPSHOT$ ]] then echo "This is a snapshot version" snapshot="true" else echo "This is a non-snapshot version" snapshot="false" fi if [ -z "$GITHUB_HEAD_REF" ] && [ "${GITHUB_REF##*/}" = "master" ] then echo "Building Docker image $image_name:$image_tag" echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USER" --password-stdin mv /tmp/release/bb . docker build -t "$image_name" -f Dockerfile.ci . docker tag "$image_name:$latest_tag" "$image_name:$image_tag" if [[ $snapshot == "false" ]]; then mv /tmp/release-static/bb . docker build -t "$image_name:alpine" -f Dockerfile.alpine . docker tag "$image_name:alpine" "$image_name:$image_tag-alpine" fi # we only update latest when it's not a SNAPSHOT version if [ "false" = "$snapshot" ]; then echo "Pushing image $image_name:$latest_tag" docker push "$image_name:$latest_tag" echo "Pushing image $image_name:alpine" docker push "$image_name:alpine" fi # we update the version tag, even if it's a SNAPSHOT version echo "Pushing image $image_name:$image_tag" docker push "$image_name:$image_tag" if [[ $snapshot == "false" ]]; then docker push "$image_name:$image_tag-alpine" fi else echo "Not publishing Docker image" fi exit 0;