Skip to content

Updates Pull Requests with visual diff of Terraform Plan changes

License

Notifications You must be signed in to change notification settings

ahmadnassri/action-terraform-report

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

GitHub Action: Terraform Pull Request Report Generator

Updates Pull Requests with visual diff of Terraform Plan changes

license release semantic

Usage

name: terraform-plan

on:
  pull_request:

jobs:
  terraform-plan:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
      - uses: hashicorp/setup-terraform@v3
        with:
          terraform_wrapper: false

      - run: terraform init
      - run: terraform plan -lock=false -out terraform.plan

      # generate plain output
      - run: terraform show -no-color terraform.plan > terraform.text

      # generate json output
      - run: terraform show -json terraform.plan > terraform.json

      - uses: ahmadnassri/action-terraform-report@v4
        with:
          # tell the action the plan outputs
          terraform-text: ${{ github.workspace }}/terraform.text
          terraform-json: ${{ github.workspace }}/terraform.json
          remove-stale-reports: true

Note: Ensure terraform_wrapper is set to false to better capture the output into a file (or use your own method)

Inputs

input required default description
terraform-text - path to the file resulting from the output of terraform show /path/to/plan
terraform-json - path to the file resulting from the output of terraform show -json /path/to/plan
github-token github.token The GitHub token used to post comments on pull requests
show-plan true include the terraform plan view in the final output?
show-diff false include the diff view in the final output?
remove-stale-reports false remove report comments for old commits?
custom-header :robot: Terraform Report The header text for the github comment

Examples

Pull Request Comment (default)
Pull Request Comment (Plan)
Pull Request Comment (Diff)

Author: Ahmad Nassri • Twitter: @AhmadNassri