From a9227252e8e49d3522476e68c42e08f8bffbfd58 Mon Sep 17 00:00:00 2001 From: Ashwin Kumar Date: Fri, 10 Apr 2026 17:42:53 +0200 Subject: [PATCH] fix(woodpecker): handle shallow git clone for change detection --- .woodpecker.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index 93345c7..9aac099 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -11,7 +11,17 @@ steps: #!/bin/bash set -e - CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD || echo "") + # Fetch previous commit for comparison + git fetch --depth=2 origin +refs/heads/${CI_COMMIT_BRANCH}:refs/remotes/origin/${CI_COMMIT_BRANCH} || true + + # Get changed files (handle shallow clone) + CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || git diff --name-only origin/${CI_COMMIT_BRANCH}~1 origin/${CI_COMMIT_BRANCH} 2>/dev/null || echo "ALL") + + # If we can't detect changes, assume we should build + if [ "$CHANGED_FILES" = "ALL" ] || [ -z "$CHANGED_FILES" ]; then + echo "⚠️ Cannot detect changes, assuming build needed" + exit 0 + fi # Skip if only docs changed if echo "$CHANGED_FILES" | grep -qE "^\.github/|^\.woodpecker|\.md$"; then @@ -38,7 +48,6 @@ steps: - 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 @@ -46,7 +55,6 @@ steps: - ${CI_COMMIT_SHA} - latest - high-performance-latest - # Use Docker Hub for base images logins: - registry: https://index.docker.io/v1/ username: @@ -54,6 +62,5 @@ steps: 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