Skip to content

Merge pull request #16 from sftim/20231116_revise_version_pins #70

Merge pull request #16 from sftim/20231116_revise_version_pins

Merge pull request #16 from sftim/20231116_revise_version_pins #70

Workflow file for this run

name: 'Terraform'
on:
push:
branches:
- main
paths:
- '**/*.tpl'
- '**/*.py'
- '**/*.tf'
- '.github/workflows/terraform.yml'
pull_request:
branches:
- '**'
paths:
- '**/*.tpl'
- '**/*.py'
- '**/*.tf'
- '.github/workflows/terraform.yml'
workflow_dispatch: {}
jobs:
terraform:
name: 'Terraform'
# -latest was 18.04 # 20.0.4
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest] #, windows-latest]
tf-ver:
- '~1.1' # Same as 1.1.x
- '~1.2' # Same as 1.2.x
- '~1.3' # Same as 1.3.x
- '~1.4' # Same as 1.4.x
- 'latest'
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest
defaults:
run:
shell: bash
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3
# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
- name: Setup Terraform ${{ matrix['tf-ver'] }}
uses: hashicorp/setup-terraform@v2
# defaults to latest
with:
terraform_version: ${{ matrix.tf-ver }}
#with:
# cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
- name: Validate Teraform Version
#if: ${{ matrix['tf-ver'] != 'latest' }}
run: terraform version
# Initialize a new or existing Terraform working directory by creating initial files, loading any remote state, downloading modules, etc.
#- name: Terraform Init
# run: terraform init
# Checks that all Terraform configuration files adhere to a canonical format
- name: Terraform Format
#run: terraform fmt -check
run: |
#cd terraform
terraform fmt -check -recursive -diff
for i in $(find . -maxdepth 1 -type d); do terraform -chdir=$i init -backend=false; terraform -chdir=$i validate; done
# Generates an execution plan for Terraform
# - name: Terraform Plan
# run: terraform plan
# On push to main, build or change infrastructure according to Terraform configuration files
# Note: It is recommended to set up a required "strict" status check in your repository for "Terraform Cloud". See the documentation on "strict" required status checks for more information: https://help.github.com/en/github/administering-a-repository/types-of-required-status-checks
# - name: Terraform Apply
# if: github.ref == 'refs/heads/main' && github.event_name == 'push'
# run: terraform apply -auto-approve