Set up your GitHub Actions workflow with a specific version of Terraform.
From version v3.0.0, the inputs and outputs are changed to dash-separated version (terraform-version
, terraform-version-file
, terraform-path
).
This convention aligns with the YAML style guide and is more prevalent in the GitHub Actions community and documentation.
The next example step will install Terraform 1.2.8.
name: Example workflow
on: [push]
jobs:
example:
name: Example Terraform interaction
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Terraform
uses: autero1/action-terraform@v3
with:
terraform-version: 1.2.8
- name: Interact with Terraform
run: terraform --version
If you want to use a version file, e.g. .terraform-version
, you can use the following example:
name: Example workflow
on: [push]
jobs:
example:
name: Example Terraform interaction
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Terraform
uses: autero1/action-terraform@v3
with:
terraform-version-file: .terraform-version
- name: Interact with Terraform
run: terraform --version
Parameter | Description | Required |
---|---|---|
terraform-version |
Terraform version to deploy | either version or version file required |
terraform-version-file |
File containing the Terraform version to install. | either version or version file required |
Parameter | Description |
---|---|
terraform-path |
Cached tool path of Terraform |
This action has been tested on the following platforms:
- ubuntu-22.04
- windows-latest
- macos-latest
Contributions to this repository are very welcome! We follow a fairly standard pull request process for contributions, subject to the following guidelines:
- File a GitHub issue
- Fork the repository
- Update the documentation
- Update the tests
- Update the code
- Create a pull request
- (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.
The scripts and documentation in this project are released under the MIT license.