mirror of
https://github.com/tofuutils/pre-commit-opentofu.git
synced 2025-10-15 17:38:54 +02:00
feat: rename pre-commit-terraform to pre-commit-opentofu, pt IV
This commit is contained in:
parent
233f6c6c8b
commit
32f93afd65
4 changed files with 17 additions and 16 deletions
6
.github/CONTRIBUTING.md
vendored
6
.github/CONTRIBUTING.md
vendored
|
|
@ -27,7 +27,7 @@ pre-commit try-repo {-a} /path/to/local/pre-commit-opentofu/repo {hook_name}
|
||||||
I.e.
|
I.e.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pre-commit try-repo /mnt/c/Users/tf/pre-commit-opentofu terraform_fmt # Run only `terraform_fmt` check
|
pre-commit try-repo /mnt/c/Users/tf/pre-commit-opentofu tofu_fmt # Run only `tofu_fmt` check
|
||||||
pre-commit try-repo -a ~/pre-commit-opentofu # run all existing checks from repo
|
pre-commit try-repo -a ~/pre-commit-opentofu # run all existing checks from repo
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -35,10 +35,10 @@ Running `pre-commit` with `try-repo` ignores all arguments specified in `.pre-co
|
||||||
|
|
||||||
If you need to test hook with arguments, follow [pre-commit doc](https://pre-commit.com/#arguments-pattern-in-hooks) to test hooks.
|
If you need to test hook with arguments, follow [pre-commit doc](https://pre-commit.com/#arguments-pattern-in-hooks) to test hooks.
|
||||||
|
|
||||||
For example, to test that the [`terraform_fmt`](../README.md#terraform_fmt) hook works fine with arguments:
|
For example, to test that the [`tofu_fmt`](../README.md#tofu_fmt) hook works fine with arguments:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/tmp/pre-commit-opentofu/terraform_fmt.sh --args=-diff --args=-write=false test-dir/main.tf test-dir/vars.tf
|
/tmp/pre-commit-opentofu/tofu_fmt.sh --args=-diff --args=-write=false test-dir/main.tf test-dir/vars.tf
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run hook performance test
|
## Run hook performance test
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ Linux DESKTOP-C7315EF 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43
|
||||||
bash << EOF
|
bash << EOF
|
||||||
bash --version | head -n 1 2>/dev/null || echo "bash SKIPPED"
|
bash --version | head -n 1 2>/dev/null || echo "bash SKIPPED"
|
||||||
pre-commit --version 2>/dev/null || echo "pre-commit SKIPPED"
|
pre-commit --version 2>/dev/null || echo "pre-commit SKIPPED"
|
||||||
terraform --version | head -n 1 2>/dev/null || echo "terraform SKIPPED"
|
tofu --version | head -n 1 2>/dev/null || echo "tofu SKIPPED"
|
||||||
python --version 2>/dev/null || echo "python SKIPPED"
|
python --version 2>/dev/null || echo "python SKIPPED"
|
||||||
python3 --version 2>/dev/null || echo "python3 SKIPPED"
|
python3 --version 2>/dev/null || echo "python3 SKIPPED"
|
||||||
echo -n "checkov " && checkov --version 2>/dev/null || echo "checkov SKIPPED"
|
echo -n "checkov " && checkov --version 2>/dev/null || echo "checkov SKIPPED"
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ function common::initialize {
|
||||||
# Globals (init and populate):
|
# Globals (init and populate):
|
||||||
# ARGS (array) arguments that configure wrapped tool behavior
|
# ARGS (array) arguments that configure wrapped tool behavior
|
||||||
# HOOK_CONFIG (array) arguments that configure hook behavior
|
# HOOK_CONFIG (array) arguments that configure hook behavior
|
||||||
# TF_INIT_ARGS (array) arguments for `terraform init` command
|
# TF_INIT_ARGS (array) arguments for `tofu init` command
|
||||||
# ENV_VARS (array) environment variables will be available
|
# ENV_VARS (array) environment variables will be available
|
||||||
# for all 3rd-party tools executed by a hook.
|
# for all 3rd-party tools executed by a hook.
|
||||||
# FILES (array) filenames to check
|
# FILES (array) filenames to check
|
||||||
|
|
|
||||||
|
|
@ -64,37 +64,38 @@ function terraform_docs_ {
|
||||||
elif [[ "$hack_terraform_docs" == "1" ]]; then # Using awk script because terraform-docs is older than 0.8 and terraform 0.12 is used
|
elif [[ "$hack_terraform_docs" == "1" ]]; then # Using awk script because terraform-docs is older than 0.8 and terraform 0.12 is used
|
||||||
|
|
||||||
if [[ ! $(command -v awk) ]]; then
|
if [[ ! $(command -v awk) ]]; then
|
||||||
|
# TODO: pls check it
|
||||||
echo "ERROR: awk is required for terraform-docs hack to work with Terraform 0.12."
|
echo "ERROR: awk is required for terraform-docs hack to work with Terraform 0.12."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local tmp_file_awk
|
local tmp_file_awk
|
||||||
tmp_file_awk=$(mktemp "${TMPDIR:-/tmp}/terraform-docs-XXXXXXXXXX")
|
tmp_file_awk=$(mktemp "${TMPDIR:-/tmp}/tofu-docs-XXXXXXXXXX")
|
||||||
terraform_docs_awk "$tmp_file_awk"
|
tofu_docs_awk "$tmp_file_awk"
|
||||||
terraform_docs "$tmp_file_awk" "${configs[*]}" "$args" "${files[@]}"
|
tofu_docs "$tmp_file_awk" "${configs[*]}" "$args" "${files[@]}"
|
||||||
rm -f "$tmp_file_awk"
|
rm -f "$tmp_file_awk"
|
||||||
|
|
||||||
else # Using terraform 0.11 and no awk script is needed for that
|
else # Using terraform 0.11 and no awk script is needed for that
|
||||||
|
# TODO: should be deleted for OpenTofu.
|
||||||
terraform_docs "0" "${configs[*]}" "$args" "${files[@]}"
|
tofu_docs "0" "${configs[*]}" "$args" "${files[@]}"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
# Wrapper around `terraform-docs` tool that check and change/create
|
# Wrapper around `terraform-docs` tool that check and change/create
|
||||||
# (depends on provided hook_config) terraform documentation in
|
# (depends on provided hook_config) OpenTofu documentation in
|
||||||
# markdown format
|
# markdown format
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# terraform_docs_awk_file (string) filename where awk hack for old
|
# terraform_docs_awk_file (string) filename where awk hack for old
|
||||||
# `terraform-docs` was written. Needed for TF 0.12+.
|
# `terraform-docs` was written. Needed for TF 0.12+.
|
||||||
# Hack skipped when `terraform_docs_awk_file == "0"`
|
# Hack skipped when `tofu_docs_awk_file == "0"`
|
||||||
# hook_config (string with array) arguments that configure hook behavior
|
# hook_config (string with array) arguments that configure hook behavior
|
||||||
# args (string with array) arguments that configure wrapped tool behavior
|
# args (string with array) arguments that configure wrapped tool behavior
|
||||||
# files (array) filenames to check
|
# files (array) filenames to check
|
||||||
#######################################################################
|
#######################################################################
|
||||||
function terraform_docs {
|
function tofu_docs {
|
||||||
local -r terraform_docs_awk_file="$1"
|
local -r tofu_docs_awk_file="$1"
|
||||||
local -r hook_config="$2"
|
local -r hook_config="$2"
|
||||||
local args="$3"
|
local args="$3"
|
||||||
shift 3
|
shift 3
|
||||||
|
|
@ -229,7 +230,7 @@ function terraform_docs {
|
||||||
else
|
else
|
||||||
# Can't append extension for mktemp, so renaming instead
|
# Can't append extension for mktemp, so renaming instead
|
||||||
local tmp_file_docs
|
local tmp_file_docs
|
||||||
tmp_file_docs=$(mktemp "${TMPDIR:-/tmp}/terraform-docs-XXXXXXXXXX")
|
tmp_file_docs=$(mktemp "${TMPDIR:-/tmp}/tofu-docs-XXXXXXXXXX")
|
||||||
mv "$tmp_file_docs" "$tmp_file_docs.tf"
|
mv "$tmp_file_docs" "$tmp_file_docs.tf"
|
||||||
local tmp_file_docs_tf
|
local tmp_file_docs_tf
|
||||||
tmp_file_docs_tf="$tmp_file_docs.tf"
|
tmp_file_docs_tf="$tmp_file_docs.tf"
|
||||||
|
|
@ -263,7 +264,7 @@ function terraform_docs {
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# output_file (string) filename where hack will be written to
|
# output_file (string) filename where hack will be written to
|
||||||
#######################################################################
|
#######################################################################
|
||||||
function terraform_docs_awk {
|
function tofu_docs_awk {
|
||||||
local -r output_file=$1
|
local -r output_file=$1
|
||||||
|
|
||||||
cat << "EOF" > "$output_file"
|
cat << "EOF" > "$output_file"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue