-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_all.py
More file actions
33 lines (26 loc) · 979 Bytes
/
Copy pathrun_all.py
File metadata and controls
33 lines (26 loc) · 979 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env python3
"""Run every synthetic audit in the Workday Payroll Operations Lab.
Copyright (c) 2026 Shihwa Meza
SPDX-License-Identifier: MIT
"""
from __future__ import annotations
import subprocess
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parent
SCRIPTS = [
ROOT / "01_workday_payroll_stabilization" / "payroll_regression_audit.py",
ROOT / "02_legal_entity_payroll_integrity" / "ghost_worker_audit.py",
ROOT / "03_dependent_benefits_integrity" / "dependent_benefits_audit.py",
]
def main() -> int:
for script in SCRIPTS:
print(f"Running {script.relative_to(ROOT)}...")
completed = subprocess.run([sys.executable, str(script)], cwd=script.parent)
if completed.returncode != 0:
print(f"Audit failed: {script}", file=sys.stderr)
return completed.returncode
print("All audits completed successfully.")
return 0
if __name__ == "__main__":
raise SystemExit(main())