fix: enforce cleanup and secret integrity
test / integration-docker (pull_request) Has been cancelled
test / unit (pull_request) Successful in 2m57s
test / coverage (pull_request) Has been skipped
test / image-input-builds (pull_request) Failing after 12m46s
tracker-policy-pr / check-pr (pull_request) Successful in 10s

This commit is contained in:
2026-07-27 03:55:04 +00:00
parent d29777bd96
commit f0f14ea5de
19 changed files with 206 additions and 101 deletions
+48
View File
@@ -0,0 +1,48 @@
"""Shared destructive-cleanup execution and failure accounting."""
from __future__ import annotations
import shutil
import subprocess
from collections.abc import Sequence
from pathlib import Path
class CleanupError(RuntimeError):
"""One or more approved cleanup mutations did not complete."""
class CleanupFailures:
"""Attempt every approved mutation, then fail with complete diagnostics."""
def __init__(self) -> None:
self._messages: list[str] = []
def run(self, argv: Sequence[str], description: str) -> None:
try:
result = subprocess.run(
list(argv), capture_output=True, text=True, check=False,
)
except OSError as exc:
self._messages.append(f"{description}: {exc}")
return
if result.returncode != 0:
detail = (result.stderr or result.stdout).strip()
self._messages.append(
f"{description}: {detail or f'exit {result.returncode}'}"
)
def remove_tree(self, path: Path, description: str) -> None:
try:
shutil.rmtree(path)
except FileNotFoundError:
return
except OSError as exc:
self._messages.append(f"{description}: {exc}")
def raise_if_any(self) -> None:
if self._messages:
raise CleanupError("; ".join(self._messages))
__all__ = ["CleanupError", "CleanupFailures"]