From 5a45417aebf56cb0897be079ff8f0dfffd5f9d2c Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Fri, 18 Feb 2022 09:54:10 -0800 Subject: [PATCH] Fix generate-stackbrew-library.sh to skip released RCs --- generate-stackbrew-library.sh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index cf00e12e..b6d8affa 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -82,16 +82,27 @@ join() { } for version; do - export version + rcVersion="${version%-rc}" + export version rcVersion if ! fullVersion="$(jq -er '.[env.version] | if . then .version else empty end' versions.json)"; then continue fi + if [ "$rcVersion" != "$version" ] && rcFullVersion="$(jq -er '.[env.rcVersion] | if . then .version else empty end' versions.json)"; then + # if this is a "-rc" release, let's make sure the release it contains isn't already GA (and thus something we should not publish anymore) + latestVersion="$({ echo "$fullVersion"; echo "$rcFullVersion"; } | sort -V | tail -1)" + if [[ "$fullVersion" == "$rcFullVersion"* ]] || [ "$latestVersion" = "$rcFullVersion" ]; then + # "x.y.z-rc1" == x.y.z* + continue + fi + fi + variants="$(jq -r '.[env.version].variants | map(@sh) | join(" ")' versions.json)" eval "variants=( $variants )" versionAliases=( + $fullVersion $version ${aliases[$version]:-} ) @@ -102,12 +113,11 @@ for version; do dir="$version/$dir" [ -f "$dir/Dockerfile" ] || continue - baseAliases=( $fullVersion "${versionAliases[@]}" ) - variantAliases=( "${baseAliases[@]/%/-$variant}" ) + variantAliases=( "${versionAliases[@]/%/-$variant}" ) variantAliases=( "${variantAliases[@]//latest-/}" ) if [ "$variant" = 'cli' ]; then - variantAliases+=( "${baseAliases[@]}" ) + variantAliases+=( "${versionAliases[@]}" ) fi suiteVariantAliases=( "${variantAliases[@]/%/-$suite}" )