#!/usr/bin/env bash set -euo pipefail : "${INPUT_GIT_SERVER_URL:?missing INPUT_GIT_SERVER_URL}" : "${INPUT_GIT_REPOSITORY:?missing INPUT_GIT_REPOSITORY}" : "${INPUT_GIT_SHA:?missing INPUT_GIT_SHA}" : "${INPUT_GIT_USER:?missing INPUT_GIT_USER}" : "${INPUT_GIT_TOKEN:?missing INPUT_GIT_TOKEN}" : "${INPUT_REGISTRY:?missing INPUT_REGISTRY}" : "${INPUT_REGISTRY_USER:?missing INPUT_REGISTRY_USER}" : "${INPUT_REGISTRY_TOKEN:?missing INPUT_REGISTRY_TOKEN}" : "${INPUT_IMAGE_NAME:?missing INPUT_IMAGE_NAME}" : "${INPUT_IMAGE_TAG:?missing INPUT_IMAGE_TAG}" : "${INPUT_CONTEXT:?missing INPUT_CONTEXT}" : "${INPUT_DOCKERFILE:?missing INPUT_DOCKERFILE}" : "${INPUT_REMOTE_DOCKER_SSH_HOST:?missing INPUT_REMOTE_DOCKER_SSH_HOST}" : "${INPUT_REMOTE_DOCKER_SSH_PORT:-22}" : "${INPUT_REMOTE_DOCKER_SSH_USERNAME:?missing INPUT_REMOTE_DOCKER_SSH_USERNAME}" : "${INPUT_REMOTE_DOCKER_SSH_KEY:?missing INPUT_REMOTE_DOCKER_SSH_KEY}" keyfile="$(mktemp)" knownhosts="$(mktemp)" trap 'rm -f "$keyfile" "$knownhosts"' EXIT printf '%s\n' "$INPUT_REMOTE_DOCKER_SSH_KEY" > "$keyfile" chmod 600 "$keyfile" ssh -i "$keyfile" \ -p "${INPUT_REMOTE_DOCKER_SSH_PORT}" \ -o BatchMode=yes \ -o IdentitiesOnly=yes \ -o StrictHostKeyChecking=no \ -o UserKnownHostsFile=/dev/null \ -T "${INPUT_REMOTE_DOCKER_SSH_USERNAME}@${INPUT_REMOTE_DOCKER_SSH_HOST}"