Files
terraform/plan/action.yml
lucasdpt 27e8499c60
All checks were successful
semantic-release / release (push) Successful in 30s
feat: handle .terraform cache
2026-03-30 17:18:52 +02:00

44 lines
1.3 KiB
YAML

name: Terraform Plan
description: Run terraform plan and publish the plan as an artifact named "terraform-plan"
inputs:
working-directory:
description: Directory containing the Terraform configuration
required: false
default: "."
runs:
using: composite
steps:
- name: Setup Terraform
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # v4.0.0
- name: Cache Terraform providers
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: ${{ inputs.working-directory }}/.terraform
key: terraform-${{ hashFiles(format('{0}/.terraform.lock.hcl', inputs.working-directory)) }}
restore-keys: terraform-
- name: Terraform Init
shell: bash
working-directory: ${{ inputs.working-directory }}
run: terraform init
- name: Terraform Validate
shell: bash
working-directory: ${{ inputs.working-directory }}
run: terraform validate
- name: Terraform Plan
shell: bash
working-directory: ${{ inputs.working-directory }}
run: terraform plan -out=tfplan
- name: Upload plan artifact
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: terraform-plan
path: ${{ inputs.working-directory }}/tfplan
retention-days: 5