#!/bin/bash # vim: ai:ts=8:sw=8:noet set -EeufCo pipefail export SHELLOPTS # propagate set to children by default IFS=$'\t\n' # check required commands are in place command -v docker >/dev/null 2>&1 || { echo 'please install docker-client'; exit 1; } # shellcheck disable=SC2001 REGISTRY=$(echo "${GITHUB_SERVER_URL}" | sed -e 's|^[^/]*//||') TAG="${GITHUB_RUN_ID}" IMAGE_TEST_NAME="${REGISTRY}/${GITHUB_REPOSITORY,,}:${TAG}" IMAGE_INTERNAL_RELEASE_NAME_VERSIONED="${REGISTRY}/${GITHUB_REPOSITORY,,}:${LT_VERSION}" IMAGE_INTERNAL_RELEASE_NAME_LATEST="${REGISTRY}/${GITHUB_REPOSITORY,,}:latest" IMAGE_EXTERNAL_RELEASE_NAME_VERSIONED="docker.io/${DOCKERHUB_REGISTRY_USER}/languagetool:${LT_VERSION}" IMAGE_EXTERNAL_RELEASE_NAME_LATEST="docker.io/${DOCKERHUB_REGISTRY_USER}/languagetool:latest" docker login "${REGISTRY}" -u "${GITEA_REGISTRY_USER}" --password-stdin <<<"${GITEA_REGISTRY_TOKEN}" docker login docker.io -u "${DOCKERHUB_REGISTRY_USER}" --password-stdin <<<"${DOCKERHUB_REGISTRY_TOKEN}" skopeo copy \ --all \ "docker://${IMAGE_TEST_NAME}" \ "docker://${IMAGE_INTERNAL_RELEASE_NAME_VERSIONED}" skopeo copy \ --all \ "docker://${IMAGE_TEST_NAME}" \ "docker://${IMAGE_INTERNAL_RELEASE_NAME_LATEST}" skopeo copy \ --all \ "docker://${IMAGE_TEST_NAME}" \ "docker://${IMAGE_EXTERNAL_RELEASE_NAME_VERSIONED}" skopeo copy \ --all \ "docker://${IMAGE_TEST_NAME}" \ "docker://${IMAGE_EXTERNAL_RELEASE_NAME_LATEST}"