#!/usr/bin/env bash set -euo pipefail workdir="$PWD/repo" rm -rf "$workdir" mkdir -p "$workdir" git init "$workdir" cd "$workdir" git remote add origin "https://${INPUT_GIT_USER}:${INPUT_GIT_TOKEN}@${INPUT_GIT_BASE_URL}/${INPUT_GIT_REPOSITORY}.git" git fetch --depth=1 origin "${INPUT_GIT_SHA}" git checkout --detach FETCH_HEAD full_image="${INPUT_IMAGE_NAME}:${INPUT_IMAGE_TAG}" docker build \ -f "${INPUT_DOCKERFILE}" \ -t "${full_image}" \ "${INPUT_CONTEXT}" if [ "${INPUT_PUSH}" = "true" ]; then echo "${INPUT_REGISTRY_TOKEN}" | docker login "${INPUT_REGISTRY}" -u "${INPUT_REGISTRY_USER}" --password-stdin docker tag "${full_image}" "${INPUT_REGISTRY}/${full_image}" docker push "${INPUT_REGISTRY}/${full_image}" fi