Skip to content

Linux deploy E2E PR-1: port StubSquidServer infra (P0 5.1 foundation)

Placeholder ppxd requested to merge phase12.M.L.D-linux-deploy-e2e-first-cut into main

Summary

  • First cut of P0 5.1 from the global audit (Linux deploy E2E with Halibut). Splits the largest remaining scope into incremental PRs:
    • PR-1 (this): port StubSquidServer infrastructure to Linux project + smoke test (validates lifecycle on Linux)
    • PR-2+ (follow-up): full Linux deploy E2E tests — echo script dispatch + output capture + polling handshake with real Linux Squid.Tentacle binary
  • Why split: the infrastructure port is ~600 lines and a discrete validation step. Landing it independently de-risks subsequent deploy PRs.

Why a new stub vs upgrading the slim LinuxStubSquidServer

The existing slim version (~190 lines) is REST-only, used by Section C/D register tests. Upgrading it would require adding ~400 lines of Halibut runtime + cert management — risk of breaking Section C/D tests. New SquidHalibutStubServer coexists for the deploy use case. Future refactor may extract to a shared cross-OS infra project.

Test plan

  • dotnet build green
  • Local on macOS: smoke test passes (short-circuits via Linux guard)
  • Linux CI: smoke test exercises real Halibut + cert + HttpListener startup + clean dispose
  • Existing 50 Linux E2E tests still pass

Tier

🔵 fixture-only (Rule 12.4) — smoke validates infrastructure works; production E2E coverage comes in PR-2+.

🤖 Generated with Claude Code

Merge request reports

Loading