From ec7bd14451f9c3058cbda2546d587c7e1377ff40 Mon Sep 17 00:00:00 2001 From: Noa Himesaka Date: Fri, 8 Sep 2023 21:38:14 +0900 Subject: [PATCH] Add Oracle GraalVM to images (#2369) --- .github/workflows/build-multiarch.yml | 11 ++++++-- build/ol/install-gosu.sh | 4 +-- build/ol/install-packages.sh | 4 ++- docs/versions/java.md | 40 ++++++++++++++------------- 4 files changed, 34 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build-multiarch.yml b/.github/workflows/build-multiarch.yml index 644e3d7b..93d112bb 100644 --- a/.github/workflows/build-multiarch.yml +++ b/.github/workflows/build-multiarch.yml @@ -20,8 +20,9 @@ jobs: variant: - java20 - java20-alpine + - java20-graalvm - java17 - - java17-graalvm-ce + - java17-graalvm - java17-jdk - java17-openj9 - java17-alpine @@ -43,14 +44,18 @@ jobs: baseImage: eclipse-temurin:20-jre-alpine platforms: linux/amd64 mcVersion: 1.19.3 + - variant: java20-graalvm + baseImage: container-registry.oracle.com/graalvm/jdk:20-ol8 + platforms: linux/amd64,linux/arm64 + mcVersion: 1.19.3 # JAVA 17: - variant: java17 # jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343 baseImage: eclipse-temurin:17-jre-focal platforms: linux/amd64,linux/arm/v7,linux/arm64 mcVersion: 1.18.2 - - variant: java17-graalvm-ce - baseImage: ghcr.io/graalvm/graalvm-ce:ol8-java17 + - variant: java17-graalvm + baseImage: container-registry.oracle.com/graalvm/jdk:17-ol8 platforms: linux/amd64,linux/arm64 mcVersion: 1.18.2 - variant: java17-jdk diff --git a/build/ol/install-gosu.sh b/build/ol/install-gosu.sh index 0fcc1cb6..e2d24826 100755 --- a/build/ol/install-gosu.sh +++ b/build/ol/install-gosu.sh @@ -1,10 +1,10 @@ #!/bin/bash if [[ $(uname -m) == "aarch64" ]]; then - curl -sL -o /bin/gosu https://github.com/tianon/gosu/releases/download/1.14/gosu-arm64 + curl -sL -o /bin/gosu https://github.com/tianon/gosu/releases/download/1.16/gosu-arm64 chmod +x /bin/gosu elif [[ $(uname -m) == "x86_64" ]]; then - curl -sL -o /bin/gosu https://github.com/tianon/gosu/releases/download/1.14/gosu-amd64 + curl -sL -o /bin/gosu https://github.com/tianon/gosu/releases/download/1.16/gosu-amd64 chmod +x /bin/gosu else echo "Not supported!" diff --git a/build/ol/install-packages.sh b/build/ol/install-packages.sh index 3e8015e9..f3126447 100755 --- a/build/ol/install-packages.sh +++ b/build/ol/install-packages.sh @@ -36,7 +36,9 @@ dnf install -y ImageMagick \ zstd \ lbzip2 \ libpcap \ - libwebp + libwebp \ + findutils \ + which bash /build/ol/install-gosu.sh diff --git a/docs/versions/java.md b/docs/versions/java.md index f240b84d..f86fc918 100644 --- a/docs/versions/java.md +++ b/docs/versions/java.md @@ -13,25 +13,26 @@ When using the image `itzg/minecraft-server` without a tag, the `latest` image tag is implied from the table below. To use a different version of Java, please use an alternate tag to run your Minecraft server container. The `stable` tag is similar to `latest`; however, it tracks [the most recent repository release/tag](https://github.com/itzg/docker-minecraft-server/releases/latest). -| Tag name | Java version | Linux | JVM Type | Architecture | -|-------------------|--------------|--------|-------------|-------------------| -| latest | 17 | Ubuntu | Hotspot | amd64,arm64,armv7 | -| stable | 17 | Ubuntu | Hotspot | amd64,arm64,armv7 | -| java8 | 8 | Alpine | Hotspot | amd64 | -| java8-jdk | 8 | Ubuntu | Hotspot+JDK | amd64 | -| java8-multiarch | 8 | Ubuntu | Hotspot | amd64,arm64,armv7 | -| java8-openj9 | 8 | Debian | OpenJ9 | amd64 | -| java8-graalvm-ce | 8 | Oracle | GraalVM CE | amd64 | -| java11 | 11 | Ubuntu | Hotspot | amd64,arm64,armv7 | -| java11-jdk | 11 | Ubuntu | Hotspot+JDK | amd64,arm64,armv7 | -| java11-openj9 | 11 | Debian | OpenJ9 | amd64 | -| java17 | 17 | Ubuntu | Hotspot | amd64,arm64,armv7 | -| java17-jdk | 17 | Ubuntu | Hotspot+JDK | amd64,arm64,armv7 | -| java17-openj9 | 17 | Debian | OpenJ9 | amd64 | -| java17-graalvm-ce | 17 | Oracle | GraalVM CE | amd64,arm64 | -| java17-alpine | 17 | Alpine | Hotspot | amd64 | -| java20-alpine | 20 | Alpine | Hotspot | amd64 | -| java20 | 20 | Ubuntu | Hotspot | amd64,arm64 | +| Tag name | Java version | Linux | JVM Type | Architecture | +|------------------|--------------|--------|----------------|-------------------| +| latest | 17 | Ubuntu | Hotspot | amd64,arm64,armv7 | +| stable | 17 | Ubuntu | Hotspot | amd64,arm64,armv7 | +| java8 | 8 | Alpine | Hotspot | amd64 | +| java8-jdk | 8 | Ubuntu | Hotspot+JDK | amd64 | +| java8-multiarch | 8 | Ubuntu | Hotspot | amd64,arm64,armv7 | +| java8-openj9 | 8 | Debian | OpenJ9 | amd64 | +| java8-graalvm-ce | 8 | Oracle | GraalVM CE | amd64 | +| java11 | 11 | Ubuntu | Hotspot | amd64,arm64,armv7 | +| java11-jdk | 11 | Ubuntu | Hotspot+JDK | amd64,arm64,armv7 | +| java11-openj9 | 11 | Debian | OpenJ9 | amd64 | +| java17 | 17 | Ubuntu | Hotspot | amd64,arm64,armv7 | +| java17-jdk | 17 | Ubuntu | Hotspot+JDK | amd64,arm64,armv7 | +| java17-openj9 | 17 | Debian | OpenJ9 | amd64 | +| java17-graalvm | 17 | Oracle | Oracle GraalVM | amd64,arm64 | +| java17-alpine | 17 | Alpine | Hotspot | amd64 | +| java20-alpine | 20 | Alpine | Hotspot | amd64 | +| java20 | 20 | Ubuntu | Hotspot | amd64,arm64 | +| java20-graalvm | 20 | Oracle | Oracle GraalVM | amd64,arm64 | For example, to use Java version 8 on any supported architecture: @@ -53,3 +54,4 @@ The following image tags have been deprecated and are no longer receiving update - openj9-nightly - multiarch-latest - java16/java16-openj9 +- java17-graalvm-ce