diff --git a/.env-defaults b/.env-defaults deleted file mode 100644 index 4af7939366bb1665c965a3628b5447ede0068dc0..0000000000000000000000000000000000000000 --- a/.env-defaults +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -declare -A CONTEXTS -declare -A ARCH_MAP - -ARCH_MAP[amd64]=linux/amd64 -ARCH_MAP[arm32v7]=linux/arm/v7 -ARCH_MAP[arm64]=linux/arm64 -ARCH_MAP[windows-amd64]=windows/amd64 - -ABCL_VERSION=1.7.0 - -REPO=daewok/abcl diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..c5357fea8b55dd5564ce6f8ee5fe75ca0a196a60 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,87 @@ +include: + - template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml' + +stages: + - build + - push + - put shared + - readme + +# Set these vars: +# - CANONICAL_NAMESPACE +# - CL_DOCKER_IMAGES_AMD64 +# - CL_DOCKER_IMAGES_ARM64V8 +# - CL_DOCKER_IMAGES_ARM32V7 + +############################################################################## +# Build Templates + +.Bashbrew build Linux: + stage: build + variables: + BASHBREW_NAMESPACE: $CANONICAL_NAMESPACE + BASHBREW_LIBRARY: $CI_PROJECT_DIR + BASHBREW_CACHE: $CI_PROJECT_DIR/cache/bashbrew + BASHBREW_DEBUG: "true" + script: + - docker info + - mkdir -p cache + - | + parents="$(bashbrew cat --format '{{- range $.Entries -}} + {{- if not ($.SkipConstraints .) -}} + {{- $.DockerFroms . | join "\n" -}} + {{- "\n" -}} + {{- end -}} + {{- end -}}' $REPO \ + | { grep -vE '^$|^scratch$|^'"$CANONICAL_NAMESPACE/$CI_PROJECT_NAME"'(:|$)' || true; } \ + | sort -u)" + - echo "$parents" + - | + for parent in $parents; do + echo "Pulling $parent" + docker pull --platform=$DOCKER_PLATFORM "$parent" + done + - retry -t 3 -d 60 bashbrew build $CI_PROJECT_NAME + - docker images + - bashbrew tag --target-namespace=$CANONICAL_NAMESPACE$ARCH $REPO + cache: + paths: + - cache + key: $ARCH + +.Bashbrew build - amd64: + extends: .Bashbrew build Linux + variables: + ARCH: amd64 + BASHBREW_ARCH: amd64 + BASHBREW_TARGET_NAMESPACE: mitmersamd64 + DOCKER_PLATFORM: linux/amd64 + rules: + - if: $CL_DOCKER_IMAGES_AMD64 + tags: + - bashbrew-amd64 + + +.Bashbrew build - arm64: + extends: .Bashbrew build Linux + variables: + ARCH: arm64v8 + BASHBREW_ARCH: arm64v8 + BASHBREW_TARGET_NAMESPACE: mitmersarm64v8 + DOCKER_PLATFORM: linux/arm64 + rules: + - if: $CL_DOCKER_IMAGES_ARM64V8 + tags: + - bashbrew-arm64v8 + +.Bashbrew build - arm32v7: + extends: .Bashbrew build Linux + variables: + ARCH: arm32v7 + BASHBREW_ARCH: arm32v7 + BASHBREW_TARGET_NAMESPACE: mitmersarm32v7 + DOCKER_PLATFORM: linux/arm/v7 + rules: + - if: $CL_DOCKER_IMAGES_ARM32V7 + tags: + - bashbrew-arm32v7 diff --git a/.gitmodules b/.gitmodules index c7d6ad297252e97dc91e111c5900c39f737fe89e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "cl-docker-images-build"] - path = cl-docker-images-build - url = ../cl-docker-images-build.git diff --git a/1.8.0/buster/11/amd64/Dockerfile b/1.8.0/buster/11/amd64/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..704d317e2bfd9003d878c5c34b5a7e04499c7f71 --- /dev/null +++ b/1.8.0/buster/11/amd64/Dockerfile @@ -0,0 +1,40 @@ +FROM openjdk:11-buster + +LABEL maintainer="etimmons@mit.edu" + +ENV ABCL_VERSION=1.8.0 + +WORKDIR /usr/local/src/ + +ARG ABCL_SIGNING_KEY=5491D207FF9ECDE0BEA277772A9641104DB1773D + +# hadolint ignore=DL3003,DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install -y --no-install-recommends curl ca-certificates gnupg dirmngr ant \ + && curl -L https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz > abcl-src-${ABCL_VERSION}.tar.gz \ + && curl -L https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc > abcl-src-${ABCL_VERSION}.tar.gz.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && (gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver pgp.mit.edu --recv-keys ${ABCL_SIGNING_KEY}) \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && ( cd "abcl-src-${ABCL_VERSION}" && bash ./ci/create-abcl-properties.bash "openjdk${JAVA_VERSION%%.*}" && ant abcl ) \ + && ln -s "/usr/local/src/abcl-src-$ABCL_VERSION/abcl" /usr/local/bin/abcl \ + && rm -rf "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && apt-get remove -y curl ca-certificates gnupg dirmngr ant \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR / + +COPY docker-entrypoint /usr/local/bin/docker-entrypoint + +ENTRYPOINT ["docker-entrypoint"] + +CMD ["abcl"] diff --git a/1.7.1/debian/buster/amd64/docker-entrypoint b/1.8.0/buster/11/amd64/docker-entrypoint similarity index 100% rename from 1.7.1/debian/buster/amd64/docker-entrypoint rename to 1.8.0/buster/11/amd64/docker-entrypoint diff --git a/1.8.0/buster/11/arm64/Dockerfile b/1.8.0/buster/11/arm64/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..704d317e2bfd9003d878c5c34b5a7e04499c7f71 --- /dev/null +++ b/1.8.0/buster/11/arm64/Dockerfile @@ -0,0 +1,40 @@ +FROM openjdk:11-buster + +LABEL maintainer="etimmons@mit.edu" + +ENV ABCL_VERSION=1.8.0 + +WORKDIR /usr/local/src/ + +ARG ABCL_SIGNING_KEY=5491D207FF9ECDE0BEA277772A9641104DB1773D + +# hadolint ignore=DL3003,DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install -y --no-install-recommends curl ca-certificates gnupg dirmngr ant \ + && curl -L https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz > abcl-src-${ABCL_VERSION}.tar.gz \ + && curl -L https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc > abcl-src-${ABCL_VERSION}.tar.gz.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && (gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver pgp.mit.edu --recv-keys ${ABCL_SIGNING_KEY}) \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && ( cd "abcl-src-${ABCL_VERSION}" && bash ./ci/create-abcl-properties.bash "openjdk${JAVA_VERSION%%.*}" && ant abcl ) \ + && ln -s "/usr/local/src/abcl-src-$ABCL_VERSION/abcl" /usr/local/bin/abcl \ + && rm -rf "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && apt-get remove -y curl ca-certificates gnupg dirmngr ant \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR / + +COPY docker-entrypoint /usr/local/bin/docker-entrypoint + +ENTRYPOINT ["docker-entrypoint"] + +CMD ["abcl"] diff --git a/1.8.0/buster/11/arm64/docker-entrypoint b/1.8.0/buster/11/arm64/docker-entrypoint new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/buster/11/arm64/docker-entrypoint @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/buster/15/amd64/Dockerfile b/1.8.0/buster/15/amd64/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..ca3bfdddf12212fdf319fc48a905b3706a692f89 --- /dev/null +++ b/1.8.0/buster/15/amd64/Dockerfile @@ -0,0 +1,40 @@ +FROM openjdk:15-buster + +LABEL maintainer="etimmons@mit.edu" + +ENV ABCL_VERSION=1.8.0 + +WORKDIR /usr/local/src/ + +ARG ABCL_SIGNING_KEY=5491D207FF9ECDE0BEA277772A9641104DB1773D + +# hadolint ignore=DL3003,DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install -y --no-install-recommends curl ca-certificates gnupg dirmngr ant \ + && curl -L https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz > abcl-src-${ABCL_VERSION}.tar.gz \ + && curl -L https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc > abcl-src-${ABCL_VERSION}.tar.gz.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && (gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver pgp.mit.edu --recv-keys ${ABCL_SIGNING_KEY}) \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && ( cd "abcl-src-${ABCL_VERSION}" && bash ./ci/create-abcl-properties.bash "openjdk${JAVA_VERSION%%.*}" && ant abcl ) \ + && ln -s "/usr/local/src/abcl-src-$ABCL_VERSION/abcl" /usr/local/bin/abcl \ + && rm -rf "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && apt-get remove -y curl ca-certificates gnupg dirmngr ant \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR / + +COPY docker-entrypoint /usr/local/bin/docker-entrypoint + +ENTRYPOINT ["docker-entrypoint"] + +CMD ["abcl"] diff --git a/1.8.0/buster/15/amd64/docker-entrypoint b/1.8.0/buster/15/amd64/docker-entrypoint new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/buster/15/amd64/docker-entrypoint @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/buster/15/arm64/Dockerfile b/1.8.0/buster/15/arm64/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..ca3bfdddf12212fdf319fc48a905b3706a692f89 --- /dev/null +++ b/1.8.0/buster/15/arm64/Dockerfile @@ -0,0 +1,40 @@ +FROM openjdk:15-buster + +LABEL maintainer="etimmons@mit.edu" + +ENV ABCL_VERSION=1.8.0 + +WORKDIR /usr/local/src/ + +ARG ABCL_SIGNING_KEY=5491D207FF9ECDE0BEA277772A9641104DB1773D + +# hadolint ignore=DL3003,DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install -y --no-install-recommends curl ca-certificates gnupg dirmngr ant \ + && curl -L https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz > abcl-src-${ABCL_VERSION}.tar.gz \ + && curl -L https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc > abcl-src-${ABCL_VERSION}.tar.gz.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && (gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys ${ABCL_SIGNING_KEY} \ + || gpg --batch --keyserver pgp.mit.edu --recv-keys ${ABCL_SIGNING_KEY}) \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && ( cd "abcl-src-${ABCL_VERSION}" && bash ./ci/create-abcl-properties.bash "openjdk${JAVA_VERSION%%.*}" && ant abcl ) \ + && ln -s "/usr/local/src/abcl-src-$ABCL_VERSION/abcl" /usr/local/bin/abcl \ + && rm -rf "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && apt-get remove -y curl ca-certificates gnupg dirmngr ant \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR / + +COPY docker-entrypoint /usr/local/bin/docker-entrypoint + +ENTRYPOINT ["docker-entrypoint"] + +CMD ["abcl"] diff --git a/1.8.0/buster/15/arm64/docker-entrypoint b/1.8.0/buster/15/arm64/docker-entrypoint new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/buster/15/arm64/docker-entrypoint @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.7.1/debian/buster/amd64/Dockerfile b/1.8.0/buster/8/amd64/Dockerfile similarity index 95% rename from 1.7.1/debian/buster/amd64/Dockerfile rename to 1.8.0/buster/8/amd64/Dockerfile index faeefe310927ba730474d7ba3d221e10942dd128..3e0176e065485c1fdfb1aa8a7a4ddcb8de992a0b 100644 --- a/1.7.1/debian/buster/amd64/Dockerfile +++ b/1.8.0/buster/8/amd64/Dockerfile @@ -2,7 +2,7 @@ FROM openjdk:8-buster LABEL maintainer="etimmons@mit.edu" -ENV ABCL_VERSION=1.7.1 +ENV ABCL_VERSION=1.8.0 WORKDIR /usr/local/src/ @@ -24,7 +24,7 @@ RUN set -x \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-src-${ABCL_VERSION}.tar" \ - && ( cd "abcl-src-${ABCL_VERSION}" && bash ./ci/create-abcl-properties.bash openjdk8 && ant abcl ) \ + && ( cd "abcl-src-${ABCL_VERSION}" && bash ./ci/create-abcl-properties.bash "openjdk${JAVA_VERSION%%.*}" && ant abcl ) \ && ln -s "/usr/local/src/abcl-src-$ABCL_VERSION/abcl" /usr/local/bin/abcl \ && rm -rf "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ && apt-get remove -y curl ca-certificates gnupg dirmngr ant \ diff --git a/1.8.0/buster/8/amd64/docker-entrypoint b/1.8.0/buster/8/amd64/docker-entrypoint new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/buster/8/amd64/docker-entrypoint @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/abcl b/abcl new file mode 100644 index 0000000000000000000000000000000000000000..9f3ea158483522cd7271519011d26389e55f3d3c --- /dev/null +++ b/abcl @@ -0,0 +1,21 @@ +Maintainers: Eric Timmons <etimmons@mit.edu> (@daewok) +GitRepo: https://gitlab.common-lisp.net/cl-docker-images/abcl.git + +# Debian Buster + +Tags: 1.8.0-buster-15, 1.8.0-buster, 1.8.0-debian-15, 1.8.0-debian +SharedTags: 1.8.0, latest, 1.8.0-15 +Architectures: amd64, arm64v8 +amd64-Directory: 1.8.0/buster/15/amd64 +arm64v8-Directory: 1.8.0/buster/15/arm64 + +Tags: 1.8.0-buster-11, 1.8.0-debian-11 +SharedTags: 1.8.0-11 +Architectures: amd64, arm64v8 +amd64-Directory: 1.8.0/buster/11/amd64 +arm64v8-Directory: 1.8.0/buster/11/arm64 + +Tags: 1.8.0-buster-8, 1.8.0-debian-8 +SharedTags: 1.8.0-8 +Architectures: amd64 +amd64-Directory: 1.8.0/buster/8/amd64 diff --git a/cl-docker-images-build b/cl-docker-images-build deleted file mode 160000 index 75ed003d3fdebf97efbcb14a19f870d4e8fc50c8..0000000000000000000000000000000000000000 --- a/cl-docker-images-build +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 75ed003d3fdebf97efbcb14a19f870d4e8fc50c8 diff --git a/default-values.env b/default-values.env deleted file mode 100644 index 2ce17df409cc6ea8e9757d623afef3e9a4663a61..0000000000000000000000000000000000000000 --- a/default-values.env +++ /dev/null @@ -1,12 +0,0 @@ -ARCHES=amd64 -DEBIAN_LATEST=buster -DEBIAN_VERSIONS=buster -DEFAULT_LINUX_OS=debian -IMAGE_NAME=abcl -IMAGE_BUILD_NAMESPACE=daewok -IMAGE_TARGET_NAMESPACE=daewok -INCLUDE_WINDOWS_IN_MANIFEST=no -LATEST_VERSION=1.7.1 -OSES=debian -WINDOWSSERVERCORE_LATEST=ltsc2019 -WINDOWSSERVERCORE_VERSIONS=ltsc2019