feat: unabhaengig von GitHub - Updater und Releases ueber eigenes Gitea

Update-Quelle ist jetzt der eigene Gitea-Server, Release-Pipeline unter
.gitea/workflows, Veroeffentlichen per packaging/publish_release.ps1.
This commit is contained in:
2026-09-26 21:28:21 +02:00
parent 6a682fc49c
commit fff1ecb5ec
9 changed files with 232 additions and 177 deletions
+34 -14
View File
@@ -23,7 +23,7 @@ Erweiterung) mit:
## Installation (Windows)
Lade auf der [Releases-Seite](https://github.com/fojadrachi/Playtube/releases)
Lade auf der [Releases-Seite](https://git.fojadrachi.de/Fojadrachi/Playtube/releases)
`Playtube-Setup-vX.Y.Z.exe` herunter und starte sie. Der Installer
- installiert Playtube **pro Benutzer** nach `%LOCALAPPDATA%\Programs\Playtube` (keine
@@ -152,7 +152,7 @@ o.ä. umgehen).
Playtube prüft beim Start und danach alle `updates.check_interval_hours` Stunden
(Standard 6, im **Einstellungen-Tab** oder in `config.json` einstellbar) die
[GitHub Releases](https://github.com/fojadrachi/Playtube/releases) des Projekts. Im
[Releases](https://git.fojadrachi.de/Fojadrachi/Playtube/releases) auf dem eigenen Gitea-Server. Im
Einstellungen-Tab gibt es zusätzlich einen "Jetzt nach Updates suchen"-Button mit
Status-Anzeige und Fortschrittsbalken für den Download. Gibt es eine neuere Version,
fragt ein Dialog, ob sie installiert werden soll:
@@ -193,7 +193,7 @@ Windows-Patch-Pakete tragen die eigene Dateiendung `.play` statt `.zip` (technis
weiterhin ein ganz normales ZIP-Archiv). Playtube registriert `.play` beim ersten Start
automatisch als Windows-Dateizuordnung - eine manuell heruntergeladene
`Playtube-vX.Y.Z-win64-patch.play` (z.B. von der
[Releases-Seite](https://github.com/fojadrachi/Playtube/releases)) lässt sich also
[Releases-Seite](https://git.fojadrachi.de/Fojadrachi/Playtube/releases)) lässt sich also
einfach per Doppelklick installieren, ohne dass Playtube selbst etwas herunterladen
muss.
@@ -204,12 +204,32 @@ powershell -ExecutionPolicy Bypass -File packaging\release.ps1 -Version 1.1.0
```
Das Skript setzt die Versionsnummer, committet, erstellt Git-Tag `v1.1.0` und pusht zu
`origin` (dein Repo unter https://github.com/fojadrachi/Playtube). Der gepushte Tag
löst automatisch die GitHub-Actions-Pipeline
([.github/workflows/release.yml](.github/workflows/release.yml)) aus, die **sowohl
eine Windows- als auch eine Linux-Version baut** und beide als Assets an einem GitHub
Release veröffentlicht - Fortschritt unter
https://github.com/fojadrachi/Playtube/actions.
`origin` (dein Gitea unter https://git.fojadrachi.de/Fojadrachi/Playtube). Der gepushte
Tag löst automatisch die Gitea-Actions-Pipeline
([.gitea/workflows/release.yml](.gitea/workflows/release.yml)) aus, die die
Windows-Pakete baut und als Release auf dem Gitea veröffentlicht - Fortschritt unter
https://git.fojadrachi.de/Fojadrachi/Playtube/actions.
#### Releases bauen (einmalige Einrichtung)
GitHub wird nirgends mehr benutzt. Die Pipeline braucht:
1. **Einen Gitea-Actions-Runner unter Windows** (`act_runner`, Label `windows`, Host-Modus)
mit Python 3.12, git, PowerShell und [Inno Setup 6](https://jrsoftware.org/isinfo.php).
Registrierung z. B.:
`act_runner register --instance https://git.fojadrachi.de --token <Runner-Token> --labels windows:host`
2. **Ein Secret `RELEASE_TOKEN`** im Repo (Einstellungen → Actions → Secrets): ein
Zugriffstoken (Gitea → Einstellungen → Anwendungen) mit Schreibrecht auf das Repo.
3. In Gitea **Actions für das Repo aktivieren** (Einstellungen → Erweitert → Repository-Einheiten).
**Ohne Runner** kannst du selbst bauen und veröffentlichen:
```powershell
powershell -ExecutionPolicy Bypass -File packaging\build.ps1
$env:GITEA_TOKEN = "<Zugriffstoken>"
powershell -ExecutionPolicy Bypass -File packaging\publish_release.ps1 -Tag v1.1.0 `
-Files dist\installer\Playtube-Setup-v1.1.0.exe
```
Für Windows entstehen dabei drei Dateien: `Playtube-Setup-vX.Y.Z.exe` (Installer, für
Neueinsteiger und volle Updates), `Playtube-vX.Y.Z-win64.zip` (portabel) und das kleine
@@ -221,9 +241,10 @@ neue Version danach automatisch angeboten.
## Native Linux-Version
Playtube läuft genauso unter Linux (gleicher Code, gleiches PySide6/QtWebEngine) und
wird bei jedem Release automatisch als `Playtube-vX.Y.Z-linux-x86_64.tar.gz` unter
https://github.com/fojadrachi/Playtube/releases mitgebaut.
Playtube läuft genauso unter Linux (gleicher Code, gleiches PySide6/QtWebEngine). Die
Pipeline auf dem Gitea baut derzeit nur Windows-Pakete; Linux-Pakete (`.tar.gz`) entstehen
nur, wenn du zusätzlich einen Linux-Runner einrichtest oder sie selbst mit PyInstaller baust
(`pyinstaller packaging/playtube.spec`).
**Fertiges Release installieren** (richtet Startmenü-Eintrag + Icon ein):
@@ -244,8 +265,7 @@ python3 -m venv .venv
```
QtWebEngine benötigt unter Linux ein paar System-Bibliotheken (auf Debian/Ubuntu):
`sudo apt install libxkbcommon0 libegl1 libnss3 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libasound2t64 libatk-bridge2.0-0 libcups2` (siehe auch die vollstaendige Liste in
[.github/workflows/release.yml](.github/workflows/release.yml)).
`sudo apt install libxkbcommon0 libegl1 libnss3 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libasound2t64 libatk-bridge2.0-0 libcups2 libxtst6 libxcursor1 libatk1.0-0 libdbus-1-3 libdrm2 libpango-1.0-0 libpangocairo-1.0-0 libxfixes3 libxi6 libxext6 fonts-liberation`.
## Hinweise