PHP Unit Tests als eigene Gitea Pipeline #65

Closed
opened 2026-05-22 22:45:41 +02:00 by greggy · 3 comments
Owner

Beschreibung

Die PHP Unit Tests sollen genau wie die Lint-Checks eine eigene Gitea CI-Pipeline erhalten.

Anforderungen

  • Neue Pipeline-Job für PHP Unit Tests in .gitea/workflows/ erstellen
  • Pipeline soll PHPUnit-Tests ausführen
  • Ergebnis soll in der Gitea-Pipeline sichtbar sein
  • Pipeline soll auf PR und Push-Events triggern

Hintergrund

Aktuell gibt es bereits eine Lint-Pipeline. Die Unit Tests sollen analog dazu als eigenständiger Pipeline-Schritt laufen.

## Beschreibung Die PHP Unit Tests sollen genau wie die Lint-Checks eine eigene Gitea CI-Pipeline erhalten. ## Anforderungen - [ ] Neue Pipeline-Job für PHP Unit Tests in `.gitea/workflows/` erstellen - [ ] Pipeline soll PHPUnit-Tests ausführen - [ ] Ergebnis soll in der Gitea-Pipeline sichtbar sein - [ ] Pipeline soll auf PR und Push-Events triggern ## Hintergrund Aktuell gibt es bereits eine Lint-Pipeline. Die Unit Tests sollen analog dazu als eigenständiger Pipeline-Schritt laufen.
greggy added the
KI
KI
KI
KI
labels 2026-05-22 22:47:22 +02:00
Author
Owner

Erstellt von: Ollama-Git/qwen/qwen3.6-27b

Erstellt von: Ollama-Git/qwen/qwen3.6-27b
Author
Owner

Implementiert (Branch feature/issue-65-phpunit-pipeline)

Was wurde gemacht

  • Neue Pipeline .gitea/workflows/phpunit.yml erstellt (25 Zeilen, analog zu lint.yml)
  • Trigger: push + pull_request auf allen Branches
  • Installiert PHP 8.x, Composer, php-xml, php-mbstring via apt-get
  • Führt composer install aus
  • Führt vendor/bin/phpunit aus

Lokale Verifikation

  • 18 Tests / 31 Assertions — alle grün
  • PHP-Lint clean (php -l auf alle .php-Files)
  • Branch gepusht: 71adf37 ci: add PHPUnit pipeline (#65)

Bekannte Issue

  • Gitea-Actions-Container hat aktuell ein Docker-Orchestrierungs-Problem auf dem neuen Runner (siehe Issue-Comment-Thread)
  • Pipeline-Definition ist korrekt — sobald das Runner-Setup läuft, triggert sie automatisch

Bereit für PR

Branch ready zum Reviewen und Mergen. PR-Erstellung durch Martin (gemäß Konvention).

## ✅ Implementiert (Branch `feature/issue-65-phpunit-pipeline`) ### Was wurde gemacht - Neue Pipeline `.gitea/workflows/phpunit.yml` erstellt (25 Zeilen, analog zu `lint.yml`) - Trigger: `push` + `pull_request` auf allen Branches - Installiert PHP 8.x, Composer, php-xml, php-mbstring via `apt-get` - Führt `composer install` aus - Führt `vendor/bin/phpunit` aus ### Lokale Verifikation - ✅ 18 Tests / 31 Assertions — alle grün - ✅ PHP-Lint clean (`php -l` auf alle .php-Files) - ✅ Branch gepusht: `71adf37 ci: add PHPUnit pipeline (#65)` ### Bekannte Issue - Gitea-Actions-Container hat aktuell ein Docker-Orchestrierungs-Problem auf dem neuen Runner (siehe Issue-Comment-Thread) - Pipeline-Definition ist korrekt — sobald das Runner-Setup läuft, triggert sie automatisch ### Bereit für PR Branch ready zum Reviewen und Mergen. PR-Erstellung durch Martin (gemäß Konvention).
greggy reopened this issue 2026-06-04 02:27:21 +02:00
Author
Owner

🏗️ ADR-001 nachgetragen

Architektur-Entscheidung rückwirkend dokumentiert in docs/adr/001-phpunit-integration.md (Commit f9295a2).

Kernentscheidung: 2-Layer-Strategie — CI-Pipeline (.gitea/workflows/phpunit.yml) + Pre-Commit-Hook (.husky/pre-commitscripts/pre-commit-checks.sh).

Dokumentiert:

  • Kontext + Anforderungen
  • Schichten-Logik (Husky → Shared-Script → Composer (lazy) → PHPUnit)
  • Verworfene Alternativen mit Rationale (CI-only, lokal-only, npm-Wrapper, Lint-integration)
  • Konsequenzen (positiv/negativ/Risiken)
  • Performance-Budget (~25s CI, <10s lokal bei PHP-Commits)
  • Stale-Index-Edge-Case-Mitigation

Lesson Learned: ADRs gehören in Ph0.5 (vor Code-Phase), nicht erst nach Ph8. Für künftige Issues verbindlich.

Refs #65, #67.

## 🏗️ ADR-001 nachgetragen Architektur-Entscheidung rückwirkend dokumentiert in **[docs/adr/001-phpunit-integration.md](https://git.home.kies-media.de/greggy/landingpage-haus-schleusingen/src/branch/main/docs/adr/001-phpunit-integration.md)** (Commit `f9295a2`). **Kernentscheidung:** 2-Layer-Strategie — CI-Pipeline (`.gitea/workflows/phpunit.yml`) + Pre-Commit-Hook (`.husky/pre-commit` → `scripts/pre-commit-checks.sh`). **Dokumentiert:** - Kontext + Anforderungen - Schichten-Logik (Husky → Shared-Script → Composer (lazy) → PHPUnit) - Verworfene Alternativen mit Rationale (CI-only, lokal-only, npm-Wrapper, Lint-integration) - Konsequenzen (positiv/negativ/Risiken) - Performance-Budget (~25s CI, <10s lokal bei PHP-Commits) - Stale-Index-Edge-Case-Mitigation **Lesson Learned:** ADRs gehören in Ph0.5 (vor Code-Phase), nicht erst nach Ph8. Für künftige Issues verbindlich. Refs #65, #67.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: greggy/landingpage-haus-schleusingen#65
No description provided.