Skip to content

Linux deploy E2E PR-2: first dispatch round-trip test (L-D1h echo bash)

Summary

  • PR-2 of P0 5.1 Linux deploy E2E rollout. PR-1 (#257) ported StubSquidServer + smoke. This PR adds the first real deploy test: server dispatches an echo script via Halibut RPC, listening agent runs bash, output round-trips back.
  • New: SquidHalibutStubAgent (port of Windows StubAgent, ~290 lines) + TentacleLinuxDeployE2ETests.cs with L-D1h_Listening_EchoBashScript_OutputCapturedAndExitZero.
  • Linux csproj now references Squid.Tentacle (mirroring Windows project) — needed because production LocalScriptService lives there.

Why this matters

What this catches that the script-tier tests don't:

  • Halibut serialization regressions on Linux (ProcessOutput truncation)
  • LocalScriptService bash-spawn regression (PATH / shell resolution)
  • Halibut listener/poller TLS handshake regression on Linux
  • Production observe-loop polling timing

Mirror of Windows TentacleDeployE2ETests.Listening_EchoScript — closes the cross-OS coverage gap operators on mixed fleets relied on.

Follow-up PRs (P0 5.1 PR-3+)

Will add: non-zero exit propagation, multi-line output preservation, stderr capture, long-running scripts, concurrent dispatches, polling-mode round-trip, output-variable round-trip, file transfer. ~12 more tests mirroring Windows deploy suite — each follows the pattern this PR establishes.

Test plan

  • dotnet build green
  • Linux CI passes LD1h_Listening_EchoBashScript_OutputCapturedAndExitZero
  • Existing 51 Linux E2E tests still pass

🤖 Generated with Claude Code

Merge request reports

Loading