Compare commits

..

1 Commits
v4.2.1 ... main

Author SHA1 Message Date
xRangerDE
8d52df23c7 docs: add AI release runbook for gitea 2026-03-05 01:04:18 +01:00

90
README_AI_RELEASE.md Normal file
View File

@ -0,0 +1,90 @@
# AI Release Guide (Gitea)
Diese Datei ist die verbindliche Anleitung fuer KI-Agenten, um Releases fuer dieses Projekt zu erstellen.
## Zielsystem
- Git Host: `https://git.24-music.de`
- Repo: `Administrator/Twitch-VOD-Manager`
- Default Branch: `main`
- Release-Assets muessen auf Gitea liegen, nicht auf GitHub/Codeberg.
## Sicherheitsregeln
- Token niemals in Dateien committen.
- Token niemals in Logs, README oder Code schreiben.
- Nur als Environment Variable nutzen:
- PowerShell: ``$env:GITEA_TOKEN="<token>"``
- Wenn Token kompromittiert wirkt: sofort rotieren.
## Voraussetzungen vor Release
1. `origin` muss auf Gitea zeigen:
- `https://git.24-music.de/Administrator/Twitch-VOD-Manager.git`
2. Working Tree darf keine ungewollten Aenderungen enthalten.
3. DNS fuer `git.24-music.de` muss auf `159.195.45.29` aufloesen.
4. Die App verwendet Gitea-Updater-URLs:
- In `src/main.ts` via `GITEA_*` Konstanten/API.
- In `package.json`:
- `"build.publish.url": "https://git.24-music.de/Administrator/Twitch-VOD-Manager/releases/download/v${version}/"`
## Standardablauf fuer neues Release
Beispiel fuer `4.2.2`.
1. Version setzen:
- `npm version 4.2.2 --no-git-tag-version`
2. Build + Schnelltest:
- `npm run build`
- `npm run test:e2e:update-logic`
3. Windows Installer bauen:
- `npx electron-builder --win`
4. Pruefen, dass Dateien existieren:
- `release/Twitch-VOD-Manager-Setup-4.2.2.exe`
- `release/Twitch-VOD-Manager-Setup-4.2.2.exe.blockmap`
- `release/latest.yml`
5. Commit + Tag:
- `git add package.json package-lock.json`
- `git commit -m "release: 4.2.2"`
- `git tag v4.2.2`
6. Push:
- `git push origin main`
- `git push origin v4.2.2`
7. Release auf Gitea anlegen und Assets hochladen (API):
- Endpoint: `POST /api/v1/repos/Administrator/Twitch-VOD-Manager/releases`
- Endpoint: `POST /api/v1/repos/Administrator/Twitch-VOD-Manager/releases/{id}/assets?name=<file>`
8. Verifikation:
- `GET /api/v1/repos/Administrator/Twitch-VOD-Manager/releases/latest` muss `v4.2.2` liefern.
- Download-Links muessen `200` geben:
- `/releases/download/v4.2.2/latest.yml`
- `/releases/download/v4.2.2/Twitch-VOD-Manager-Setup-4.2.2.exe`
## Verbindliche Asset-Regel
Pro aktuellem Release muessen mindestens diese 3 Dateien vorhanden sein:
- `Twitch-VOD-Manager-Setup-<version>.exe`
- `Twitch-VOD-Manager-Setup-<version>.exe.blockmap`
- `latest.yml`
Ohne diese Dateien funktioniert der Auto-Updater nicht zuverlaessig.
## Script-Hinweis
Es gibt ein Script: `scripts/release_gitea.mjs` (npm: `release:gitea`).
- Vor Nutzung sicherstellen, dass:
- `GITEA_TOKEN` gesetzt ist.
- `origin` korrekt ist.
- der Tag existiert oder der Workflow diesen sauber erstellt.
Wenn das Script fehlschlaegt, immer auf den manuellen Standardablauf oben zurueckfallen.
## DNS/Netzwerk Fallback (nur wenn lokal noetig)
Wenn lokales DNS noch alt cached und Requests fehlschlagen, HTTP-Tests mit erzwungener Aufloesung:
- `curl --resolve git.24-music.de:443:159.195.45.29 https://git.24-music.de/api/v1/version`
Nur fuer Tests nutzen, nicht als dauerhaften Workaround.