#!/usr/bin/env bash
set -euo pipefail

: "${ECR_REGISTRY:?ECR_REGISTRY is required}"
: "${ECR_REPOSITORY:?ECR_REPOSITORY is required}"
: "${GITHUB_OUTPUT:?GITHUB_OUTPUT is required}"

base_dockerfile="auto-oncall-services/Dockerfile.runtime-base"
base_tag="runtime-base-$(sha256sum "$base_dockerfile" | cut -d' ' -f1)"
base_image="${ECR_REGISTRY}/${ECR_REPOSITORY}:${base_tag}"

if aws ecr describe-images \
  --repository-name "$ECR_REPOSITORY" \
  --image-ids "imageTag=${base_tag}" \
  >/dev/null 2>&1; then
  echo "Runtime base image already exists: ${base_image}"
else
  echo "Building runtime base image: ${base_image}"
  docker build \
    --platform linux/amd64 \
    -f "$base_dockerfile" \
    -t "$base_image" \
    auto-oncall-services
  docker push "$base_image"
fi

echo "base_image=${base_image}" >> "$GITHUB_OUTPUT"
