feat(release): the release gate refuses placeholder legal details (#119 item 9)
The manual release quality gate now runs the legal-consent test with JYOTISHA_REQUIRE_LEGAL_ENTITY=1 right after its frontend install, so a production release fails while legal-entity.ts holds 「待填写」 placeholders or the terms / privacy text is still marked draft. It was a manual step in deploy/README.md until now. Approved by the product owner 2026-11-01. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbBXoyeZrYn6ryNcSe5Y2Y
This commit is contained in:
@@ -97,6 +97,8 @@ jobs:
|
||||
-r requirements.txt -r requirements-dev.txt playwright
|
||||
python -m playwright install --with-deps chromium
|
||||
npm ci --prefix frontend
|
||||
# Production refuses placeholder operator details and draft terms / privacy text (#119 item 9).
|
||||
(cd frontend && JYOTISHA_REQUIRE_LEGAL_ENTITY=1 npx tsx --test tests/legal-consent-20260930.test.tsx)
|
||||
python scripts/run_quality_gate.py --profile release
|
||||
python -m pytest -q --maxfail=1
|
||||
python tests/run_all.py
|
||||
|
||||
+1
-1
@@ -138,7 +138,7 @@ Before a production release, run the legal-consent test with the production flag
|
||||
cd frontend && JYOTISHA_REQUIRE_LEGAL_ENTITY=1 npx tsx --test tests/legal-consent-20260930.test.tsx
|
||||
```
|
||||
|
||||
It fails while `frontend/src/lib/legal-entity.ts` still holds placeholder operator details or the terms / privacy text is still marked draft. The workflows are not changed for this (they are product-owner territory); the step is manual until the product owner wires it in.
|
||||
It fails while `frontend/src/lib/legal-entity.ts` still holds placeholder operator details or the terms / privacy text is still marked draft. Since 2026-11-01 (product owner approved, #119 item 9) the manual release gate `.gitea/workflows/release-quality-gate.yml` runs this check right after its frontend install, so a production release is refused until the details are filled in and the draft markers are removed.
|
||||
|
||||
## Manual production deployment with Gitea Actions
|
||||
|
||||
|
||||
@@ -1127,6 +1127,12 @@ test("manual release gate runs where Docker Compose v2 is available", () => {
|
||||
assert.match(workflow, /H relative to R is docs-only/);
|
||||
assert.match(workflow, /PIP_INDEX_URL: https:\/\/mirrors\.aliyun\.com\/pypi\/simple\//);
|
||||
assert.match(workflow, /NPM_CONFIG_REGISTRY: https:\/\/registry\.npmmirror\.com/);
|
||||
// #119 item 9: the release gate refuses placeholder operator details and draft legal text,
|
||||
// right after the frontend install and before the long checks.
|
||||
assert.match(
|
||||
workflow,
|
||||
/npm ci --prefix frontend\n\s+# [^\n]*\n\s+\(cd frontend && JYOTISHA_REQUIRE_LEGAL_ENTITY=1 npx tsx --test tests\/legal-consent-20260930\.test\.tsx\)\n\s+python scripts\/run_quality_gate\.py --profile release/,
|
||||
);
|
||||
for (const dependency of [
|
||||
"mcp==1.28.1",
|
||||
"pydantic==2.13.4",
|
||||
|
||||
Reference in New Issue
Block a user