Skip to content

Conversation

@keeganwitt
Copy link
Contributor

No description provided.

@github-actions

This comment has been minimized.

@yosifkit
Copy link
Member

yosifkit commented Feb 4, 2026

It looks like all of the Alpine-based images are using Alpine 3.23 except for 3.0.25-jdk11-jammy that is FROM eclipse-temurin:11-jdk-alpine (Alpine 3.22). Is that intended?

@keeganwitt
Copy link
Contributor Author

It looks like all of the Alpine-based images are using Alpine 3.23 except for 3.0.25-jdk11-jammy that is FROM eclipse-temurin:11-jdk-alpine (Alpine 3.22). Is that intended?

Nope. Good catch!

@github-actions
Copy link

github-actions bot commented Feb 4, 2026

Diff for 6c68c90:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index e874ec7..f5b6e5b 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -1,30 +1,106 @@
 Maintainers: Keegan Witt <keeganwitt@gmail.com> (@keeganwitt)
 GitRepo: https://github.com/groovy/docker-groovy.git
 
+Tags: 3.0.25-jdk8, 3.0-jdk8, 3-jdk8, 3.0.25-jdk8-jammy, 3.0-jdk8-jammy, 3-jdk8-jammy
+Architectures: amd64, arm32v7, arm64v8, ppc64le
+GitCommit: 5eca48a32862bf352bae6c28683df5ac0850625b
+Directory: groovy-3/jdk8
+
+Tags: 3.0.25-jdk8-alpine, 3.0-jdk8-alpine, 3-jdk8-alpine
+Architectures: amd64, arm64v8
+GitCommit: 5eca48a32862bf352bae6c28683df5ac0850625b
+Directory: groovy-3/jdk8-alpine
+
+Tags: 3.0.25-jdk11, 3.0-jdk11, 3-jdk11, 3.0.25-jdk11-jammy, 3.0-jdk11-jammy, 3-jdk11-jammy, 3.0.25-jdk-jammy, 3.0-jdk-jammy, 3-jdk-jammy, 3.0.25-jammy, 3.0-jammy, 3-jammy
+Architectures: amd64, arm32v7, arm64v8, ppc64le, s390x
+GitCommit: 5eca48a32862bf352bae6c28683df5ac0850625b
+Directory: groovy-3/jdk11
+
+Tags: 3.0.25-jdk11-alpine, 3.0-jdk11-alpine, 3-jdk11-alpine
+GitCommit: 5eca48a32862bf352bae6c28683df5ac0850625b
+Directory: groovy-3/jdk11-alpine
+
+Tags: 3.0.25-jdk17, 3.0-jdk17, 3-jdk17, 3.0.25-jdk17-noble, 3.0-jdk17-noble, 3-jdk17-noble
+Architectures: amd64, arm32v7, arm64v8, ppc64le, riscv64, s390x
+GitCommit: 5eca48a32862bf352bae6c28683df5ac0850625b
+Directory: groovy-3/jdk17
+
+Tags: 3.0.25-jdk17-alpine, 3.0-jdk17-alpine, 3-jdk17-alpine
+GitCommit: 5eca48a32862bf352bae6c28683df5ac0850625b
+Directory: groovy-3/jdk17-alpine
+
+Tags: 3.0.25-jdk21, 3.0-jdk21, 3-jdk21, 3.0.25-jdk21-noble, 3.0-jdk21-noble, 3-jdk21-noble, 3.0.25-jdk, 3.0-jdk, 3-jdk, 3.0.25, 3.0, 3, 3.0.25-jdk-noble, 3.0-jdk-noble, 3-jdk-noble, 3.0.25-noble, 3.0-noble, 3-noble
+Architectures: amd64, arm64v8, ppc64le, riscv64, s390x
+GitCommit: 5eca48a32862bf352bae6c28683df5ac0850625b
+Directory: groovy-3/jdk21
+
+Tags: 3.0.25-jdk21-alpine, 3.0-jdk21-alpine, 3-jdk21-alpine, 3.0.25-jdk-alpine, 3.0-jdk-alpine, 3-jdk-alpine, 3.0.25-alpine, 3.0-alpine, 3-alpine
+Architectures: amd64, arm64v8
+GitCommit: 5eca48a32862bf352bae6c28683df5ac0850625b
+Directory: groovy-3/jdk21-alpine
+
+Tags: 4.0.30-jdk8, 4.0-jdk8, 4-jdk8, jdk8, 4.0.30-jdk8-jammy, 4.0-jdk8-jammy, 4-jdk8-jammy, jdk8-jammy
+Architectures: amd64, arm32v7, arm64v8, ppc64le
+GitCommit: f388b50e37ff68b227be28b78ba855d61f1061ba
+Directory: groovy-4/jdk8
+
+Tags: 4.0.30-jdk8-alpine, 4.0-jdk8-alpine, 4-jdk8-alpine, jdk8-alpine
+Architectures: amd64, arm64v8
+GitCommit: f388b50e37ff68b227be28b78ba855d61f1061ba
+Directory: groovy-4/jdk8-alpine
+
+Tags: 4.0.30-jdk11, 4.0-jdk11, 4-jdk11, 4.0.30-jdk11-jammy, 4.0-jdk11-jammy, 4-jdk11-jammy, 4.0.30-jdk-jammy, 4.0-jdk-jammy, 4-jdk-jammy, 4.0.30-jammy, 4.0-jammy, 4-jammy
+Architectures: amd64, arm32v7, arm64v8, ppc64le, s390x
+GitCommit: f388b50e37ff68b227be28b78ba855d61f1061ba
+Directory: groovy-4/jdk11
+
+Tags: 4.0.30-jdk11-alpine, 4.0-jdk11-alpine, 4-jdk11-alpine
+GitCommit: f388b50e37ff68b227be28b78ba855d61f1061ba
+Directory: groovy-4/jdk11-alpine
+
+Tags: 4.0.30-jdk17, 4.0-jdk17, 4-jdk17, 4.0.30-jdk17-noble, 4.0-jdk17-noble, 4-jdk17-noble
+Architectures: amd64, arm32v7, arm64v8, ppc64le, riscv64, s390x
+GitCommit: f388b50e37ff68b227be28b78ba855d61f1061ba
+Directory: groovy-4/jdk17
+
+Tags: 4.0.30-jdk17-alpine, 4.0-jdk17-alpine, 4-jdk17-alpine
+GitCommit: f388b50e37ff68b227be28b78ba855d61f1061ba
+Directory: groovy-4/jdk17-alpine
+
+Tags: 4.0.30-jdk21, 4.0-jdk21, 4-jdk21, 4.0.30-jdk21-noble, 4.0-jdk21-noble, 4-jdk21-noble, 4.0.30-jdk, 4.0-jdk, 4-jdk, 4.0.30, 4.0, 4, 4.0.30-jdk-noble, 4.0-jdk-noble, 4-jdk-noble, 4.0.30-noble, 4.0-noble, 4-noble
+Architectures: amd64, arm64v8, ppc64le, riscv64, s390x
+GitCommit: f388b50e37ff68b227be28b78ba855d61f1061ba
+Directory: groovy-4/jdk21
+
+Tags: 4.0.30-jdk21-alpine, 4.0-jdk21-alpine, 4-jdk21-alpine, 4.0.30-jdk-alpine, 4.0-jdk-alpine, 4-jdk-alpine, 4.0.30-alpine, 4.0-alpine, 4-alpine
+Architectures: amd64, arm64v8
+GitCommit: f388b50e37ff68b227be28b78ba855d61f1061ba
+Directory: groovy-4/jdk21-alpine
+
 Tags: 5.0.4-jdk11, 5.0-jdk11, 5-jdk11, jdk11, 5.0.4-jdk11-jammy, 5.0-jdk11-jammy, 5-jdk11-jammy, jdk11-jammy, 5.0.4-jdk-jammy, 5.0-jdk-jammy, 5-jdk-jammy, jdk-jammy, 5.0.4-jammy, 5.0-jammy, 5-jammy, jammy
 Architectures: amd64, arm32v7, arm64v8, ppc64le, s390x
