diff --git a/1.19/Dockerfile b/1.19/Dockerfile new file mode 100644 index 0000000..165371d --- /dev/null +++ b/1.19/Dockerfile @@ -0,0 +1,20 @@ +FROM erlang:28 + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete + +CMD ["iex"] diff --git a/1.19/alpine/Dockerfile b/1.19/alpine/Dockerfile new file mode 100644 index 0000000..5a0ecc5 --- /dev/null +++ b/1.19/alpine/Dockerfile @@ -0,0 +1,27 @@ +FROM erlang:28-alpine + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && buildDeps=' \ + ca-certificates \ + curl \ + make \ + ' \ + && apk add --no-cache --virtual .build-deps $buildDeps \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete \ + && apk del .build-deps + +CMD ["iex"] diff --git a/1.19/otp-26-alpine/Dockerfile b/1.19/otp-26-alpine/Dockerfile new file mode 100644 index 0000000..4858ee2 --- /dev/null +++ b/1.19/otp-26-alpine/Dockerfile @@ -0,0 +1,27 @@ +FROM erlang:26-alpine + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && buildDeps=' \ + ca-certificates \ + curl \ + make \ + ' \ + && apk add --no-cache --virtual .build-deps $buildDeps \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete \ + && apk del .build-deps + +CMD ["iex"] diff --git a/1.19/otp-26-slim/Dockerfile b/1.19/otp-26-slim/Dockerfile new file mode 100644 index 0000000..3975663 --- /dev/null +++ b/1.19/otp-26-slim/Dockerfile @@ -0,0 +1,29 @@ +FROM erlang:26-slim + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && buildDeps=' \ + ca-certificates \ + curl \ + make \ + ' \ + && apt-get update \ + && apt-get install -y --no-install-recommends $buildDeps \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete \ + && apt-get purge -y --auto-remove $buildDeps \ + && rm -rf /var/lib/apt/lists/* + +CMD ["iex"] diff --git a/1.19/otp-26/Dockerfile b/1.19/otp-26/Dockerfile new file mode 100644 index 0000000..91542d5 --- /dev/null +++ b/1.19/otp-26/Dockerfile @@ -0,0 +1,20 @@ +FROM erlang:26 + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete + +CMD ["iex"] diff --git a/1.19/otp-27-alpine/Dockerfile b/1.19/otp-27-alpine/Dockerfile new file mode 100644 index 0000000..078e078 --- /dev/null +++ b/1.19/otp-27-alpine/Dockerfile @@ -0,0 +1,27 @@ +FROM erlang:27-alpine + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && buildDeps=' \ + ca-certificates \ + curl \ + make \ + ' \ + && apk add --no-cache --virtual .build-deps $buildDeps \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete \ + && apk del .build-deps + +CMD ["iex"] diff --git a/1.19/otp-27-slim/Dockerfile b/1.19/otp-27-slim/Dockerfile new file mode 100644 index 0000000..e5a085e --- /dev/null +++ b/1.19/otp-27-slim/Dockerfile @@ -0,0 +1,29 @@ +FROM erlang:27-slim + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && buildDeps=' \ + ca-certificates \ + curl \ + make \ + ' \ + && apt-get update \ + && apt-get install -y --no-install-recommends $buildDeps \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete \ + && apt-get purge -y --auto-remove $buildDeps \ + && rm -rf /var/lib/apt/lists/* + +CMD ["iex"] diff --git a/1.19/otp-27/Dockerfile b/1.19/otp-27/Dockerfile new file mode 100644 index 0000000..feaf226 --- /dev/null +++ b/1.19/otp-27/Dockerfile @@ -0,0 +1,20 @@ +FROM erlang:27 + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete + +CMD ["iex"] diff --git a/1.19/otp-28-alpine/Dockerfile b/1.19/otp-28-alpine/Dockerfile new file mode 100644 index 0000000..5a0ecc5 --- /dev/null +++ b/1.19/otp-28-alpine/Dockerfile @@ -0,0 +1,27 @@ +FROM erlang:28-alpine + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && buildDeps=' \ + ca-certificates \ + curl \ + make \ + ' \ + && apk add --no-cache --virtual .build-deps $buildDeps \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete \ + && apk del .build-deps + +CMD ["iex"] diff --git a/1.19/otp-28-slim/Dockerfile b/1.19/otp-28-slim/Dockerfile new file mode 100644 index 0000000..f5520a3 --- /dev/null +++ b/1.19/otp-28-slim/Dockerfile @@ -0,0 +1,29 @@ +FROM erlang:28-slim + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && buildDeps=' \ + ca-certificates \ + curl \ + make \ + ' \ + && apt-get update \ + && apt-get install -y --no-install-recommends $buildDeps \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete \ + && apt-get purge -y --auto-remove $buildDeps \ + && rm -rf /var/lib/apt/lists/* + +CMD ["iex"] diff --git a/1.19/otp-28/Dockerfile b/1.19/otp-28/Dockerfile new file mode 100644 index 0000000..165371d --- /dev/null +++ b/1.19/otp-28/Dockerfile @@ -0,0 +1,20 @@ +FROM erlang:28 + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete + +CMD ["iex"] diff --git a/1.19/slim/Dockerfile b/1.19/slim/Dockerfile new file mode 100644 index 0000000..f5520a3 --- /dev/null +++ b/1.19/slim/Dockerfile @@ -0,0 +1,29 @@ +FROM erlang:28-slim + +# elixir expects utf8. +ENV ELIXIR_VERSION="v1.19.0" \ + LANG=C.UTF-8 + +RUN set -xe \ + && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ + && ELIXIR_DOWNLOAD_SHA256="99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234" \ + && buildDeps=' \ + ca-certificates \ + curl \ + make \ + ' \ + && apt-get update \ + && apt-get install -y --no-install-recommends $buildDeps \ + && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ + && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/local/src/elixir \ + && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ + && rm elixir-src.tar.gz \ + && cd /usr/local/src/elixir \ + && make install clean \ + && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \ + && find /usr/local/src/elixir/ -type d -depth -empty -delete \ + && apt-get purge -y --auto-remove $buildDeps \ + && rm -rf /var/lib/apt/lists/* + +CMD ["iex"] diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 159ef5b..a06b34f 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -3,16 +3,14 @@ set -eu declare -a -r versions=( # https://github.com/elixir-lang/elixir/blob/main/SECURITY.md#supported-versions + 1.19 1.18 1.17 1.16 1.15 - 1.14 - 1.13 - 1.12 ) declare -A -r aliases=( - [1.18]='latest' + [1.19]='latest' ) # get the most recent commit which modified any of "$@" @@ -90,7 +88,7 @@ for version in "${versions[@]}"; do done versionAliases+=( $version ${aliases[$version]:-} ) - for variant in '' slim alpine otp-23-slim otp-{24,25,26,27}{,-alpine,-slim}; do + for variant in '' slim alpine otp-23-slim otp-{24,25,26,27,28}{,-alpine,-slim}; do dir="$version${variant:+/$variant}" [ -f "$dir/Dockerfile" ] || continue