123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # 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@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
- - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0
- with:
- go-version-file: 'go.mod'
- cache: true
- - run: go mod download
- - run: go build -v .
- generate:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
- - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.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.*'
- steps:
- - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
- - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0
- with:
- go-version-file: 'go.mod'
- cache: true
- - uses: hashicorp/setup-terraform@633666f66e0061ca3b725c73b2ec20cd13a8fdd1 # v2.0.3
- 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
|