Skip to content
Snippets Groups Projects

Draft: Add dockerfiles, etc. for SBCL 2.4.6

Open Robert Goldman requested to merge rgoldman/sbcl:sbcl-2.4.6 into master
1 file
+ 45
9
Compare changes
  • Side-by-side
  • Inline
+ 45
9
#!/usr/bin/env bash
# Build images for all versions as specified by the first argument.
set -Eeuo pipefail
set -x
@@ -7,11 +10,41 @@ cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
img_src="${img_src:-clfoundation}"
declare -A refs=(
[2.3.2-rc]='master'
[2.4,6]='master'
)
versions=( "$@" )
tag () {
base_tag=$1
arch=$2
variant=$3
version=$4
full_tag="${base_tag}-${arch}"
echo "base_tag = $base_tag"
echo "arch = $arch"
echo "variant = $variant"
echo "version = $version"
echo "full_tag = $full_tag"
docker image tag "${full_tag}" "${base_tag}"
docker image tag "${full_tag}" "${img_src}/sbcl:${variant}"
docker image tag "${full_tag}" "${img_src}/sbcl:${variant}-${arch}"
docker image tag "${full_tag}" "${img_src}/sbcl:${version}"
docker image tag "${full_tag}" "${img_src}/sbcl:${version}-${arch}"
# numbering for alpine
if [[ "${variant}" =~ ^alpine([0-9]+\.[0-9]+)$ ]]; then
docker image tag "${full_tag}" "${img_src}/sbcl:alpine"
docker image tag "${full_tag}" "${img_src}/sbcl:alpine-${arch}"
fi
}
push_tags () {
base_tag=$1
arch=$2
full_tag="${base_tag}-${arch}"
for i in $(docker image list --format "{{.Tag}}" "${full_tag}"); do echo docker push "${base_tag}:$i"; done
}
for version in "${versions[@]}"; do
pushd $version
for variant in `ls -d *` ; do
@@ -20,14 +53,17 @@ for version in "${versions[@]}"; do
fi
pushd "${variant}"
base_tag="${img_src}/sbcl:${version}-${variant}"
docker buildx build --platform linux/amd64,linux/arm64 -t "${base_tag}" .
docker buildx build --load -t "${base_tag}" .
docker image tag "${base_tag}" "${img_src}/sbcl:${variant}"
docker image tag "${base_tag}" "${img_src}/sbcl:${version}"
# numbering for alpine
if [[ "${variant}" =~ ^alpine([0-9]+\.[0-9]+)$ ]]; then
docker image tag "${base_tag}" "${img_src}/sbcl:alpine"
fi
arch=amd64
docker buildx build --platform "linux/${arch}" -t "${base_tag}-${arch}" --load .
tag "${base_tag}" "${arch}" "${variant}" "${version}"
push_tags "${base_tag}" "${arch}"
arch=arm64
docker buildx build --platform "linux/${arch}" -t "${base_tag}-${arch}" --load .
tag "${base_tag}" "${arch}" "${variant}" "${version}"
push_tags "${base_tag}" "${arch}"
popd
done
popd
Loading