Release-Workflow: ZIP bei jedem Merge nach main
Some checks are pending
CI / PHP Lint (pull_request) Waiting to run
CI / PHP Lint-1 (pull_request) Waiting to run
CI / Unit Tests & Static Analysis (pull_request) Waiting to run
CI / PHP Lint (push) Waiting to run
CI / PHP Lint-1 (push) Waiting to run
CI / Unit Tests & Static Analysis (push) Waiting to run
Some checks are pending
CI / PHP Lint (pull_request) Waiting to run
CI / PHP Lint-1 (pull_request) Waiting to run
CI / Unit Tests & Static Analysis (pull_request) Waiting to run
CI / PHP Lint (push) Waiting to run
CI / PHP Lint-1 (push) Waiting to run
CI / Unit Tests & Static Analysis (push) Waiting to run
.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>
This commit is contained in:
parent
b7f13d8fac
commit
8facc71455
15 changed files with 216 additions and 3 deletions
25
Readme.md
25
Readme.md
|
|
@ -519,6 +519,10 @@ vendor/bin/phpunit # 29 Tests (Crypto, TOTP, API-Keys, Upload, Ui)
|
|||
vendor/bin/phpstan analyse # Level 5
|
||||
```
|
||||
|
||||
Die Versionsnummer steht in der Datei **`VERSION`** im Projektstamm. Sie wird
|
||||
im Admin-Bereich unten in der Seitenleiste angezeigt und benennt das
|
||||
Release-Paket – für eine neue Version also dort (und im Badge oben) anheben.
|
||||
|
||||
Die Pipeline (`.github/workflows/ci.yml`) führt zusätzlich einen
|
||||
Syntax-Check über alle PHP-Dateien aus und prüft, ob `lang/de.php` und
|
||||
`lang/en.php` dieselben Schlüssel enthalten und jeder im Code verwendete
|
||||
|
|
@ -540,6 +544,27 @@ git clone https://git.loheide.cloud/friloo/Unifi-Voucher-Tool.git
|
|||
git clone ssh://git@git.loheide.cloud:2222/friloo/Unifi-Voucher-Tool.git
|
||||
```
|
||||
|
||||
### Fertige Pakete
|
||||
|
||||
Jeder Merge nach `main` erzeugt automatisch ein installierbares ZIP
|
||||
(`.github/workflows/release.yml`) und hängt es an das rollende Vorab-Release
|
||||
**`latest-main`**:
|
||||
|
||||
**<https://git.loheide.cloud/friloo/Unifi-Voucher-Tool/releases>**
|
||||
|
||||
Das Paket enthält nur die Laufzeit-Dateien – `docs/`, `tests/`, `tools/` und die
|
||||
CI-Konfiguration bleiben draußen (rund 1,4 MB). Wird ein Tag `v*` gepusht,
|
||||
entsteht daraus ein reguläres Release mit derselben Mechanik.
|
||||
|
||||
> Beim **Update einer bestehenden Installation** `config.php`, `uploads/` und
|
||||
> `updater/storage/` nicht überschreiben – oder gleich den eingebauten Updater
|
||||
> verwenden, der genau diese Pfade schützt.
|
||||
|
||||
Voraussetzung ist ein registrierter **Forgejo-Actions-Runner**; ohne Runner
|
||||
bleiben die Workflows in der Warteschlange stehen.
|
||||
|
||||
### Mitwirken
|
||||
|
||||
Fehlerberichte und Änderungsvorschläge laufen über die **Issues** und **Pull
|
||||
Requests** dort. Für die Kommandozeile eignet sich [`tea`](https://gitea.com/gitea/tea),
|
||||
die Gitea-/Forgejo-CLI:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue