From b6c567adb188ec34f4a77f234bebbe52493bf3a4 Mon Sep 17 00:00:00 2001 From: Timo Furrer <tfurrer@gitlab.com> Date: Thu, 31 Oct 2024 13:26:51 +0100 Subject: [PATCH] Outsource README generation script from Makefile into script Changelog: development --- .gitlab/scripts/generate-readme.sh | 24 ++++++++++++++++++++++++ Makefile | 16 +++------------- 2 files changed, 27 insertions(+), 13 deletions(-) create mode 100755 .gitlab/scripts/generate-readme.sh diff --git a/.gitlab/scripts/generate-readme.sh b/.gitlab/scripts/generate-readme.sh new file mode 100755 index 0000000..e412ade --- /dev/null +++ b/.gitlab/scripts/generate-readme.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +set -o errexit +set -o errtrace + +script_dir=$(dirname "$0") + +csplit -sf readme -n 1 "${script_dir}/../README.md.template" '/<RENDER>/' + +# shellcheck disable=SC2016 +{ + echo '<!-- This document is generated by `make docs` from `.gitlab/README.md` -->' + echo + cat readme0 + echo + echo '### Available OpenTofu Versions' + echo + echo 'The following OpenTofu versions are available with this component via the `opentofu_version` input:' + echo + yq '.".data".supported_versions | .[] | "- [`" + . + "`](https://github.com/opentofu/opentofu/releases/tag/v" + . + ")"' "${script_dir}/../../opentofu_versions.yaml" + tail -n+2 readme1 +} > "${script_dir}/../../README.md" + +rm -f readme0 readme1 readme_inputs.md diff --git a/Makefile b/Makefile index e6baaae..eb62807 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,12 @@ -RELEASE_SCRIPT = ./.gitlab/scripts/release.sh +GENERATE_README_SCRIPT ?= ./.gitlab/scripts/generate-readme.sh +RELEASE_SCRIPT ?= ./.gitlab/scripts/release.sh .PHONY: all all: docs .PHONY: docs docs: - csplit -sf readme -n 1 .gitlab/README.md.template '/<RENDER>/' - echo '<!-- This document is generated by `make docs` from `.gitlab/README.md` -->' > README.md - echo >> README.md - cat readme0 >> README.md - echo >> README.md - echo '### Available OpenTofu Versions' >> README.md - echo >> README.md - echo 'The following OpenTofu versions are available with this component via the `opentofu_version` input:' >> README.md - echo >> README.md - yq '.".data".supported_versions | .[] | "- [`" + . + "`](https://github.com/opentofu/opentofu/releases/tag/v" + . + ")"' opentofu_versions.yaml >> README.md - tail -n+2 readme1 >> README.md - rm -f readme0 readme1 readme_inputs.md + $(GENERATE_README_SCRIPT) .PHONY: release release: -- GitLab