https://github.com/autero1/action-terragrunt
GitHub action for setting up Terragrunt https://terragrunt.gruntwork.io
https://github.com/autero1/action-terragrunt
actions github-actions terraform terragrunt
Last synced: 9 months ago
JSON representation
GitHub action for setting up Terragrunt https://terragrunt.gruntwork.io
- Host: GitHub
- URL: https://github.com/autero1/action-terragrunt
- Owner: autero1
- License: mit
- Created: 2020-02-16T14:06:48.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-09-13T23:09:41.000Z (9 months ago)
- Last Synced: 2025-09-14T01:09:27.826Z (9 months ago)
- Topics: actions, github-actions, terraform, terragrunt
- Language: JavaScript
- Size: 1.37 MB
- Stars: 63
- Watchers: 3
- Forks: 28
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[](https://github.com/autero1/action-terragrunt/blob/main/LICENSE)
[](https://github.com/autero1/action-terragrunt/releases/latest)
[](https://github.com/autero1/action-terragrunt/releases)
[](https://github.com/autero1/action-terragrunt/actions/workflows/test-action.yml)
[](https://www.codefactor.io/repository/github/autero1/action-terragrunt)
# Setup Terragrunt GitHub Action
Set up your GitHub Actions workflow with a specific version of [Terragrunt](https://terragrunt.gruntwork.io/). You can optionally set version to `latest` to use the most recent version.
Because of [deprecation in the GitHub Actions environment](https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/), versions lower than v1.0.0 will no longer work properly.
## Special Notice
From version `v3.0.0`, the inputs and outputs are changed to dash-separated version (`terragrunt-version`, `terragrunt-version-file`, `terragrunt-path`).
This convention aligns with the YAML style guide and is more prevalent in the GitHub Actions community and documentation.
## Usage
The next example step will install Terragrunt 0.55.2.
```yaml
name: Example workflow
on: [push]
jobs:
example:
name: Example Terragrunt interaction
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Terragrunt
uses: autero1/action-terragrunt@v3
with:
terragrunt-version: 0.55.2
token: ${{ secrets.GITHUB_TOKEN }}
- name: Interact with Terragrunt
run: terragrunt --version
```
If you want to use a version file, e.g. `.terragrunt-version`, you can use the following example:
```yaml
name: Example workflow with version file
on: [push]
jobs:
example:
name: Example Terragrunt interaction
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Terragrunt
uses: autero1/action-terragrunt@v3
with:
terragrunt-version-file: .terragrunt-version
token: ${{ secrets.GITHUB_TOKEN }}
- name: Interact with Terragrunt
run: terragrunt --version
```
### Inputs
| Parameter | Description | Required |
|---------------------------|--------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------|
| `terragrunt-version` | Terragrunt [version](https://github.com/gruntwork-io/terragrunt/releases) to deploy. Use `latest` for the most recent version. | either version or version file required |
| `terragrunt-version-file` | File containing the Terragrunt version to install. | either version or version file required |
| `token` | Github API Token to avoid rate limiting while getting latest Terragrunt release | false |
### Outputs
| Parameter | Description |
|-------------------| ----------- |
| `terragrunt-path` | Cached tool path of Terragrunt |
### Supported platforms
This action has been tested on the following platforms:
* ubuntu-22.04
* windows-latest
* macos-latest
## Contributing
Contributions to this repository are very welcome! We follow a fairly standard [pull request process](
https://help.github.com/articles/about-pull-requests/) for contributions, subject to the following guidelines:
1. File a GitHub issue
1. Fork the repository
1. Update the documentation
1. Update the tests
1. Update the code
1. Create a pull request
1. (Merge and release)
The maintainers for this repo will review your code and provide feedback. If everything looks good, they will merge the
code and release a new version, which you'll be able to find in the [releases page](../../releases). Release process is automated using [release-please](https://github.com/googleapis/release-please).
## License
The scripts and documentation in this project are released under the [MIT](./LICENSE) license.