From b9002aa5cec4adc4b571de295931790544c9f0d4 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Thu, 8 May 2025 00:26:46 +0200 Subject: [PATCH] terraform-providers: Only update to latest stable version --- .../terraform-providers/update-provider | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/update-provider b/pkgs/applications/networking/cluster/terraform-providers/update-provider index 4d380a141b8f..38ce1f0b7fcf 100755 --- a/pkgs/applications/networking/cluster/terraform-providers/update-provider +++ b/pkgs/applications/networking/cluster/terraform-providers/update-provider @@ -8,6 +8,7 @@ # set -euo pipefail shopt -s inherit_errexit +set -x show_usage() { cat </dev/null if [[ ${provider} =~ ^[^/]+/[^/]+$ ]]; then @@ -112,10 +117,19 @@ fi homepage="$(read_attr homepage)" -registry_response=$(curl -s "${homepage//providers/v1/providers}") - old_rev="$(read_attr rev)" -rev="$(jq -r '.tag' <<<"${registry_response}")" +registry_response_unstable=$(curl -s "${homepage//providers/v1/providers}") + +if is_stable_version "${old_rev}"; then + version_stable=$(jq -r '.versions | map(select(test("^[0-9]+\\.[0-9]+\\.[0-9]+$"))) | last' <<<${registry_response_unstable}) + registry_response_stable=$(curl -s "${homepage//providers/v1/providers}/${version_stable}") + rev="$(jq -r '.tag' <<<${registry_response_stable})" + registry_response=$registry_response_stable +else + rev="$(jq -r '.tag' <<<${registry_response_unstable})" + registry_response=$registry_response_unstable +fi + if [[ ${force} != 1 ]]; then if [[ ${old_rev} == "${rev}" ]]; then echo_provider "already at version ${rev}"