Skip to content

ci: a GUI change that only moves a frontend guard's pin runs all 12 python-suite shards #16340

Description

@mrveiss

Problem

The frontend's guards are Python tests in repo_tests/, for example i18n_untranslated_ratchet_test.py and frontend_reduced_motion_guard_test.py. A GUI PR that fixes strings or motion has to move one of those pins, which puts a .py file in its diff. .github/filters/python-paths.yml (**/*.py) then runs the whole 12-shard python suite.

Measured on 2026-09-11: of the 9 open PRs that touch the GUI, none is GUI-only. #16313's one non-GUI file is repo_tests/i18n_untranslated_ratchet_test.py, so a terminal-modal fix pays for 12 shards of backend tests (4–10 min of work each, plus 20–47 min queued; see #16332) that it can't affect. A separate "GUI train" wouldn't help, because the cost comes from this trigger, not from how PRs are grouped.

Proposal (the design is open)

When a PR's only Python changes are guard modules under repo_tests/, run those modules, plus anything that imports them, in one job instead of the full sharded suite. Constraints:

Acceptance criteria

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions