Files
nexarch/common
patrick b775de651b
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) 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
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
common Versions-Tag / tag (push) Successful in 7m50s
Merge pull request 'common/testdb: AdminDSN mit REQUIRE_DB + DB-Test-Workflow' (#381) from feat/common-requiredb into main
2026-10-27 18:15:39 +01:00
..

common

Geteiltes Go-Modul für Pakete, die in mehreren NEXARCH-Modulen identisch gebraucht werden (internal/ ist modulübergreifend nicht sichtbar).

Pakete: pflichttestgate (parametrisierte Testpflicht-Logik), apierror, auditclient, httpclient, httpharden, loadtest, migrate, policyclient, svcauth, tenantregistryclient, testdb.

Einbinden

go env -w GOPRIVATE=gitea.perlbach24.de
go get gitea.perlbach24.de/scripte/nexarch/common@latest

Build-Orte brauchen Lesezugriff auf Gitea: Read-only-Token in ~/.netrc (machine gitea.perlbach24.de login <user> password <token>).

Versionen

Tags common/v0.X.Y setzt .gitea/workflows/common-tag.yml nach jedem Merge in main, der common/ ändert. Module aktualisieren einzeln (go get ...common@v0.X.Y). Lokal mit mehreren Modulen gleichzeitig arbeiten: nicht eingechecktes go.work.

Regeln

  • Nur Code, der in mindestens zwei Modulen byte-gleich (ohne Kommentare) gebraucht wird; fachlich verschiedene Pakete bleiben modul-lokal.

  • Änderungen abwärtskompatibel halten, solange Module nicht gleichzeitig umgestellt werden.

  • Jeder PR an common/ nennt die betroffenen Module (Auswirkungsliste). Breaking Changes nur mit neuer Minor-Version (v0.2.0) und Umstellungs-PRs je Modul.

  • Sicherheitskritische Pakete (svcauth, tenantregistryclient, auditclient, policyclient, apierror, httpharden) unterliegen dem Pflichttest-Gate (cmd/pflichttestgate, Workflow common-pflichttest-gate.yml): Änderung ohne begleitende _test.go im selben Package schlägt fehl.