-GitCommit: 1f32e098b3586526e078e46938d8904c2067269c
-Directory: jdk11
+GitCommit: 083f73d5193ae7fff1b17d6f990000b45ab83593
+Directory: groovy-5/jdk11
 
 Tags: 5.0.4-jdk11-alpine, 5.0-jdk11-alpine, 5-jdk11-alpine, jdk11-alpine
-GitCommit: 1f32e098b3586526e078e46938d8904c2067269c
-Directory: jdk11-alpine
+GitCommit: 083f73d5193ae7fff1b17d6f990000b45ab83593
+Directory: groovy-5/jdk11-alpine
 
 Tags: 5.0.4-jdk17, 5.0-jdk17, 5-jdk17, jdk17, 5.0.4-jdk17-noble, 5.0-jdk17-noble, 5-jdk17-noble, jdk17-noble
 Architectures: amd64, arm32v7, arm64v8, ppc64le, riscv64, s390x
-GitCommit: 1f32e098b3586526e078e46938d8904c2067269c
-Directory: jdk17
+GitCommit: 083f73d5193ae7fff1b17d6f990000b45ab83593
+Directory: groovy-5/jdk17
 
 Tags: 5.0.4-jdk17-alpine, 5.0-jdk17-alpine, 5-jdk17-alpine, jdk17-alpine
