commit 151ef17774a578bd6baa10ac22abb48a19756dc3 Author: Claude Date: Thu Apr 23 10:08:32 2026 +0000 Initial commit: README mit Zweck und Verwendung diff --git a/README.md b/README.md new file mode 100644 index 0000000..f5470cb --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +# idf-ci + +Zentrale CI-Bausteine für IDF-Repos. + +## Zweck + +Dieses Repo ist die Heimat für **geteilte CI-Bausteine**, die von anderen IDF-Repos per `uses:` eingebunden werden. Vorteil: Eine Änderung an einer Stelle wirkt in allen nutzenden Repos — kein 26-facher Copy-Paste-Pflegeaufwand. + +Aktuell enthalten: + +- `.gitea/workflows/release-plugin.yml` — Reusable Workflow für WordPress-Plugin-Releases. Bei Tag-Push (`v*.*.*`) prüft er Version-Konsistenz, extrahiert den Changelog-Block, baut das ZIP und legt einen Gitea-Release mit ZIP-Asset an. + +Geplant: + +- `lint-php.yml` — PHPCS / PHPStan für Plugin-Repos. +- `composer/` — geteilte `composer.json`-Snippets. +- `scripts/` — Shell-Helfer für lokales Build und Release. + +## Nutzung im Plugin-Repo + +In jedem Plugin-Repo (`ideenfabrik/idf-`) liegt ein schlanker Caller-Workflow, der den Reusable aufruft: + +```yaml +# .gitea/workflows/release.yml +name: Release +on: + push: + tags: ['v*.*.*'] + +jobs: + release: + uses: ideenfabrik/idf-ci/.gitea/workflows/release-plugin.yml@v1 + with: + slug: idf- + secrets: inherit +``` + +Für die Anwendung reicht `git tag v1.2.3 && git push --tags`. Alles andere macht der Reusable Workflow. + +## Versionierung dieses Repos + +Die Reusable Workflows selbst sind per SemVer-Tag versioniert (`v1`, `v1.2`, `v1.2.3`). Plugin-Repos referenzieren einen dieser Tags. Empfehlung: + +- **Major-Tag (`@v1`)** — rolling, nimmt automatisch Patches und Minors mit. +- **Minor-Tag (`@v1.2`)** — nimmt nur Patches mit. +- **Exakt (`@v1.2.3`)** — einfriert auf genau diese Version. + +Breaking Changes am Workflow → neuer Major-Tag, nutzende Repos müssen manuell nachziehen. + +## Dokumentation + +Konzeptionelle Grundlagen und der Plugin-Release-Workflow liegen in Notion: + +- [Deployment & Versionierung](https://www.notion.so/32b36ebfe9178147ad16ee214302c994) +- [Plugin-Migration auf Git — Checkliste](https://www.notion.so/34b36ebfe9178195980fd4a723ebfde5) +- [Git- & Issue-Workflow](https://www.notion.so/34b36ebfe91781519276f301aac0d74c)