pre-commit icon indicating copy to clipboard operation
pre-commit copied to clipboard

Ability to use -chdir=DIR with tf validate and tf fmt

Open lexicalunit opened this issue 7 months ago • 1 comments

Describe the solution you'd like I need to be able to set the dir via the global terraform argument -chdir=... before running validate:

repos:
- repo: https://github.com/gruntwork-io/pre-commit
  rev: v0.1.23
  hooks:
      - id: terraform-validate
        args: [-chdir=whatever]

However, what the above configuration actually does is attempt to pass -chidr=whatever to the validate subcommand. In other words, it executes this:

terraform validate -chdir=whatever

But that's an error because -chdir is not a valid argument for terraform validate.

What I need is a way to execute this:

terraform -chdir=whatever validate

Describe alternatives you've considered I haven't found a way to set the working directory via some other means.

lexicalunit avatar Nov 23 '23 03:11 lexicalunit

A workaround I found was to use the entry option and passing a short script to /bin/sh. I could have also passed something like terraform -chdir=/path/to/dir validate to the shell, either way is fine 🤷🏻‍♀️

repos:
- repo: https://github.com/gruntwork-io/pre-commit
  rev: v0.1.23
  hooks:
      - id: terraform-validate
        name: terraform validate
        entry: /bin/sh -c 'cd /path/to/dir && terraform validate'

lexicalunit avatar Nov 23 '23 17:11 lexicalunit