tfaction
The contents under /unreleased/ are for unreleased versions.
They are unstable.
📄️ tfaction
Ask DeepWiki
📄️ Getting Started
We will build a simple workflow using the minimum configuration required for tfaction.
📄️ Hide Old PR Comments
In the workflow built in Getting Started, tfcmt posts comments on pull requests.
📄️ JSON Schema for Configuration Files
Both tfaction-root.yaml and tfaction.yaml provide JSON Schemas.
📄️ Configuration Priority
tfaction's configuration has a hierarchy, and some settings can be defined in multiple places.
📄️ tfaction v2 is a Single Action
If you look at the workflow in Getting Started, you can see that tfaction calls the same action multiple times with different values for the action input.
📄️ Monorepo
In Getting Started, there was only one root module, but now let's set up a monorepo.
📄️ Run Terraform When a Dependent Local-Path Module is Updated
By default, list-targets lists updated root modules, but if a root module references a module by traversing up the directory hierarchy, updating that referenced module does not add the root module to the list.
📄️ Linting and Formatting
You can perform linting and formatting using the test action.
📄️ Creating a Root Module from a Template
Let's add a GitHub Actions workflow to create a root module from a template.
📄️ Configuration for AWS
This page explains the configuration for using the AWS Provider and S3 Backend.
📄️ Configuration for Google Cloud
This page explains the configuration for using the Google Cloud Provider and GCS Backend.
📄️ Configuring Targets (Aliases)
The relative path from the Git repository root to the root module is used in PR comments, PR labels, and other places.
📄️ Configuring tfcmt
📄️ Configuring Terraform Command Options
To set options for terraform commands in tfaction, you can use the environment variables TFCLIARGS and TFCLIARGS_name.
📄️ Limiting the Number of Root Modules Changed in a Single PR
You can limit the number of root modules that can be changed in a single PR.
📄️ Code Generation with terraform plan -generate-config-out
terraform plan -generate-config-out is a very useful command that generates resource blocks from import blocks.
📄️ Secure Commits and PR Creation with CSM Actions
By default, tfaction uses the github_token input when creating commits and PRs.
📄️ Using OpenTofu or Terragrunt
By default, tfaction runs terraform, but you can replace it with a compatible tool such as OpenTofu.
📄️ Skipping terraform plan and apply
If only files matching skipterraformfiles under a working directory are modified, terraform plan and apply are skipped.
📄️ Automatic PR Branch Updates
tfaction automatically updates PR branches. There are two types of updates:
📄️ v2 Release Note
Summary