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