feat: versioniertes Modul common/ (ohne Verbraucher) #378

Merged
patrick merged 1 commits from feat/common-modul into main 2026-10-27 18:15:05 +01:00
Owner

Ersetzt #376/#377 (dort replace => ../common, bricht Einzel-Builds).

Änderung

Neues, unabhängig versioniertes Go-Modul common/. Dieser PR legt nur das Modul an, kein bestehendes Modul wird geändert (außer PRODUKTARCHITEKTUR.md) — risikolos mergebar. Die Verbraucher-Module werden in Folge-PRs umgestellt.

  • Pakete: apierror, auditclient, httpclient, httpharden, loadtest, migrate, policyclient, svcauth, tenantregistryclient, testdb (jeweils nur dort aufgenommen, wo der Code ohne Kommentare/Importpfade byte-gleich über Module hinweg ist)
  • common/go.mod mit pgx v5.9.2 (für migrate, testdb), go.sum, go mod tidy ohne Änderung
  • .gitea/workflows/common-tag.yml: nach Merge in main mit Änderung unter common/ Build/Vet/Test, dann nächster Patch-Tag common/v0.X.Y (Start v0.1.0)
  • common/README.md: Einbindung (GOPRIVATE, Read-only-Token in .netrc), Versionierung, Regeln
  • Wächtertest httpclient prüft nur noch common selbst; die Verbraucher brauchen ihren eigenen Guard (Teil der Umstellungs-PRs)

Entscheidungen (mit dir geklärt)

pgx in common; Module bauen teils einzeln (Docker nur Modul-Ordner, eigene Repos, Partner-Builds) → Tags statt replace; Read-only-Deploy-Token in .netrc je Build-Ort; Tag per CI; Semver v0.x, Module aktualisieren einzeln; pflichttestgate parametrisiert in eigenem PR.

Verifikation (Host 131, frisches Wurfverzeichnis)

gofmt sauber, go build, go vet, go test ./... in common grün (apierror, auditclient, httpclient, httpharden, policyclient, svcauth, tenantregistryclient). migrate und testdb haben keine Tests.

Nicht getestet / offen vor dem Merge

  • common-tag.yml nie gelaufen. Annahmen: Runner darf Tags pushen (Gitea-Token mit Schreibrecht im Checkout), actions/setup-go auf dem Host-Runner liefert Go 1.25. Beim ersten Merge Lauf beobachten.
  • Build-Orte (131, 204, Runner, Docker) brauchen GOPRIVATE + Read-only-Token, bevor Verbraucher umgestellt werden.
  • go.sum der Verbraucher entsteht erst nach dem ersten Tag.

🤖 Generated with Claude Code

Ersetzt #376/#377 (dort `replace => ../common`, bricht Einzel-Builds). ## Änderung Neues, **unabhängig versioniertes Go-Modul** `common/`. Dieser PR legt nur das Modul an, **kein bestehendes Modul wird geändert** (außer `PRODUKTARCHITEKTUR.md`) — risikolos mergebar. Die Verbraucher-Module werden in Folge-PRs umgestellt. - Pakete: `apierror`, `auditclient`, `httpclient`, `httpharden`, `loadtest`, `migrate`, `policyclient`, `svcauth`, `tenantregistryclient`, `testdb` (jeweils nur dort aufgenommen, wo der Code ohne Kommentare/Importpfade byte-gleich über Module hinweg ist) - `common/go.mod` mit `pgx v5.9.2` (für `migrate`, `testdb`), `go.sum`, `go mod tidy` ohne Änderung - `.gitea/workflows/common-tag.yml`: nach Merge in `main` mit Änderung unter `common/` Build/Vet/Test, dann nächster Patch-Tag `common/v0.X.Y` (Start `v0.1.0`) - `common/README.md`: Einbindung (`GOPRIVATE`, Read-only-Token in `.netrc`), Versionierung, Regeln - Wächtertest `httpclient` prüft nur noch `common` selbst; die Verbraucher brauchen ihren eigenen Guard (Teil der Umstellungs-PRs) ## Entscheidungen (mit dir geklärt) pgx in `common`; Module bauen teils einzeln (Docker nur Modul-Ordner, eigene Repos, Partner-Builds) → Tags statt `replace`; Read-only-Deploy-Token in `.netrc` je Build-Ort; Tag per CI; Semver `v0.x`, Module aktualisieren einzeln; `pflichttestgate` parametrisiert in eigenem PR. ## Verifikation (Host 131, frisches Wurfverzeichnis) `gofmt` sauber, `go build`, `go vet`, `go test ./...` in `common` grün (apierror, auditclient, httpclient, httpharden, policyclient, svcauth, tenantregistryclient). `migrate` und `testdb` haben keine Tests. ## Nicht getestet / offen vor dem Merge - **`common-tag.yml` nie gelaufen.** Annahmen: Runner darf Tags pushen (Gitea-Token mit Schreibrecht im Checkout), `actions/setup-go` auf dem Host-Runner liefert Go 1.25. Beim ersten Merge Lauf beobachten. - Build-Orte (131, 204, Runner, Docker) brauchen `GOPRIVATE` + Read-only-Token, bevor Verbraucher umgestellt werden. - `go.sum` der Verbraucher entsteht erst nach dem ersten Tag. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 1 commit 2026-10-27 14:40:49 +01:00
feat: versioniertes Modul common/ (ohne Verbraucher)
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
4f07bc73a2
Pakete: apierror, auditclient, httpclient, httpharden, loadtest, migrate,
policyclient, svcauth, tenantregistryclient, testdb. Code stammt aus den
bisher byte-gleichen Modulkopien (ohne Kommentare/Importpfade verglichen).
migrate/testdb brauchen pgx v5.9.2.

Auslieferung per Git-Tag common/vX.Y.Z (Workflow common-tag.yml, setzt nach
Merge in main den naechsten Patch-Tag nach Build/Vet/Test). Kein replace,
damit Module einzeln baubar bleiben. Verbraucher werden in Folge-PRs
umgestellt.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
patrick merged commit 0b90c8b339 into main 2026-10-27 18:15:05 +01:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#378