From b30233134c8e245c97f9a1829f700e1f58683eff Mon Sep 17 00:00:00 2001 From: Oliver Slater Date: Wed, 27 May 2026 21:51:07 +0100 Subject: [PATCH] build: enhance tool version parsing with legacy and YAML support --- .github/actions/set-metadata/action.yaml | 24 ++++++++++++++++++++--- .tool-versions.yaml => .tool-versions.yml | 0 2 files changed, 21 insertions(+), 3 deletions(-) rename .tool-versions.yaml => .tool-versions.yml (100%) diff --git a/.github/actions/set-metadata/action.yaml b/.github/actions/set-metadata/action.yaml index d30bc2b..93a3be9 100644 --- a/.github/actions/set-metadata/action.yaml +++ b/.github/actions/set-metadata/action.yaml @@ -125,13 +125,31 @@ runs: shell: bash id: default_variables run: | + get_tool_version() { + local tool_name="$1" + + # Preferred legacy format in this repository. + if [[ -f .tool-versions ]]; then + awk -v tool="$tool_name" '$1 == tool { print $2; exit }' .tool-versions + return + fi + + # Backward-compatible YAML format support if present. + if [[ -f .tool-versions.yml ]]; then + yq ".infrastructure.${tool_name} // \"unknown\"" .tool-versions.yml + return + fi + + echo "unknown" + } + datetime=$(date -u +'%Y-%m-%dT%H:%M:%S%z') echo "build_datetime=$datetime" >> $GITHUB_OUTPUT echo "build_timestamp=$(date --date=$datetime -u +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT echo "build_epoch=$(date --date=$datetime -u +'%s')" >> $GITHUB_OUTPUT - echo "nodejs_version=$(yq '.infrastructure.nodejs // "unknown"' .tool-versions.yml)" >> $GITHUB_OUTPUT - echo "python_version=$(yq '.infrastructure.python // "unknown"' .tool-versions.yml)" >> $GITHUB_OUTPUT - echo "terraform_version=$(yq '.infrastructure.terraform // "unknown"' .tool-versions.yml)" >> $GITHUB_OUTPUT + echo "nodejs_version=$(get_tool_version nodejs)" >> $GITHUB_OUTPUT + echo "python_version=$(get_tool_version python)" >> $GITHUB_OUTPUT + echo "terraform_version=$(get_tool_version terraform)" >> $GITHUB_OUTPUT echo "version=$(head -n 1 .version 2> /dev/null || echo unknown)" >> $GITHUB_OUTPUT - name: "Set Deploy Variables" diff --git a/.tool-versions.yaml b/.tool-versions.yml similarity index 100% rename from .tool-versions.yaml rename to .tool-versions.yml