Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
terraform-aws-iam
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-iam
Commits
a59da0dd
Unverified
Commit
a59da0dd
authored
Mar 01, 2021
by
Bryant Biggs
Committed by
GitHub
Mar 01, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update ci-cd workflow to allow for pulling min version from each directory (#137)
parent
1b1b80a9
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
17 deletions
+57
-17
pre-commit.yml
.github/workflows/pre-commit.yml
+56
-16
.pre-commit-config.yaml
.pre-commit-config.yaml
+1
-1
No files found.
.github/workflows/pre-commit.yml
View file @
a59da0dd
...
...
@@ -7,14 +7,65 @@ on:
-
master
jobs
:
getBaseVersion
:
name
:
Get min/max versions
# Min Terraform version(s)
getDirectories
:
name
:
Get root directories
runs-on
:
ubuntu-latest
steps
:
-
name
:
Checkout
uses
:
actions/checkout@v2
-
name
:
Install Python
uses
:
actions/setup-python@v2
-
name
:
Build matrix
id
:
matrix
run
:
|
DIRS=$(python -c "import json; import glob; print(json.dumps([x.replace('/versions.tf', '') for x in glob.glob('./**/versions.tf', recursive=True)]))")
echo "::set-output name=directories::$DIRS"
outputs
:
directories
:
${{ steps.matrix.outputs.directories }}
preCommitMinVersions
:
name
:
Min TF validate
needs
:
getDirectories
runs-on
:
ubuntu-latest
strategy
:
matrix
:
directory
:
${{ fromJson(needs.getDirectories.outputs.directories) }}
steps
:
-
name
:
Checkout
uses
:
actions/checkout@v2
-
name
:
Install Python
uses
:
actions/setup-python@v2
-
name
:
Terraform min/max versions
id
:
minMax
uses
:
clowdhaus/terraform-min-max@v1.0.1
with
:
directory
:
${{ matrix.directory }}
-
name
:
Install Terraform v${{ steps.minMax.outputs.minVersion }}
uses
:
hashicorp/setup-terraform@v1
with
:
terraform_version
:
${{ steps.minMax.outputs.minVersion }}
-
name
:
Install pre-commit dependencies
run
:
pip install pre-commit
-
name
:
Execute pre-commit
# Run only validate pre-commit check on min version supported
if
:
${{ matrix.directory != '.' }}
run
:
pre-commit run terraform_validate --color=always --show-diff-on-failure --files ${{ matrix.directory }}/*
-
name
:
Execute pre-commit
# Run only validate pre-commit check on min version supported
if
:
${{ matrix.directory == '.' }}
run
:
pre-commit run terraform_validate --color=always --show-diff-on-failure --files $(ls *.tf)
# Max Terraform version
getBaseVersion
:
name
:
Module max TF version
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
...
...
@@ -22,40 +73,29 @@ jobs:
minVersion
:
${{ steps.minMax.outputs.minVersion }}
maxVersion
:
${{ steps.minMax.outputs.maxVersion }}
preCommit
:
name
:
Pre-commit check
preCommit
MaxVersion
:
name
:
Max TF pre-commit
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 }}
...
...
.pre-commit-config.yaml
View file @
a59da0dd
repos
:
-
repo
:
git://github.com/antonbabenko/pre-commit-terraform
rev
:
v1.4
6
.0
rev
:
v1.4
7
.0
hooks
:
-
id
:
terraform_fmt
-
id
:
terraform_validate
...
...
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