-GitCommit: 1f32e098b3586526e078e46938d8904c2067269c
-Directory: jdk17-alpine
+GitCommit: 083f73d5193ae7fff1b17d6f990000b45ab83593
+Directory: groovy-5/jdk17-alpine
 
 Tags: 5.0.4-jdk21, 5.0-jdk21, 5-jdk21, jdk21, 5.0.4-jdk21-noble, 5.0-jdk21-noble, 5-jdk21-noble, jdk21-noble, latest, 5.0.4-jdk, 5.0-jdk, 5-jdk, jdk, 5.0.4, 5.0, 5, 5.0.4-jdk-noble, 5.0-jdk-noble, 5-jdk-noble, jdk-noble, 5.0.4-noble, 5.0-noble, 5-noble, noble
 Architectures: amd64, arm64v8, ppc64le, riscv64, s390x
-GitCommit: 1f32e098b3586526e078e46938d8904c2067269c
-Directory: jdk21
+GitCommit: 083f73d5193ae7fff1b17d6f990000b45ab83593
+Directory: groovy-5/jdk21
 
 Tags: 5.0.4-jdk21-alpine, 5.0-jdk21-alpine, 5-jdk21-alpine, jdk21-alpine, 5.0.4-jdk-alpine, 5.0-jdk-alpine, 5-jdk-alpine, jdk-alpine, 5.0.4-alpine, 5.0-alpine, 5-alpine, alpine
 Architectures: amd64, arm64v8
