From 808e008c36fb511dbf8fb209a7e839070d7a79df Mon Sep 17 00:00:00 2001 From: Sunny-Mor Date: Wed, 28 Jan 2026 16:23:12 +0530 Subject: [PATCH 1/2] feat: improve terraform plan approval visibility --- .github/workflows/terraform_workflow.yml | 44 ++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/.github/workflows/terraform_workflow.yml b/.github/workflows/terraform_workflow.yml index 5b84f202..d47d4d61 100644 --- a/.github/workflows/terraform_workflow.yml +++ b/.github/workflows/terraform_workflow.yml @@ -211,6 +211,36 @@ jobs: env: GITHUB_TOKEN: ${{ github.TOKEN }} + - name: Fetch latest Plan PR comment + id: pr_plan_comment + env: + GH_TOKEN: ${{ github.token }} + PR_NUMBER: ${{ github.event.pull_request.number }} + REPO: ${{ github.repository }} + run: | + COMMENT=$(curl -s \ + -H "Authorization: Bearer $GH_TOKEN" \ + -H "Accept: application/vnd.github+json" \ + https://api.github.com/repos/$REPO/issues/$PR_NUMBER/comments \ + | jq -r ' + map(select(.user.login=="github-actions[bot]")) + | last + ') + + BODY=$(echo "$COMMENT" | jq -r '.body') + URL=$(echo "$COMMENT" | jq -r '.html_url') + + SUMMARY=$(echo "$BODY" \ + | grep -Eo 'Plan: [0-9]+ to add, [0-9]+ to change, [0-9]+ to destroy\.' \ + | uniq \ + | head -n 1) + + { + echo "PLAN_SUMMARY<> $GITHUB_ENV - name: ✅ Accept plan or deny if: ${{ inputs.plan_only != true }} @@ -220,8 +250,18 @@ jobs: secret: ${{ github.TOKEN }} approvers: ${{ inputs.approvers }} minimum-approvals: ${{ inputs.minimum-approvals }} - issue-title: "Terraform Plan for Infrastructure Update" - + issue-title: "Terraform Plan in ${{inputs.working_directory}}" + issue-body: | + ## Terraform Plan Summary + + ``` + ${{ env.PLAN_SUMMARY }} + ``` + 🔎 **Full Terraform plan :** + 👉 ${{ env.PLAN_COMMENT_URL }} + + Please approve to continue with `terraform apply`. + - name: 🚀 terraform apply if: ${{ inputs.destroy != true && inputs.plan_only != true }} run: | From f46d7f1ad6b1f6f229aa3161f694c21611bc7dad Mon Sep 17 00:00:00 2001 From: Sunny-Mor Date: Wed, 28 Jan 2026 16:34:12 +0530 Subject: [PATCH 2/2] fix: yamllint --- .github/workflows/terraform_workflow.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/terraform_workflow.yml b/.github/workflows/terraform_workflow.yml index d47d4d61..5bf3d66e 100644 --- a/.github/workflows/terraform_workflow.yml +++ b/.github/workflows/terraform_workflow.yml @@ -226,15 +226,12 @@ jobs: map(select(.user.login=="github-actions[bot]")) | last ') - BODY=$(echo "$COMMENT" | jq -r '.body') URL=$(echo "$COMMENT" | jq -r '.html_url') - SUMMARY=$(echo "$BODY" \ | grep -Eo 'Plan: [0-9]+ to add, [0-9]+ to change, [0-9]+ to destroy\.' \ | uniq \ | head -n 1) - { echo "PLAN_SUMMARY<