You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: scope-gate the examples/ag-ui e2e job and make it block merges (#944)
`examples-ag-ui-e2e` had no `if:` at all. It ran on every push and every pull
request — a Playwright suite with a 35-minute timeout, executing on docs-only
and website-only PRs. On #932 (three files under apps/website/src) it ran to
completion for nothing.
It was also absent from `required-pr-checks`, so an ag-ui e2e failure never
blocked a merge. Both halves are fixed here deliberately: gating it without
requiring it would leave a suite that is skipped often and ignored when it
fails.
The plumbing was half-built rather than missing. examples/ag-ui/project.json
and examples/ag-ui/angular/project.json already carried `scope:examples-ag-ui`,
but `examples_ag_ui` was never added to SCOPE_KEYS, so classifyFromAffected
read the tag and discarded it — there was no output for the job to gate on.
Also tags examples/ag-ui/python, which had no tags at all. That is the backend
the e2e job `uv sync`s and drives the Angular app against, so leaving it
untagged would have made a python-only change silently skip the suite — buying
speed by dropping coverage. examples/chat/python already carries its
`scope:examples-chat` tag the same way.
Verified against real commits: website-only #932 base..head → false; an
ag-ui angular change → true; an isolated python-only change → true, with
examples_chat and website both false.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
0 commit comments