Add a first step in swift-packages (gated to runner.environment == 'self-hosted') that kills any orphan xctest, swift-test, or swift-driver processes before checkout/build/test. SIGTERM, then SIGKILL holdouts.
Why
Grogu is a shared workstation — interactive Xcode use can leak processes that hold Mach services + ports, which then deadlock subsequent CI jobs. Develop run 25824607025 hung in SPM AgentCore for 34 min on exactly this pattern (6 xctest zombies aged 22–24h from prior interactive use). Single-runner serialization means any matching process at job-start is safely killable.
Test plan
Merge to develop, watch the next CI run.
Step logs zero processes when clean.
Step exits 0 even when no zombies exist.
No regression on github-hosted (runner.environment gate verified).
## Summary
Add a first step in `swift-packages` (gated to `runner.environment == 'self-hosted'`) that kills any orphan `xctest`, `swift-test`, or `swift-driver` processes before checkout/build/test. SIGTERM, then SIGKILL holdouts.
## Why
Grogu is a shared workstation — interactive Xcode use can leak processes that hold Mach services + ports, which then deadlock subsequent CI jobs. Develop run `25824607025` hung in `SPM AgentCore` for 34 min on exactly this pattern (6 xctest zombies aged 22–24h from prior interactive use). Single-runner serialization means any matching process at job-start is safely killable.
## Test plan
- [ ] Merge to develop, watch the next CI run.
- [ ] Step logs zero processes when clean.
- [ ] Step exits 0 even when no zombies exist.
- [ ] No regression on github-hosted (`runner.environment` gate verified).
Closes #182
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Add a first step in
swift-packages(gated torunner.environment == 'self-hosted') that kills any orphanxctest,swift-test, orswift-driverprocesses before checkout/build/test. SIGTERM, then SIGKILL holdouts.Why
Grogu is a shared workstation — interactive Xcode use can leak processes that hold Mach services + ports, which then deadlock subsequent CI jobs. Develop run
25824607025hung inSPM AgentCorefor 34 min on exactly this pattern (6 xctest zombies aged 22–24h from prior interactive use). Single-runner serialization means any matching process at job-start is safely killable.Test plan
runner.environmentgate verified).Closes #182
🤖 Generated with Claude Code