chore(infra): optimize Gradle builds, add Keycloak to CI, and improve Docker caching

This commit is contained in:
2026-02-13 20:10:22 +01:00
parent 0a0f5af3bd
commit 49c53aa912
+14 -15
View File
@@ -23,6 +23,8 @@ env:
# Build Arguments für Zora (ARM64 Power) # Build Arguments für Zora (ARM64 Power)
JAVA_VERSION: "25" JAVA_VERSION: "25"
GRADLE_VERSION: "9.3.1" GRADLE_VERSION: "9.3.1"
# OPTIMIERUNG: Gradle Parameter für mehr Speed
GRADLE_OPTS: "-Dorg.gradle.parallel=true -Dorg.gradle.workers.max=8"
# Deine neuen JVM Power-Flags für ARM64 (Cortex-A720) # Deine neuen JVM Power-Flags für ARM64 (Cortex-A720)
JVM_OPTS_ARM64: "-XX:ActiveProcessorCount=12 -XX:+UseG1GC -XX:+UseTransparentHugePages -XX:+UseSVE=1" JVM_OPTS_ARM64: "-XX:ActiveProcessorCount=12 -XX:+UseG1GC -XX:+UseTransparentHugePages -XX:+UseSVE=1"
@@ -33,6 +35,11 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
# NEU: Keycloak wird jetzt auch automatisch gebaut und gepusht
- service: keycloak
context: .
dockerfile: config/docker/keycloak/Dockerfile
image: keycloak
- service: api-gateway - service: api-gateway
context: . context: .
dockerfile: backend/infrastructure/gateway/Dockerfile dockerfile: backend/infrastructure/gateway/Dockerfile
@@ -45,11 +52,6 @@ jobs:
context: . context: .
dockerfile: config/docker/caddy/web-app/Dockerfile dockerfile: config/docker/caddy/web-app/Dockerfile
image: web-app image: web-app
# NEU: Keycloak wird jetzt auch automatisch gebaut und gepusht
- service: keycloak
context: .
dockerfile: config/docker/keycloak/Dockerfile
image: keycloak
steps: steps:
- name: Checkout repository - name: Checkout repository
@@ -78,12 +80,11 @@ jobs:
if: matrix.service == 'web-app' if: matrix.service == 'web-app'
run: | run: |
chmod +x gradlew chmod +x gradlew
./gradlew :frontend:shells:meldestelle-portal:jsBrowserDistribution -Pproduction=true --no-daemon # Wir nutzen --no-daemon im Runner, geben aber mehr Memory
./gradlew :frontend:shells:meldestelle-portal:jsBrowserDistribution \
# OPTIMIERUNG: QEMU entfernt, da der Runner nativ auf ARM64 (Zora) läuft. -Pproduction=true \
# Docker Buildx für effizienten Build-Support --max-workers=8 \
# - name: Set up Docker Buildx -Dkotlin.daemon.jvm.options="-Xmx4g"
# uses: docker/setup-buildx-action@v3
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
@@ -128,7 +129,5 @@ jobs:
JAVA_VERSION=${{ env.JAVA_VERSION }} JAVA_VERSION=${{ env.JAVA_VERSION }}
KEYCLOAK_IMAGE_TAG=26.4 KEYCLOAK_IMAGE_TAG=26.4
JVM_OPTS_APPEND=${{ env.JVM_OPTS_ARM64 }} JVM_OPTS_APPEND=${{ env.JVM_OPTS_ARM64 }}
# # KORREKTUR: 'inline' Cache statt 'gha' für Gitea-Kompatibilität cache-from: type=local,src=/tmp/.buildx-cache
# cache-from: type=inline cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
# cache-to: type=inline,mode=max