diff --git a/1.6-rc/alpine3.13/Dockerfile b/1.6-rc/alpine3.13/Dockerfile new file mode 100644 index 00000000..4b9a2516 --- /dev/null +++ b/1.6-rc/alpine3.13/Dockerfile @@ -0,0 +1,48 @@ +FROM alpine:3.13 + +ENV JULIA_PATH /usr/local/julia +ENV PATH $JULIA_PATH/bin:$PATH + +# https://julialang.org/juliareleases.asc +# Julia (Binary signing key) +ENV JULIA_GPG 3673DF529D9049477F76B37566E3C7DC03D6E495 + +# https://julialang.org/downloads/ +ENV JULIA_VERSION 1.6.0-rc2 + +RUN set -eux; \ + \ + apk add --no-cache --virtual .fetch-deps gnupg; \ + \ +# https://julialang.org/downloads/#julia-command-line-version +# https://julialang-s3.julialang.org/bin/checksums/julia-1.6.0-rc2.sha256 +# this "case" statement is generated via "update.sh" + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ +# amd64 + x86_64) tarArch='x86_64'; dirArch='x64'; sha256='8c04675221c6494ada41cb5c1abe08ff18703626b6fd7161132cd56324913f8e' ;; \ + *) echo >&2 "error: current architecture ($apkArch) does not have a corresponding Julia binary release"; exit 1 ;; \ + esac; \ + \ + folder="$(echo "$JULIA_VERSION" | cut -d. -f1-2)"; \ + wget -O julia.tar.gz.asc "https://julialang-s3.julialang.org/bin/musl/${dirArch}/${folder}/julia-${JULIA_VERSION}-musl-${tarArch}.tar.gz.asc"; \ + wget -O julia.tar.gz "https://julialang-s3.julialang.org/bin/musl/${dirArch}/${folder}/julia-${JULIA_VERSION}-musl-${tarArch}.tar.gz"; \ + \ + echo "${sha256} *julia.tar.gz" | sha256sum -c -; \ + \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$JULIA_GPG"; \ + gpg --batch --verify julia.tar.gz.asc julia.tar.gz; \ + command -v gpgconf > /dev/null && gpgconf --kill all; \ + rm -rf "$GNUPGHOME" julia.tar.gz.asc; \ + \ + mkdir "$JULIA_PATH"; \ + tar -xzf julia.tar.gz -C "$JULIA_PATH" --strip-components 1; \ + rm julia.tar.gz; \ + \ + apk del --no-network .fetch-deps; \ + \ +# smoke test + julia --version + +CMD ["julia"]