Commit Graph
7 Commits
Author SHA1 Message Date
claude 309826ccb6 feat(release-plugin): Auto-Modus bei push auf main
- Trigger-Erkennung im "Variablen ableiten"-Step (refs/tags/* vs refs/heads/*)
- Auto-Modus: Header-Version aus Plugin-PHP lesen, Tag v{version} prüfen
  → wenn Tag existiert: stiller Skip; sonst Pre-Flight + Build + Release
- Release-API-Call mit target_commitish, damit Tag im Auto-Modus aus
  dem aktuellen HEAD-Commit erzeugt wird
- Klassischer Tag-Push-Modus bleibt unverändert
- Nachfolgende Steps mit if: steps.vars.outputs.skip != 'true' geguarded
2026-05-12 05:34:06 +00:00
claude 7334bd587a feat(deploy-rsync): Reusable Workflow fuer rsync-Deploys via SSH
Wiederverwendbare Action fuer alle IDF-Repos, die per rsync auf einen
Plesk-Server deployen wollen (Flow, Apps, kuenftig weitere).

Inputs: ssh_host, ssh_user, deploy_path, optional ref + extra_excludes.
Secret: SSH_PRIVATE_KEY (im Caller-Repo zu hinterlegen).
Standard-Excludes: .git/, .gitea/, .gitignore, CHANGELOG.md, README.md.
2026-04-27 17:29:24 +00:00
claude 0f7062b0c4 fix(release-plugin): Regex — .* greedy mit DOTALL schluckt bis EOF
Mit re.DOTALL matcht .* auch Newlines. Kombination mit (?:\s+.*)?$\n
führte dazu, dass die erste Version-Zeile bis zum Dateiende gefressen
wurde und Capture-Group leer blieb (0 Zeichen).

Fix: .* durch [^\n]* ersetzen, damit erste Zeile genau auf eine Zeile
begrenzt ist. Gilt für beide Changelog-Parser (Block-Extraktion und
entry_pat in readme.txt-Generator).
2026-04-24 14:18:45 +00:00
claude 1858bfc10f ci(release-plugin): runs-on self-hosted statt ubuntu-latest
Host-Modus ohne Docker-Abhängigkeit, läuft direkt auf dem IDF-Gitea-Runner.
Setup-Anleitung: docs/runner-setup.md.
2026-04-24 12:53:58 +00:00
claude 54effe0fbe refactor(release-plugin): CHANGELOG.md als SSOT, readme.txt wird auto-gefüllt
Konsistenz mit Software und Flow: CHANGELOG.md ist einziger Pflege-Ort
für den Changelog über alle IDF-Projekte hinweg. readme.txt bleibt als
WP-Standard-Datei erhalten (Plugin-Metadaten, Stable tag), der
Abschnitt == Changelog == wird beim ZIP-Bau aus CHANGELOG.md generiert
und im ZIP mitgeliefert.

Pre-Flight prüft weiter 4 Sync-Stellen inkl. Stable tag.
CHANGELOG.md und readme.txt sind beide Pflichtdateien im Repo.
2026-04-24 12:17:17 +00:00
claude 6aaad24917 refactor(release-plugin): readme.txt als Changelog-SSOT
- Pre-Flight prüft jetzt zusätzlich Stable tag: in readme.txt
- Changelog-Block wird aus readme.txt == Changelog == gezogen
- CHANGELOG.md fällt als Workflow-Abhängigkeit weg
- readme.txt ist Pflichtdatei im Plugin-Repo

Grund: readme.txt ist WP-natives Format, WordPress und Master-Key
parsen es direkt (für CPT-Sync der öffentlichen Plugin-Seite).
Damit gibt es eine SSOT zum Pflegen statt parallele CHANGELOG.md.

Entscheidung dokumentiert in Notion:
https://www.notion.so/32b36ebfe9178147ad16ee214302c994
2026-04-24 11:56:41 +00:00
claude 9202ce1c32 Add reusable release-plugin workflow
Pre-Flight-Check (Tag == Plugin-Header-Version == PHP-Konstante),
Changelog-Extraktion aus CHANGELOG.md, ZIP-Bau mit Slug als
Top-Level-Ordner, Gitea-Release-Anlage inkl. ZIP-Asset.
2026-04-23 10:09:17 +00:00