ci: each generated secret must appear exactly once

This commit is contained in:
Alex committed 2026-09-16 00:35:29 +01:00
1 parent 9b5f1196fe
commit db1e382502
1 file changed
+9 -2
+9 -2
View File
@@ -119,11 +119,18 @@ jobs:
"$docsgpt" up --yes --dir "$stack" --image-tag verify
"$docsgpt" status --dir "$stack"
curl -fsS http://127.0.0.1:7091/ | grep -q 'src="/config.js"'
# Both secrets must have values: an empty one falls back to a default silently.
# Each secret must appear exactly once with a value: a missing or empty one
# falls back to a default silently.
check_secrets() {
for key in POSTGRES_PASSWORD JWT_SECRET_KEY; do
[ "$(grep -Ec "^$key=.+$" "$stack/.env")" -eq 1 ]
done
}
check_secrets
secrets=$(grep -E '^(POSTGRES_PASSWORD|JWT_SECRET_KEY)=.+$' "$stack/.env" | sort)
[ "$(printf '%s\n' "$secrets" | wc -l)" -eq 2 ]
# Running up again keeps them; a changed database password locks the stack out of its volume.
"$docsgpt" up --yes --dir "$stack" --image-tag verify
check_secrets
[ "$(grep -E '^(POSTGRES_PASSWORD|JWT_SECRET_KEY)=.+$' "$stack/.env" | sort)" = "$secrets" ]
"$docsgpt" uninstall --yes --purge --dir "$stack"
test ! -e "$stack"