123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # 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
- jobs:
- # Ensure project builds before running testing matrix
- build:
- name: Build
- runs-on: ubuntu-latest
- timeout-minutes: 5
- steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
- with:
- go-version-file: 'go.mod'
- cache: true
- - run: go mod download
- - run: go build -v .
- - name: Run linters
- uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v4.0.0
- with:
- version: latest
- generate:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
- with:
- go-version-file: 'go.mod'
- cache: true
- - run: go generate ./...
- - name: git diff
- run: |
- git diff --compact-summary --exit-code || \
- (echo; echo "Unexpected difference in directories after code generation. Run 'go generate ./...' command and commit."; exit 1)
- # 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.*'
- - '1.1.*'
- - '1.2.*'
- - '1.3.*'
- - '1.4.*'
- steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
- with:
- go-version-file: 'go.mod'
- cache: true
- - uses: hashicorp/setup-terraform@a1502cd9e758c50496cc9ac5308c4843bcd56d36 # v3.0.0
- with:
- terraform_version: ${{ matrix.terraform }}
- terraform_wrapper: false
- - run: go mod download
- - env:
- TF_ACC: "1"
- run: go test -v -cover ./internal/provider/
- timeout-minutes: 10
|