@@ -48,15 +48,35 @@ jobs:
4848 fi
4949
5050 # Check if docker-bake.hcl was modified
51- git diff HEAD^ HEAD docker-bake.hcl > /tmp/diff.txt
51+ if ! git diff HEAD^ HEAD --name-only | grep -q "docker-bake.hcl"; then
52+ echo "should_build=false" >> $GITHUB_OUTPUT
53+ echo "docker-bake.hcl not modified - skipping build"
54+ exit 0
55+ fi
56+
57+ # Get RELEASE value from current commit
58+ CURRENT_RELEASE=$(grep 'variable "RELEASE"' -A 2 docker-bake.hcl | grep 'default' | sed 's/.*"\(.*\)"/\1/')
5259
53- if grep -E '^\+.*variable "RELEASE"' /tmp/diff.txt || \
54- grep -E '^\+.*default = ' /tmp/diff.txt | grep -E 'RELEASE' -B 2; then
60+ # Get RELEASE value from previous commit
61+ git show HEAD^:docker-bake.hcl > /tmp/docker-bake-prev.hcl
62+ PREV_RELEASE=$(grep 'variable "RELEASE"' -A 2 /tmp/docker-bake-prev.hcl | grep 'default' | sed 's/.*"\(.*\)"/\1/')
63+
64+ echo "Previous RELEASE: ${PREV_RELEASE}"
65+ echo "Current RELEASE: ${CURRENT_RELEASE}"
66+
67+ # Compare RELEASE values
68+ if [ "${PREV_RELEASE}" != "${CURRENT_RELEASE}" ]; then
5569 echo "should_build=true" >> $GITHUB_OUTPUT
56- echo "RELEASE changed - will build"
70+ echo "RELEASE changed from '${PREV_RELEASE}' to '${CURRENT_RELEASE}' - will build"
5771 else
58- echo "should_build=false" >> $GITHUB_OUTPUT
59- echo "No RELEASE changes detected - skipping build"
72+ # Also check for any other relevant changes (APP, REGISTRY_USER, or structural changes)
73+ if git diff HEAD^ HEAD docker-bake.hcl | grep -E '^\+|^\-' | grep -v '^+++\|^---' | grep -q .; then
74+ echo "should_build=true" >> $GITHUB_OUTPUT
75+ echo "Other changes detected in docker-bake.hcl - will build"
76+ else
77+ echo "should_build=false" >> $GITHUB_OUTPUT
78+ echo "No significant changes detected - skipping build"
79+ fi
6080 fi
6181
6282 build-and-push :
@@ -201,4 +221,4 @@ jobs:
201221 echo '```' >> $GITHUB_STEP_SUMMARY
202222 echo "" >> $GITHUB_STEP_SUMMARY
203223 echo "**Note:** If the image is private, make it public at:" >> $GITHUB_STEP_SUMMARY
204- echo "https://github.com/${{ github.repository_owner }}?tab=packages" >> $GITHUB_STEP_SUMMARY
224+ echo "https://github.com/${{ github.repository_owner }}?tab=packages" >> $GITHUB_STEP_SUMMARY
0 commit comments