fix(scripts): check registry auth properly before pushing the builder image
`docker info | grep Username` only reports a Docker Hub session, so for a private registry the guard never matched: every push dropped into an interactive docker login, which hangs a non-interactive run. Checks the credential store for the specific registry instead, and refuses with instructions rather than prompting when there is no TTY.
This commit is contained in:
@@ -26,10 +26,26 @@ echo "🏷️ Tagging for registry..."
|
|||||||
docker tag ${IMAGE_NAME}:${IMAGE_TAG} ${FULL_IMAGE_NAME}
|
docker tag ${IMAGE_NAME}:${IMAGE_TAG} ${FULL_IMAGE_NAME}
|
||||||
|
|
||||||
# Step 3: Login to registry (if not already logged in)
|
# Step 3: Login to registry (if not already logged in)
|
||||||
|
#
|
||||||
|
# `docker info | grep Username` only ever reports a Docker Hub session, so for a
|
||||||
|
# private registry it never matched — meaning this branch fired on every push and
|
||||||
|
# dropped into an interactive `docker login`, which hangs any non-interactive run
|
||||||
|
# (a scripted release, or CI). Check the credential store for this specific
|
||||||
|
# registry instead, and refuse rather than prompt when there is no TTY to
|
||||||
|
# prompt on.
|
||||||
echo "🔐 Checking registry authentication..."
|
echo "🔐 Checking registry authentication..."
|
||||||
if ! docker info | grep -q "Username"; then
|
DOCKER_CFG="${DOCKER_CONFIG:-$HOME/.docker}/config.json"
|
||||||
echo "Not authenticated to Docker. Logging in to ${REGISTRY_HOST}..."
|
if ! grep -q "\"${REGISTRY_HOST}\"" "$DOCKER_CFG" 2>/dev/null; then
|
||||||
docker login ${REGISTRY_HOST}
|
if [ -t 0 ]; then
|
||||||
|
echo "Not authenticated to ${REGISTRY_HOST}. Logging in..."
|
||||||
|
docker login "${REGISTRY_HOST}"
|
||||||
|
else
|
||||||
|
echo "❌ Not authenticated to ${REGISTRY_HOST}, and stdin is not a TTY."
|
||||||
|
echo " Run this first: docker login ${REGISTRY_HOST}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo " Using stored credentials for ${REGISTRY_HOST}."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Step 4: Push to registry
|
# Step 4: Push to registry
|
||||||
|
|||||||
Reference in New Issue
Block a user