Context
PIT mutation testing on GitHub's ubuntu-latest runners is extremely slow:
- Coverage phase: ~7 minutes (fine)
- Mutation phase: hit GitHub's 6-hour per-job hard limit without completing (76 mutation units targeting
io.confluent.parallelconsumer.*)
Narrowed to internal.* classes only and added incremental history caching in PR #34, which should help. But the long-term fix is running PIT on the self-hosted performance runner where CPU and I/O are much faster.
Proposal
Move the mutation-testing job to runs-on: [self-hosted, performance] (same runner used by the performance tests workflow in .github/workflows/performance.yml). This would let us:
- Target the full
io.confluent.parallelconsumer.* class set
- Complete in minutes instead of hours
- Potentially make PIT a blocking check again
Current workaround
PIT runs on ubuntu-latest with continue-on-error: true (non-blocking), timeout-minutes: 300, targeting only internal.* classes, with incremental history cache.
See docs/SELF_HOSTED_RUNNER.md for runner setup.
Context
PIT mutation testing on GitHub's
ubuntu-latestrunners is extremely slow:io.confluent.parallelconsumer.*)Narrowed to
internal.*classes only and added incremental history caching in PR #34, which should help. But the long-term fix is running PIT on the self-hosted performance runner where CPU and I/O are much faster.Proposal
Move the
mutation-testingjob toruns-on: [self-hosted, performance](same runner used by the performance tests workflow in.github/workflows/performance.yml). This would let us:io.confluent.parallelconsumer.*class setCurrent workaround
PIT runs on
ubuntu-latestwithcontinue-on-error: true(non-blocking),timeout-minutes: 300, targeting onlyinternal.*classes, with incremental history cache.See
docs/SELF_HOSTED_RUNNER.mdfor runner setup.