@@ -40,32 +40,46 @@ jobs:
4040 run : |
4141 PR_NUMBER=$(gh pr list --state merged --json number,mergeCommit --jq ".[] | select(.mergeCommit.oid == \"${{ github.sha }}\") | .number")
4242 if [ -z "$PR_NUMBER" ]; then
43- echo "No PR found for this commit."
44- exit 0
43+ echo "No PR found for this commit. Will apply all environments as fallback."
44+ echo "pr_number=" >> $GITHUB_OUTPUT
45+ else
46+ echo "Found PR number: $PR_NUMBER"
47+ echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT
4548 fi
46- echo "Found PR number: $PR_NUMBER"
47- echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT
4849
49- - name : Detect changed Terraform directories from PR
50+ - name : Detect changed Terraform directories
5051 id : detect
51- if : steps.get_pr.outputs.pr_number
5252 run : |
53- PR_NUMBER=${{ steps.get_pr.outputs.pr_number }}
54-
55- FILES=$(gh pr view $PR_NUMBER --json files --jq '.files[].path')
56- echo "Changed files from PR $PR_NUMBER:"
57- echo "$FILES"
53+ if [ -n "${{ steps.get_pr.outputs.pr_number }}" ]; then
54+ # Método 1: Detectar via PR
55+ PR_NUMBER=${{ steps.get_pr.outputs.pr_number }}
56+ echo "Detecting changes from PR $PR_NUMBER..."
57+
58+ FILES=$(gh pr view $PR_NUMBER --json files --jq '.files[].path')
59+ echo "Changed files from PR $PR_NUMBER:"
60+ echo "$FILES"
61+ else
62+ # Método 2: Detectar via git diff do commit atual
63+ echo "No PR found. Detecting changes from commit diff..."
64+ FILES=$(git diff --name-only HEAD~1 HEAD)
65+ echo "Changed files from commit ${{ github.sha }}:"
66+ echo "$FILES"
67+ fi
5868
59- # Check for dev environment changes (terraform/env/dev/)
69+ # Verificar mudanças no ambiente dev (terraform/env/dev/)
6070 if echo "$FILES" | grep -q "^terraform/env/dev/"; then
61- echo "setting has_dev=true "
71+ echo "Dev environment changes detected "
6272 echo "has_dev=true" >> $GITHUB_OUTPUT
73+ else
74+ echo "No dev environment changes detected"
6375 fi
6476
65- # Check for shared infrastructure changes (top-level terraform/, excluding terraform/env/)
77+ # Verificar mudanças na infraestrutura compartilhada ( terraform/ excluindo terraform/env/)
6678 if echo "$FILES" | grep "^terraform/" | grep -v "^terraform/env/" | grep -q .; then
67- echo "setting has_shared=true "
79+ echo "Shared infrastructure changes detected "
6880 echo "has_shared=true" >> $GITHUB_OUTPUT
81+ else
82+ echo "No shared infrastructure changes detected"
6983 fi
7084
7185 - name : Apply Shared Infrastructure
0 commit comments