(label: str, cmd: list[str])
| 40 | |
| 41 | |
| 42 | def _run(label: str, cmd: list[str]) -> int: |
| 43 | print(f"\n>>> {label}", flush=True) |
| 44 | t0 = time.monotonic() |
| 45 | proc = subprocess.run(cmd, cwd=PLUGIN_ROOT) |
| 46 | dt = time.monotonic() - t0 |
| 47 | if proc.returncode != 0: |
| 48 | print(f"!!! {label} FAILED (exit {proc.returncode}, {dt:.1f}s)", flush=True) |
| 49 | else: |
| 50 | print(f"... {label} ok ({dt:.1f}s)", flush=True) |
| 51 | return proc.returncode |
| 52 | |
| 53 | |
| 54 | def main(argv: list[str] | None = None) -> int: |