Bump github.com/aws/aws-sdk-go from 1.42.17 to 1.44.327 in /providerlint #1477
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Terraform Provider Checks | |
on: | |
push: | |
branches: | |
- main | |
- 'release/**' | |
pull_request: | |
paths: | |
- .github/workflows/terraform_provider.yml | |
- .go-version | |
- .golangci.yml | |
- .semgrep.yml | |
- internal/** | |
- providerlint/** | |
- docs/index.md | |
- docs/data-sources/** | |
- docs/guides/** | |
- docs/resources/** | |
- go.sum | |
- GNUmakefile | |
- main.go | |
- staticcheck.conf | |
- tools/** | |
- website/** | |
env: | |
AWS_DEFAULT_REGION: us-west-2 | |
TERRAFORM_VERSION: "1.0.6" | |
jobs: | |
go_mod_download: | |
name: go mod download | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# See also: https://github.com/actions/setup-go/pull/62 | |
- run: echo "GO_VERSION=$(cat .go-version)" >> $GITHUB_ENV | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
id: cache-go-pkg-mod | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- if: steps.cache-go-pkg-mod.outputs.cache-hit != 'true' || steps.cache-go-pkg-mod.outcome == 'failure' | |
run: go mod download | |
go_build: | |
name: go build | |
needs: [go_mod_download] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
id: cache-terraform-plugin-dir | |
timeout-minutes: 2 | |
with: | |
path: terraform-plugin-dir | |
key: ${{ runner.os }}-terraform-plugin-dir-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
# See also: https://github.com/actions/setup-go/pull/62 | |
- run: echo "GO_VERSION=$(cat .go-version)" >> $GITHUB_ENV | |
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure' | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
# See also: https://github.com/actions/setup-go/issues/54 | |
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure' | |
name: go env | |
run: | | |
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV | |
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure' | |
uses: actions/cache@v2 | |
with: | |
path: ${{ env.GOCACHE }} | |
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure' | |
uses: actions/cache@v2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure' | |
name: go build | |
run: go build -o terraform-plugin-dir/registry.terraform.io/hashicorp/aws/99.99.99/$(go env GOOS)_$(go env GOARCH)/terraform-provider-aws . | |
terraform_providers_schema: | |
name: terraform providers schema | |
needs: [go_build] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
id: cache-terraform-providers-schema | |
timeout-minutes: 2 | |
with: | |
path: terraform-providers-schema | |
key: ${{ runner.os }}-terraform-providers-schema-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- if: steps.cache-terraform-providers-schema.outputs.cache-hit != 'true' || steps.cache-terraform-providers-schema.outcome == 'failure' | |
uses: actions/cache@v2 | |
timeout-minutes: 2 | |
with: | |
path: terraform-plugin-dir | |
key: ${{ runner.os }}-terraform-plugin-dir-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- if: steps.cache-terraform-providers-schema.outputs.cache-hit != 'true' || steps.cache-terraform-providers-schema.outcome == 'failure' | |
uses: hashicorp/setup-terraform@v1 | |
with: | |
terraform_version: ${{ env.TERRAFORM_VERSION }} | |
terraform_wrapper: false | |
- if: steps.cache-terraform-providers-schema.outputs.cache-hit != 'true' || steps.cache-terraform-providers-schema.outcome == 'failure' | |
name: terraform init | |
run: | | |
# We need a file to initialize the provider | |
echo 'data "aws_partition" "example" {}' > example.tf | |
terraform init -plugin-dir terraform-plugin-dir | |
- if: steps.cache-terraform-providers-schema.outputs.cache-hit != 'true' || steps.cache-terraform-providers-schema.outcome == 'failure' | |
name: terraform providers schema | |
run: | | |
mkdir terraform-providers-schema | |
terraform providers schema -json > terraform-providers-schema/schema.json | |
providerlint: | |
# needs: [go_build] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# See also: https://github.com/actions/setup-go/pull/62 | |
- run: echo "GO_VERSION=$(cat .go-version)" >> $GITHUB_ENV | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
# See also: https://github.com/actions/setup-go/issues/54 | |
- name: go env | |
run: | | |
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ${{ env.GOCACHE }} | |
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('aws/**') }} | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- run: cd providerlint && go install . | |
- name: providerlint | |
run: make providerlint | |
go_generate: | |
name: go generate | |
needs: [go_build] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# See also: https://github.com/actions/setup-go/pull/62 | |
- run: echo "GO_VERSION=$(cat .go-version)" >> $GITHUB_ENV | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
# See also: https://github.com/actions/setup-go/issues/54 | |
- name: go env | |
run: | | |
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ${{ env.GOCACHE }} | |
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- run: go install golang.org/x/tools/cmd/goimports | |
- run: make gen | |
- name: Check for Git Differences | |
run: | | |
git diff --compact-summary --exit-code || \ | |
(echo; echo "Unexpected difference in directories after code generation. Run 'make gen' command and commit."; exit 1) | |
go_test: | |
name: go test | |
needs: [go_build] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
# See also: https://github.com/actions/setup-go/pull/62 | |
- run: echo "GO_VERSION=$(cat .go-version)" >> $GITHUB_ENV | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
# See also: https://github.com/actions/setup-go/issues/54 | |
- name: go env | |
run: | | |
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ${{ env.GOCACHE }} | |
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- name: Get all changed files | |
id: changed-files | |
uses: tj-actions/[email protected] | |
- name: Get changed packages | |
run: | | |
touch /tmp/dirs_changed_all | |
for file in ${{ steps.changed-files.outputs.all_modified_files }}; do | |
if [[ "${file}" == internal/* ]]; then | |
echo $( dirname "${file}" | xargs ) >> /tmp/dirs_changed_all | |
fi | |
done | |
cat /tmp/dirs_changed_all | sort | uniq > /tmp/pkgs_changed | |
echo "All packages changed:" | |
cat /tmp/pkgs_changed | |
while read pkg; do | |
if [ "${pkg}" = "" ]; then | |
continue | |
fi | |
if [[ "${pkg}" == */test-fixtures ]]; then | |
continue | |
fi | |
while read file; do | |
if [ "${file}" = "" ]; then | |
continue | |
fi | |
echo $( dirname "${file}" | xargs ) >> /tmp/dep_dirs_all | |
done <<< $( grep -l "github.com/hashicorp/terraform-provider-aws/${pkg}" internal/**/*.go ) | |
done </tmp/pkgs_changed | |
cat /tmp/pkgs_changed >> /tmp/dep_dirs_all | |
cat /tmp/dep_dirs_all | sort | uniq > /tmp/dep_pkgs | |
echo "All dependent packages:" | |
cat /tmp/dep_pkgs | |
id: changed-packages | |
- name: Run tests for changed packages | |
run: | | |
while read pkg; do | |
if [ "${pkg}" = "internal/sweep" ]; then | |
continue | |
fi | |
if [[ "${pkg}" == */test-fixtures ]]; then | |
continue | |
fi | |
go test -run ^Test[^A][^c][^c] "github.com/hashicorp/terraform-provider-aws/${pkg}" | |
done </tmp/dep_pkgs | |
golangci-lint: | |
needs: [go_build] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# See also: https://github.com/actions/setup-go/pull/62 | |
- run: echo "GO_VERSION=$(cat .go-version)" >> $GITHUB_ENV | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
# See also: https://github.com/actions/setup-go/issues/54 | |
- name: go env | |
run: | | |
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ${{ env.GOCACHE }} | |
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- run: cd tools && go install github.com/golangci/golangci-lint/cmd/golangci-lint | |
- run: golangci-lint run ./internal/... | |
- run: cd providerlint && golangci-lint run ./... | |
importlint: | |
needs: [go_build] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# See also: https://github.com/actions/setup-go/pull/62 | |
- run: echo "GO_VERSION=$(cat .go-version)" >> $GITHUB_ENV | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
# See also: https://github.com/actions/setup-go/issues/54 | |
- name: go env | |
run: | | |
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ${{ env.GOCACHE }} | |
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('aws/**') }} | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- run: cd tools && go install github.com/pavius/impi/cmd/impi | |
- run: impi --local . --scheme stdThirdPartyLocal ./... | |
semgrep: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: semgrep | |
uses: returntocorp/semgrep-action@v1 | |
tfproviderdocs: | |
needs: [terraform_providers_schema] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# See also: https://github.com/actions/setup-go/pull/62 | |
- run: echo "GO_VERSION=$(cat .go-version)" >> $GITHUB_ENV | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- uses: actions/cache@v2 | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |
- run: cd tools && go install github.com/bflad/tfproviderdocs | |
- uses: actions/cache@v2 | |
timeout-minutes: 2 | |
with: | |
path: terraform-providers-schema | |
key: ${{ runner.os }}-terraform-providers-schema-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} | |
- name: tfproviderdocs check | |
run: | | |
tfproviderdocs check \ | |
-allowed-resource-subcategories-file website/allowed-subcategories.txt \ | |
-enable-contents-check \ | |
-ignore-file-missing-data-sources aws_alb,aws_alb_listener,aws_alb_target_group \ | |
-ignore-file-missing-resources aws_alb,aws_alb_listener,aws_alb_listener_certificate,aws_alb_listener_rule,aws_alb_target_group,aws_alb_target_group_attachment \ | |
-provider-source registry.terraform.io/hashicorp/aws \ | |
-providers-schema-json terraform-providers-schema/schema.json \ | |
-require-resource-subcategory |