Workflow file for this run
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: Stream Deck Plugin Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| build-windows: | |
| name: Build Stream Deck Plugin | |
| runs-on: windows-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Rust Cache | |
| uses: Swatinem/rust-cache@v2 | |
| # 1. Binary im Release-Modus bauen | |
| - name: Build Binary | |
| run: cargo build --release | |
| # 2. Flache Struktur für den Installer vorbereiten | |
| - name: Prepare Plugin Content | |
| shell: pwsh | |
| run: | | |
| # Wir erstellen einen temporären Ordner für den Inhalt | |
| New-Item -ItemType Directory -Path "dist" -Force | |
| # Das Binary hineinkopieren | |
| Copy-Item "target/release/thebus-streamdeck-plugin.exe" "dist/" | |
| # Alle Assets (inkl. manifest.json) direkt in den dist-Ordner kopieren | |
| if (Test-Path "assets") { | |
| Copy-Item -Path "assets/*" -Destination "dist/" -Recurse -Force | |
| } | |
| # 3. Das .streamDeckPlugin Paket erstellen | |
| # WICHTIG: Wir packen den INHALT von dist, damit manifest.json ganz oben liegt | |
| - name: Create Stream Deck Plugin Package | |
| shell: pwsh | |
| run: | | |
| Compress-Archive -Path dist/* -DestinationPath "de.thatzok.thebus.sdPlugin.streamDeckPlugin" | |
| # 4. Upload zum GitHub Release | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: "de.thatzok.thebus.sdPlugin.streamDeckPlugin" | |
| generate_release_notes: true |