#!/usr/bin/env bash # publish-image.sh — tag and push the runner image to a registry set -euo pipefail IMAGE_NAME="${IMAGE_NAME:-custom-gitea-runner}" REGISTRY="${REGISTRY:-registry.alwisp.com}" # Gitea Container Registry namespaces images under an owner (user/org), e.g. # registry.alwisp.com//. Set REGISTRY_NAMESPACE to that owner. REGISTRY_NAMESPACE="${REGISTRY_NAMESPACE:-jason}" VERSION="${VERSION:-}" if [ -z "$VERSION" ]; then echo "[ERROR] VERSION must be set (e.g. VERSION=v0.1.0 ./scripts/publish-image.sh)" exit 1 fi # Build the remote repository path, including the namespace when one is set. if [ -n "${REGISTRY_NAMESPACE}" ]; then REMOTE_REPO="${REGISTRY}/${REGISTRY_NAMESPACE}/${IMAGE_NAME}" else REMOTE_REPO="${REGISTRY}/${IMAGE_NAME}" fi LOCAL_TAG="${IMAGE_NAME}:${VERSION}" REMOTE_TAG="${REMOTE_REPO}:${VERSION}" REMOTE_LATEST="${REMOTE_REPO}:latest" echo "Tagging ${LOCAL_TAG} as ${REMOTE_TAG} ..." docker tag "${LOCAL_TAG}" "${REMOTE_TAG}" docker tag "${LOCAL_TAG}" "${REMOTE_LATEST}" echo "Pushing ${REMOTE_TAG} ..." docker push "${REMOTE_TAG}" docker push "${REMOTE_LATEST}" echo "Published: ${REMOTE_TAG}"