build: Single-File-HTML regeneriert (eingebettete Version 1.4.1) #10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| # Baut die native Swift-App, laeuft die Tests, prueft die JS-Parität und | |
| # stellt sicher, dass die gebaute Single-File-HTML aktuell ist. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| build-test: | |
| # macos-15 bringt standardmaessig Xcode 16 / Swift 6.0 mit; der aeltere | |
| # macos-14-Runner hatte nur Swift 5.10 und scheiterte an | |
| # 'swift-tools-version: 6.0' in Package.swift. | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Swift Version | |
| run: swift --version | |
| - name: Swift build (release) | |
| run: swift build -c release | |
| # In CI ist der gitignorierte audio/-Ordner nicht vorhanden, daher skippen | |
| # die Audio-/Hardware-abhaengigen Tests von selbst; die synthetischen | |
| # DSP-/Parser-/Sequenzierungs-Tests laufen vollstaendig. | |
| - name: Swift tests | |
| run: swift test | |
| - name: JS Syntax-Check | |
| run: | | |
| node --check modplayer.js | |
| node --check mod-player-worklet.js | |
| - name: JS↔Swift Worklet-Parität (headless) | |
| run: node Tests/js/worklet-timing.mjs | |
| - name: Single-File-HTML ist aktuell (build.py) | |
| run: | | |
| python3 build.py | |
| if ! git diff --exit-code savage-mod-player.html; then | |
| echo "::error::savage-mod-player.html ist veraltet. 'python3 build.py' ausfuehren und committen." | |
| exit 1 | |
| fi |