remove redundant shell definition

This commit is contained in:
Rishav Dhar 2023-10-17 12:55:13 +01:00 committed by GitHub
parent f231b15c96
commit dab8841473
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,9 +1,9 @@
name: 'Setup Terraform' name: "Setup Terraform"
on: on:
push: push:
branches: branches:
- main - main
pull_request: pull_request:
defaults: defaults:
@ -12,241 +12,241 @@ defaults:
jobs: jobs:
terraform-versions: terraform-versions:
name: 'Terraform Versions' name: "Terraform Versions"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-latest]
terraform-versions: [0.11.14, latest] terraform-versions: [0.11.14, latest]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform - ${{ matrix['terraform-versions'] }} - name: Setup Terraform - ${{ matrix['terraform-versions'] }}
uses: ./ uses: ./
with: with:
terraform_version: ${{ matrix['terraform-versions'] }} terraform_version: ${{ matrix['terraform-versions'] }}
- name: Validate Teraform Version - ${{ matrix['terraform-versions'] }} - name: Validate Teraform Version - ${{ matrix['terraform-versions'] }}
if: ${{ matrix['terraform-versions'] != 'latest' }} if: ${{ matrix['terraform-versions'] != 'latest' }}
run: terraform version | grep ${{ matrix['terraform-versions']}} run: terraform version | grep ${{ matrix['terraform-versions']}}
- name: Validate Teraform Version - ${{ matrix['terraform-versions'] }} - name: Validate Teraform Version - ${{ matrix['terraform-versions'] }}
if: ${{ matrix['terraform-versions'] == 'latest' }} if: ${{ matrix['terraform-versions'] == 'latest' }}
run: terraform version | grep 'Terraform v' run: terraform version | grep 'Terraform v'
terraform-versions-no-wrapper: terraform-versions-no-wrapper:
name: 'Terraform Versions No Wrapper' name: "Terraform Versions No Wrapper"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-latest]
terraform-versions: [0.11.14, latest] terraform-versions: [0.11.14, latest]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform (no wrapper) - ${{ matrix['terraform-versions'] }} - name: Setup Terraform (no wrapper) - ${{ matrix['terraform-versions'] }}
uses: ./ uses: ./
with: with:
terraform_version: ${{ matrix['terraform-versions'] }} terraform_version: ${{ matrix['terraform-versions'] }}
terraform_wrapper: false terraform_wrapper: false
- name: Validate Teraform Version - ${{ matrix['terraform-versions'] }} - name: Validate Teraform Version - ${{ matrix['terraform-versions'] }}
if: ${{ matrix['terraform-versions'] != 'latest' }} if: ${{ matrix['terraform-versions'] != 'latest' }}
run: terraform version | grep ${{ matrix['terraform-versions']}} run: terraform version | grep ${{ matrix['terraform-versions']}}
- name: Validate Teraform Version - ${{ matrix['terraform-versions'] }} - name: Validate Teraform Version - ${{ matrix['terraform-versions'] }}
if: ${{ matrix['terraform-versions'] == 'latest' }} if: ${{ matrix['terraform-versions'] == 'latest' }}
run: terraform version | grep 'Terraform v' run: terraform version | grep 'Terraform v'
terraform-versions-constraints: terraform-versions-constraints:
name: 'Terraform Versions Constraints' name: "Terraform Versions Constraints"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-latest]
terraform-versions: [~0.12, 0.12.x, <0.13.0] terraform-versions: [~0.12, 0.12.x, <0.13.0]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform - ${{ matrix['terraform-versions'] }} - name: Setup Terraform - ${{ matrix['terraform-versions'] }}
uses: ./ uses: ./
with: with:
terraform_version: ${{ matrix['terraform-versions'] }} terraform_version: ${{ matrix['terraform-versions'] }}
- name: Validate Teraform Version - ${{ matrix['terraform-versions'] }} - name: Validate Teraform Version - ${{ matrix['terraform-versions'] }}
run: terraform version | grep 'Terraform v0\.12' run: terraform version | grep 'Terraform v0\.12'
terraform-versions-constraints-no-wrapper: terraform-versions-constraints-no-wrapper:
name: 'Terraform Versions Constraints No Wrapper' name: "Terraform Versions Constraints No Wrapper"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-latest]
terraform-versions: [~0.12, 0.12.x, <0.13.0] terraform-versions: [~0.12, 0.12.x, <0.13.0]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform (no wrapper) - ${{ matrix['terraform-versions'] }} - name: Setup Terraform (no wrapper) - ${{ matrix['terraform-versions'] }}
uses: ./ uses: ./
with: with:
terraform_version: ${{ matrix['terraform-versions'] }} terraform_version: ${{ matrix['terraform-versions'] }}
terraform_wrapper: false terraform_wrapper: false
- name: Validate Teraform Version - ${{ matrix['terraform-versions'] }} - name: Validate Teraform Version - ${{ matrix['terraform-versions'] }}
run: terraform version | grep 'Terraform v0\.12' run: terraform version | grep 'Terraform v0\.12'
terraform-credentials-cloud: terraform-credentials-cloud:
name: 'Terraform Cloud Credentials' name: "Terraform Cloud Credentials"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-latest]
env: env:
TF_CLOUD_API_TOKEN: 'XXXXXXXXXXXXXX.atlasv1.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' TF_CLOUD_API_TOKEN: "XXXXXXXXXXXXXX.atlasv1.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform - name: Setup Terraform
uses: ./ uses: ./
with: with:
cli_config_credentials_token: ${{ env.TF_CLOUD_API_TOKEN }} cli_config_credentials_token: ${{ env.TF_CLOUD_API_TOKEN }}
- name: Validate Terraform Credentials (Windows) - name: Validate Terraform Credentials (Windows)
if: runner.os == 'Windows' if: runner.os == 'Windows'
run: | run: |
cat ${APPDATA}/terraform.rc | grep 'credentials "app.terraform.io"' cat ${APPDATA}/terraform.rc | grep 'credentials "app.terraform.io"'
cat ${APPDATA}/terraform.rc | grep 'token = "${{ env.TF_CLOUD_API_TOKEN }}"' cat ${APPDATA}/terraform.rc | grep 'token = "${{ env.TF_CLOUD_API_TOKEN }}"'
- name: Validate Teraform Credentials (Linux & macOS) - name: Validate Teraform Credentials (Linux & macOS)
if: runner.os != 'Windows' if: runner.os != 'Windows'
run: | run: |
cat ${HOME}/.terraformrc | grep 'credentials "app.terraform.io"' cat ${HOME}/.terraformrc | grep 'credentials "app.terraform.io"'
cat ${HOME}/.terraformrc | grep 'token = "${{ env.TF_CLOUD_API_TOKEN }}"' cat ${HOME}/.terraformrc | grep 'token = "${{ env.TF_CLOUD_API_TOKEN }}"'
terraform-credentials-enterprise: terraform-credentials-enterprise:
name: 'Terraform Enterprise Credentials' name: "Terraform Enterprise Credentials"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-latest]
env: env:
TF_CLOUD_API_TOKEN: 'XXXXXXXXXXXXXX.atlasv1.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' TF_CLOUD_API_TOKEN: "XXXXXXXXXXXXXX.atlasv1.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform - name: Setup Terraform
uses: ./ uses: ./
with: with:
cli_config_credentials_hostname: 'terraform.example.com' cli_config_credentials_hostname: "terraform.example.com"
cli_config_credentials_token: ${{ env.TF_CLOUD_API_TOKEN }} cli_config_credentials_token: ${{ env.TF_CLOUD_API_TOKEN }}
- name: Validate Terraform Credentials (Windows) - name: Validate Terraform Credentials (Windows)
if: runner.os == 'Windows' if: runner.os == 'Windows'
run: | run: |
cat ${APPDATA}/terraform.rc | grep 'credentials "terraform.example.com"' cat ${APPDATA}/terraform.rc | grep 'credentials "terraform.example.com"'
cat ${APPDATA}/terraform.rc | grep 'token = "${{ env.TF_CLOUD_API_TOKEN }}"' cat ${APPDATA}/terraform.rc | grep 'token = "${{ env.TF_CLOUD_API_TOKEN }}"'
- name: Validate Teraform Credentials (Linux & macOS) - name: Validate Teraform Credentials (Linux & macOS)
if: runner.os != 'Windows' if: runner.os != 'Windows'
run: | run: |
cat ${HOME}/.terraformrc | grep 'credentials "terraform.example.com"' cat ${HOME}/.terraformrc | grep 'credentials "terraform.example.com"'
cat ${HOME}/.terraformrc | grep 'token = "${{ env.TF_CLOUD_API_TOKEN }}"' cat ${HOME}/.terraformrc | grep 'token = "${{ env.TF_CLOUD_API_TOKEN }}"'
terraform-credentials-none: terraform-credentials-none:
name: 'Terraform No Credentials' name: "Terraform No Credentials"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-latest]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform - name: Setup Terraform
uses: ./ uses: ./
- name: Validate Terraform Credentials (Windows) - name: Validate Terraform Credentials (Windows)
if: runner.os == 'Windows' if: runner.os == 'Windows'
run: | run: |
[[ -f ${APPDATA}/terraform.rc ]] || exit 0 [[ -f ${APPDATA}/terraform.rc ]] || exit 0
- name: Validate Teraform Credentials (Linux & macOS) - name: Validate Teraform Credentials (Linux & macOS)
if: runner.os != 'Windows' if: runner.os != 'Windows'
run: | run: |
[[ -f ${HOME}/.terraformrc ]] || exit 0 [[ -f ${HOME}/.terraformrc ]] || exit 0
terraform-arguments: terraform-arguments:
name: 'Terraform Arguments' name: "Terraform Arguments"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-latest]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform - name: Setup Terraform
uses: ./ uses: ./
- name: Check No Arguments - name: Check No Arguments
run: terraform || exit 0 run: terraform || exit 0
- name: Check Single Argument - name: Check Single Argument
run: terraform help || exit 0 run: terraform help || exit 0
- name: Check Single Argument Hyphen - name: Check Single Argument Hyphen
run: terraform -help run: terraform -help
- name: Check Single Argument Double Hyphen - name: Check Single Argument Double Hyphen
run: terraform --help run: terraform --help
- name: Check Single Argument Subcommand - name: Check Single Argument Subcommand
run: terraform fmt -check run: terraform fmt -check
- name: Check Multiple Arguments Subcommand - name: Check Multiple Arguments Subcommand
run: terraform fmt -check -list=true -no-color run: terraform fmt -check -list=true -no-color
terraform-arguments-no-wrapper: terraform-arguments-no-wrapper:
name: 'Terraform Arguments No Wrapper' name: "Terraform Arguments No Wrapper"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-latest]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform - name: Setup Terraform
uses: ./ uses: ./
with: with:
terraform_wrapper: false terraform_wrapper: false
- name: Check No Arguments - name: Check No Arguments
run: terraform || exit 0 run: terraform || exit 0
- name: Check Single Argument - name: Check Single Argument
run: terraform help || exit 0 run: terraform help || exit 0
- name: Check Single Argument Hyphen - name: Check Single Argument Hyphen
run: terraform -help run: terraform -help
- name: Check Single Argument Double Hyphen - name: Check Single Argument Double Hyphen
run: terraform --help run: terraform --help
- name: Check Single Argument Subcommand - name: Check Single Argument Subcommand
run: terraform fmt -check run: terraform fmt -check
- name: Check Multiple Arguments Subcommand - name: Check Multiple Arguments Subcommand
run: terraform fmt -check -list=true -no-color run: terraform fmt -check -list=true -no-color
terraform-run-local: terraform-run-local:
name: 'Terraform Run Local' name: "Terraform Run Local"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
@ -255,31 +255,27 @@ jobs:
run: run:
working-directory: ./.github/workflows/data/local working-directory: ./.github/workflows/data/local
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform - name: Setup Terraform
uses: ./ uses: ./
- name: Terraform Init - name: Terraform Init
shell: bash run: terraform init
run: terraform init
- name: Terraform Format - name: Terraform Format
shell: bash run: terraform fmt -check
run: terraform fmt -check
- name: Terraform Plan - name: Terraform Plan
id: plan id: plan
shell: bash run: terraform plan
run: terraform plan
- name: Print Terraform Plan - name: Print Terraform Plan
shell: bash run: echo "${{ steps.plan.outputs.stdout }}"
run: echo "${{ steps.plan.outputs.stdout }}"
terraform-run-local-no-wrapper: terraform-run-local-no-wrapper:
name: 'Terraform Run Local No Wrapper' name: "Terraform Run Local No Wrapper"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
@ -288,23 +284,20 @@ jobs:
run: run:
working-directory: ./.github/workflows/data/local working-directory: ./.github/workflows/data/local
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Setup Terraform - name: Setup Terraform
uses: ./ uses: ./
with: with:
terraform_wrapper: false terraform_wrapper: false
- name: Terraform Init - name: Terraform Init
shell: bash run: terraform init
run: terraform init
- name: Terraform Format - name: Terraform Format
shell: bash run: terraform fmt -check
run: terraform fmt -check
- name: Terraform Plan - name: Terraform Plan
id: plan id: plan
shell: bash run: terraform plan
run: terraform plan