terraform plan
This commit is contained in:
parent
505aa2cc55
commit
5e7153204f
1 changed files with 28 additions and 14 deletions
42
.github/workflows/terraform-plan.yml
vendored
42
.github/workflows/terraform-plan.yml
vendored
|
|
@ -7,7 +7,7 @@ env:
|
|||
TF_CLOUD_ORGANIZATION: "MealCraft"
|
||||
TF_API_TOKEN: "${{ secrets.TF_API_TOKEN }}"
|
||||
TF_WORKSPACE: "production"
|
||||
CONFIG_DIRECTORY: "./"
|
||||
CONFIG_DIRECTORY: ${{ github.workspace }}
|
||||
TF_VAR_public_ip: "${{ secrets.PUBLIC_IP }}"
|
||||
|
||||
jobs:
|
||||
|
|
@ -19,7 +19,13 @@ jobs:
|
|||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y curl unzip jq ca-certificates
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
|
|
@ -51,35 +57,43 @@ jobs:
|
|||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
// 1. Retrieve existing bot comments for the PR
|
||||
const { data: comments } = await github.rest.issues.listComments({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: context.issue.number,
|
||||
});
|
||||
|
||||
const botComment = comments.find(comment => {
|
||||
return comment.user.type === 'Bot' && comment.body.includes('Terraform Cloud Plan Output')
|
||||
return comment.user.type === 'Bot' && comment.body.includes('Terraform Cloud Plan Output');
|
||||
});
|
||||
|
||||
const output = `#### Terraform Cloud Plan Output
|
||||
\`\`\`
|
||||
Plan: ${{ steps.plan-output.outputs.add }} to add, ${{ steps.plan-output.outputs.change }} to change, ${{ steps.plan-output.outputs.destroy }} to destroy.
|
||||
\`\`\`
|
||||
[Terraform Cloud Plan](${{ steps.plan-run.outputs.run_link }})
|
||||
`;
|
||||
\`\`\`
|
||||
Plan: ${{
|
||||
steps.plan-output.outputs.add
|
||||
}} to add, ${{
|
||||
steps.plan-output.outputs.change
|
||||
}} to change, ${{
|
||||
steps.plan-output.outputs.destroy
|
||||
}} to destroy.
|
||||
\`\`\`
|
||||
[Terraform Cloud Plan](${{ steps.plan-run.outputs.run_link }})
|
||||
`;
|
||||
|
||||
if (botComment) {
|
||||
github.rest.issues.deleteComment({
|
||||
await github.rest.issues.deleteComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
comment_id: botComment.id,
|
||||
});
|
||||
}
|
||||
github.rest.issues.createComment({
|
||||
|
||||
await github.rest.issues.createComment({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: output
|
||||
})
|
||||
body: output,
|
||||
});
|
||||
|
||||
- name: Print TF_VAR_public_ip
|
||||
run: 'echo "📡 Public IP used by Terraform: $TF_VAR_public_ip"'
|
||||
|
||||
run: echo "📡 Public IP used by Terraform: $TF_VAR_public_ip"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue