Releases: dflook/terraform-github-actions
v1.40.0
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.40.0
to use exactly this release@v1.40
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Added
-
An optional
plan_path
input for dflook/terraform-apply, and matchingplan_path
output for dflook/terraform-plan.This allows passing the generated plan from the plan step to the apply step, if you have a secure place to store it.
The default behaviour when this is not set is unchanged - the apply step will generate a fresh plan and compare it to the plan from the PR comment.
By passing the plan from the plan step to the apply step, the apply step will skip generating a plan and use the passed plan instead.
It must still match the plan in the PR comment.This can be much faster than planning the same change twice, but is not necessarily a better choice. See the dflook/terraform-apply docs for details.
-
A new
to_import
output for dflook/terraform-plan, which is the number of resources that would be imported by the plan.This joins the existing
to_add
,to_change
,to_destroy
andto_move
outputs.
v1.39.0
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.39.0
to use exactly this release@v1.39
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Added
-
Coloured highlighting for the plan in PR comments.
The plan shown in PR comments now uses diff syntax highlighting, making it easier to see the effect of the plan.
Fixed
-
Some workarounds were added for defective self-hosted runners that run docker based actions in broken environments.
This includes Actions Runner Controller with containerMode: "kubernetes".
v1.38.0
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.38.0
to use exactly this release@v1.38
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Added
-
Terraform outputs are added to the PR comment after the plan is applied.
This is useful for seeing the values of outputs that are only available after apply, e.g. the public IP of a created resource.
Previously this was only visible in the workflow log. -
The new
always-new
option for theadd_github_comment
input of dflook/terraform-plan.This will always add a new comment for each plan that is generated, instead of updating an existing comment if one exists.
This can be preferable if you are iterating on a plan and want to see each plan in the correct place in the PR timeline.The default behaviour is unchanged and will update an existing comment if one exists, hiding outdated plans. The history of the plan is visible in the comment history.
Changed
-
PR comments will no longer be updated once a plan has been applied.
When dflook/terraform-apply applies a plan, any PR comment will be updated with the results of the apply, and then no further updates will be made. Any further plans generated by dflook/terraform-plan will result in a new plan in a different PR comment.
This is to avoid the comment being updated after the plan has been applied, which can be confusing.
This would only happen if your workflow is to apply changes before merging the PR.
v1.37.0
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.37.0
to use exactly this release@v1.37
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Added
-
Experimental support for OpenTofu.
New tofu actions have been added that are identical to the terraform actions, but uses OpenTofu instead of Terraform for versions >=1.6.0:
- dflook/tofu-version
- dflook/tofu-remote-state
- dflook/tofu-output
- dflook/tofu-validate
- dflook/tofu-fmt-check
- dflook/tofu-fmt
- dflook/tofu-check
- dflook/tofu-plan
- dflook/tofu-apply
- dflook/tofu-destroy
- dflook/tofu-new-workspace
- dflook/tofu-destroy-workspace
- dflook/tofu-unlock-state
As OpenTofu currently only has pre-release versions, OpenTofu will only be selected by using the exact version number.
The easiest way to do this is by setting theOPENTOFU_VERSION
environment variable, e.g in your workflow:env: OPENTOFU_VERSION: 1.6.0-alpha3
Setting
OPENTOFU_VERSION
with thedflook/terraform-*
actions will cause it to behave as if it was thedflook/tofu-*
action.
v1.36.2
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.36.2
to use exactly this release@v1.36
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Fixed
- When no terraform version is specified and no state file exists the actions will now use the latest terraform version, instead of incorrectly using Terraform 0.9.
v1.36.1
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.36.1
to use exactly this release@v1.36
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Fixed
- The selected workspace was not being shown in the workflow log when using a partial cloud block.
v1.36.0
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.36.0
to use exactly this release@v1.36
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Added
-
Support for being triggered by repository_dispatch events.
Previously dflook/terraform-plan and dflook/terraform-apply couldn't work with PR comments when triggered by
repository_dispatch
events. With this changerepository_dispatch
events that include the PR api url in the client payload will be able to use PR comments.The minimum client payload looks like:
{ "pull_request": { "url": "https://api.github.com/repos/dflook/terraform-github-actions/pulls/1" } }
v1.35.0
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.35.0
to use exactly this release@v1.35
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Added
- Support for partial or empty cloud blocks. This means you can use a placeholder
cloud
block in your terraform, like so:
terraform {
cloud {
}
}
The configuration will be completed with the TF_CLOUD_ORGANIZATION
and TF_CLOUD_HOSTNAME
environment variables - the workspace should be specified using the workspace
input.
As always, any tokens can be supplied in the TERRAFORM_CLOUD_TOKENS
environment variable.
v1.34.0
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.34.0
to use exactly this release@v1.34
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Added
- The action image now also builds for
arm64
, meaning these actions will work on linux/arm64 runners.
Fixed
- Workaround Terraform 1.4.0 sometimes forgetting to output anything.
v1.33.0
All the terraform actions in this repository are released as one.
Use the actions as part of a GitHub Actions workflow, e.g:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dflook/[email protected]
with:
path: my-terraform-config
You can specify an action version as:
@v1.33.0
to use exactly this release@v1.33
to use the latest patch release for this specific minor version@v1
to use the latest patch release for this specific major version
Changes
Added
-
The dflook/terraform-plan and dflook/terraform-apply actions now have a
destroy
input.
When settingdestroy: true
terraform will run in destroy mode, planning the destruction of all resources.
This allows reviewing the effect of a destroy before applying it.The dflook/terraform-destroy action is unchanged and will still immediately destroy all resources.