From 8449cb43153c7ca7b95e021539d581d3d0f89837 Mon Sep 17 00:00:00 2001 From: Bryant Biggs Date: Sun, 21 Feb 2021 15:04:27 -0500 Subject: [PATCH] chore: add ci-cd workflow for pre-commit checks (#112) --- .github/workflows/pre-commit.yml | 55 ++++++++++++++++++++++++++++++++ .pre-commit-config.yaml | 2 +- outputs.tf | 2 +- 3 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/pre-commit.yml diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml new file mode 100644 index 00000000..2b38633b --- /dev/null +++ b/.github/workflows/pre-commit.yml @@ -0,0 +1,55 @@ +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: pre-commit run --color=always --show-diff-on-failure --all-files diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ea440070..4963e575 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: git://github.com/antonbabenko/pre-commit-terraform - rev: v1.45.0 + rev: v1.46.0 hooks: - id: terraform_fmt - id: terraform_validate diff --git a/outputs.tf b/outputs.tf index 14b27103..33e5d560 100644 --- a/outputs.tf +++ b/outputs.tf @@ -107,7 +107,7 @@ output "lambda_cloudwatch_log_group_arn" { description = "The ARN of the Cloudwatch Log Group" value = local.log_group_arn } - + output "lambda_cloudwatch_log_group_name" { description = "The name of the Cloudwatch Log Group" value = local.log_group_name