CI: Wegwerf-Postgres je Lauf fuer DB-Tests, CODEOWNERS fuer common/
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) (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
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
DB-Integrationstests / db-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (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 / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (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

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
patrickandClaude Sonnet 5.5 committed 2026-10-28 10:19:58 +01:00
1 parent 184a219c8a
commit 631dd4080e
3 files changed
+59 -9

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
# common/ ist modulübergreifend: Änderungen brauchen Review (Auswirkungsliste im PR)
/common/ @patrick
+18 -9
View File
@@ -4,25 +4,34 @@ on:
pull_request:
paths:
- "common/**"
- "dms/**"
- "mail/**"
- "archive/**"
- "ai/**"
- "connect/**"
- "workflow/**"
- "internal/**"
- "scripts/ci-pg-cluster.sh"
- ".gitea/workflows/db-tests.yml"
jobs:
db-tests:
runs-on: nexarch-test
env:
TEST_ADMIN_DSN: ${{ secrets.TEST_ADMIN_DSN }}
REQUIRE_DB: "1"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25"
- name: Tests (common)
- name: Wegwerf-Postgres starten
run: scripts/ci-pg-cluster.sh start
- name: common
working-directory: common
run: go test ./testdb/... ./migrate/... -count=1 -p 1
run: go test ./... -count=1 -p 1
- name: archive
working-directory: archive
run: go test ./... -count=1 -p 1
- name: ai
working-directory: ai
run: go test ./... -count=1 -p 1
- name: connect
working-directory: connect
run: go test ./... -count=1 -p 1
- name: Wegwerf-Postgres stoppen
if: always()
run: scripts/ci-pg-cluster.sh stop
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/env bash
# Startet/stoppt einen Wegwerf-Postgres fuer CI-DB-Tests (kein Secret, keine feste DB).
set -euo pipefail
PGBIN=${PGBIN:-/usr/lib/postgresql/17/bin}
PREFIX=/tmp/nexarch-ci-pg.
case "${1:-}" in
start)
dir=$(mktemp -d "${PREFIX}XXXXXX")
chown postgres:postgres "$dir"
port=$((55000 + RANDOM % 1000))
while ss -ltn | grep -q ":$port "; do port=$((55000 + RANDOM % 1000)); done
runuser -u postgres -- "$PGBIN/initdb" -D "$dir/data" -A trust -U postgres >/dev/null
runuser -u postgres -- "$PGBIN/pg_ctl" -D "$dir/data" -l "$dir/log" -w \
-o "-p $port -c listen_addresses=127.0.0.1 -c unix_socket_directories=$dir" start >/dev/null
for db in admin_t tenant_a tenant_b; do
"$PGBIN/psql" -h 127.0.0.1 -p "$port" -U postgres -qc "create database $db"
done
base="postgres://postgres@127.0.0.1:$port"
{
echo "NEXARCH_CI_PGDIR=$dir"
echo "TEST_ADMIN_DSN=$base/admin_t?sslmode=disable"
echo "TEST_TENANT_DSN=$base/tenant_a?sslmode=disable"
echo "TEST_TENANT_DSN_B=$base/tenant_b?sslmode=disable"
echo "REQUIRE_DB=1"
} >> "${GITHUB_ENV:-/dev/stdout}"
;;
stop)
dir=${NEXARCH_CI_PGDIR:-}
case "$dir" in "$PREFIX"*) ;; *) echo "kein CI-Cluster zu stoppen" ; exit 0 ;; esac
runuser -u postgres -- "$PGBIN/pg_ctl" -D "$dir/data" -m fast stop >/dev/null || true
rm -rf "$dir"
;;
*)
echo "Aufruf: $0 start|stop" >&2
exit 2
;;
esac