#!/usr/bin/env bash # Builds the fuelish tools image (tooling-container/Dockerfile) locally, tagged with # tooling-container/VERSION and :latest. Does not push - test it with the numbered # pipeline scripts first, then publish with ./upload-image.sh. set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" ROOT="$(pwd)" fail() { echo "PREFLIGHT FAIL: $*" >&2; exit 1; } command -v docker >/dev/null 2>&1 \ || fail "docker not found in PATH" IMAGE="${REGISTRY_IMAGE:-fuelish/tools}" if [ -f "$ROOT/registry.env" ]; then # shellcheck disable=SC1091 source "$ROOT/registry.env" IMAGE="${REGISTRY_IMAGE:-$IMAGE}" fi VERSION="$(<"$ROOT/tooling-container/VERSION")" [ -n "$VERSION" ] || fail "tooling-container/VERSION is empty" echo "== Building $IMAGE:$VERSION ==" docker build \ -f "$ROOT/tooling-container/Dockerfile" \ -t "$IMAGE:$VERSION" \ -t "$IMAGE:latest" \ "$ROOT/tooling-container" echo "== Done ==" echo "Image: $IMAGE:$VERSION (and :latest)" echo "Test it with the numbered pipeline scripts, then publish with ./upload-image.sh"