# Claude Desktop — PWA Docker Build Pipeline # Triggert bei [pwa] oder [docker] im Commit-Message # Baut das Docker-Image aus pwa/ und pusht es in die Forgejo Container-Registry name: PWA Docker Build on: push: branches: - main paths: - 'pwa/**' jobs: build-pwa: # Laeuft auf dem Debian-Runner (16-Forgejo-Runner-AppImage) runs-on: appimage if: contains(github.event.head_commit.message, '[pwa]') || contains(github.event.head_commit.message, '[docker]') steps: # Ntfy Start-Benachrichtigung - name: Build gestartet (Ntfy) run: | curl -s \ -H "Authorization: ${{ secrets.NTFY_AUTH }}" \ -H "Title: PWA Build gestartet" \ -H "Tags: construction" \ -d "Claude Chat PWA Docker-Image wird gebaut..." \ https://notify.data-it-solution.de/vk-builds - name: Checkout run: | git clone --depth 1 --branch "${GITHUB_REF_NAME}" \ "https://oauth2:${{ secrets.REGISTRY_TOKEN }}@git.data-it-solution.de/${GITHUB_REPOSITORY}.git" . # Docker-Image bauen (Build-Kontext = pwa/) - name: Docker Image bauen run: | cd pwa docker build \ -t git.data-it-solution.de/data/claude-desktop/claude-chat-pwa:latest \ -t git.data-it-solution.de/data/claude-desktop/claude-chat-pwa:${{ github.sha }} \ . # Login in die Forgejo Container-Registry - name: Login Forgejo Registry run: | echo "${{ secrets.REGISTRY_TOKEN }}" | \ docker login git.data-it-solution.de -u data --password-stdin # Image in die Registry pushen (latest + commit-sha) - name: Push to Registry run: | docker push git.data-it-solution.de/data/claude-desktop/claude-chat-pwa:latest docker push git.data-it-solution.de/data/claude-desktop/claude-chat-pwa:${{ github.sha }} # Ntfy Erfolg-Benachrichtigung - name: Build erfolgreich (Ntfy) if: success() run: | curl -s \ -H "Authorization: ${{ secrets.NTFY_AUTH }}" \ -H "Title: PWA Build erfolgreich" \ -H "Tags: white_check_mark" \ -d "Claude Chat PWA Docker-Image gebaut und in Registry gepusht (SHA: ${{ github.sha }})" \ https://notify.data-it-solution.de/vk-builds # Ntfy Fehler-Benachrichtigung - name: Build fehlgeschlagen (Ntfy) if: failure() run: | curl -s \ -H "Authorization: ${{ secrets.NTFY_AUTH }}" \ -H "Title: PWA Build fehlgeschlagen" \ -H "Tags: x" \ -d "Fehler beim Claude Chat PWA Build. Logs pruefen: https://git.data-it-solution.de/${GITHUB_REPOSITORY}/actions" \ https://notify.data-it-solution.de/vk-builds