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: Terraform Init shell: bash working-directory: ${{ inputs.working-directory }} run: terraform init - 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