File tree Expand file tree Collapse file tree 1 file changed +17
-3
lines changed
pkgs/applications/networking/cluster/terraform-providers Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Original file line number Diff line number Diff line change 88#
99set -euo pipefail
1010shopt -s inherit_errexit
11+ set -x
1112
1213show_usage () {
1314 cat << DOC
@@ -97,6 +98,10 @@ echo_provider() {
9798 echo " == terraform-providers.${provider} : $* =="
9899}
99100
101+ is_stable_version () {
102+ [[ $1 =~ ^v[0-9]+\. [0-9]+\. [0-9]+$ ]]
103+ }
104+
100105pushd " $( dirname " $0 " ) " > /dev/null
101106
102107if [[ ${provider} =~ ^[^/]+/[^/]+$ ]]; then
112117
113118homepage=" $( read_attr homepage) "
114119
115- registry_response=$( curl -s " ${homepage// providers/ v1/ providers} " )
116-
117120old_rev=" $( read_attr rev) "
118- rev=" $( jq -r ' .tag' <<< " ${registry_response}" ) "
121+ registry_response_unstable=$( curl -s " ${homepage// providers/ v1/ providers} " )
122+
123+ if is_stable_version " ${old_rev} " ; then
124+ version_stable=$( jq -r ' .versions | map(select(test("^[0-9]+\\.[0-9]+\\.[0-9]+$"))) | last' <<< ${registry_response_unstable} )
125+ registry_response_stable=$( curl -s " ${homepage// providers/ v1/ providers} /${version_stable} " )
126+ rev=" $( jq -r ' .tag' <<< ${registry_response_stable} ) "
127+ registry_response=$registry_response_stable
128+ else
129+ rev=" $( jq -r ' .tag' <<< ${registry_response_unstable} ) "
130+ registry_response=$registry_response_unstable
131+ fi
132+
119133if [[ ${force} != 1 ]]; then
120134 if [[ ${old_rev} == " ${rev} " ]]; then
121135 echo_provider " already at version ${rev} "
You can’t perform that action at this time.
0 commit comments