Skip to content

GitHub Action to find all Terraform module directories in a monorepo

License

Notifications You must be signed in to change notification settings

bendrucker/find-terraform-modules

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Find Terraform Modules Action build-test

A GitHub Action that finds all Terraform module directories in a monorepo. Results can be passed to matrix jobs or looped in other steps.

Usage

name: Validate
on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  find-modules:
    runs-on: ubuntu-latest
    steps:
      - id: find
        uses: bendrucker/find-terraform-modules@v1
        with:
          working-directory: ./modules
    outputs:
      modules: ${{ steps.find.outputs.modules }}
  validate:
    runs-on: ubuntu-latest
    needs: find-modules
    strategy:
      matrix:
        module: ${{ fromJson(needs.find-modules.outputs.modules) }}
    steps:
      - uses: actions/checkout@v2
      - uses: hashicorp/setup-terraform@v1
      - run: terraform fmt -check
      - run: terraform init
      - run: terraform validate -chdir ${{ matrix.module }}

Releasing

npm version $inc && git push --follow-tags