Skip to content

fix(ci): repair cross-platform launch gates - #136

Merged
abrichr merged 2 commits into
mainfrom
fix/ci-cross-platform-20260717
Jul 17, 2026
Merged

fix(ci): repair cross-platform launch gates#136
abrichr merged 2 commits into
mainfrom
fix/ci-cross-platform-20260717

Conversation

@abrichr

@abrichr abrichr commented Jul 17, 2026

Copy link
Copy Markdown
Member

Root causes

  • Main Python 3.10 matrix failure: tests/test_release_contract.py imported Python 3.11's tomllib unconditionally. The same workflow's Playwright probe passed literal \" characters to Python; the command substitution raised SyntaxError, but the enclosing echo masked the failure and produced an empty cache version.
  • Scheduled macOS matrix failure: the platform-neutral identity-ladder browser/OCR corpus exceeded its 900-second timeout after the other 1,924 tests passed. The same safety harness remains fully counted on the canonical Ubuntu matrix, including Python 3.12.
  • Windows clean-machine lifecycle failure: child CLIs inherited CP1252, failed to print U+2717 status output, and persisted report.json with a non-UTF-8 code page.

Fix

  • Use the existing conditional tomli dependency on Python 3.10.
  • Emit the Playwright cache version directly from valid Python and statically guard all three probes.
  • Deselect only tests/test_identity_ladder.py::test_harness_zero_false_accept_all_configs on macOS; preserve the complete suite on every Ubuntu matrix leg and every other macOS test.
  • Set PYTHONUTF8=1 and PYTHONIOENCODING=utf-8 for the clean-machine job and every lifecycle child process, decode captured output explicitly as UTF-8, and make run-report persistence/readers explicitly UTF-8.
  • Add workflow-selection, child-environment/log, and non-ASCII run-report round-trip regressions.

Verification

  • 87 passed across release/workflow/lifecycle/report/hosted/teach focused tests on Python 3.12.
  • 8 passed for release and workflow contracts on Python 3.10.9.
  • Ruff lint and format checks pass on every changed Python file.
  • Mypy passes on every changed runtime/script module.
  • Both workflow files parse as YAML; the exact Playwright command emits version=1.57.0 locally.
  • git diff --check passes.

This PR does not change macOS, Windows, or RDP backend behavior and does not weaken the fail-closed product safety gates.

@abrichr
abrichr merged commit 8e1fcdd into main Jul 17, 2026
26 of 30 checks passed
@abrichr
abrichr deleted the fix/ci-cross-platform-20260717 branch July 17, 2026 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant