diff options
Diffstat (limited to '.scripts.d/40-publish.sh')
| -rw-r--r-- | .scripts.d/40-publish.sh | 63 |
1 files changed, 29 insertions, 34 deletions
diff --git a/.scripts.d/40-publish.sh b/.scripts.d/40-publish.sh index 58ef019..68820d0 100644 --- a/.scripts.d/40-publish.sh +++ b/.scripts.d/40-publish.sh @@ -5,41 +5,36 @@ 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 -} +command -v docker >/dev/null 2>&1 || { echo 'please install docker-client'; exit 1; } -docker login --username "chn2guevara" \ - --password-stdin <<<"$DOCKERHUB_TOKEN" +# 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" -BUILDER_SUFFIX=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5 ; echo '') -docker run --privileged --rm tonistiigi/binfmt --install arm64 -docker buildx create --use --name "multi-arch-builder-${BUILDER_SUFFIX}" -trap "docker buildx rm 'multi-arch-builder-""${BUILDER_SUFFIX}""'" EXIT +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}" -DOCKER_TAG="latest" -if [ "$BRANCH_NAME" != "master" ]; then - DOCKER_TAG="${BRANCH_NAME//\//-}" -fi +skopeo copy \ + --all \ + "docker://${IMAGE_TEST_NAME}" \ + "docker://${IMAGE_INTERNAL_RELEASE_NAME_VERSIONED}" -if [ "$(git tag --contains)" = "" ]; then - docker buildx build \ - --platform linux/amd64,linux/arm64 \ - --builder "multi-arch-builder-${BUILDER_SUFFIX}" \ - --no-cache \ - --pull \ - --push \ - --tag "chn2guevara/languagetool:${DOCKER_TAG}" \ - . -else - docker buildx build \ - --platform linux/amd64,linux/arm64 \ - --builder "multi-arch-builder-${BUILDER_SUFFIX}" \ - --no-cache \ - --pull \ - --push \ - --tag "chn2guevara/languagetool:${DOCKER_TAG}" \ - --tag "chn2guevara/languagetool:$(git tag --contains | head -1)" \ - . -fi +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}" |