Skip to content

Commit 2ef2a56

Browse files
Merge pull request #51 from PythonFloripa/fix/terraform-apply-workflow
fix: corrige workflow terraform apply para detectar mudanças corretam…
2 parents 228f874 + 3dd0ee3 commit 2ef2a56

File tree

1 file changed

+29
-15
lines changed

1 file changed

+29
-15
lines changed

.github/workflows/tf_apply.yaml

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)