-GitCommit: 1f32e098b3586526e078e46938d8904c2067269c
-Directory: jdk21-alpine
+GitCommit: 083f73d5193ae7fff1b17d6f990000b45ab83593
+Directory: groovy-5/jdk21-alpine
diff --git a/_bashbrew-list b/_bashbrew-list
index 7319324..6ce0d2c 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -1,3 +1,123 @@
+groovy:3
+groovy:3-alpine
+groovy:3-jammy
+groovy:3-jdk
+groovy:3-jdk8
+groovy:3-jdk8-alpine
+groovy:3-jdk8-jammy
+groovy:3-jdk11
+groovy:3-jdk11-alpine
+groovy:3-jdk11-jammy
+groovy:3-jdk17
+groovy:3-jdk17-alpine
+groovy:3-jdk17-noble
+groovy:3-jdk21
+groovy:3-jdk21-alpine
+groovy:3-jdk21-noble
+groovy:3-jdk-alpine
+groovy:3-jdk-jammy
+groovy:3-jdk-noble
+groovy:3-noble
+groovy:3.0
+groovy:3.0-alpine
+groovy:3.0-jammy
+groovy:3.0-jdk
+groovy:3.0-jdk8
+groovy:3.0-jdk8-alpine
+groovy:3.0-jdk8-jammy
+groovy:3.0-jdk11
+groovy:3.0-jdk11-alpine
+groovy:3.0-jdk11-jammy
+groovy:3.0-jdk17
+groovy:3.0-jdk17-alpine
+groovy:3.0-jdk17-noble
+groovy:3.0-jdk21
+groovy:3.0-jdk21-alpine
+groovy:3.0-jdk21-noble
+groovy:3.0-jdk-alpine
+groovy:3.0-jdk-jammy
+groovy:3.0-jdk-noble
+groovy:3.0-noble
+groovy:3.0.25
+groovy:3.0.25-alpine
+groovy:3.0.25-jammy
+groovy:3.0.25-jdk
+groovy:3.0.25-jdk8
+groovy:3.0.25-jdk8-alpine
+groovy:3.0.25-jdk8-jammy
+groovy:3.0.25-jdk11
+groovy:3.0.25-jdk11-alpine
+groovy:3.0.25-jdk11-jammy
+groovy:3.0.25-jdk17
+groovy:3.0.25-jdk17-alpine
+groovy:3.0.25-jdk17-noble
+groovy:3.0.25-jdk21
+groovy:3.0.25-jdk21-alpine
+groovy:3.0.25-jdk21-noble
+groovy:3.0.25-jdk-alpine
+groovy:3.0.25-jdk-jammy
+groovy:3.0.25-jdk-noble
+groovy:3.0.25-noble
+groovy:4
+groovy:4-alpine
+groovy:4-jammy
+groovy:4-jdk
+groovy:4-jdk8
+groovy:4-jdk8-alpine
+groovy:4-jdk8-jammy
+groovy:4-jdk11
+groovy:4-jdk11-alpine
+groovy:4-jdk11-jammy
+groovy:4-jdk17
+groovy:4-jdk17-alpine
+groovy:4-jdk17-noble
+groovy:4-jdk21
+groovy:4-jdk21-alpine
+groovy:4-jdk21-noble
+groovy:4-jdk-alpine
+groovy:4-jdk-jammy
+groovy:4-jdk-noble
+groovy:4-noble
+groovy:4.0
+groovy:4.0-alpine
+groovy:4.0-jammy
+groovy:4.0-jdk
+groovy:4.0-jdk8
+groovy:4.0-jdk8-alpine
+groovy:4.0-jdk8-jammy
+groovy:4.0-jdk11
+groovy:4.0-jdk11-alpine
+groovy:4.0-jdk11-jammy
+groovy:4.0-jdk17
+groovy:4.0-jdk17-alpine
+groovy:4.0-jdk17-noble
+groovy:4.0-jdk21
+groovy:4.0-jdk21-alpine
+groovy:4.0-jdk21-noble
+groovy:4.0-jdk-alpine
+groovy:4.0-jdk-jammy
+groovy:4.0-jdk-noble
+groovy:4.0-noble
+groovy:4.0.30
+groovy:4.0.30-alpine
+groovy:4.0.30-jammy
+groovy:4.0.30-jdk
+groovy:4.0.30-jdk8
+groovy:4.0.30-jdk8-alpine
+groovy:4.0.30-jdk8-jammy
+groovy:4.0.30-jdk11
+groovy:4.0.30-jdk11-alpine
+groovy:4.0.30-jdk11-jammy
+groovy:4.0.30-jdk17
+groovy:4.0.30-jdk17-alpine
+groovy:4.0.30-jdk17-noble
+groovy:4.0.30-jdk21
+groovy:4.0.30-jdk21-alpine
+groovy:4.0.30-jdk21-noble
+groovy:4.0.30-jdk-alpine
+groovy:4.0.30-jdk-jammy
+groovy:4.0.30-jdk-noble
+groovy:4.0.30-noble
 groovy:5
 groovy:5-alpine
 groovy:5-jammy
@@ -52,6 +172,9 @@ groovy:5.0.4-noble
 groovy:alpine
 groovy:jammy
 groovy:jdk
+groovy:jdk8
+groovy:jdk8-alpine
+groovy:jdk8-jammy
 groovy:jdk11
 groovy:jdk11-alpine
 groovy:jdk11-jammy
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index 72d6124..95f6d58 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -1,5 +1,21 @@
+groovy:3-alpine
+groovy:3-jammy
+groovy:3-jdk8-alpine
+groovy:3-jdk8-jammy
+groovy:3-jdk11-alpine
+groovy:3-jdk17-alpine
+groovy:3-jdk17-noble
+groovy:3-noble
+groovy:4-alpine
+groovy:4-jammy
+groovy:4-jdk11-alpine
+groovy:4-jdk17-alpine
+groovy:4-jdk17-noble
+groovy:4-noble
 groovy:alpine
 groovy:jammy
