mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-26 05:29:45 +00:00
9c28f097b3
The first beta's release workflow failed twice in backend_tests: TestHostAgentCredentialFileHandoff, added on 2026-10-11 and so new to every release job, compiles pulse-agent itself and was killed at exactly 180s with "build agent from this source: signal: killed". The release runner starts each API shard with a small pinned GOMAXPROCS, and the test's child compiler inherits it. A cold agent build is about 250 CPU-seconds, so under the pin it serializes past the test's fixed three-minute limit. The release job also has no Go build cache, and the race-enabled test binary the runner compiles does not warm this plain build. Pull request jobs keep a warm cache, which is why the test passed there. Reproduced on pulse-dev with the shard's conditions, a prebuilt test binary, GOMAXPROCS=1 and an empty cache: the test fails at 180.02s with the identical message. With the agent built once beforehand, unpinned, in 99s, the same pinned run passes in 16s. Build the agent once in the runner, after compiling the test binary and before any shard starts, with the full CPU count. The runner test pins that order so the warm-up cannot drift after the shards, and the contract records why. Against the previous runner the pin fails with the expected message. The release preflight and policy suites pass. Contract-Neutral: Release test runner ordering only; no published artifact, tag, signing, install or customer contract changes.