Skip to content

Commit a4f559a

Browse files
committed
Detect "debian" and "alpine" defaults automatically
1 parent 0f8a676 commit a4f559a

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

generate-stackbrew-library.sh

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,6 @@ declare -A aliases=(
55
[1.18]='1 latest'
66
)
77

8-
defaultDebianSuite='bullseye'
9-
declare -A debianSuite=(
10-
#[1.13-rc]='buster'
11-
)
12-
defaultAlpineVersion='3.16'
13-
declare -A alpineVersion=(
14-
#[1.9]='3.7'
15-
)
16-
178
self="$(basename "$BASH_SOURCE")"
189
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
1910

@@ -93,12 +84,29 @@ for version; do
9384
${aliases[$version]:-}
9485
)
9586

87+
defaultDebianVariant="$(jq -r '
88+
.[env.version].variants
89+
| map(select(
90+
startswith("alpine")
91+
or startswith("slim-")
92+
or startswith("windows/")
93+
| not
94+
))
95+
| .[0]
96+
' versions.json)"
97+
defaultAlpineVariant="$(jq -r '
98+
.[env.version].variants
99+
| map(select(
100+
startswith("alpine")
101+
))
102+
| .[0]
103+
' versions.json)"
104+
96105
for v in "${variants[@]}"; do
97106
dir="$version/$v"
98107
[ -f "$dir/Dockerfile" ] || continue
99108

100109
variant="$(basename "$v")"
101-
versionSuite="${debianSuite[$version]:-$defaultDebianSuite}"
102110

103111
fullVersion="$(jq -r '.[env.version].version' versions.json)"
104112

@@ -112,7 +120,7 @@ for version; do
112120
variantAliases=( "${baseAliases[@]/%/-$variant}" )
113121
variantAliases=( "${variantAliases[@]//latest-/}" )
114122

115-
if [ "${variant#alpine}" = "${alpineVersion[$version]:-$defaultAlpineVersion}" ]; then
123+
if [ "$variant" = "$defaultAlpineVariant" ]; then
116124
variantAliases+=( "${baseAliases[@]/%/-alpine}" )
117125
variantAliases=( "${variantAliases[@]//latest-/}" )
118126
fi
@@ -157,7 +165,7 @@ for version; do
157165
break
158166
fi
159167
done
160-
if [ "$variant" = "$versionSuite" ] || [[ "$variant" == 'windowsservercore'* ]]; then
168+
if [ "$variant" = "$defaultDebianVariant" ] || [[ "$variant" == 'windowsservercore'* ]]; then
161169
sharedTags+=( "${baseAliases[@]}" )
162170
fi
163171

0 commit comments

Comments
 (0)