nxtgauge-admin-solid/.woodpecker.yml

47 lines
1.3 KiB
YAML

when:
branch: [main, high-performance]
event: push
steps:
- name: detect-changes
image: alpine/git
commands:
- apk add --no-cache bash
- |
#!/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.)
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"
fi
# Exit with code 78 to skip subsequent steps if no changes
if [ "$RELEVANT_CHANGED" = "true" ]; then
echo "🚀 Will build admin panel"
exit 0
else
echo "⏭️ Skipping admin panel - no relevant changes"
exit 78
fi
- name: build-and-push
image: woodpeckerci/plugin-docker-buildx:5.0.0
settings:
registry: ghcr.io
repo: ghcr.io/traceworks2023/nxtgauge-admin-solid
dockerfile: Dockerfile
tags:
- ${CI_COMMIT_SHA}
- latest
- high-performance-latest
username:
from_secret: GHCR_USERNAME
password:
from_secret: GHCR_TOKEN
platforms: linux/amd64