Unverified Commit b9002aa5 authored by Rok Garbas's avatar Rok Garbas
Browse files

terraform-providers: Only update to latest stable version

parent f97c5c89
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
#
set -euo pipefail
shopt -s inherit_errexit
set -x

show_usage() {
  cat <<DOC
@@ -97,6 +98,10 @@ echo_provider() {
  echo "== terraform-providers.${provider}: $* =="
}

is_stable_version() {
  [[ $1 =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]
}

pushd "$(dirname "$0")" >/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}"