Repository navigation
CI: Skip desktop E2E and performance metrics on Studio Code agent-only changes - #5308
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issues
apps/cli/ai/**,apps/cli/commands/ai/**,scripts/eval/**). Each one still waited on desktop E2E and Performance Metrics, the two slowest jobs (about 17.5 min each on build 23481), even though neither suite runs agent code.How AI was used in this PR
Claude (via the Pi coding agent in a Roadie session) measured job times from Buildkite logs, classified merged PRs by changed paths, checked which suites can reach agent code, and wrote the change. I reviewed the diff and the evidence.
Proposed Changes
should-skip-job.shgets anAGENT_PATTERNSlist and ane2ejob type:run-e2e-tests.sh) now uses--job-type e2e: thevalidationrules, plus a skip when every changed file is an agent file.--job-type validationand still run on agent-only PRs.A skipped job exits 0 the same way the existing docs-only skips do, so the required statuses still report as passed.
Why these two suites never exercise agent code:
agenticFeaturesEnabled: false(apps/studio/e2e/e2e-helpers.ts), and no desktop test drives the chat or Studio Code.tools/metrics/tests/{app-size,site-editor,site-startup}) measure app size, site editor load and site startup.apps/cli/index.ts(cli/commands/ai) and fromstudio mcp. The one module underapps/cli/ai/used outside the agent,browser-utils.ts, is reached only through URL imports (data-liberation-client,capture-preview). The desktop E2E suite doesn't test those, and Unit and CLI E2E still run on any change to it.A PR that also touches anything else (
apps/ui,packages/common, otherapps/clicode,package.json) runs every job as before. One thing an agent-only PR no longer gets: the app-size line of the performance comment.compare-perfnever fails a PR, and dependency changes still run metrics.Expected effect on agent-only PRs: the gate drops from about 19 min (p50 of the 39 PR builds since build 23377) to about 10 min, set by CLI E2E on Windows.
Testing Instructions
This PR only touches
.buildkite/**, which the existing rules already skip, so its own CI doesn't run the new path. To check it locally:daa71b227, agent-only), runBUILDKITE_PULL_REQUEST=5307 BUILDKITE_PULL_REQUEST_BASE_BRANCH=trunk .buildkite/commands/should-skip-job.sh --job-type <type>. Result:validationruns (exit 1), ande2eandmetricsskip (exit 0).pr_changed_fileswith fixed file lists:apps/cli/ai/**+ tests)apps/cli/commands/ai/**+scripts/eval/**apps/cli/commands/site/create.tsapps/ui/**packages/common/ai/**apps/ui/**onlyapps/studio/e2e/**onlybash -npasses.shellcheckreports nothing on the changed lines; its two findings are on existing lines.Pre-merge Checklist