From 1c454b4fdf47c25324b7c99070f2d55e66b81d9b Mon Sep 17 00:00:00 2001 From: Kavin <20838718+FireMasterK@users.noreply.github.com> Date: Thu, 2 Jun 2022 12:33:07 +0100 Subject: [PATCH] Add testing support for GraalVM's and OpenJ9 JVM. --- .dockerignore | 4 ++-- .github/workflows/docker-build-test.yml | 5 +++++ Dockerfile.graalvm-jvm | 26 +++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 Dockerfile.graalvm-jvm diff --git a/.dockerignore b/.dockerignore index 4ac1703..f5caf90 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,8 +1,8 @@ .* build bin -Dockerfile -Dockerfile.* +Dockerfile* +docker-compose.yml *.bat LICENSE *.md diff --git a/.github/workflows/docker-build-test.yml b/.github/workflows/docker-build-test.yml index 7a129b4..e6150e4 100644 --- a/.github/workflows/docker-build-test.yml +++ b/.github/workflows/docker-build-test.yml @@ -16,6 +16,10 @@ jobs: - testing/docker-compose.hsqldb.yml - testing/docker-compose.cockroachdb.yml - testing/docker-compose.yugabytedb.yml + dockerfile: + - Dockerfile + - Dockerfile.openj9 + - Dockerfile.graalvm-jvm steps: - uses: actions/checkout@v3 - name: Create Version File @@ -25,6 +29,7 @@ jobs: with: context: . load: true + file: ${{ matrix.dockerfile }} tags: 1337kavin/piped:latest - name: Start Docker-Compose services run: docker-compose -f ${{ matrix.docker-compose-file }} up -d && sleep 5 diff --git a/Dockerfile.graalvm-jvm b/Dockerfile.graalvm-jvm new file mode 100644 index 0000000..3bcd3d2 --- /dev/null +++ b/Dockerfile.graalvm-jvm @@ -0,0 +1,26 @@ +FROM ghcr.io/graalvm/native-image:latest as build + +WORKDIR /app/ + +COPY . /app/ + +RUN --mount=type=cache,target=/root/.gradle/caches/ \ + ./gradlew shadowJar + +RUN jlink \ + --add-modules java.base,java.logging,java.sql,java.management,java.xml,java.naming,java.desktop,jdk.crypto.ec \ + --strip-debug \ + --no-man-pages \ + --no-header-files \ + --compress=2 \ + --output /javaruntime + +FROM debian:stable-slim + +ENV JAVA_HOME=/opt/java/openjdk +ENV PATH "${JAVA_HOME}/bin:${PATH}" +COPY --from=build /javaruntime $JAVA_HOME + +WORKDIR /app/ + +COPY --from=build /app/build/libs/piped-1.0-all.jar .