Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into 12809-efs-vol-conf
Browse files Browse the repository at this point in the history
  • Loading branch information
jukie committed May 20, 2020
2 parents 8a69551 + 9d4d089 commit 9cc8178
Show file tree
Hide file tree
Showing 621 changed files with 44,076 additions and 7,160 deletions.
1,221 changes: 0 additions & 1,221 deletions .github/CONTRIBUTING.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
name: CHANGELOG Checks
on:
push:
branches:
- master
pull_request:
paths:
- CHANGELOG.md

env:
GO_VERSION: "1.14"
GO111MODULE: on

jobs:
PRCheck:
name: PR Check
comment:
if: github.event_name == 'pull_request' && !contains(fromJSON('["bflad", "breathingdust", "ewbankkit", "gdavison", "maryelizbeth"]'), github.actor)
name: Comment
runs-on: ubuntu-latest
steps:
- name: PR Comment
Expand All @@ -22,3 +30,18 @@ jobs:
Remove any changes to the `CHANGELOG.md` file and commit them in this pull request to prevent delays with reviewing and potentially merging this pull request.
- name: Fail the check
run: exit 1
misspell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }}
- run: go install github.com/client9/misspell/cmd/misspell
- run: misspell -error -source text CHANGELOG.md
74 changes: 74 additions & 0 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Examples Checks
on:
push:
branches:
- master
pull_request:
paths:
- examples/**

env:
AWS_DEFAULT_REGION: us-west-2
TF_PLUGIN_CACHE_DIR: ${{ github.workspace }}/.terraform.d/plugin-cache

jobs:
terraform:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go_version: ["1.14"]
terraform_version: ["0.11.14", "0.12.24"]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: git fetch tags
run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- uses: actions/cache@v1
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- uses: actions/setup-go@v1
with:
go-version: ${{ matrix.go_version }}
- name: go build
run: |
GOOS=$(go env GOOS)
GOARCH=$(go env GOARCH)
# Substitute as latest release
VERSION=$(git describe --abbrev=0 --match='v*.*.*' --tags || echo -n "v99.99.99")
go build -o ${TF_PLUGIN_CACHE_DIR}/${GOOS}_${GOARCH}/terraform-provider-aws_${VERSION}_x4 .
- uses: hashicorp/setup-terraform@v1
with:
terraform_version: ${{ matrix.terraform_version }}
- name: terraform
run: |
for DIR in $(find ./examples -type f -name '*.tf' -exec dirname {} \; | sort -u); do
if [ ${{ matrix.terraform_version }} = 0.11.14 ]; then
if [ $DIR = ./examples/eks-getting-started ]; then
# Skip example already converted to Terraform 0.12 and later syntax
continue
elif [ $DIR = ./examples/two-tier ]; then
# 0.11 validation requires file path to exist
mkdir -p ~/.ssh
touch ~/.ssh/terraform-provider-aws-example.pub
fi
fi
pushd $DIR
if [ -f terraform.template.tfvars ]; then
cp terraform.template.tfvars terraform.tfvars
fi
echo; echo -e "\e[1;35m===> Initializing Example: $DIR <===\e[0m"; echo
terraform init
# Prefer Terraform 0.12 and later format checking to prevent conflicts
if [ ${{ matrix.terraform_version }} != 0.11.14 ]; then
echo; echo -e "\e[1;35m===> Format Checking Example: $DIR <===\e[0m"; echo
terraform fmt -check
fi
echo; echo -e "\e[1;35m===> Validating Example: $DIR <===\e[0m"; echo
terraform validate
popd
done
8 changes: 0 additions & 8 deletions .github/workflows/issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,3 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: label needs-triage

- name: Add new issue into Triage Board
uses: alex-page/github-project-automation-plus@v0.1.1
if: github.event.action == 'opened'
with:
project: AWS Provider Triage
column: Needs Triage
repo-token: ${{ secrets.GITHUB_ACTIONS_TOKEN }}
258 changes: 258 additions & 0 deletions .github/workflows/terraform_provider.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
name: Terraform Provider Checks

on:
push:
branches:
- master
pull_request:
paths:
- .github/workflows/terraform_provider.yml
- .golangci.yml
- aws/**
- awsproviderlint/**
- docs/index.md
- docs/data-sources/**
- docs/guides/**
- docs/resources/**
- go.sum
- GNUmakefile
- main.go
- staticcheck.conf
- website/**

env:
AWS_DEFAULT_REGION: us-west-2
GO_VERSION: "1.14"
GO111MODULE: on
TERRAFORM_VERSION: "0.12.25"

jobs:
go_mod_download:
name: go mod download
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/cache@v1
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@v1
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('aws/**') }}
- 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 }}
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure'
name: go env
run: |
echo "::set-env name=GOCACHE::$(go env GOCACHE)"
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure'
uses: actions/cache@v1
with:
path: ${{ env.GOCACHE }}
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('aws/**') }}
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure'
uses: actions/cache@v1
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/terraform-provider-aws_v99.99.99_x4 .

terraform_providers_schema:
name: terraform providers schema
needs: [go_build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v1
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('aws/**') }}
- if: steps.cache-terraform-providers-schema.outputs.cache-hit != 'true' || steps.cache-terraform-providers-schema.outcome == 'failure'
uses: actions/cache@v1
timeout-minutes: 2
with:
path: terraform-plugin-dir
key: ${{ runner.os }}-terraform-plugin-dir-${{ hashFiles('go.sum') }}-${{ hashFiles('aws/**') }}
- 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
awsproviderlint:
needs: [go_build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- name: go env
run: |
echo "::set-env name=GOCACHE::$(go env GOCACHE)"
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ${{ env.GOCACHE }}
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('aws/**') }}
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }}
- run: go install ./awsproviderlint
- name: awsproviderlint
run: make awsproviderlint

go_generate:
name: go generate
needs: [go_build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- name: go env
run: |
echo "::set-env name=GOCACHE::$(go env GOCACHE)"
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ${{ env.GOCACHE }}
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('aws/**') }}
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }}
- run: go generate ./...
- 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
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- name: go env
run: |
echo "::set-env name=GOCACHE::$(go env GOCACHE)"
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ${{ env.GOCACHE }}
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('aws/**') }}
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }}
- run: go test ./... -timeout=120s

golangci-lint:
needs: [go_build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- name: go env
run: |
echo "::set-env name=GOCACHE::$(go env GOCACHE)"
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ${{ env.GOCACHE }}
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('aws/**') }}
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }}
- run: go install github.com/golangci/golangci-lint/cmd/golangci-lint
- run: golangci-lint run ./aws/...

tfproviderdocs:
needs: [terraform_providers_schema]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/cache@v1
continue-on-error: true
timeout-minutes: 2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }}
- run: go install github.com/bflad/tfproviderdocs
- uses: actions/cache@v1
timeout-minutes: 2
with:
path: terraform-providers-schema
key: ${{ runner.os }}-terraform-providers-schema-${{ hashFiles('go.sum') }}-${{ hashFiles('aws/**') }}
- name: tfproviderdocs check
run: |
tfproviderdocs check \
-allowed-resource-subcategories-file website/allowed-subcategories.txt \
-ignore-file-mismatch-resources aws_s3_bucket_analysis_configuration \
-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,aws_s3_bucket_analytics_configuration \
-ignore-side-navigation-data-sources aws_alb,aws_alb_listener,aws_alb_target_group,aws_kms_secret \
-provider-name aws \
-providers-schema-json terraform-providers-schema/schema.json \
-require-resource-subcategory
Loading

0 comments on commit 9cc8178

Please sign in to comment.