Spaces:
Sleeping
Sleeping
| """Deploy preflight: refuse to ship unresolved placeholder tokens. | |
| The repo deliberately carries BOOKING_URL and IMPRESSUM_* placeholder tokens | |
| on public dashboard surfaces until Jane fills the real values by hand (legal | |
| details and the booking target are not inventable). CI stays green with the | |
| tokens in place; what must never happen is a deploy of the HF Space while a | |
| token is unresolved. Run this before any push to the hf remote: | |
| make preflight-deploy | |
| Exits 1 listing file:line for every unresolved token. Stdlib-only. | |
| """ | |
| import sys | |
| from pathlib import Path | |
| ROOT = Path(__file__).resolve().parents[1] | |
| STATIC_DIR = ROOT / "agent_bench" / "serving" / "static" | |
| TOKENS = ("BOOKING_URL", "IMPRESSUM_NAME", "IMPRESSUM_ADDRESS", "IMPRESSUM_CONTACT") | |
| def scan(static_dir: Path) -> list[str]: | |
| """Return one failure line per unresolved token occurrence in *.html.""" | |
| failures = [] | |
| for path in sorted(static_dir.glob("*.html")): | |
| for lineno, line in enumerate(path.read_text().splitlines(), 1): | |
| for token in TOKENS: | |
| if token in line: | |
| failures.append(f"{path.name}:{lineno}: unresolved {token}") | |
| return failures | |
| def main() -> int: | |
| failures = scan(STATIC_DIR) | |
| for failure in failures: | |
| print(f"FAIL: {failure}") | |
| if failures: | |
| print(f"{len(failures)} unresolved placeholder token(s); do not deploy.") | |
| return 1 | |
| print("OK: no unresolved placeholder tokens on deploy surfaces") | |
| return 0 | |
| if __name__ == "__main__": | |
| sys.exit(main()) | |