ci: age-filter zombie reaper so sibling runners on Grogu don't kill each other #188

Closed
opened 2026-05-13 22:00:39 +00:00 by KofTwentyTwo · 0 comments
KofTwentyTwo commented 2026-05-13 22:00:39 +00:00 (Migrated from github.com)

What

Add a 1-hour age filter to the Reap orphan xctest/swift-test processes step so it doesn't kill in-flight test processes belonging to sibling self-hosted runners on the same machine.

Why

When Grogu hosts multiple self-hosted runners simultaneously (planned: 3 runners on a 24-core / 128 GB machine), each runner's job-start cleanup step would kill xctest/swift-test/swift-driver belonging to every other runner. The result: as soon as you scale past one runner, concurrent SPM matrix jobs nuke each other.

Real CI jobs complete in <10 min. Zombies from interactive Xcode use are typically >hours old. A 1-hour age cutoff cleanly separates the two populations.

Acceptance

  • Cleanup kills xctest aged ≥ 1 hour, leaves anything younger alone.
  • Validated against synthetic ps output covering MM:SS / HH:MM:SS / DD-HH:MM:SS formats.
  • Single-runner behavior unchanged (no regression on current Grogu-jarvis setup).
## What Add a 1-hour age filter to the `Reap orphan xctest/swift-test processes` step so it doesn't kill in-flight test processes belonging to sibling self-hosted runners on the same machine. ## Why When Grogu hosts multiple self-hosted runners simultaneously (planned: 3 runners on a 24-core / 128 GB machine), each runner's job-start cleanup step would kill xctest/swift-test/swift-driver belonging to every other runner. The result: as soon as you scale past one runner, concurrent SPM matrix jobs nuke each other. Real CI jobs complete in <10 min. Zombies from interactive Xcode use are typically >hours old. A 1-hour age cutoff cleanly separates the two populations. ## Acceptance - [ ] Cleanup kills xctest aged ≥ 1 hour, leaves anything younger alone. - [ ] Validated against synthetic ps output covering MM:SS / HH:MM:SS / DD-HH:MM:SS formats. - [ ] Single-runner behavior unchanged (no regression on current Grogu-jarvis setup).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/Jarvis#188