15 lines
878 B
Python
15 lines
878 B
Python
#!/usr/bin/env python3
|
|
"""Offline checks for the architecture package; no cloud calls or provisioning."""
|
|
from pathlib import Path
|
|
import re, sys
|
|
root = Path(__file__).parents[1]
|
|
required = ["requirements.md", "architecture.md", "architecture.mmd", "solution-architecture-guide.md", "terraform/main.tf", "terraform/variables.tf"]
|
|
missing = [p for p in required if not (root / p).is_file()]
|
|
text = (root / "solution-architecture-guide.md").read_text()
|
|
checks = ["Functional requirements", "Selected products", "Validation results", "Terraform", "Mermaid"]
|
|
missing += [f"guide section: {x}" for x in checks if x not in text]
|
|
if not re.search(r"flowchart|graph", (root / "architecture.mmd").read_text()): missing.append("Mermaid graph")
|
|
if missing:
|
|
print("FAIL: " + ", ".join(missing)); sys.exit(1)
|
|
print("PASS: required architecture artifacts and guide sections are present")
|