Skip to content

ci: run the repository-tooling tests when only agent-evals or a tooling test module changes #964

Closed

Description

@yeongseon

Problem and impact

test/test_agent_eval.py is registered in REPO_TOOLING_MODULES (test/conftest.py), so it carries the repo marker. The offline lanes deselect it with -m "not repo". Only the repo-tests job runs it, and that job runs only when the tooling path filter in .github/workflows/ci.yml matches.

The tooling filter does not list agent-evals/**. A pull request that changes only agent-evals tasks, hidden tests or fixtures therefore never runs the grader's fixture check: a broken task or fixture merges with green CI and fails only on the next tooling change. Reported by lane A after #961–#963.

The same gap affects other repository-tooling modules. Each of these files is in REPO_TOOLING_MODULES but missing from the tooling filter, so a pull request that changes only that test module runs it nowhere:

  • test_agent_eval.py
  • test_bench_artifact.py
  • test_check_docs_translation.py
  • test_docs_provenance_hook.py
  • test_docs_reason.py
  • test_make_integration.py
  • test_release_detect.py
  • test_sqlalchemy_range.py
  • test_support_claims.py
  • test_verify_dist.py

Evidence (main ea9a4b7)

Evaluating the ci.yml filters with test/test_workflow_path_impact.py's _selected():

  • agent-evals/tasks/x/task.json selects {code}.
  • agent-evals/README.md selects {docs}.
  • test/test_agent_eval.py selects {code}.
  • Each module listed above selects {code} only, never tooling.

Expected

Any change to agent-evals/** or to a REPO_TOOLING_MODULES test module runs the repo-tests job. A guard test keeps every future repository-tooling module in the filter.

Scope

  • Add agent-evals/** and the missing repository-tooling test modules to the tooling filter in ci.yml.
  • Add test_workflow_path_impact.py cases for these paths.
  • Add a guard test that every REPO_TOOLING_MODULES entry selects tooling.

Non-goals: no change to the lanes themselves, to markers, or to any other filter group.

Completion criteria

  • _selected() includes tooling for agent-evals/**, for test/test_agent_eval.py and for every REPO_TOOLING_MODULES file.
  • The guard test fails if a module is added to REPO_TOOLING_MODULES without being added to the filter.

Validation

pytest -m repo test/test_workflow_path_impact.py and the full repo lane.

Activity

  1. self-assigned this
    on Oct 16, 2026
  2. yeongseon commented on Oct 16, 2026

    @yeongseon
    ContributorAuthor

    Fixed by #965 (eefd207). The tooling filter in ci.yml now lists agent-evals/**, test/conftest.py and the ten missing repository-tooling modules. test_every_repository_tooling_module_selects_the_tooling_lane keeps every REPO_TOOLING_MODULES entry in the filter, and changing the registry itself now runs that guard. All completion criteria are met.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

ciCI/CD workflow changespriority: mediumNormal queuesize: XSTrivial change (< ~10 lines)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions