Skip to content

Commit

Permalink
Add explicit "cli" aliases and move "latest" to "dind" in 22.06+
Browse files Browse the repository at this point in the history
  • Loading branch information
tianon committed Jul 8, 2022
1 parent 038fb86 commit ae9afac
Show file tree
Hide file tree
Showing 17 changed files with 33 additions and 19 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion 20.10/dind/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion 20.10/git/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion 22.06-rc/dind/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion 22.06-rc/git/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

File renamed without changes.
2 changes: 1 addition & 1 deletion Dockerfile-dind.template
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM docker:{{ env.version }}
FROM docker:{{ env.version }}-cli

# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
RUN set -eux; \
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-git.template
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FROM docker:{{ env.version }}
FROM docker:{{ env.version }}-cli

RUN apk add --no-cache git
8 changes: 5 additions & 3 deletions apply-templates.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,13 @@ for version; do
continue
fi

rm -rf "$version"

variants="$(jq -r '.[env.version].variants | map(@sh) | join(" ")' versions.json)"
eval "variants=( $variants )"

for variant in "${variants[@]}"; do
dir="$version${variant:+/$variant}"
dir="$version/$variant"

case "$variant" in
windows/*)
Expand All @@ -52,7 +54,7 @@ for version; do
;;

*)
template="Dockerfile${variant:+-$variant}.template"
template="Dockerfile-$variant.template"
;;
esac

Expand All @@ -63,6 +65,6 @@ for version; do
} > "$dir/Dockerfile"
done

cp -a docker-entrypoint.sh modprobe.sh "$version/"
cp -a docker-entrypoint.sh modprobe.sh "$version/cli/"
cp -a dockerd-entrypoint.sh "$version/dind/"
done
26 changes: 19 additions & 7 deletions generate-stackbrew-library.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
set -eu
#!/usr/bin/env bash
set -Eeuo pipefail

self="$(basename "$BASH_SOURCE")"
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
Expand Down Expand Up @@ -72,7 +72,7 @@ versionArches() {
fi

local parent parentArches
parent="$(awk 'toupper($1) == "FROM" { print $2 }' "$version/Dockerfile")"
parent="$(awk 'toupper($1) == "FROM" { print $2 }' "$version/cli/Dockerfile")"
parentArches="${parentRepoToArches[$parent]:-}"

comm -12 \
Expand Down Expand Up @@ -157,23 +157,35 @@ for version; do
variants="$(jq -r '.[env.version].variants | map(@sh) | join(" ")' versions.json)"
eval "variants=( $variants )"

case "$rcVersion" in
20.10) latestVariant='cli' ;;
*) latestVariant='dind' ;;
esac

for v in "${variants[@]}"; do
dir="$version${v:+/$v}"
dir="$version/$v"
[ -f "$dir/Dockerfile" ] || continue

commit="$(dirCommit "$dir")"

variant="$(basename "$v")"
variantAliases=( "${versionAliases[@]/%/${variant:+-$variant}}" )
variantAliases=( "${versionAliases[@]/%/-$variant}" )
variantAliases=( "${variantAliases[@]//latest-/}" )

if [ "$variant" = '' ] || [ "$variant" = 'dind' ]; then
parent="$(awk 'toupper($1) == "FROM" { print $2 }' "$version/Dockerfile")"
if [ "$variant" = 'cli' ] || [ "$variant" = 'dind' ]; then
parent="$(awk 'toupper($1) == "FROM" { print $2 }' "$version/cli/Dockerfile")"
alpine="${parent#*:}" # "3.14"
suiteAliases=( "${variantAliases[0]}" ) # only "X.Y.Z-foo"
suiteAliases=( "${suiteAliases[@]/%/-alpine$alpine}" )
suiteAliases=( "${suiteAliases[@]//latest-/}" )
variantAliases+=( "${suiteAliases[@]}" )
if [ "$variant" = "$latestVariant" ]; then
# add "latest" aliases
suiteAliases=( "${versionAliases[0]}" ) # only "X.Y.Z-foo"
suiteAliases=( "${suiteAliases[@]/%/-alpine$alpine}" )
suiteAliases=( "${suiteAliases[@]//latest-/}" )
variantAliases+=( "${versionAliases[@]}" "${suiteAliases[@]}" )
fi
fi

sharedTags=()
Expand Down
4 changes: 2 additions & 2 deletions versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
},
"dindCommit": "42b1175eda071c0e9121e1d64345928384a93df1",
"variants": [
"",
"cli",
"dind",
"dind-rootless",
"git",
Expand Down Expand Up @@ -254,7 +254,7 @@
},
"dindCommit": "42b1175eda071c0e9121e1d64345928384a93df1",
"variants": [
"",
"cli",
"dind",
"dind-rootless",
"git",
Expand Down
2 changes: 1 addition & 1 deletion versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ for version in "${versions[@]}"; do

# order here controls the order of the library/ file
for variant in \
'' \
cli \
dind \
dind-rootless \
git \
Expand Down

0 comments on commit ae9afac

Please sign in to comment.