docs(readme): CHANGELOG.md als SSOT, readme.txt wird auto-gefüllt
This commit is contained in:
@@ -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_<UPPER_SLUG_OHNE_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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user