fix(ci): restore release gates and contract baseline (fixes #4)
Managed validation / full (pull_request) Canceled after 0s
GeoIntel release gates / Compile, test, contracts and builds (pull_request) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (pull_request) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (pull_request) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Failing after 22s
GeoIntel release gates / Compile, test, contracts and builds (push) Waiting to run
GeoIntel release gates / GIS image, SBOM and container scan (push) Failing after 45s

This commit is contained in:
NuklearRabbit
2026-08-29 02:00:23 +02:00
parent d39f703abf
commit edb762219c
38 changed files with 133 additions and 96 deletions
@@ -15,22 +15,15 @@ def _bash_path(path: Path) -> str:
if os.name != "nt":
return raw_path
try:
result = subprocess.run(
["bash", "-lc", f"wslpath -a {shlex.quote(raw_path)}"],
capture_output=True,
text=True,
timeout=10,
check=False,
)
except (subprocess.TimeoutExpired, OSError):
# Starting WSL can exceed ten seconds while the rest of the suite is
# running. The fallback below is what this helper already does whenever
# the conversion does not work, so a slow shell must not red the suite.
return raw_path
if result.returncode == 0 and result.stdout.strip():
return result.stdout.strip()
return raw_path
# ``bash`` is WSL on the supported Windows development path. Converting
# the drive path directly avoids starting a second WSL process merely to
# run ``wslpath``; that process can time out while the full suite is busy
# and would leave curl with an invalid file://C:\\... URL.
drive, tail = os.path.splitdrive(raw_path)
if drive:
normalized_tail = tail.lstrip("\\/").replace("\\", "/")
return f"/mnt/{drive[0].lower()}/{normalized_tail}"
return raw_path.replace("\\", "/")
def test_split_background_promotion_workflow_runs_split_then_split_aware_report() -> None: