Skip to content

fix(ci): correct the dispatch-watchdog pin left stale by the runner move (#15310) - #15329

Merged
mrveiss merged 6 commits into
Dev_new_guifrom
hotfix-15311-watchdog-pin
Aug 30, 2026
Merged

mrveiss merged 6 commits into
Dev_new_guifrom
hotfix-15311-watchdog-pin

Conversation

@mrveiss

@mrveiss mrveiss commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Thinking Path

Dev_new_gui has been red since 2026-08-30 09:22, and every open PR inherits it. Three PRs (#15321, #15327, #15328) all show python-suite shard 5/12 failing — the same shard, on unrelated changes, which is the signature of a base failure rather than three coincidences.

Base runs confirm it:

base run shards green failed
09:18 12 / 12 —
09:22 11 / 12 python-suite shard 5/12
10:10 11 / 12 python-suite shard 5/12

ffc37c6f9c (#15311) merged at 09:22:01.

The failure:

FAILED repo_tests/ci_dispatch_watchdog_test.py::test_the_real_workflow_tree_classifies_the_reported_workflows_correctly
AssertionError: assert 'code-quality.yml' not in {'code-quality.yml', 'enforce-precommit.yml', 'frontend-test.yml'}

That test pins the classifier against the real workflow tree, and its comment records code-quality.yml as one of "the three workflows named in the false no runner available status" — i.e. GitHub-hosted at the time it was written. #15311 moved code-quality.yml and enforce-precommit.yml onto the self-hosted runners deliberately (#15310), so the classifier now answers correctly and the expectation is what went stale.

This is the narrow case where correcting the assertion rather than the implementation is the fix: the tree changed on purpose, and the pin was left behind by that change.

What Changed

repo_tests/ci_dispatch_watchdog_test.py — code-quality.yml and enforce-precommit.yml move to the "is self-hosted" side of the pin, with the reason and the date recorded inline.

ci.yml and frontend-required-context.yml stay asserted as not-self-hosted, deliberately. Keeping both sides is the point: a classifier that answered "self-hosted" for everything would satisfy the two positive assertions on their own, so the negative ones are what give the test its power.

enforce-precommit.yml was not previously named on either side. It is now, because it is now self-hosted and an unnamed workflow is exactly how this pin drifted in the first place.

Verification

No repo code executed. I replicated the classifier's question as data over .github/workflows/*.yml — does any job declare a self-hosted runner — and checked each of the five names the pin asserts:

workflow pin expects in resolved actual
frontend-test.yml yes yes
code-quality.yml yes yes
enforce-precommit.yml yes yes
ci.yml no no
frontend-required-context.yml no no

All five agree. (The scan also finds marker-tests.yml self-hosted; the pin does not name it, and I have not added it — it is outside what this test was written to guard and adding names on a red-base hotfix is scope I would rather not take.)

ast.parse passes. CI is the judge of the test itself.

Model Used

Claude Opus 5

Refs #15310 — this repairs a pin left stale by that issue's runner move; it does not change the runner configuration itself.

@github-actions

Copy link
Copy Markdown
Contributor

✅ SSOT Configuration Compliance: Passing

🎉 No new hardcoded values of either class — ssot and other both block.

Known backlog in pipeline-scripts/hardcoded_values_baseline.txt is suppressed and tracked in #14371.

@mrveiss
mrveiss merged commit 4dbdc89 into Dev_new_gui Aug 30, 2026
62 checks passed
@mrveiss
mrveiss deleted the hotfix-15311-watchdog-pin branch August 30, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant