diff --git a/hack/docker.sh b/hack/docker.sh index 09c3747529..57aac1c785 100755 --- a/hack/docker.sh +++ b/hack/docker.sh @@ -4,16 +4,17 @@ git_commit=$1 git_tag=$2 docker_tag=edge -commit_tag=$(git tag --contains ${git_commit}) +commit_tag=$(git describe --exact-match ${git_commit} 2>/dev/null) -if [[ ${commit_tag} == *${git_tag}* ]]; then - # we're on the tag, use the docker image for the tag +if [[ ${commit_tag} == ${git_tag} ]]; then + # we're on the exact commit of the tag, use the docker image for the tag docker_tag=${git_tag//v/} echo ${docker_tag} exit 0 else - # we're on main or a branch, try to download the latest edge and see if sha matches + # we're on a random commit, pull the 'edge' docker image to compare commits + # if it's the latest commit from 'main' the SHA will match the 'revision' of the 'edge' docker image docker pull nginx/nginx-ingress:${docker_tag} >/dev/null 2>&1 DOCKER_SHA=$(docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.revision" }}' nginx/nginx-ingress:${docker_tag}) if [[ ${DOCKER_SHA} == ${git_commit} ]]; then