mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-02-25 20:14:55 +01:00
83 lines
2.6 KiB
YAML
83 lines
2.6 KiB
YAML
name: Lint
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
tflint:
|
|
name: TFLint
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- name: TFLint
|
|
uses: docker://wata727/tflint
|
|
|
|
fmt:
|
|
name: Code Format
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: hashicorp/terraform:latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- run: terraform fmt --recursive -check=true
|
|
|
|
docs:
|
|
name: Docs
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions/setup-python@v2
|
|
- name: Install terraform-docs
|
|
run: |
|
|
# Get the download url of the latest version of terraform-docs
|
|
tf_docs_download_url=$(curl -s https://api.github.com/repos/terraform-docs/terraform-docs/releases/latest | jq -rc '.assets[] | select( .name | contains("linux-amd64")).browser_download_url')
|
|
mkdir -p $GITHUB_WORKSPACE/bin
|
|
curl -Lo $GITHUB_WORKSPACE/bin/terraform-docs $tf_docs_download_url
|
|
chmod +x $GITHUB_WORKSPACE/bin/terraform-docs
|
|
echo "$GITHUB_WORKSPACE/bin" >> $GITHUB_PATH
|
|
- name: Check Docs
|
|
uses: pre-commit/action@v2.0.0
|
|
with:
|
|
extra_args: --show-diff-on-failure --all-files terraform_docs
|
|
|
|
validate:
|
|
name: Validate
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: hashicorp/terraform:0.12.29
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- name: Validate Code
|
|
env:
|
|
AWS_REGION: 'us-east-1'
|
|
TF_WARN_OUTPUT_ERRORS: 1
|
|
TF_VAR_vpc_id: 'vpc-123456'
|
|
TF_VAR_subnets: '["subnet-12345a"]'
|
|
TF_VAR_workers_ami_id: 'ami-123456'
|
|
TF_VAR_cluster_name: 'test_cluster'
|
|
run: |
|
|
terraform init
|
|
terraform validate
|
|
- name: Validate Examples
|
|
run: |
|
|
for example in $(find examples -maxdepth 1 -mindepth 1 -type d); do
|
|
cd $example
|
|
terraform init
|
|
terraform validate
|
|
cd -
|
|
done
|
|
|
|
minimum:
|
|
name: Minimum version check
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: hashicorp/terraform:0.12.9
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- name: Validate Code
|
|
env:
|
|
AWS_REGION: 'us-east-1'
|
|
TF_WARN_OUTPUT_ERRORS: 1
|
|
run: |
|
|
sed -i -e 's/>=/=/' -e 's/ \(\d\+\.\d\+\)"/ \1.0"/' versions.tf
|
|
terraform init
|
|
terraform validate -var "region=${AWS_REGION}" -var "vpc_id=vpc-123456" -var "subnets=[\"subnet-12345a\"]" -var "workers_ami_id=ami-123456" -var "cluster_ingress_cidrs=[]" -var "cluster_name=test_cluster"
|