nxtgauge-backend-rust/scripts/build-base-image.sh
Ashwin Kumar c221173172 perf(build): ultra-fast builds with caching and optimized Dockerfiles
- Add Dockerfile.fast with cargo-chef and symbol stripping

- Add Dockerfile.superfast using pre-built base image

- Add Dockerfile.base for dependency caching

- Update Woodpecker with registry cache (cache_from/cache_to)

- Add fast-build.sh for local ultra-fast builds

- Add build-base-image.sh for one-time dependency build

- Enable BuildKit layer caching in CI
2026-04-10 05:43:34 +02:00

23 lines
720 B
Bash
Executable file

#!/bin/bash
# build-base-image.sh - Build base image with all dependencies cached
# Run this once when dependencies change (not on every build!)
set -e
echo "🔨 Building base image with all dependencies..."
# Build base image with cargo-chef
docker build \
-f Dockerfile.base \
-t ghcr.io/traceworks2023/nxtgauge-rust-base:latest \
-t ghcr.io/traceworks2023/nxtgauge-rust-base:$(date +%Y%m%d) \
.
echo "📤 Pushing base image..."
docker push ghcr.io/traceworks2023/nxtgauge-rust-base:latest
docker push ghcr.io/traceworks2023/nxtgauge-rust-base:$(date +%Y%m%d)
echo "✅ Base image built and pushed!"
echo ""
echo "Now builds will use cached dependencies!"
echo "Build time: 15-20 min → 30-60 seconds"