Reusable GitHub Actions workflows that support OpenTofu/Terraform module automation live here. Each workflow is designed to be called from other pipelines via workflow_call.
- Prepares pull requests for release by fetching tags, setting up Node.js 20, and running
semantic-release-github-pr. - Works around the action's PR limitations by checking out the PR branch manually and disabling
GITHUB_ACTIONSbefore invoking the tool.
- Delegates tagging and GitHub release notes to
googleapis/release-please-actionusing theterraform-modulerelease type. - Intended to be triggered after a successful pre-release stage to produce official releases.
- Generates or updates module documentation using
terraform-docs, injecting content into READMEs via markers. - Handles both pull request and push contexts, only pushing documentation changes on non-PR events.
- Provides reusable infrastructure linting with OpenTofu v1.10.5.
- Runs
tofu init,tofu fmt -check, andtofu validate -no-colorto ensure formatting and configuration soundness.
Reference them from another workflow with:
jobs:
lint:
uses: ./.github/workflows/tofu-lint.ymlIf you want to add or modify a module:
- Create a
feature/orfix/branch. - Add tests or validations if applicable.
- Update or generate documentation for the affected module.
- Open a Pull Request for review.