#!/bin/bash
# Jenkins job: thoughtframe-os — amd64 base image only (JDK / apt / LibreOffice).
# Slow; run when docker/thoughtframe-os/Dockerfile or Jetty home pin changes.
#
#   REGISTRY=registry.thoughtframe.ai ./docker/jetty-slim/scripts/publish-os.sh
#
# Does not bake a WAR or publish arm64 (see publish.sh / publish-arm64.sh).
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
MONOREPO="$(cd "$ROOT_DIR/../.." && pwd)"

REGISTRY="${REGISTRY:-registry.thoughtframe.ai}"
OS_IMAGE_NAME="${OS_IMAGE_NAME:-thoughtframe-os}"
OS_TAG="${OS_TAG:-latest}"
WITH_LIBREOFFICE="${WITH_LIBREOFFICE:-}"

GRADLE_PROPS=(
	-PosImage="${OS_IMAGE_NAME}"
	-PosTag="${OS_TAG}"
	-Pregistry="${REGISTRY}"
)
if [ -n "${WITH_LIBREOFFICE}" ]; then
	GRADLE_PROPS+=(-PwithLibreOffice="${WITH_LIBREOFFICE}")
fi

echo "Publishing ${OS_IMAGE_NAME}:${OS_TAG} → ${REGISTRY}"
(
	cd "$MONOREPO"
	./gradlew :docker:dockerOsPush "${GRADLE_PROPS[@]}"
)
echo "Published ${REGISTRY}/${OS_IMAGE_NAME}:${OS_TAG} (and :latest)"
