nxtgauge-admin-solid/.woodpecker.yml

59 lines
1.9 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
CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD || echo "")
# 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"
fi
if [ "$RELEVANT_CHANGED" = "true" ]; then
echo "🚀 Building admin panel"
exit 0
else
echo "⏭️ Skipping admin panel"
exit 78
fi
- name: build-and-push
image: woodpeckerci/plugin-docker-buildx:5.0.0
settings:
# Use internal registry
registry: docker-registry.registry.svc.cluster.local:5000
repo: docker-registry.registry.svc.cluster.local:5000/nxtgauge-admin-solid
dockerfile: Dockerfile
tags:
- ${CI_COMMIT_SHA}
- latest
- high-performance-latest
# Use Docker Hub for base images
logins:
- registry: https://index.docker.io/v1/
username:
from_secret: DOCKERHUB_USERNAME
password:
from_secret: DOCKERHUB_TOKEN
platforms: linux/amd64
# Enable caching from/to internal registry
cache_from: docker-registry.registry.svc.cluster.local:5000/nxtgauge-admin-solid:cache
cache_to: docker-registry.registry.svc.cluster.local:5000/nxtgauge-admin-solid:cache