#!/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)"