#!/bin/sh set -e # Arguments passed from YAML: # $1 = Target Name (e.g., windows, linux) # $2 = Dockerfile Path (e.g., Dockerfile.windows) TARGET_NAME="$1" DOCKERFILE="$2" IMAGE_NAME="godot-builder-$TARGET_NAME" # Determine Base Tag (Must match logic in build-base.sh!) BASE_HASH=$(sha256sum Dockerfile.base | cut -c 1-8) BASE_FULL_TAG="$REGISTRY/$USERNAME/godot-builder-base:$BASE_HASH" # Target Tags (Using the Commit SHA passed from workflow) FULL_TAG="$REGISTRY/$USERNAME/$IMAGE_NAME:$TAG" LATEST_TAG="$REGISTRY/$USERNAME/$IMAGE_NAME:latest" echo "Logging in..." buildah login -u "$USERNAME" -p "$PASSWORD" --tls-verify=false "$REGISTRY" echo "---------------------------------------" echo "Building $TARGET_NAME Image..." echo "Using Base: $BASE_FULL_TAG" echo "---------------------------------------" # 1. Pull the Base (Required so Buildah knows about it) buildah pull --tls-verify=false "$BASE_FULL_TAG" # 2. Create Local Alias # This satisfies "FROM godot-fedora:custom" in your Dockerfiles buildah tag "$BASE_FULL_TAG" "godot-fedora:custom" # 3. Build Target buildah build \ --tls-verify=false \ --build-arg img_version=custom \ -f "$DOCKERFILE" \ -t "$FULL_TAG" \ -t "$LATEST_TAG" \ . echo "Pushing $TARGET_NAME image..." buildah push --tls-verify=false "$FULL_TAG" buildah push --tls-verify=false "$LATEST_TAG"