Skip to content

ci: warm-machine resource guardrail blocks Test check (0 tests run) — route CI tests through Lab offload #2850

Description

@chubes4

Symptom

PR #2845's homeboy / Test check failed repeatedly (across multiple reruns, including a 7m46s run) with:

test harness infrastructure failure (exit 2)Refusing to start test on a warm machine from a non-interactive shell. Load average is 3.5–4.9 across 4 CPU(s).

Critically: test_failure_count: 0 every time — no tests ever ran. This is not a code failure; the homeboy resource-policy guardrail refuses to start the WP Codebox / PHPUnit suite whenever runner load is elevated.

Root cause

The CI runner shares the box with heavy concurrent work (minion fan-out, releases, deploys). The box is chronically "warm" at job spin-up, so the guardrail bails before bootstrapping tests. Rerunning doesn't help — load is back up by the time the job actually starts.

Evidence the code is fine

PR #2845 (phpcs/eslint cleanup, zero logic changes) had every other gate green (phpcs, eslint, phpstan, lint, audit). Running the 303 smoke tests locally via bare php:

  • PR branch: 239 pass / 64 fail
  • origin/main (baseline, no PR): 239 pass / 64 failidentical

The 64 are a bare-php-without-WP-Codebox-bootstrap artifact, not regressions. In the real WP Codebox harness they pass. #2845 was admin-merged on this evidence.

Ask

  1. Route CI homeboy test through a Lab offload runner (--runner <id>) so tests don't run on the warm shared box — the guardrail's own suggested fix.
  2. OR give CI a dedicated/cooler runner.
  3. Consider whether the resource-policy guardrail should hard-fail the check (red) vs. skip/neutral when it declines to run — a guardrail refusing to start shouldn't look identical to a real test failure.

Also noted: a stale local wp-codebox wrapper (no candidate passed 'wp-codebox --version') blocks local homeboy test reproduction — separate but related.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions