diff --git a/.gitea/workflows/docker-publish.yaml b/.gitea/workflows/docker-publish.yaml index bfb5d659..f37e395e 100644 --- a/.gitea/workflows/docker-publish.yaml +++ b/.gitea/workflows/docker-publish.yaml @@ -23,6 +23,8 @@ env: # Build Arguments für Zora (ARM64 Power) JAVA_VERSION: "25" 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) JVM_OPTS_ARM64: "-XX:ActiveProcessorCount=12 -XX:+UseG1GC -XX:+UseTransparentHugePages -XX:+UseSVE=1" @@ -33,6 +35,11 @@ jobs: fail-fast: false matrix: include: + # NEU: Keycloak wird jetzt auch automatisch gebaut und gepusht + - service: keycloak + context: . + dockerfile: config/docker/keycloak/Dockerfile + image: keycloak - service: api-gateway context: . dockerfile: backend/infrastructure/gateway/Dockerfile @@ -45,11 +52,6 @@ jobs: context: . dockerfile: config/docker/caddy/web-app/Dockerfile image: web-app - # NEU: Keycloak wird jetzt auch automatisch gebaut und gepusht - - service: keycloak - context: . - dockerfile: config/docker/keycloak/Dockerfile - image: keycloak steps: - name: Checkout repository @@ -78,12 +80,11 @@ jobs: if: matrix.service == 'web-app' run: | chmod +x gradlew - ./gradlew :frontend:shells:meldestelle-portal:jsBrowserDistribution -Pproduction=true --no-daemon - - # OPTIMIERUNG: QEMU entfernt, da der Runner nativ auf ARM64 (Zora) läuft. - # Docker Buildx für effizienten Build-Support - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 + # Wir nutzen --no-daemon im Runner, geben aber mehr Memory + ./gradlew :frontend:shells:meldestelle-portal:jsBrowserDistribution \ + -Pproduction=true \ + --max-workers=8 \ + -Dkotlin.daemon.jvm.options="-Xmx4g" - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -128,7 +129,5 @@ jobs: JAVA_VERSION=${{ env.JAVA_VERSION }} KEYCLOAK_IMAGE_TAG=26.4 JVM_OPTS_APPEND=${{ env.JVM_OPTS_ARM64 }} -# # KORREKTUR: 'inline' Cache statt 'gha' für Gitea-Kompatibilität -# cache-from: type=inline -# cache-to: type=inline,mode=max - + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max