Push all architectures in GHA context

This commit is contained in:
Alexander A. Klimov 2023-01-05 13:58:32 +01:00
parent 13359bae50
commit 566dbfa1de
2 changed files with 9 additions and 21 deletions

View File

@ -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

View File

@ -4,6 +4,7 @@ set -exo pipefail
I2SRC="$1"
TODO="$2"
TAG="${3:-test}"
if [ -z "$I2SRC" ]; then
cat <<EOF >&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