### feat: optimiere Plan-B-Builds und CI/CD-Workflows
Some checks failed
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been skipped
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m56s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 6m57s

- **Docker-Publish:** Reduziere auf Mail-Service und Web-App für schnellere Builds.
- **Workflows:** Überspringe Plan-B-Builds basierend auf Commit-Message ([planb]).
- **Frontend:** Aktualisiere Build-Skripte für Wasm-Distribution statt JS.
This commit is contained in:
Stefan Mogeritsch 2026-04-22 23:40:58 +02:00
parent 6b690232ff
commit 1caefe6603
5 changed files with 16 additions and 17 deletions

View File

@ -8,6 +8,8 @@ on:
jobs:
desktop-tests:
# Für Plan-B-Builds überspringen: Commit-Message enthält [planb]
if: ${{ !contains(github.event.head_commit.message, '[planb]') }}
name: Compose Desktop — Tests (headless) & Build
runs-on: ubuntu-latest

View File

@ -33,18 +33,7 @@ jobs:
max-parallel: 1
matrix:
include:
- service: keycloak
context: .
dockerfile: config/docker/keycloak/Dockerfile
image: keycloak
- service: api-gateway
context: .
dockerfile: backend/infrastructure/gateway/Dockerfile
image: api-gateway
- service: ping-service
context: .
dockerfile: backend/services/ping/Dockerfile
image: ping-service
# Plan-B fokussiert: Nur Mail-Service + Web-App bauen/pushen (beschleunigt CI deutlich)
- service: mail-service
context: .
dockerfile: backend/services/mail/Dockerfile
@ -79,15 +68,15 @@ jobs:
- name: Cleanup stale build caches
if: matrix.service == 'web-app'
run: |
rm -rf frontend/shells/meldestelle-portal/build/js/node_modules/.cache || true
rm -rf frontend/shells/meldestelle-portal/build/js/.yarn/cache || true
rm -rf frontend/shells/meldestelle-web/build/js/node_modules/.cache || true
rm -rf frontend/shells/meldestelle-web/build/js/.yarn/cache || true
rm -rf ~/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable || true
- name: Build Frontend (Kotlin JS)
- name: Build Frontend (Wasm JS)
if: matrix.service == 'web-app'
run: |
chmod +x gradlew
./gradlew :frontend:shells:meldestelle-portal:jsBrowserDistribution \
./gradlew :frontend:shells:meldestelle-web:wasmJsBrowserDistribution \
-Pproduction=true \
--max-workers=4 \
-Dkotlin.daemon.jvm.options="-Xmx4g"

View File

@ -4,6 +4,8 @@ on:
branches: [ "**" ]
jobs:
no-hardcoded-versions:
# Für Plan-B-Builds überspringen: Commit-Message enthält [planb]
if: ${{ !contains(github.event.head_commit.message, '[planb]') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

View File

@ -22,6 +22,8 @@ jobs:
# =============================================================
tag-release:
name: 🏷️ Git-Tag setzen
# Für Plan-B-Builds überspringen: Commit-Message enthält [planb]
if: ${{ !contains(github.event.head_commit.message, '[planb]') }}
runs-on: ubuntu-latest
outputs:
version: ${{ steps.read-version.outputs.version }}
@ -77,6 +79,8 @@ jobs:
# =============================================================
package-linux:
name: 📦 Linux .deb Packaging
# Für Plan-B-Builds überspringen: Commit-Message enthält [planb]
if: ${{ !contains(github.event.head_commit.message, '[planb]') }}
runs-on: ubuntu-latest
needs: tag-release
@ -123,6 +127,8 @@ jobs:
# =============================================================
package-windows:
name: 📦 Windows .msi Packaging
# Für Plan-B-Builds überspringen: Commit-Message enthält [planb]
if: ${{ !contains(github.event.head_commit.message, '[planb]') }}
runs-on: windows-latest
needs: tag-release

View File

@ -11,7 +11,7 @@ services:
API_BASE_URL: ${API_BASE_URL:-https://api.mo-code.at}
MAIL_SERVICE_URL: ${MAIL_SERVICE_URL:-https://api.mo-code.at/mail}
ports:
- "${WEB_APP_PORT:-8080:80}"
- "${WEB_APP_PORT:-8080:80}" # per .env steuerbar, Standard http://<host>:8080
networks: [meldestelle-network]
# --- Mail-Service (Plan-B: Form -> E-Mail) ---