Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
terraform-aws-vpc
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Container Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Terraform Modules
terraform-aws-vpc
Commits
67fd404d
Unverified
Commit
67fd404d
authored
Feb 22, 2021
by
Bryant Biggs
Committed by
GitHub
Feb 22, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: add ci-cd workflow for pre-commit checks (#598)
parent
9667ffe2
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
62 additions
and
44 deletions
+62
-44
config.yml
.circleci/config.yml
+0
-44
pre-commit.yml
.github/workflows/pre-commit.yml
+62
-0
No files found.
.circleci/config.yml
deleted
100644 → 0
View file @
9667ffe2
version
:
2
terraform
:
&terraform
docker
:
-
image
:
hashicorp/terraform:0.12.21
working_directory
:
/tmp/workspace/terraform
jobs
:
validate
:
<<
:
*terraform
steps
:
-
checkout
# - run:
# name: Add github.com to ~/.ssh/known_hosts
# command: mkdir ~/.ssh && ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
-
run
:
name
:
terraform init
command
:
find . -type f -name "*.tf" -exec dirname {} \;|sort -u | while read m; do (cd "$m" && terraform init -input=false -backend=false) || exit 1; done
-
run
:
name
:
Validate Terraform configurations
command
:
find . -name ".terraform" -prune -o -type f -name "*.tf" -exec dirname {} \;|sort -u | while read m; do (cd "$m" && terraform validate && echo "√ $m") || exit 1 ; done
environment
:
AWS_DEFAULT_REGION
:
us-east-1
-
run
:
name
:
Check if Terraform configurations are properly formatted
command
:
if [[ -n "$(terraform fmt -write=false)" ]]; then echo "Some terraform files need be formatted, run 'terraform fmt' to fix"; exit 1; fi
-
run
:
name
:
Install tflint
command
:
wget -O /tmp/tflint.zip https://github.com/wata727/tflint/releases/download/v0.20.2/tflint_linux_amd64.zip && unzip /tmp/tflint.zip -d /usr/local/bin
-
run
:
name
:
Check Terraform configurations with tflint
command
:
tflint
-
persist_to_workspace
:
root
:
.
paths
:
.
workflows
:
version
:
2
build
:
jobs
:
-
validate
# - plan_examples
# - approve
# - release
.github/workflows/pre-commit.yml
0 → 100644
View file @
67fd404d
name
:
Pre-Commit
on
:
pull_request
:
push
:
branches
:
-
master
jobs
:
getBaseVersion
:
name
:
Get min/max versions
runs-on
:
ubuntu-latest
steps
:
-
name
:
Checkout
uses
:
actions/checkout@v2
-
name
:
Terraform min/max versions
id
:
minMax
uses
:
clowdhaus/terraform-min-max@v1.0.1
outputs
:
minVersion
:
${{ steps.minMax.outputs.minVersion }}
maxVersion
:
${{ steps.minMax.outputs.maxVersion }}
preCommit
:
name
:
Pre-commit check
runs-on
:
ubuntu-latest
needs
:
getBaseVersion
strategy
:
fail-fast
:
false
matrix
:
version
:
-
${{ needs.getBaseVersion.outputs.minVersion }}
-
${{ needs.getBaseVersion.outputs.maxVersion }}
steps
:
-
name
:
Checkout
uses
:
actions/checkout@v2
-
name
:
Install Python
uses
:
actions/setup-python@v2
-
name
:
Install Terraform v${{ matrix.version }}
uses
:
hashicorp/setup-terraform@v1
with
:
terraform_version
:
${{ matrix.version }}
-
name
:
Install pre-commit dependencies
run
:
|
pip install pre-commit
curl -L "$(curl -s https://api.github.com/repos/terraform-docs/terraform-docs/releases/latest | grep -o -E "https://.+?-linux-amd64" | head -n1)" > terraform-docs && chmod +x terraform-docs && sudo mv terraform-docs /usr/bin/
curl -L "$(curl -s https://api.github.com/repos/terraform-linters/tflint/releases/latest | grep -o -E "https://.+?_linux_amd64.zip")" > tflint.zip && unzip tflint.zip && rm tflint.zip && sudo mv tflint /usr/bin/
-
name
:
Execute pre-commit
# Run only validate pre-commit check on min version supported
if
:
${{ matrix.version == needs.getBaseVersion.outputs.minVersion }}
run
:
pre-commit run --color=always --show-diff-on-failure --all-files terraform_validate
-
name
:
Execute pre-commit
# Run all pre-commit checks on max version supported
if
:
${{ matrix.version == needs.getBaseVersion.outputs.maxVersion }}
run
:
pre-commit run --color=always --show-diff-on-failure --all-files
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment