diff --git a/.github/workflows/buildx.yml b/.github/workflows/buildx.yml index ece5672..1de1b95 100644 --- a/.github/workflows/buildx.yml +++ b/.github/workflows/buildx.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - java-version: [8, 11, 17, 21] + java-version: [8, 11, 17, 21, 25] java-type: [jdk, jre] node-version: [20, 22, 24] variant: [default, alpine] @@ -49,7 +49,7 @@ jobs: NODE_CODENAME=${{ steps.nodename.outputs.codename }} VARIANT="${{ matrix.variant == 'alpine' && '-alpine' || '' }}" TYPE="${{ matrix.java-type }}" - + # Generate tag combinations if [ "$TYPE" = "jdk" ]; then TAGS="${DOCKER_IMAGE}:${VERSION}${VARIANT}-jdk-${{ matrix.node-version }}" @@ -60,7 +60,7 @@ jobs: TAGS="${TAGS},${DOCKER_IMAGE}:${VERSION}${VARIANT}-jre-${{ matrix.node-version }}" TAGS="${TAGS},${DOCKER_IMAGE}:${VERSION}${VARIANT}-jre-${NODE_CODENAME}" fi - + echo "docker_image=${DOCKER_IMAGE}" >> $GITHUB_OUTPUT echo "version=${VERSION}" >> $GITHUB_OUTPUT echo "tags=${TAGS}" >> $GITHUB_OUTPUT diff --git a/.github/workflows/dockerimage.yml b/.github/workflows/dockerimage.yml index 13ea837..b02538b 100644 --- a/.github/workflows/dockerimage.yml +++ b/.github/workflows/dockerimage.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - java-version: [8, 11, 17, 21] + java-version: [8, 11, 17, 21, 25] java-type: [jdk, jre] node-version: [20, 22, 24] variant: [default, alpine] diff --git a/25/jdk/20/Dockerfile b/25/jdk/20/Dockerfile new file mode 100644 index 0000000..f9b35b7 --- /dev/null +++ b/25/jdk/20/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:25-jdk +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=20 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/25/jdk/20/alpine/Dockerfile b/25/jdk/20/alpine/Dockerfile new file mode 100644 index 0000000..764bb7c --- /dev/null +++ b/25/jdk/20/alpine/Dockerfile @@ -0,0 +1,16 @@ +FROM eclipse-temurin:25-jdk-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ + && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + ada-libs@old-stable \ + nodejs@old-stable \ + npm@old-stable \ + yarn \ + curl \ + git diff --git a/25/jdk/22/Dockerfile b/25/jdk/22/Dockerfile new file mode 100644 index 0000000..7f1ab79 --- /dev/null +++ b/25/jdk/22/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:25-jdk +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=22 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/25/jdk/22/alpine/Dockerfile b/25/jdk/22/alpine/Dockerfile new file mode 100644 index 0000000..5b2ed77 --- /dev/null +++ b/25/jdk/22/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:25-jdk-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ + && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs@new-stable \ + npm@new-stable \ + yarn \ + curl \ + git diff --git a/25/jdk/24/Dockerfile b/25/jdk/24/Dockerfile new file mode 100644 index 0000000..6bf34f9 --- /dev/null +++ b/25/jdk/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:25-jdk +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/25/jdk/24/alpine/Dockerfile b/25/jdk/24/alpine/Dockerfile new file mode 100644 index 0000000..8c46ed7 --- /dev/null +++ b/25/jdk/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:25-jdk-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/25/jre/20/Dockerfile b/25/jre/20/Dockerfile new file mode 100644 index 0000000..9efda7d --- /dev/null +++ b/25/jre/20/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:25-jre +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=20 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/25/jre/20/alpine/Dockerfile b/25/jre/20/alpine/Dockerfile new file mode 100644 index 0000000..0078ca5 --- /dev/null +++ b/25/jre/20/alpine/Dockerfile @@ -0,0 +1,16 @@ +FROM eclipse-temurin:25-jre-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \ + && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + ada-libs@old-stable \ + nodejs@old-stable \ + npm@old-stable \ + yarn \ + curl \ + git diff --git a/25/jre/22/Dockerfile b/25/jre/22/Dockerfile new file mode 100644 index 0000000..23236e6 --- /dev/null +++ b/25/jre/22/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:25-jre +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=22 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/25/jre/22/alpine/Dockerfile b/25/jre/22/alpine/Dockerfile new file mode 100644 index 0000000..7e6077a --- /dev/null +++ b/25/jre/22/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:25-jre-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/community >> /etc/apk/repositories \ + && echo @new-stable https://dl-cdn.alpinelinux.org/alpine/v3.21/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs@new-stable \ + npm@new-stable \ + yarn \ + curl \ + git diff --git a/25/jre/24/Dockerfile b/25/jre/24/Dockerfile new file mode 100644 index 0000000..cccb4fc --- /dev/null +++ b/25/jre/24/Dockerfile @@ -0,0 +1,26 @@ +FROM eclipse-temurin:25-jre +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT +ARG NODE_MAJOR=24 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \ + && mkdir -p /etc/apt/keyrings \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + gpg \ + gpg-agent \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + nodejs \ + yarn \ + git \ + && apt-get upgrade -qq \ + && rm -rf /var/lib/apt/lists/* diff --git a/25/jre/24/alpine/Dockerfile b/25/jre/24/alpine/Dockerfile new file mode 100644 index 0000000..8adffe9 --- /dev/null +++ b/25/jre/24/alpine/Dockerfile @@ -0,0 +1,15 @@ +FROM eclipse-temurin:25-jre-alpine +LABEL maintainer="Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT=$REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm@edge \ + yarn \ + curl \ + git diff --git a/README.md b/README.md index 17f339f..8f74a3f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Java (JRE or JDK version 8, 11, 17 or 21) with Node.js 20 LTS (Iron), Node.js 22 LTS (Jod) or Node.js 24 (Krypton) Dockerfile +# Java (JRE or JDK version 8, 11, 17, 21 or 25) with Node.js 20 LTS (Iron), Node.js 22 LTS (Jod) or Node.js 24 (Krypton) Dockerfile [![Docker Automated build](https://img.shields.io/docker/automated/timbru31/java-node.svg)](https://hub.docker.com/r/timbru31/java-node/) [![buildx Status](https://github.com/timbru31/docker-java-node/workflows/buildx/badge.svg)](https://github.com/timbru31/docker-java-node/actions?query=workflow%3Abuildx)