dncurrency/ci/build-docker-image.sh

26 lines
753 B
Bash
Executable file

#!/bin/bash
set -u -x
if [ "$#" -lt 2 ]; then
echo 'Usage: build-docker-image.sh <dockerFile> <dockerImageTag> [<dockerBuildArgs>...]' >&2
exit 1
fi
dockerFile="$1"
dockerTag="$2"
githubTag="ghcr.io/${GITHUB_REPOSITORY}/${dockerTag#*/}"
shift
shift
echo "ci/build-docker-image.sh dockerFile=\"$dockerFile\" dockerTag=\"$dockerTag\" githubTag=\"$githubTag\""
scripts="$(dirname "$0")"
echo "Pulling $githubTag"
"$scripts"/custom-timeout.sh 20 docker pull "${githubTag}" || true
echo "Building $githubTag"
"$scripts"/custom-timeout.sh 60 docker build "$@" --build-arg REPOSITORY=${GITHUB_REPOSITORY} -f "${dockerFile}" -t "${githubTag}" --cache-from "${githubTag}" .
echo "Tagging ${dockerTag} from ${githubTag}"
docker tag $githubTag $dockerTag