+groovy:jdk8-alpine
+groovy:jdk8-jammy
 groovy:jdk11-alpine
 groovy:jdk17-alpine
 groovy:jdk17-noble
diff --git a/groovy_alpine/Dockerfile b/groovy_3-alpine/Dockerfile
similarity index 97%
copy from groovy_alpine/Dockerfile
copy to groovy_3-alpine/Dockerfile
index 1d7a6cc..0b34429 100644
--- a/groovy_alpine/Dockerfile
+++ b/groovy_3-alpine/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:21-jdk-alpine
+FROM eclipse-temurin:21-jdk-alpine-3.23
 
 CMD ["groovysh"]
 
@@ -19,7 +19,7 @@ VOLUME /home/groovy/.groovy/grapes
 
 WORKDIR /home/groovy
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=3.0.25
 RUN set -o errexit -o nounset \
     && echo "Installing build dependencies" \
     && apk add --no-cache --virtual .build-deps \
diff --git a/groovy_jammy/Dockerfile b/groovy_3-jammy/Dockerfile
similarity index 99%
copy from groovy_jammy/Dockerfile
copy to groovy_3-jammy/Dockerfile
index bcb1a40..f6fed79 100644
--- a/groovy_jammy/Dockerfile
+++ b/groovy_3-jammy/Dockerfile
@@ -29,7 +29,7 @@ RUN set -o errexit -o nounset \
         wget \
     && rm --recursive --force /var/lib/apt/lists/*
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=3.0.25
 RUN set -o errexit -o nounset \
     && echo "Downloading Groovy" \
     && wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
diff --git a/groovy_alpine/Dockerfile b/groovy_3-jdk11-alpine/Dockerfile
similarity index 97%
copy from groovy_alpine/Dockerfile
copy to groovy_3-jdk11-alpine/Dockerfile
index 1d7a6cc..569803c 100644
--- a/groovy_alpine/Dockerfile
+++ b/groovy_3-jdk11-alpine/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:21-jdk-alpine
+FROM eclipse-temurin:11-jdk-alpine-3.23
 
 CMD ["groovysh"]
 
@@ -19,7 +19,7 @@ VOLUME /home/groovy/.groovy/grapes
 
 WORKDIR /home/groovy
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=3.0.25
 RUN set -o errexit -o nounset \
     && echo "Installing build dependencies" \
     && apk add --no-cache --virtual .build-deps \
diff --git a/groovy_alpine/Dockerfile b/groovy_3-jdk17-alpine/Dockerfile
similarity index 97%
copy from groovy_alpine/Dockerfile
copy to groovy_3-jdk17-alpine/Dockerfile
index 1d7a6cc..3ed632b 100644
--- a/groovy_alpine/Dockerfile
+++ b/groovy_3-jdk17-alpine/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:21-jdk-alpine
+FROM eclipse-temurin:17-jdk-alpine-3.23
 
 CMD ["groovysh"]
 
@@ -19,7 +19,7 @@ VOLUME /home/groovy/.groovy/grapes
 
 WORKDIR /home/groovy
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=3.0.25
 RUN set -o errexit -o nounset \
     && echo "Installing build dependencies" \
     && apk add --no-cache --virtual .build-deps \
diff --git a/groovy_jdk17-noble/Dockerfile b/groovy_3-jdk17-noble/Dockerfile
similarity index 99%
copy from groovy_jdk17-noble/Dockerfile
copy to groovy_3-jdk17-noble/Dockerfile
index f24409c..9fd1b1f 100644
--- a/groovy_jdk17-noble/Dockerfile
+++ b/groovy_3-jdk17-noble/Dockerfile
@@ -31,7 +31,7 @@ RUN set -o errexit -o nounset \
         wget \
     && rm --recursive --force /var/lib/apt/lists/*
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=3.0.25
 RUN set -o errexit -o nounset \
     && echo "Downloading Groovy" \
     && wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
diff --git a/groovy_alpine/Dockerfile b/groovy_3-jdk8-alpine/Dockerfile
similarity index 90%
copy from groovy_alpine/Dockerfile
copy to groovy_3-jdk8-alpine/Dockerfile
index 1d7a6cc..8a1820f 100644
--- a/groovy_alpine/Dockerfile
+++ b/groovy_3-jdk8-alpine/Dockerfile
@@ -1,4 +1,7 @@
-FROM eclipse-temurin:21-jdk-alpine
+# Not using Eclipse Adoptium because Maven Central requires elliptic curve ciphers not available in that image
+# causing Grapes to fail with TLS handshake errors
+
+FROM amazoncorretto:8-alpine3.23
 
 CMD ["groovysh"]
 
@@ -19,7 +22,7 @@ VOLUME /home/groovy/.groovy/grapes
 
 WORKDIR /home/groovy
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=3.0.25
 RUN set -o errexit -o nounset \
     && echo "Installing build dependencies" \
     && apk add --no-cache --virtual .build-deps \
@@ -57,10 +60,7 @@ RUN set -o errexit -o nounset \
     && ln -s "${GROOVY_HOME}/bin/groovyConsole" /usr/bin/groovyConsole \
     && ln -s "${GROOVY_HOME}/bin/groovydoc" /usr/bin/groovydoc \
     && ln -s "${GROOVY_HOME}/bin/groovysh" /usr/bin/groovysh \
-    && ln -s "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy \
-    \
-    && echo "Editing startGroovy to include java.xml.bind module" \
-    && sed --in-place 's|startGroovy ( ) {|startGroovy ( ) {\n    JAVA_OPTS="$JAVA_OPTS --add-modules=ALL-SYSTEM"|' "${GROOVY_HOME}/bin/startGroovy"
+    && ln -s "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy
 
 USER 1000:1000
 
diff --git a/groovy_jammy/Dockerfile b/groovy_3-jdk8-jammy/Dockerfile
similarity index 90%
copy from groovy_jammy/Dockerfile
copy to groovy_3-jdk8-jammy/Dockerfile
index bcb1a40..eaf1271 100644
--- a/groovy_jammy/Dockerfile
+++ b/groovy_3-jdk8-jammy/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:11-jdk-jammy
+FROM eclipse-temurin:8-jdk-jammy
 
 CMD ["groovysh"]
 
@@ -29,7 +29,7 @@ RUN set -o errexit -o nounset \
         wget \
     && rm --recursive --force /var/lib/apt/lists/*
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=3.0.25
 RUN set -o errexit -o nounset \
     && echo "Downloading Groovy" \
     && wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
@@ -60,11 +60,7 @@ RUN set -o errexit -o nounset \
     && ln --symbolic "${GROOVY_HOME}/bin/groovyConsole" /usr/bin/groovyConsole \
     && ln --symbolic "${GROOVY_HOME}/bin/groovydoc" /usr/bin/groovydoc \
     && ln --symbolic "${GROOVY_HOME}/bin/groovysh" /usr/bin/groovysh \
-    && ln --symbolic "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy \
-    \
-    && echo "Editing startGroovy to include java.xml.bind module" \
-    && sed --in-place 's|startGroovy ( ) {|startGroovy ( ) {\n    JAVA_OPTS="$JAVA_OPTS --add-modules=ALL-SYSTEM"|' "${GROOVY_HOME}/bin/startGroovy"
-
+    && ln --symbolic "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy
 USER 1000:1000
 
 RUN set -o errexit -o nounset \
diff --git a/groovy_noble/Dockerfile b/groovy_3-noble/Dockerfile
similarity index 99%
copy from groovy_noble/Dockerfile
copy to groovy_3-noble/Dockerfile
index 1fc6e37..68c6af1 100644
--- a/groovy_noble/Dockerfile
+++ b/groovy_3-noble/Dockerfile
@@ -31,7 +31,7 @@ RUN set -o errexit -o nounset \
         wget \
     && rm --recursive --force /var/lib/apt/lists/*
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=3.0.25
 RUN set -o errexit -o nounset \
     && echo "Downloading Groovy" \
     && wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
diff --git a/groovy_alpine/Dockerfile b/groovy_4-alpine/Dockerfile
similarity index 97%
copy from groovy_alpine/Dockerfile
copy to groovy_4-alpine/Dockerfile
index 1d7a6cc..ca52433 100644
--- a/groovy_alpine/Dockerfile
+++ b/groovy_4-alpine/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:21-jdk-alpine
+FROM eclipse-temurin:21-jdk-alpine-3.23
 
 CMD ["groovysh"]
 
@@ -19,7 +19,7 @@ VOLUME /home/groovy/.groovy/grapes
 
 WORKDIR /home/groovy
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=4.0.30
 RUN set -o errexit -o nounset \
     && echo "Installing build dependencies" \
     && apk add --no-cache --virtual .build-deps \
diff --git a/groovy_jammy/Dockerfile b/groovy_4-jammy/Dockerfile
similarity index 99%
copy from groovy_jammy/Dockerfile
copy to groovy_4-jammy/Dockerfile
index bcb1a40..ff1bd3c 100644
--- a/groovy_jammy/Dockerfile
+++ b/groovy_4-jammy/Dockerfile
@@ -29,7 +29,7 @@ RUN set -o errexit -o nounset \
         wget \
     && rm --recursive --force /var/lib/apt/lists/*
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=4.0.30
 RUN set -o errexit -o nounset \
     && echo "Downloading Groovy" \
     && wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
diff --git a/groovy_alpine/Dockerfile b/groovy_4-jdk11-alpine/Dockerfile
similarity index 97%
copy from groovy_alpine/Dockerfile
copy to groovy_4-jdk11-alpine/Dockerfile
index 1d7a6cc..8b464c1 100644
--- a/groovy_alpine/Dockerfile
+++ b/groovy_4-jdk11-alpine/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:21-jdk-alpine
+FROM eclipse-temurin:11-jdk-alpine-3.23
 
 CMD ["groovysh"]
 
@@ -19,7 +19,7 @@ VOLUME /home/groovy/.groovy/grapes
 
 WORKDIR /home/groovy
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=4.0.30
 RUN set -o errexit -o nounset \
     && echo "Installing build dependencies" \
     && apk add --no-cache --virtual .build-deps \
diff --git a/groovy_alpine/Dockerfile b/groovy_4-jdk17-alpine/Dockerfile
similarity index 97%
copy from groovy_alpine/Dockerfile
copy to groovy_4-jdk17-alpine/Dockerfile
index 1d7a6cc..0bcba76 100644
--- a/groovy_alpine/Dockerfile
+++ b/groovy_4-jdk17-alpine/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:21-jdk-alpine
+FROM eclipse-temurin:17-jdk-alpine-3.23
 
 CMD ["groovysh"]
 
@@ -19,7 +19,7 @@ VOLUME /home/groovy/.groovy/grapes
 
 WORKDIR /home/groovy
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=4.0.30
 RUN set -o errexit -o nounset \
     && echo "Installing build dependencies" \
     && apk add --no-cache --virtual .build-deps \
diff --git a/groovy_jdk17-noble/Dockerfile b/groovy_4-jdk17-noble/Dockerfile
similarity index 99%
copy from groovy_jdk17-noble/Dockerfile
copy to groovy_4-jdk17-noble/Dockerfile
index f24409c..0aabb89 100644
--- a/groovy_jdk17-noble/Dockerfile
+++ b/groovy_4-jdk17-noble/Dockerfile
@@ -31,7 +31,7 @@ RUN set -o errexit -o nounset \
         wget \
     && rm --recursive --force /var/lib/apt/lists/*
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=4.0.30
 RUN set -o errexit -o nounset \
     && echo "Downloading Groovy" \
     && wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
diff --git a/groovy_noble/Dockerfile b/groovy_4-noble/Dockerfile
similarity index 99%
copy from groovy_noble/Dockerfile
copy to groovy_4-noble/Dockerfile
index 1fc6e37..e776860 100644
--- a/groovy_noble/Dockerfile
+++ b/groovy_4-noble/Dockerfile
@@ -31,7 +31,7 @@ RUN set -o errexit -o nounset \
         wget \
     && rm --recursive --force /var/lib/apt/lists/*
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=4.0.30
 RUN set -o errexit -o nounset \
     && echo "Downloading Groovy" \
     && wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
diff --git a/groovy_jdk11-alpine/Dockerfile b/groovy_jdk11-alpine/Dockerfile
index b7f4b90..f9cfa9e 100644
--- a/groovy_jdk11-alpine/Dockerfile
+++ b/groovy_jdk11-alpine/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:11-jdk-alpine
+FROM eclipse-temurin:11-jdk-alpine-3.23
 
 CMD ["groovysh"]
 
diff --git a/groovy_jdk17-alpine/Dockerfile b/groovy_jdk17-alpine/Dockerfile
index 02b3dff..dc377df 100644
--- a/groovy_jdk17-alpine/Dockerfile
+++ b/groovy_jdk17-alpine/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:17-jdk-alpine
+FROM eclipse-temurin:17-jdk-alpine-3.23
 
 CMD ["groovysh"]
 
diff --git a/groovy_alpine/Dockerfile b/groovy_jdk8-alpine/Dockerfile
similarity index 90%
copy from groovy_alpine/Dockerfile
copy to groovy_jdk8-alpine/Dockerfile
index 1d7a6cc..6f021cd 100644
--- a/groovy_alpine/Dockerfile
+++ b/groovy_jdk8-alpine/Dockerfile
@@ -1,4 +1,7 @@
-FROM eclipse-temurin:21-jdk-alpine
+# Not using Eclipse Adoptium because Maven Central requires elliptic curve ciphers not available in that image
+# causing Grapes to fail with TLS handshake errors
+
+FROM amazoncorretto:8-alpine3.23
 
 CMD ["groovysh"]
 
@@ -19,7 +22,7 @@ VOLUME /home/groovy/.groovy/grapes
 
 WORKDIR /home/groovy
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=4.0.30
 RUN set -o errexit -o nounset \
     && echo "Installing build dependencies" \
     && apk add --no-cache --virtual .build-deps \
@@ -57,10 +60,7 @@ RUN set -o errexit -o nounset \
     && ln -s "${GROOVY_HOME}/bin/groovyConsole" /usr/bin/groovyConsole \
     && ln -s "${GROOVY_HOME}/bin/groovydoc" /usr/bin/groovydoc \
     && ln -s "${GROOVY_HOME}/bin/groovysh" /usr/bin/groovysh \
-    && ln -s "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy \
-    \
-    && echo "Editing startGroovy to include java.xml.bind module" \
-    && sed --in-place 's|startGroovy ( ) {|startGroovy ( ) {\n    JAVA_OPTS="$JAVA_OPTS --add-modules=ALL-SYSTEM"|' "${GROOVY_HOME}/bin/startGroovy"
+    && ln -s "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy
 
 USER 1000:1000
 
diff --git a/groovy_jammy/Dockerfile b/groovy_jdk8-jammy/Dockerfile
similarity index 90%
copy from groovy_jammy/Dockerfile
copy to groovy_jdk8-jammy/Dockerfile
index bcb1a40..48595db 100644
--- a/groovy_jammy/Dockerfile
+++ b/groovy_jdk8-jammy/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:11-jdk-jammy
+FROM eclipse-temurin:8-jdk-jammy
 
 CMD ["groovysh"]
 
@@ -29,7 +29,7 @@ RUN set -o errexit -o nounset \
         wget \
     && rm --recursive --force /var/lib/apt/lists/*
 
-ENV GROOVY_VERSION=5.0.4
+ENV GROOVY_VERSION=4.0.30
 RUN set -o errexit -o nounset \
     && echo "Downloading Groovy" \
     && wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
@@ -60,10 +60,7 @@ RUN set -o errexit -o nounset \
     && ln --symbolic "${GROOVY_HOME}/bin/groovyConsole" /usr/bin/groovyConsole \
     && ln --symbolic "${GROOVY_HOME}/bin/groovydoc" /usr/bin/groovydoc \
     && ln --symbolic "${GROOVY_HOME}/bin/groovysh" /usr/bin/groovysh \
-    && ln --symbolic "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy \
-    \
-    && echo "Editing startGroovy to include java.xml.bind module" \
-    && sed --in-place 's|startGroovy ( ) {|startGroovy ( ) {\n    JAVA_OPTS="$JAVA_OPTS --add-modules=ALL-SYSTEM"|' "${GROOVY_HOME}/bin/startGroovy"
+    && ln --symbolic "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy
 
 USER 1000:1000

Relevant Maintainers:

@yosifkit yosifkit merged commit df49165 into docker-library:master Feb 4, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants