Some checks failed
Publish Builder Images / setup (push) Successful in 41s
Publish Builder Images / build-base (push) Failing after 24s
Publish Builder Images / build-targets (Dockerfile.linux, linux) (push) Has been skipped
Publish Builder Images / build-targets (Dockerfile.windows, windows) (push) Has been skipped
46 lines
1.3 KiB
Bash
46 lines
1.3 KiB
Bash
#!/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" |