Made changes in terraform checks file. #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Terraform Checks | ||
|
Check failure on line 1 in .github/workflows/terraform-checks.yaml
|
||
| on: | ||
| workflow_call: | ||
| env: | ||
| TERRAFORM_DOCS_VERSION: v0.18.0 | ||
| TFLINT_VERSION: v0.52.0 | ||
| jobs: | ||
| test: | ||
| name: Test | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Setup Terraform | ||
| uses: hashicorp/setup-terraform@v3 | ||
| with: | ||
| terraform_version: "1.8.4" | ||
| - name: Initialize Terraform | ||
| id: init | ||
| run: terraform init -input=false | ||
| - name: Terraform Test | ||
| id: fmt | ||
| run: terraform test | ||
| validateExamples: | ||
| name: Terraform Validate Example Files | ||
| runs-on: ubuntu-latest | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| example: | ||
| - examples/same-account | ||
| - examples/cross-account | ||
| - examples/complete | ||
| defaults: | ||
| run: | ||
| working-directory: ${{ matrix.example }} | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| - name: Setup Terraform | ||
| uses: hashicorp/setup-terraform@v3 | ||
| with: | ||
| terraform_version: "1.6.0" | ||
| - name: Terraform Init | ||
| run: terraform init -input=false | ||
| - name: Terraform Validate | ||
| run: terraform validate | ||
| collectInputs: | ||
| name: Collect workflow inputs | ||
| needs: test | ||
| runs-on: ubuntu-latest | ||
| outputs: | ||
| directories: ${{ steps.dirs.outputs.directories }} | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| - name: Get root directories | ||
| id: dirs | ||
| uses: clowdhaus/terraform-composite-actions/[email protected] | ||
| preCommitMinVersions: | ||
| name: Min TF pre-commit | ||
| needs: collectInputs | ||
| runs-on: ubuntu-latest | ||
| strategy: | ||
| matrix: | ||
| directory: ${{ fromJson(needs.collectInputs.outputs.directories) }} | ||
| steps: | ||
| # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 | ||
| - name: Delete huge unnecessary tools folder | ||
| run: | | ||
| rm -rf /opt/hostedtoolcache/CodeQL | ||
| rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk | ||
| rm -rf /opt/hostedtoolcache/Ruby | ||
| rm -rf /opt/hostedtoolcache/go | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| - name: Terraform min/max versions | ||
| id: minMax | ||
| uses: clowdhaus/[email protected] | ||
| with: | ||
| directory: ${{ matrix.directory }} | ||
| - name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }} | ||
| # Run only validate pre-commit check on min version supported | ||
| if: ${{ matrix.directory != '.' }} | ||
| uses: clowdhaus/terraform-composite-actions/[email protected] | ||
| with: | ||
| terraform-version: ${{ steps.minMax.outputs.minVersion }} | ||
| tflint-version: ${{ env.TFLINT_VERSION }} | ||
| args: 'terraform_validate --color=always --show-diff-on-failure --files ${{ matrix.directory }}/*' | ||
| - name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }} | ||
| # Run only validate pre-commit check on min version supported | ||
| if: ${{ matrix.directory == '.' }} | ||
| uses: clowdhaus/terraform-composite-actions/[email protected] | ||
| with: | ||
| terraform-version: ${{ steps.minMax.outputs.minVersion }} | ||
| tflint-version: ${{ env.TFLINT_VERSION }} | ||
| args: 'terraform_validate --color=always --show-diff-on-failure --files $(ls *.tf)' | ||
| preCommitMaxVersion: | ||
| name: Max TF pre-commit | ||
| runs-on: ubuntu-latest | ||
| needs: collectInputs | ||
| steps: | ||
| # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 | ||
| - name: Delete huge unnecessary tools folder | ||
| run: | | ||
| rm -rf /opt/hostedtoolcache/CodeQL | ||
| rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk | ||
| rm -rf /opt/hostedtoolcache/Ruby | ||
| rm -rf /opt/hostedtoolcache/go | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.ref }} | ||
| repository: ${{github.event.pull_request.head.repo.full_name}} | ||
| - name: Terraform min/max versions | ||
| id: minMax | ||
| uses: clowdhaus/[email protected] | ||
| - name: Pre-commit Terraform ${{ steps.minMax.outputs.maxVersion }} | ||
| uses: clowdhaus/terraform-composite-actions/[email protected] | ||
| with: | ||
| terraform-version: ${{ steps.minMax.outputs.maxVersion }} | ||
| tflint-version: ${{ env.TFLINT_VERSION }} | ||
| terraform-docs-version: ${{ env.TERRAFORM_DOCS_VERSION }} | ||
| install-hcledit: true | ||