# Terraform Provider testing workflow. name: Tests # This GitHub action runs your tests for each pull request and push. # Optionally, you can turn it on using a schedule for regular testing. on: pull_request: paths-ignore: - 'README.md' push: paths-ignore: - 'README.md' # Testing only needs permissions to read the repository contents. permissions: contents: read # Default values to simplify job configurations below. env: # Go language version to use for building. This value should also be updated # in the release workflow if changed. GO_VERSION: '1.17' jobs: # Ensure project builds before running testing matrix build: name: Build runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/setup-go@v2 with: go-version: ${{ env.GO_VERSION }} - uses: actions/checkout@v2 - run: go mod download - run: go build -v . # Run acceptance tests in a matrix with Terraform CLI versions test: name: Terraform Provider Acceptance Tests needs: build runs-on: ubuntu-latest timeout-minutes: 15 strategy: fail-fast: false matrix: # list whatever Terraform versions here you would like to support terraform: - '1.0.*' steps: - uses: actions/setup-go@v2 with: go-version: ${{ env.GO_VERSION }} - uses: hashicorp/setup-terraform@v1 with: go-version: ${{ matrix.terraform }} - uses: actions/checkout@v2 - run: go mod download - env: TF_ACC: "1" run: go test -v -cover ./internal/provider/ timeout-minutes: 10