From 566dbfa1de32a5f1e776ddfe84c538a8090f706d Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 5 Jan 2023 13:58:32 +0100 Subject: [PATCH] Push all architectures in GHA context --- action.bash | 27 +++++++-------------------- build.bash | 3 ++- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/action.bash b/action.bash index bf04fbb..4892e34 100755 --- a/action.bash +++ b/action.bash @@ -2,47 +2,34 @@ # Icinga 2 Docker image | (c) 2020 Icinga GmbH | GPLv2+ set -exo pipefail -TARGET=icinga/icinga2 - mkimg () { - test -n "$TAG" - env INPUT_FETCH-DEPTH=0 node /actions/checkout/dist/index.js |grep -vFe ::add-matcher:: docker buildx create --use - /docker-icinga2/build.bash . + /docker-icinga2/build.bash . "$@" STATE_isPost=1 node /actions/checkout/dist/index.js } -push () { - test -n "$TAG" - +login () { if [ "$(tr -d '\n' <<<"$DOCKER_HUB_PASSWORD" |wc -c)" -gt 0 ]; then docker login -u icingaadmin --password-stdin <<<"$DOCKER_HUB_PASSWORD" - docker tag "$TARGET" "${TARGET}:$TAG" - docker push "${TARGET}:$TAG" - docker logout fi } case "$GITHUB_EVENT_NAME" in pull_request) - grep -qEe '^refs/pull/[0-9]+' <<<"$GITHUB_REF" - TAG="pr$(grep -oEe '[0-9]+' <<<"$GITHUB_REF")" - mkimg + mkimg all ;; push) grep -qEe '^refs/heads/.' <<<"$GITHUB_REF" - TAG="$(cut -d / -f 3- <<<"$GITHUB_REF" |tr / -)" - mkimg - push + login + mkimg push "$(cut -d / -f 3- <<<"$GITHUB_REF" |tr / -)" ;; release) grep -qEe '^refs/tags/v[0-9]' <<<"$GITHUB_REF" - TAG="$(cut -d v -f 2- <<<"$GITHUB_REF")" - mkimg - push + login + mkimg push "$(cut -d v -f 2- <<<"$GITHUB_REF")" ;; *) echo "Unknown event: $GITHUB_EVENT_NAME" >&2 diff --git a/build.bash b/build.bash index baa3202..6e5dab2 100755 --- a/build.bash +++ b/build.bash @@ -4,6 +4,7 @@ set -exo pipefail I2SRC="$1" TODO="$2" +TAG="${3:-test}" if [ -z "$I2SRC" ]; then cat <&2 @@ -26,7 +27,7 @@ fi I2SRC="$(realpath "$I2SRC")" BLDCTX="$(realpath "$(dirname "$0")")" TMPBLDCTX="$(mktemp -d)" -COMMON_ARGS=(-f "${TMPBLDCTX}/Dockerfile" -t icinga/icinga2 "$TMPBLDCTX") +COMMON_ARGS=(-f "${TMPBLDCTX}/Dockerfile" -t "icinga/icinga2:$TAG" "$TMPBLDCTX") BUILDX=(docker buildx build --platform "$(echo linux/{amd64,arm{/v7,64/v8}} |tr ' ' ,)") trap "rm -rf $TMPBLDCTX" EXIT