Skip to content

Commit 5a45417

Browse files
committed
Fix generate-stackbrew-library.sh to skip released RCs
1 parent 9d11b0f commit 5a45417

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

generate-stackbrew-library.sh

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,27 @@ join() {
8282
}
8383

8484
for version; do
85-
export version
85+
rcVersion="${version%-rc}"
86+
export version rcVersion
8687

8788
if ! fullVersion="$(jq -er '.[env.version] | if . then .version else empty end' versions.json)"; then
8889
continue
8990
fi
9091

92+
if [ "$rcVersion" != "$version" ] && rcFullVersion="$(jq -er '.[env.rcVersion] | if . then .version else empty end' versions.json)"; then
93+
# 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)
94+
latestVersion="$({ echo "$fullVersion"; echo "$rcFullVersion"; } | sort -V | tail -1)"
95+
if [[ "$fullVersion" == "$rcFullVersion"* ]] || [ "$latestVersion" = "$rcFullVersion" ]; then
96+
# "x.y.z-rc1" == x.y.z*
97+
continue
98+
fi
99+
fi
100+
91101
variants="$(jq -r '.[env.version].variants | map(@sh) | join(" ")' versions.json)"
92102
eval "variants=( $variants )"
93103

94104
versionAliases=(
105+
$fullVersion
95106
$version
96107
${aliases[$version]:-}
97108
)
@@ -102,12 +113,11 @@ for version; do
102113
dir="$version/$dir"
103114
[ -f "$dir/Dockerfile" ] || continue
104115

105-
baseAliases=( $fullVersion "${versionAliases[@]}" )
106-
variantAliases=( "${baseAliases[@]/%/-$variant}" )
116+
variantAliases=( "${versionAliases[@]/%/-$variant}" )
107117
variantAliases=( "${variantAliases[@]//latest-/}" )
108118

109119
if [ "$variant" = 'cli' ]; then
110-
variantAliases+=( "${baseAliases[@]}" )
120+
variantAliases+=( "${versionAliases[@]}" )
111121
fi
112122

113123
suiteVariantAliases=( "${variantAliases[@]/%/-$suite}" )

0 commit comments

Comments
 (0)