Skip to content

feat/add subdomain privacy #38

feat/add subdomain privacy

feat/add subdomain privacy #38

name: TF--Linode-OPS-Cluster:O11y
on:
pull_request:
branches:
- main
paths:
- 'terraform/ops-cluster-o11y/**'
env:
TF_CLOUD_ORGANIZATION: freecodecamp
TF_API_TOKEN: ${{ secrets.TF_API_TOKEN }}
TF_WORKSPACE: tfws-ops-o11y
CONFIG_DIRECTORY: terraform/ops-cluster-o11y
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
terraform-cloud-speculative-run:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
name: Terraform Cloud Speculative Run
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
# This is only for the GitHub Actions runner, not Terraform Cloud
- name: Setup Terraform
uses: hashicorp/setup-terraform@633666f66e0061ca3b725c73b2ec20cd13a8fdd1 # v2
# This is only for formatting check on GitHub Actions runner, not Terraform Cloud
- name: Terraform Format
id: fmt
run: terraform fmt -check -recursive -diff
- name: Post Format
if:
always() && github.ref != 'refs/heads/main' && (steps.fmt.outcome ==
'success' || steps.fmt.outcome == 'failure')
uses: GetTerminus/terraform-pr-commenter@86bff5a07ff7586127ad776f0ba1faceb4d5c4ab # v2
with:
commenter_type: fmt
commenter_input:
${{ format('{0}{1}', steps.fmt.outputs.stdout,
steps.fmt.outputs.stderr) }}
commenter_exitcode: ${{ steps.fmt.outputs.exitcode }}
# This is the minimum version required to get the comment to show up
terraform_version: 1.4
- name: Terraform Cloud Upload Configuration
uses: hashicorp/tfc-workflows-github/actions/upload-configuration@02ae73d5f2ff0b7eaec858cd12c41b3d914e8d2c # v1.0.2
id: upload
with:
workspace: ${{ env.TF_WORKSPACE }}
directory: ${{ env.CONFIG_DIRECTORY }}
speculative: true
- name: Terraform Cloud Create Speculative Run
uses: hashicorp/tfc-workflows-github/actions/create-run@02ae73d5f2ff0b7eaec858cd12c41b3d914e8d2c # v1.0.2
id: run
with:
workspace: ${{ env.TF_WORKSPACE }}
configuration_version:
${{ steps.upload.outputs.configuration_version_id }}
plan_only: true
message: 'Triggered From GitHub Actions CI ${{ github.sha }}'
- name: Terraform Cloud Plan Output
uses: hashicorp/tfc-workflows-github/actions/plan-output@02ae73d5f2ff0b7eaec858cd12c41b3d914e8d2c # v1.0.2
id: plan-output
with:
plan: ${{ steps.run.outputs.plan_id }}
- name: Find Comment
uses: peter-evans/find-comment@a54c31d7fa095754bfef525c0c8e5e5674c4b4b1 # v2
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: Run Details - ${{ env.TF_WORKSPACE }}
- name: Create or update comment
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
edit-mode: replace
body: |
Run Details - ${{ env.TF_WORKSPACE }}
**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.
```
**Details : <${{ steps.run.outputs.run_link }}>**
###### :yellow_circle: **Warning:** Merging these changes WILL NOT trigger any further Terraform Cloud runs, you will need to APPLY these changes from your local workspace or TFC Dashboard.