|
2 | 2 | set -Eeuo pipefail
|
3 | 3 |
|
4 | 4 | declare -A aliases=(
|
5 |
| - [1.24]='1 latest' |
| 5 | + #[1.24]='1 latest' |
6 | 6 | )
|
7 | 7 |
|
| 8 | +# because we sort in versions.sh, we can assume the first non-rc in versions.json is the "latest" release |
| 9 | +latest="$(jq -r 'first(keys_unsorted - ["tip"] | .[] | select(endswith("-rc") | not))' versions.json)" |
| 10 | +[ -n "$latest" ] |
| 11 | +aliases["$latest"]+=' 1 latest' |
| 12 | +export latest |
| 13 | + |
8 | 14 | self="$(basename "$BASH_SOURCE")"
|
9 | 15 | cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
10 | 16 |
|
11 | 17 | if [ "$#" -eq 0 ]; then
|
12 |
| - versions="$(jq -r 'keys | map(@sh) | join(" ")' versions.json)" |
| 18 | + versions="$(jq -r 'keys_unsorted | map(@sh) | join(" ")' versions.json)" |
13 | 19 | eval "set -- $versions"
|
14 | 20 | fi
|
15 | 21 |
|
16 |
| -# sort version numbers with highest first |
17 |
| -IFS=$'\n'; set -- $(sort -rV <<<"$*"); unset IFS |
| 22 | +# no sort because we already sorted the keys in versions.sh (hence "keys_unsorted" above) |
18 | 23 |
|
19 | 24 | # get the most recent commit which modified any of "$@"
|
20 | 25 | fileCommit() {
|
@@ -139,7 +144,13 @@ for version; do
|
139 | 144 |
|
140 | 145 | # cross-reference with supported architectures
|
141 | 146 | for arch in $variantArches; do
|
142 |
| - if ! jq -e --arg arch "$arch" '.[env.version].arches[$arch].supported' versions.json &> /dev/null; then |
| 147 | + if ! jq -e --arg arch "$arch" ' |
| 148 | + .[env.version].arches[$arch].supported |
| 149 | + # if the version we are checking is "tip", we need to cross-reference "latest" also (since it uses latest as GOROOT_BOOTSTRAP via COPY --from) |
| 150 | + and if env.version == "tip" then |
| 151 | + .[env.latest].arches[$arch].supported |
| 152 | + else true end |
| 153 | + ' versions.json &> /dev/null; then |
143 | 154 | variantArches="$(sed <<<" $variantArches " -e "s/ $arch / /g")"
|
144 | 155 | fi
|
145 | 156 | done
|
|
0 commit comments