This is one of a suite of OpenTofu related actions - find them at dflook/terraform-github-actions.
This action uses the tofu fmt -recursive
command to reformat files in a directory into a canonical format.
-
path
Path containing OpenTofu files
- Type: string
- Optional
- Default: The action workspace
-
workspace
OpenTofu workspace to inspect when discovering the OpenTofu version to use, if not otherwise specified. See dflook/tofu-version for details.
- Type: string
- Optional
-
backend_config
List of OpenTofu backend config values, one per line. This is used for discovering the OpenTofu version to use, if not otherwise specified. See dflook/tofu-version for details.
with: backend_config: token=${{ secrets.BACKEND_TOKEN }}
- Type: string
- Optional
-
backend_config_file
List of OpenTofu backend config files to use, one per line. This is used for discovering the OpenTofu version to use, if not otherwise specified. See dflook/tofu-version for details. Paths should be relative to the GitHub Actions workspace
with: backend_config_file: prod.backend.tfvars
- Type: string
- Optional
-
TERRAFORM_CLOUD_TOKENS
For the purpose of detecting the OpenTofu version to use from a cloud backend. API tokens for cloud hosts, of the form
<host>=<token>
. Multiple tokens may be specified, one per line. These tokens may be used with theremote
backend and for fetching required modules from the registry.e.g:
env: TERRAFORM_CLOUD_TOKENS: app.terraform.io=${{ secrets.TF_CLOUD_TOKEN }}
With other registries:
env: TERRAFORM_CLOUD_TOKENS: | app.terraform.io=${{ secrets.TF_CLOUD_TOKEN }} tofu.example.com=${{ secrets.TF_REGISTRY_TOKEN }}
- Type: string
- Optional
This example automatically creates a pull request to fix any formatting problems that get merged into the main branch.
name: Fix OpenTofu file formatting
on:
push:
branches:
- main
jobs:
format:
runs-on: ubuntu-latest
name: Check OpenTofu file are formatted correctly
steps:
- name: Checkout
uses: actions/checkout@v3
- name: tofu fmt
uses: dflook/tofu-fmt@v1
with:
path: my-terraform-config
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
commit-message: tofu fmt
title: Reformat tofu files
body: Update OpenTofu files to canonical format using `tofu fmt`
branch: automated-terraform-fmt