From 1caefe660382b3faff0107804fdea0c9c6625487 Mon Sep 17 00:00:00 2001 From: StefanMoCoAt Date: Wed, 22 Apr 2026 23:40:58 +0200 Subject: [PATCH] ### feat: optimiere Plan-B-Builds und CI/CD-Workflows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - **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. --- .gitea/workflows/desktop-tests.yml | 2 ++ .gitea/workflows/docker-publish.yaml | 21 +++++---------------- .gitea/workflows/pr-guard.yaml | 2 ++ .gitea/workflows/release.yml | 6 ++++++ dc-planb.yaml | 2 +- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/.gitea/workflows/desktop-tests.yml b/.gitea/workflows/desktop-tests.yml index d4d42e3f..a1e55215 100644 --- a/.gitea/workflows/desktop-tests.yml +++ b/.gitea/workflows/desktop-tests.yml @@ -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 diff --git a/.gitea/workflows/docker-publish.yaml b/.gitea/workflows/docker-publish.yaml index 04277a92..b058a3d5 100644 --- a/.gitea/workflows/docker-publish.yaml +++ b/.gitea/workflows/docker-publish.yaml @@ -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" diff --git a/.gitea/workflows/pr-guard.yaml b/.gitea/workflows/pr-guard.yaml index 871972ad..0106401f 100644 --- a/.gitea/workflows/pr-guard.yaml +++ b/.gitea/workflows/pr-guard.yaml @@ -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 diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 558184be..bccacdd1 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -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 diff --git a/dc-planb.yaml b/dc-planb.yaml index c32d76e1..e9669235 100644 --- a/dc-planb.yaml +++ b/dc-planb.yaml @@ -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://:8080 networks: [meldestelle-network] # --- Mail-Service (Plan-B: Form -> E-Mail) ---