From 671ebf5feac668f6fe2679dca13d268148990159 Mon Sep 17 00:00:00 2001 From: Janis Eccarius Date: Wed, 10 Jun 2026 16:08:15 +0200 Subject: [PATCH] feat(ci): add analysis module to native-image build pipeline (NCI-10) - Add modules/analysis/src/main/docker/Dockerfile.native (UBI9, port 8087) - Add analysis to matrix.module in .github/workflows/native-image.yml Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/native-image.yml | 1 + .../src/main/docker/Dockerfile.native | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 modules/analysis/src/main/docker/Dockerfile.native diff --git a/.github/workflows/native-image.yml b/.github/workflows/native-image.yml index d280a67..1d166c2 100644 --- a/.github/workflows/native-image.yml +++ b/.github/workflows/native-image.yml @@ -49,6 +49,7 @@ jobs: matrix: module: - account + - analysis - bot-platform - coordinator - core diff --git a/modules/analysis/src/main/docker/Dockerfile.native b/modules/analysis/src/main/docker/Dockerfile.native new file mode 100644 index 0000000..bd9965f --- /dev/null +++ b/modules/analysis/src/main/docker/Dockerfile.native @@ -0,0 +1,29 @@ +#### +# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode. +# +# Before building the container image run: +# +# ./gradlew :modules:analysis:build -Dquarkus.native.enabled=true +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.native -t quarkus/backcore . +# +# Then run the container using: +# +# docker run -i --rm -p 8087:8087 quarkus/backcore +# +# The `registry.access.redhat.com/ubi9/ubi-minimal:9.7` base image is based on UBI 9. +# To use UBI 8, switch to `quay.io/ubi8/ubi-minimal:8.10`. +### +FROM registry.access.redhat.com/ubi9/ubi-minimal:9.7 +WORKDIR /work/ +RUN chown 1001 /work \ + && chmod "g+rwX" /work \ + && chown 1001:root /work +COPY --chown=1001:root --chmod=0755 modules/analysis/build/*-runner /work/application + +EXPOSE 8087 +USER 1001 + +ENTRYPOINT ["./application", "-Dquarkus.http.host=0.0.0.0"]