website-htmx-rustelo-code/scripts/build/build-docker-cross.nu

44 lines
1.4 KiB
Text
Raw Normal View History

2026-07-10 03:44:13 +01:00
#!/usr/bin/env nu
# Docker Cross-build Image Builder
# Nushell version of build-docker-cross.sh
# Builds Docker image for cross-platform compilation
def main [] {
# Configuration - following project's configuration-driven approach
let dockerfile = "Dockerfile.cross"
let image_tag = "localhost/website-cross:latest"
print $"(ansi blue)🐳 Building Docker cross-compilation image...(ansi reset)"
print $"(ansi blue)📄 Dockerfile: ($dockerfile)(ansi reset)"
print $"(ansi blue)🏷️ Tag: ($image_tag)(ansi reset)"
# Check if Dockerfile exists
if not ($dockerfile | path exists) {
print $"(ansi red)❌ Dockerfile not found: ($dockerfile)(ansi reset)"
exit 1
}
# Check if Docker is available
try {
docker --version | ignore
} catch {
print $"(ansi red)❌ Docker is not available or not running(ansi reset)"
exit 1
}
# Build the Docker image
try {
docker build -f $dockerfile -t $image_tag .
print $"(ansi green)✅ Docker image built successfully: ($image_tag)(ansi reset)"
# Show image info
let image_info = (docker images $image_tag --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}\t{{.CreatedAt}}")
print $"(ansi blue)📊 Image info:(ansi reset)"
print $image_info
} catch {
print $"(ansi red)❌ Failed to build Docker image(ansi reset)"
exit 1
}
}