name: Feature Build — Windows MSI on: push: branches: [ "feature/*" ] # Reagiert auf alle Feature-Branches jobs: package-windows: name: 📦 Windows .msi Packaging # Nur ausführen, wenn Desktop-CI explizit aktiviert ist if: ${{ vars.DESKTOP_CI_ENABLED == 'true' }} runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup JDK 21 (Temurin) uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '21' - name: Gradle cache uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper .gradle key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: Windows .msi bauen env: _JAVA_OPTIONS: -Djava.awt.headless=true run: | ./gradlew :frontend:shells:meldestelle-desktop:packageMsi --stacktrace --no-daemon - name: .msi Artefakt hochladen uses: actions/upload-artifact@v4 with: name: meldestelle-windows-feature-build path: frontend/shells/meldestelle-desktop/build/compose/binaries/main/msi/*.msi if-no-files-found: warn