diff --git a/.gitea/workflows/cloudflare-auto-pr-tofu-pipeline.yml b/.gitea/workflows/cloudflare-auto-pr-tofu-pipeline.yml
index fc43499..c64f704 100644
--- a/.gitea/workflows/cloudflare-auto-pr-tofu-pipeline.yml
+++ b/.gitea/workflows/cloudflare-auto-pr-tofu-pipeline.yml
@@ -128,66 +128,78 @@ jobs:
with:
working-directory: .
chdir: cloudflare
+ no-color: true
out: cloudflare.tfplan
- - name: Build Markdown PR comment from plan file
+ - name: Convert Plan to JSON
run: |
- mkdir -p tmp
- {
- echo "## 🧩 OpenTofu Plan — Cloudflare"
- echo "**Branch:** \`${{ github.ref_name }}\`"
- echo "**Exit Code:** \`${{ steps.tofu_plan.outputs.exitcode }}\`"
- echo "**Working Directory:** \`cloudflare\`"
- echo ""
- echo "🪶 Click to expand full plan output
"
- echo ""
- echo '```hcl'
- tofu show cloudflare/cloudflare.tfplan # <-- read file directly, ACT-safe
- echo '```'
- echo ""
- echo " "
- echo ""
- echo "*(This plan was automatically generated by the workflow.)*"
- } > tmp/tofu-plan.md
- echo "Markdown PR comment built: tmp/tofu-plan.md"
+ pwd
+ tofu show -json ${GITHUB_WORKSPACE}/cloudflare/cloudflare.tfplan > cloudflare_tf.json
- - name: Load markdown plan into env var (safe for large output)
- id: load-plan-md
- run: |
- # Ensure file exists and isn't absurdly large
- if [ ! -f tmp/tofu-plan.md ]; then
- echo "❌ Missing tmp/tofu-plan.md"
- exit 1
- fi
-
- # Collapse newlines for environment storage
- plan_md=$(awk '{printf "%s\\n", $0}' tmp/tofu-plan.md)
- echo "COMMENT_TEMPLATE<> $GITHUB_ENV
- echo -e "$plan_md" >> $GITHUB_ENV
- echo "EOF" >> $GITHUB_ENV
-
- - name: Comment full Tofu Plan on PR (Gitea safe)
- uses: https://git.trez.wtf/Trez.One/git-auto-comment@main
+ - name: Tofu Plan Comment
+ uses: liatrio/terraform-change-pr-commenter@v1.14.0
with:
- platform: gitea
- api_url: https://git.trez.wtf/api/v1
- token: ${{ secrets.BOT_GITEA_TOKEN }}
- pr_index: ${{ needs.check-and-create-pr.outputs.pr_number }}
- repo_owner: ${{ github.repository_owner }}
- repo_name: ${{ steps.env-vault-vars.outputs.repo_name }}
- comment_template: ${{ env.COMMENT_TEMPLATE }}
+ json-file: cloudflare/cloudflare_tf.json
+ github-token: ${{ secrets.BOT_GITEA_TOKEN }}
- - name: Wait for manual approval
- uses: trstringer/manual-approval@v1
- with:
- secret: ${{ secrets.BOT_GITEA_TOKEN }}
- approvers: WTF
- minimum-approvals: 1
- issue-title: "Tofu Plan for ${{ needs.check-and-create-pr.outputs.pr_number }}"
- issue-body: "Please approve or deny the deployment of the below Tofu plan"
- issue-body-file-path: cloudflare/cloudflare.tfplan
- exclude-workflow-initiator-as-approver: false
- fail-on-denial: true
+ # - name: Build Markdown PR comment from plan file
+ # run: |
+ # mkdir -p tmp
+ # {
+ # echo "## 🧩 OpenTofu Plan — Cloudflare"
+ # echo "**Branch:** \`${{ github.ref_name }}\`"
+ # echo "**Exit Code:** \`${{ steps.tofu_plan.outputs.exitcode }}\`"
+ # echo "**Working Directory:** \`cloudflare\`"
+ # echo ""
+ # echo "🪶 Click to expand full plan output
"
+ # echo ""
+ # echo '```hcl'
+ # tofu show cloudflare/cloudflare.tfplan # <-- read file directly, ACT-safe
+ # echo '```'
+ # echo ""
+ # echo " "
+ # echo ""
+ # echo "*(This plan was automatically generated by the workflow.)*"
+ # } > tmp/tofu-plan.md
+ # echo "Markdown PR comment built: tmp/tofu-plan.md"
+
+ # - name: Load markdown plan into env var (safe for large output)
+ # id: load-plan-md
+ # run: |
+ # # Ensure file exists and isn't absurdly large
+ # if [ ! -f tmp/tofu-plan.md ]; then
+ # echo "❌ Missing tmp/tofu-plan.md"
+ # exit 1
+ # fi
+
+ # # Collapse newlines for environment storage
+ # plan_md=$(awk '{printf "%s\\n", $0}' tmp/tofu-plan.md)
+ # echo "COMMENT_TEMPLATE<> $GITHUB_ENV
+ # echo -e "$plan_md" >> $GITHUB_ENV
+ # echo "EOF" >> $GITHUB_ENV
+
+ # - name: Comment full Tofu Plan on PR (Gitea safe)
+ # uses: https://git.trez.wtf/Trez.One/git-auto-comment@main
+ # with:
+ # platform: gitea
+ # api_url: https://git.trez.wtf/api/v1
+ # token: ${{ secrets.BOT_GITEA_TOKEN }}
+ # pr_index: ${{ needs.check-and-create-pr.outputs.pr_number }}
+ # repo_owner: ${{ github.repository_owner }}
+ # repo_name: ${{ steps.env-vault-vars.outputs.repo_name }}
+ # comment_template: ${{ env.COMMENT_TEMPLATE }}
+
+ # - name: Wait for manual approval
+ # uses: trstringer/manual-approval@v1
+ # with:
+ # secret: ${{ secrets.BOT_GITEA_TOKEN }}
+ # approvers: WTF
+ # minimum-approvals: 1
+ # issue-title: "Tofu Plan for ${{ needs.check-and-create-pr.outputs.pr_number }}"
+ # issue-body: "Please approve or deny the deployment of the below Tofu plan"
+ # issue-body-file-path: cloudflare/cloudflare.tfplan
+ # exclude-workflow-initiator-as-approver: false
+ # fail-on-denial: true
# apply:
# name: Apply Tofu Plan