perf(woodpecker): add Docker layer caching for faster builds

This commit is contained in:
Ashwin Kumar 2026-04-10 05:43:48 +02:00
parent f5c7b2b19e
commit f61df5b432

View file

@ -11,22 +11,27 @@ steps:
#!/bin/bash
set -e
# Get changed files from last commit
CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD || echo "")
# Check if relevant files changed (src, package.json, Dockerfile, etc.)
# Skip if only docs changed
if echo "$CHANGED_FILES" | grep -qE "^\.github/|^\.woodpecker|\.md$"; then
if ! echo "$CHANGED_FILES" | grep -qE "^(src/|package\.json|Dockerfile|vite\.config)"; then
echo "⏭️ Only docs changed, skipping"
exit 78
fi
fi
RELEVANT_CHANGED=false
if echo "$CHANGED_FILES" | grep -qE "^(src/|package\.json|package-lock\.json|Dockerfile|vite\.config|tsconfig|public/)"; then
RELEVANT_CHANGED=true
echo "✅ Admin panel code changed - will build"
echo "✅ Admin panel code changed"
fi
# Exit with code 78 to skip subsequent steps if no changes
if [ "$RELEVANT_CHANGED" = "true" ]; then
echo "🚀 Will build admin panel"
echo "🚀 Building admin panel"
exit 0
else
echo "⏭️ Skipping admin panel - no relevant changes"
echo "⏭️ Skipping admin panel"
exit 78
fi
@ -45,3 +50,6 @@ steps:
password:
from_secret: GHCR_TOKEN
platforms: linux/amd64
# Enable layer caching
cache_from: ghcr.io/traceworks2023/nxtgauge-admin-solid:cache
cache_to: ghcr.io/traceworks2023/nxtgauge-admin-solid:cache