Problem
AGENTS.md "Release Model" lists "the aggregator shape of test-pull-request.yml" as orchestration meant to be synced verbatim. But the file also contains the unit-test job, which is .NET-specific (dotnet tool restore, dotnet csharpier check, dotnet format, dotnet test). A non-.NET downstream (e.g. ptr727/ESPHome-NonRoot, Docker-only, no language source) has to:
- delete the
unit-test job,
- remove it from
smoke-build.needs,
- remove it from the
check-workflow-status aggregator's needs, and
- delete the
exit_on_result "unit-test" ... line in the aggregator.
That's surgery on a file the docs call "verbatim," so the boundary is muddy. The genuinely-verbatim part is the changes -> smoke-build -> check-workflow-status aggregator wiring (and the ruleset-bound job name); the unit-test job and the paths-filter contents are language/target-owned.
Suggestion
Spell out in AGENTS.md (and/or a comment in test-pull-request.yml) that within this file the aggregator + required-status-check name are the verbatim orchestration, while the unit-test job and the dorny/paths-filter entries are owned/per-target. Optionally factor the language test into a test-*-task.yml the aggregator calls, so the entry-point file stays target-agnostic.
Surfaced while adopting the template in ptr727/ESPHome-NonRoot (see ptr727/ESPHome-NonRoot#61).
Problem
AGENTS.md "Release Model" lists "the aggregator shape of
test-pull-request.yml" as orchestration meant to be synced verbatim. But the file also contains theunit-testjob, which is .NET-specific (dotnet tool restore,dotnet csharpier check,dotnet format,dotnet test). A non-.NET downstream (e.g.ptr727/ESPHome-NonRoot, Docker-only, no language source) has to:unit-testjob,smoke-build.needs,check-workflow-statusaggregator'sneeds, andexit_on_result "unit-test" ...line in the aggregator.That's surgery on a file the docs call "verbatim," so the boundary is muddy. The genuinely-verbatim part is the
changes->smoke-build->check-workflow-statusaggregator wiring (and the ruleset-bound job name); theunit-testjob and the paths-filter contents are language/target-owned.Suggestion
Spell out in AGENTS.md (and/or a comment in
test-pull-request.yml) that within this file the aggregator + required-status-check name are the verbatim orchestration, while theunit-testjob and thedorny/paths-filterentries are owned/per-target. Optionally factor the language test into atest-*-task.ymlthe aggregator calls, so the entry-point file stays target-agnostic.Surfaced while adopting the template in
ptr727/ESPHome-NonRoot(see ptr727/ESPHome-NonRoot#61).