Skip to content

fix(ci): persistence tenantId + Workflow-Diagnostik nachziehen#4

Merged
sebolber merged 2 commits into
mainfrom
claude/fix-persistence-tenant-id
May 13, 2026
Merged

fix(ci): persistence tenantId + Workflow-Diagnostik nachziehen#4
sebolber merged 2 commits into
mainfrom
claude/fix-persistence-tenant-id

Conversation

@sebolber

Copy link
Copy Markdown
Owner

Warum

Beim Merge von #3 sind zwei Commits aus dem Source-Branch nicht uebernommen worden (der Merge-Commit 2193cba zeigt nur auf a28e972 als zweiten Parent, die spaeteren Branch-Commits sind unverlinkt). Folge: main-CI ist rot mit denselben 4 Product.tenantId IS NULL-Fehlern, die in #3 bereits gefixt wurden.

Dieser PR holt die fehlenden zwei Commits per Cherry-Pick nach.

Inhalt

  • fe232c2 ci(workflow): Diagnostik bei Backend-Failure (-e --fail-at-end, Surefire-Reports-Artefakt bei Failure) + Keycloak im E2E-Job per docker run -d ... start-dev statt als Service-Container.
  • 4e67f33 test(persistence): DEFAULT_TENANT_ID in AbstractPersistenceIntegrationsTest; tenantId auf Product, ProductVersion, Environment, Scan, ComponentOccurrence, Finding, Assessment in den zwei betroffenen Tests gesetzt. Component + Cve bleiben tenant-agnostisch.

Erwartung

Nach Merge: cvm-persistence wird gruen, Sonar-Scan + Snapshot-Issue koennen auf main durchlaufen.

https://claude.ai/code/session_014NNjRKw5bDqRffqCUGe8ud


Generated by Claude Code

claude added 2 commits May 13, 2026 18:01
…n-Step

Run 1 ist im Backend-Job mit "exit code 1" gefallen ohne sichtbare
Maven-Logs (Issue-Annotation enthielt nur den Step-Namen). Damit der
naechste Lauf eine Diagnose liefert:

- ./mvnw -e -ntp --fail-at-end statt -T 1C: volle Stacktraces und
  alle Module durchlaufen, statt beim ersten Fehler abzubrechen.
  Parallele Modul-Ausfuehrung bleibt vorerst aus, bis die Tests
  stabil sind.
- Neue Step "Upload Surefire-Reports on failure": laedt alle
  target/{surefire,failsafe}-reports/ als Artefakt hoch, damit das
  konkrete Test-XML eingesehen werden kann.

Im E2E-Job konnte Keycloak nicht als services:-Container starten
(siehe auch parallel laufende explore-Pipeline mit gleichem Muster):
das offizielle Image braucht `start-dev` als CMD und GHA-Services
unterstuetzen weder `command` noch CMD-Override. Daher Keycloak
jetzt per `docker run -d ... start-dev` als eigenen Step starten,
inklusive Keycloak-Log-Sammeln und Hochladen auf Failure.

https://claude.ai/code/session_014NNjRKw5bDqRffqCUGe8ud
Run 2 hat ueber das hochgeladene Surefire-Artefakt
(DataIntegrityViolationException) gezeigt, dass vier Tests in
cvm-persistence Produkt/-Version/Environment/Scan/Occurrence/
Finding/Assessment ohne tenant_id speichern - das Feld ist seit
V0035 (Iteration 62A, CVM-62) NOT NULL.

Lokal skippen die Tests, weil das Sandbox kein Docker hat; in CI
laufen sie und decken den vorbestehenden Fixture-Bug auf.

Fix mechanisch, kein Produktionscode-Eingriff:
- AbstractPersistenceIntegrationsTest: protected DEFAULT_TENANT_ID
  (00000000-0000-0000-0000-000000000001), entspricht dem
  is_default-Mandanten aus dem Flyway-Seed V0023.
- ProductRepositoryIntegrationsTest: tenantId an Product + ProductVersion.
- AssessmentImmutableTest: tenantId an Product, ProductVersion,
  Environment, Scan, ComponentOccurrence, Finding, Assessment.
  Component + Cve sind mandantenuebergreifend und bleiben unveraendert.

CVM-62

https://claude.ai/code/session_014NNjRKw5bDqRffqCUGe8ud
@sebolber sebolber merged commit 984c202 into main May 13, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants