2025-12-12 22:04:39 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
2026-09-18 15:51:25 +02:00
|
|
|
# Publish one image per distro, each covering every platform its base offers.
|
2025-12-12 22:04:39 +01:00
|
|
|
#
|
|
|
|
|
# Required env:
|
|
|
|
|
# OWNER (e.g. GITHUB_REPOSITORY_OWNER)
|
|
|
|
|
# VERSION (e.g. 1.2.3)
|
2026-11-04 18:38:42 +01:00
|
|
|
# ALIASES moving tags besides VERSION, space separated, may be empty (e.g. "latest 1 1.2 stable")
|
2025-12-12 22:04:39 +01:00
|
|
|
#
|
|
|
|
|
# Optional env:
|
|
|
|
|
# REGISTRY (default: ghcr.io)
|
|
|
|
|
# DISTROS (default: "arch debian ubuntu fedora centos")
|
|
|
|
|
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
|
|
|
|
2026-11-01 00:52:42 +01:00
|
|
|
# shellcheck source=./scripts/build/base.sh
|
|
|
|
|
source "${SCRIPT_DIR}/base.sh"
|
|
|
|
|
|
2025-12-12 22:04:39 +01:00
|
|
|
REGISTRY="${REGISTRY:-ghcr.io}"
|
|
|
|
|
DISTROS="${DISTROS:-arch debian ubuntu fedora centos}"
|
|
|
|
|
|
|
|
|
|
: "${OWNER:?Environment variable OWNER must be set (e.g. github.repository_owner)}"
|
|
|
|
|
: "${VERSION:?Environment variable VERSION must be set (e.g. 1.2.3)}"
|
2026-11-04 18:38:42 +01:00
|
|
|
: "${ALIASES?Environment variable ALIASES must be set, empty for none (e.g. \"latest 1 1.2 stable\")}"
|
2025-12-12 22:04:39 +01:00
|
|
|
|
|
|
|
|
echo "[publish] REGISTRY=${REGISTRY}"
|
|
|
|
|
echo "[publish] OWNER=${OWNER}"
|
|
|
|
|
echo "[publish] VERSION=${VERSION}"
|
2026-11-04 18:38:42 +01:00
|
|
|
echo "[publish] ALIASES=${ALIASES}"
|
2025-12-12 22:04:39 +01:00
|
|
|
echo "[publish] DISTROS=${DISTROS}"
|
|
|
|
|
|
|
|
|
|
for d in ${DISTROS}; do
|
|
|
|
|
echo
|
|
|
|
|
echo "============================================================"
|
2025-12-13 14:34:15 +01:00
|
|
|
echo "[publish] PKGMGR_DISTRO=${d}"
|
2025-12-12 22:04:39 +01:00
|
|
|
echo "============================================================"
|
|
|
|
|
|
2026-11-01 00:52:42 +01:00
|
|
|
IFS=',' read -ra platforms <<< "$(resolve_platforms "${d}")"
|
|
|
|
|
for p in "${platforms[@]}"; do
|
|
|
|
|
PKGMGR_DISTRO="${d}" bash "${SCRIPT_DIR}/image.sh" \
|
|
|
|
|
--publish \
|
|
|
|
|
--registry "${REGISTRY}" \
|
|
|
|
|
--owner "${OWNER}" \
|
|
|
|
|
--version "${VERSION}" \
|
|
|
|
|
--platform "${p}"
|
|
|
|
|
done
|
|
|
|
|
|
2025-12-13 14:34:15 +01:00
|
|
|
PKGMGR_DISTRO="${d}" bash "${SCRIPT_DIR}/image.sh" \
|
2025-12-12 22:04:39 +01:00
|
|
|
--publish \
|
|
|
|
|
--registry "${REGISTRY}" \
|
|
|
|
|
--owner "${OWNER}" \
|
|
|
|
|
--version "${VERSION}" \
|
2026-11-04 18:38:42 +01:00
|
|
|
--aliases "${ALIASES}" \
|
2026-11-01 00:52:42 +01:00
|
|
|
--merge
|
2025-12-12 22:04:39 +01:00
|
|
|
done
|
|
|
|
|
|
|
|
|
|
echo
|
|
|
|
|
echo "[publish] Done."
|