Skip to content

Stop including API benchmarks in validate - #64337

Open
Wesley Wigham (weswigham) wants to merge 1 commit into
microsoft:mainfrom
weswigham:extract-benchmarks-from-tests
Open

Wesley Wigham (weswigham) wants to merge 1 commit into
microsoft:mainfrom
weswigham:extract-benchmarks-from-tests

Conversation

@weswigham

@weswigham Wesley Wigham (weswigham) commented Sep 19, 2026

Copy link
Copy Markdown
Member

They get their own test subtask executed in CI instead of being run directly in the main API tests, similar to how the go benchmarks already work.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The broader Go benchmark exclusion and conflicting contributor guidance need clarification or correction.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 Medium severity · 1 Low severity

Open (2)
What changed in this PR

Separates API benchmark smoke runs from validation and executes them through dedicated tasks.

Changes:

  • Removes benchmarks from API tests.
  • Adds a standalone API benchmark task and CI step.
  • Excludes benchmark tasks from validate.
File Description
packages/​typescript/​test/​sync/​api.test.ts Removes sync benchmark execution.
packages/​typescript/​test/​sync/​api-generators.test.ts Removes generator benchmark execution.
packages/​typescript/​test/​async/​api.test.ts Removes async benchmark execution.
Herebyfile.mjs Adds API benchmark orchestration and changes validation behavior.
.github/​workflows/​ci.yml Runs API benchmarks as a dedicated CI step.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread Herebyfile.mjs
Comment thread Herebyfile.mjs
Comment thread Herebyfile.mjs
export const validate = task({
name: "validate",
description: "Builds, tests, lints, and formats the repo. Pass --api to include API tests, or --all to include all ancilliary repository tests.",
description: "Builds, tests, lints, and formats the repo. Pass --api to include API tests, or --all to include ancillary repository tests. Benchmarks are separate: test:benchmarks and test:benchmarks:api.",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why exclude it? Don't we want to test that in --all?

I still think this is an instruction problem. One can totally break the compiler but it only affect a benchmark, no?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The benchmarks don't really test anything unique - they just collect perf metrics. Maybe you could break them, but it's very unlikely you do so without also breaking other tests. And, moreover, the timing output is useless intermixed within the parallel test output.

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

Labels

Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug

Projects

Status: Not started

Development

Successfully merging this pull request may close these issues.

3 participants