diff --git a/README.md b/README.md index 7f0180e..134a0ae 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Dieses Repo ist die Heimat für **geteilte CI-Bausteine**, die von anderen IDF-R Aktuell enthalten: -- `.gitea/workflows/release-plugin.yml` — Reusable Workflow für WordPress-Plugin-Releases. Bei Tag-Push (`v*.*.*`) prüft er Versions-Konsistenz über alle vier Sync-Stellen, extrahiert den Changelog-Block aus `readme.txt`, baut das ZIP und legt einen Gitea-Release mit ZIP-Asset an. +- `.gitea/workflows/release-plugin.yml` — Reusable Workflow für WordPress-Plugin-Releases. Bei Tag-Push (`v*.*.*`) prüft er Versions-Konsistenz über vier Sync-Stellen, extrahiert den Changelog-Block aus `CHANGELOG.md`, generiert daraus die `== Changelog ==`-Section in `readme.txt`, baut das ZIP und legt einen Gitea-Release mit ZIP-Asset an. Geplant: @@ -45,27 +45,50 @@ Damit der Reusable Workflow durchläuft, müssen im Plugin-Repo vorhanden sein: 2. **Versions-Konstante** in einer beliebigen PHP-Datei: `define('IDF__VERSION', 'X.Y.Z');` Beispiel: `idf-login-branding` → `IDF_LOGIN_BRANDING_VERSION`. -3. **`readme.txt`** im Repo-Root im WordPress-Plugin-Format mit mindestens: +3. **`readme.txt`** im Repo-Root im WordPress-Plugin-Format mit mindestens den Metadaten: ``` === Plugin Name === + Contributors: ideenfabrik + Tags: … Requires at least: 6.0 Tested up to: 6.4 Requires PHP: 7.4 Stable tag: 1.2.3 + License: GPLv2 or later == Description == … == Changelog == + (wird beim Release automatisch aus CHANGELOG.md gefüllt) + ``` +4. **`CHANGELOG.md`** im Repo-Root mit einem Block für jede Version: + ```markdown + # Changelog - = 1.2.3 = - * Neu: Feature xyz - * Fix: Bug abc + ## v1.2.3 — 2026-04-23 + + ### Neu + - … + + ### Gefixt + - … + + --- + + ## v1.2.2 — 2026-04-10 + … ``` Alle vier Versionen (Tag, Plugin-Header, PHP-Konstante, `Stable tag:`) müssen identisch sein. Der Pre-Flight-Check im Reusable bricht sonst ab. -`readme.txt` ist die **einzige Pflege-Stelle für den Changelog**. Master-Key parst sie später auch für den automatischen Sync der öffentlichen Plugin-CPT-Seite auf `ihre-ideenfabrik.de`. `CHANGELOG.md` wird nicht mehr gepflegt und fliegt im ZIP-Bau raus. +## Aufteilung Changelog-Pflege + +- **`CHANGELOG.md`** ist die **einzige Pflege-Stelle für den Changelog** — einheitlich über alle IDF-Projekte (Software, Flow, Plugins). Du schreibst den neuen Block hier, fertig. +- **`readme.txt`** ist WP-Standard-Metadaten: Plugin-Name, Description, `Requires PHP`, `Tested up to`, `Stable tag` usw. Pflegst du manuell, aber nur diese Felder. +- Der Abschnitt `== Changelog ==` in `readme.txt` wird beim Release **von Actions automatisch generiert** — aus `CHANGELOG.md`. Manuelle Einträge in `readme.txt` unter `== Changelog ==` werden beim nächsten Release überschrieben. + +So hat jedes Projekt im IDF genau einen Ort, an dem der Changelog lebt: `CHANGELOG.md`. WordPress-Plugins bekommen zusätzlich eine WP-native `readme.txt`, deren Changelog-Teil aber auto-befüllt wird. ## Versionierung dieses Repos