fix(tests): drop gexec Compiles spec — segfaults on GH Actions#12
Merged
Conversation
The 'Compiles' ginkgo spec called gexec.Build to spawn a child go build from the race-instrumented test binary, which segfaults randomly on the Linux GH Actions runner (works locally). The spec was redundant: each test binary IS package main, so if main.go does not compile, 'go test' fails immediately. Removes the spec from all 6 affected main_test.go files.
There was a problem hiding this comment.
PR Review Summary
Verdict: approve
This is a straightforward, well-reasoned change. The PR removes the gexec.Build Compiles specs from 6 test files across 4 agent services (claude, code, gemini, pi). The rationale is sound:
- Redundancy:
go testitself fails ifmain.godoesn't compile — the explicit assertion is unnecessary - CI flakiness: Spawning a child process from a race-instrumented binary segfaults on GH Actions Linux runners (works locally)
- Well-documented: Each removal has a detailed NOTE explaining the rationale and referencing the vault document for full diagnosis
No issues found.
Must Fix: None
Should Fix: None
Nice to Have: None
{
"verdict": "approve",
"summary": "Clean removal of redundant gexec.Build Compiles specs across 6 test files. The specs were unnecessary since go test already fails if main.go doesn't compile, and their removal eliminates a known GH Actions segfault issue with race-instrumented child processes. Well-documented with clear rationale referencing the vault note.",
"comments": [],
"concerns_addressed": []
}Same root cause as the agent/* fix in this PR: the Compiles spec segfaults flakily on the GH Actions runner. task/controller hit the segfault on this PR's first CI run.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Compilesginkgo spec spawned a childgo buildviagexec.Buildfrom the race-instrumented test binary. On the Linux GH Actions runner this segfaults randomly (works locally; only repros on CI under-race).package main, so ifmain.godoes not compile,go testfails immediately.main_test.gofiles (agent/claude, agent/code, agent/gemini, agent/pi + theircmd/run-tasksubdirs).Test plan
precommit (agent/code|pi|gemini|claude)matrix jobs