Release-Workflow: ZIP bei jedem Merge nach main #5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci/release-zip"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Legt bei jedem Push auf
main– also nach jedem gemergten Pull Request – ein installierbares Paket an und hängt es an das rollende Vorab-Releaselatest-main. Der Download-Link bleibt dadurch stabil und zeigt immer auf den aktuellen Stand. Ein Tagv*erzeugt mit derselben Mechanik ein reguläres Release.Wie das Paket entsteht
git archiveerzeugt das ZIP direkt aus dem Commit – kein zusätzliches Werkzeug im Runner nötig. Was hineingehört, steuert die neue.gitattributesüberexport-ignore:docs/,tests/,tools/,phpunit.xml.dist,phpstan.neonund die CI-Dateien bleiben draußen.Ergebnis: 165 Dateien, rund 1,4 MB – inklusive der lokalen Assets,
database.sql,.htaccess-Dateien und der leerenuploads/-Struktur.Weitere Schritte im Workflow:
index.php,install.php,database.sql,assets/global.css,assets/vendor/inter/inter.css,includes/Ui.php) fehlen.sha256-Datei neben dem ZIPcontinue-on-error– falls der Artefakt-Speicher fehlt, läuft das Release trotzdem durchFORGEJO_TOKENals Ausweichweg; ohne Token wird der Schritt übersprungen statt fehlzuschlagenVersionsnummer
Neu ist die Datei
VERSIONim Projektstamm als einzige Quelle. Sie benennt das Paket (unifi-voucher-tool-2.6.0+2026-09-23.bee4b11.zip) und erscheint überUi::version()unten in der Admin-Seitenleiste: „v2.6.0 · Entwickelt von Loheide.eu".Geprüft
Paket lokal gebaut, entpackt und die Anwendung aus dem ZIP heraus gestartet – alle Seiten antworten mit 200, keine fehlende Datei. Zusätzlich PHPUnit 29/29 und PHPStan ohne Befund, Screenshots neu erzeugt.
🤖 Generated with Claude Code
.github/workflows/release.yml baut bei jedem Push auf main (also auch nach jedem gemergten Pull Request) ein installierbares Paket und hängt es an das rollende Vorab-Release "latest-main". Der Download-Link bleibt damit stabil und zeigt immer auf den aktuellen Stand. Ein Tag v* erzeugt mit derselben Mechanik ein reguläres Release. Details: - das ZIP entsteht per `git archive`, die Auswahl steuert .gitattributes (export-ignore) – docs/, tests/, tools/ und CI bleiben draußen, das Paket ist rund 1,4 MB groß - eine Prüfschritt kontrolliert, dass Kerndateien wirklich enthalten sind, dazu gibt es eine .sha256-Datei - zusätzlich als Build-Artefakt abgelegt (optional, bricht nicht ab, wenn der Artefakt-Speicher fehlt) - Release-API wird über den automatisch bereitgestellten Token angesprochen, FORGEJO_TOKEN dient als Ausweichweg; ohne Token wird der Schritt übersprungen statt fehlzuschlagen Neu ist die Datei VERSION als einzige Quelle der Versionsnummer: sie benennt das Paket und erscheint über Ui::version() unten in der Admin-Seitenleiste ("v2.6.0 · Entwickelt von Loheide.eu"). Geprüft: Paket lokal gebaut, entpackt und die Anwendung daraus gestartet – alle Seiten antworten mit 200, keine fehlenden Dateien. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>