name: Release (Edge) # Baut Playtube Edge (Microsoft-Edge-Engine / WebView2) fuer Windows und veroeffentlicht Setup # und ZIP an einem GitHub Release, sobald ein Tag im Format "vX.Y.Z-edge" gepusht wird. # # WICHTIG: # - Nur Tags mit dem Suffix "-edge" loesen diesen Workflow aus - die normale (Qt-)Playtube # baut aus dem Branch "main" mit Tags "vX.Y.Z" und bleibt davon unberuehrt. # - Das Release wird als VORABVERSION veroeffentlicht und nie als "latest" markiert. Die Qt- # Version fragt "/releases/latest" ab und sieht dieses Release dadurch nie; der Updater der # Edge-Version sucht seinerseits nur nach Tags "...-edge" (siehe playtube/updater.py). on: push: tags: - "v*-edge" workflow_dispatch: {} permissions: contents: write jobs: build-windows: runs-on: windows-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - name: Abhaengigkeiten installieren run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install pyinstaller - name: PlaytubeEdge.exe bauen run: pyinstaller packaging\playtube.spec --noconfirm --distpath dist --workpath build - name: Setup-Installer bauen (Inno Setup) shell: pwsh run: | $version = (Select-String -Path playtube\__init__.py -Pattern '__version__\s*=\s*"([^"]+)"').Matches[0].Groups[1].Value $iscc = Join-Path ${env:ProgramFiles(x86)} "Inno Setup 6\ISCC.exe" if (-not (Test-Path $iscc)) { choco install innosetup -y --no-progress } & $iscc "/DAppVersion=$version" packaging\playtube.iss if ($LASTEXITCODE -ne 0) { throw "Inno-Setup-Build fehlgeschlagen." } - name: Als .zip packen (portabel) run: Compress-Archive -Path dist\PlaytubeEdge -DestinationPath PlaytubeEdge-${{ github.ref_name }}-win64.zip - uses: actions/upload-artifact@v4 with: name: windows-edge path: | dist/installer/PlaytubeEdge-Setup-v*.exe PlaytubeEdge-*-win64.zip publish-release: needs: [build-windows] runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v4 with: path: artifacts merge-multiple: true - name: GitHub Release veroeffentlichen (Vorabversion) uses: softprops/action-gh-release@v2 with: name: Playtube Edge ${{ github.ref_name }} files: artifacts/* prerelease: true make_latest: "false" body: | ## Playtube Edge - die Version fuer eigene (hochgeladene) Musik **Diese Version brauchst du, wenn du selbst hochgeladene Songs in YouTube Music hoeren willst.** Die normale Playtube-Version kann sie nicht abspielen ("Dieses Videoformat wird nicht unterstuetzt"), weil ihre eingebaute Browser-Engine (QtWebEngine) kein AAC und kein H.264 kann. Playtube Edge benutzt stattdessen die Microsoft-Edge-Engine (WebView2) - damit laufen auch hochgeladene Titel. ### Installieren - Download: **PlaytubeEdge-Setup-vX.Y.Z.exe** (Setup, empfohlen) oder die ZIP-Datei (portabel). - Voraussetzung: Windows 10/11 mit "WebView2 Runtime" (auf Windows 11 schon vorhanden, sonst kostenlos bei Microsoft). - Playtube Edge laeuft **neben** der normalen Playtube (eigener Ordner, eigene Einstellungen). Beim ersten Start musst du dich in YouTube/YouTube Music einmal neu anmelden. Lass am besten nur eine der beiden Versionen gleichzeitig spielen. - Updates: Playtube Edge aktualisiert sich nur ueber diese "Edge"-Releases - nie ueber die normale Playtube. Wer keine eigenen Uploads abspielt, braucht diese Version nicht - die normale Playtube reicht dann.