Linux deploy E2E PR-1: port StubSquidServer infra (P0 5.1 foundation)
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
StubSquidServerinfrastructure 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
-
PR-1 (this): port
- 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 buildgreen -
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