Skip to content

HashiCorp Terraform Compatibility Matrix #9

HashiCorp Terraform Compatibility Matrix

HashiCorp Terraform Compatibility Matrix #9

name: "HashiCorp Terraform Compatibility Matrix"
run-name: 'HashiCorp Terraform Compatibility Matrix ${{ inputs.atlas_cloud_env }}'
on:
pull_request:
types: [synchronize]
workflow_dispatch:
inputs:
atlas_cloud_env:
description: 'Atlas cloud environment used, can be either `dev` or `qa`, empty for `dev`'
type: string
required: false
test_group:
description: 'Test group to run, e.g. advanced_cluster, empty for all'
type: string
required: false
ref:
description: 'The branch, tag or SHA where tests will run, e.g. v1.14.0, empty for default branch'
type: string
required: false
workflow_call:
inputs:
atlas_cloud_env:
description: 'Atlas cloud environment used, can be either `dev` or `qa`, empty for `dev`'
type: string
required: false
test_group:
description: 'Test group to run, e.g. advanced_cluster, empty for all'
type: string
required: false
ref:
description: 'The branch, tag or SHA where tests will run, e.g. v1.14.0, empty for default branch'
type: string
required: false
jobs:
get-supported-versions:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
ref: ${{ inputs.ref || github.ref }}
- name: Get HashiCorp Terraform supported versions
shell: bash
id: get-terraform-supported-versions
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
output=$(./scripts/get-terraform-supported-versions.sh)
echo "supported_versions=$output" >> "$GITHUB_OUTPUT"
- name: Print HashiCorp Terraform supported versions
shell: bash
run: |
echo "${{ steps.get-terraform-supported-versions.outputs.supported_versions }}"
outputs:
supported_versions: ${{ steps.get-terraform-supported-versions.outputs.supported_versions }}
run-test-supported-versions:
needs: ["get-supported-versions"]
if: ${{ !cancelled() }}
strategy:
max-parallel: 1
fail-fast: false
matrix:
terraform_version: ${{ fromJSON(needs.get-supported-versions.outputs.supported_versions) }}
name: terrafrom-compatibility-${{ matrix.terraform_version }}
secrets: inherit
uses: ./.github/workflows/test-suite.yml
with:
terraform_matrix: ${{ matrix.terraform_version }}
provider_matrix: '[""]'