Skip to content

chore(deps): update terraform linode to v2.9.3 #63

chore(deps): update terraform linode to v2.9.3

chore(deps): update terraform linode to v2.9.3 #63

name: Terraform -- Linode-OPS-Test
on:
pull_request:
branches:
- main
paths:
- 'terraform/ops-test/**'
workflow_dispatch:
defaults:
run:
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
terraform-format:
if:
github.event_name == 'pull_request' || github.event_name ==
'workflow_dispatch'
runs-on: ubuntu-latest
name: Terraform Format
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
# This is only for the GitHub Actions runner, not Terraform Cloud
- name: Setup Terraform
uses: hashicorp/setup-terraform@633666f66e0061ca3b725c73b2ec20cd13a8fdd1 # v2
- name: Terraform Format
run: make fmt
working-directory: terraform
terraform-upgrade-test:
if:
github.event_name == 'pull_request' || github.event_name ==
'workflow_dispatch'
runs-on: ubuntu-latest
name: Terraform Upgrade Test
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
# This is only for the GitHub Actions runner, not Terraform Cloud
- name: Setup Terraform
uses: hashicorp/setup-terraform@633666f66e0061ca3b725c73b2ec20cd13a8fdd1 # v2
with:
cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
- name: Terraform Upgrade Test
run: terraform init -upgrade && terraform plan
working-directory: terraform/ops-test
terraform-cloud-speculative-run:
if:
github.event_name == 'pull_request' || github.event_name ==
'workflow_dispatch'
runs-on: ubuntu-latest
name: Terraform Cloud Speculative Run
permissions:
contents: read
pull-requests: write
env:
TF_CLOUD_ORGANIZATION: freecodecamp
TF_API_TOKEN: ${{ secrets.TF_API_TOKEN }}
TF_WORKSPACE: tfws-ops-test
TF_LOG: ERROR
CONFIG_DIRECTORY: terraform/ops-test
steps:
- name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
- name: Terraform Cloud Upload Configuration
uses: hashicorp/tfc-workflows-github/actions/upload-configuration@a9b5237abdfa0d0510ad3444906147fa424bbdd9 # v1.0.4
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@a9b5237abdfa0d0510ad3444906147fa424bbdd9 # v1.0.4
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@a9b5237abdfa0d0510ad3444906147fa424bbdd9 # v1.0.4
id: plan-output
with:
plan: ${{ steps.run.outputs.plan_id }}
- name: Find Comment
if: github.event_name == 'pull_request'
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
if: github.event_name == 'pull_request'
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.