Skip to content

ci: trigger benches when formatter changes#8046

Merged
ematipico merged 1 commit intomainfrom
ci/update-benchmarks
Nov 9, 2025
Merged

ci: trigger benches when formatter changes#8046
ematipico merged 1 commit intomainfrom
ci/update-benchmarks

Conversation

@ematipico
Copy link
Member

Summary

Files were edited by Claude Code

Test Plan

CI should stay green

Docs

N/A

@changeset-bot
Copy link

changeset-bot bot commented Nov 9, 2025

⚠️ No Changeset found

Latest commit: 89edec0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 9, 2025

Walkthrough

This pull request extends the path filters in four benchmark workflow files (CSS, GraphQL, JS, and JSON) to include crates/biome_formatter/**/*.rs. These changes ensure that modifications to the biome_formatter crate trigger the corresponding benchmark suites during pull requests and pushes. No logic or error-handling adjustments are present—only the monitored paths are expanded.

Possibly related PRs

  • ci: breakdown benchmarks #7641: Extends path filters in multiple benchmark workflow files to include crates/biome_formatter/**/*.rs, directly aligning with the workflow trigger changes in this PR.

Suggested labels

A-Tooling

Suggested reviewers

  • siketyan

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding formatter crate paths to benchmark workflow triggers.
Description check ✅ Passed The description relates to the changeset by noting CI workflow edits and AI assistance disclosure, though minimal in detail.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci/update-benchmarks

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b7efa6f and 89edec0.

📒 Files selected for processing (4)
  • .github/workflows/benchmark_css.yml (2 hunks)
  • .github/workflows/benchmark_graphql.yml (2 hunks)
  • .github/workflows/benchmark_js.yml (2 hunks)
  • .github/workflows/benchmark_json.yml (2 hunks)
🧰 Additional context used
🧠 Learnings (15)
📓 Common learnings
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace/watcher.tests.rs : Place watcher tests related to workspace methods in src/workspace/watcher.tests.rs
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_parser/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:24:31.042Z
Learning: Applies to crates/biome_parser/crates/biome_*_{syntax,factory}/** : Create per-language crates biome_<lang>_syntax and biome_<lang>_factory under crates/
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/../biome_lsp/src/server.tests.rs : Keep end-to-end LSP tests in ../biome_lsp/src/server.tests.rs
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/src/**/*.rs : After generation, remove usages of `format_verbatim_node` and implement real formatting with biome_formatter utilities
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/**/Cargo.toml : Add the specified dev-dependencies under [dev-dependencies] for the test infrastructure
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/tests/** : Create a tests directory containing a specs subfolder and the files spec_test.rs, spec_tests.rs, and language.rs
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/Cargo.toml : Declare the dependency `biome_js_formatter = { version = "0.0.1", path = "../biome_js_formatter" }` for internal installation
📚 Learning: 2025-10-15T09:24:31.042Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_parser/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:24:31.042Z
Learning: Applies to crates/biome_parser/crates/biome_*_{syntax,factory}/** : Create per-language crates biome_<lang>_syntax and biome_<lang>_factory under crates/

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/src/**/*.rs : After generation, remove usages of `format_verbatim_node` and implement real formatting with biome_formatter utilities

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:22:46.002Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/Cargo.toml : Declare the dependency `biome_js_formatter = { version = "0.0.1", path = "../biome_js_formatter" }` for internal installation

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace/watcher.tests.rs : Place watcher tests related to workspace methods in src/workspace/watcher.tests.rs

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/**/Cargo.toml : Add the specified dev-dependencies under [dev-dependencies] for the test infrastructure

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/../biome_lsp/src/server.tests.rs : Keep end-to-end LSP tests in ../biome_lsp/src/server.tests.rs

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:20:45.587Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_aria_metadata/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:20:45.587Z
Learning: Applies to crates/biome_aria_metadata/**/{build.rs,aria-data.json} : Keep aria-data.json at the expected location/name because build.rs uses it to generate ARIA metadata

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/tests/** : Create a tests directory containing a specs subfolder and the files spec_test.rs, spec_tests.rs, and language.rs

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:22:46.002Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/*.rs : Implement the `Format` trait for your node type and use `JsFormatter` with `write!`/`format_args!` to define formatting

Applied to files:

  • .github/workflows/benchmark_js.yml
📚 Learning: 2025-10-15T09:22:46.002Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/*.rs : Import and use the `FormatNode` trait for AST nodes

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/tests/spec_tests.rs : In tests/spec_tests.rs, generate tests with `tests_macros::gen_tests! {"tests/specs/html/**/*.html", crate::spec_test::run, ""}`

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:22:46.002Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/*.rs : Do not attempt to fix code; if a mandatory token/node is missing, return `None` instead

Applied to files:

  • .github/workflows/benchmark_js.yml
  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/src/lib.rs : Add the provided AsFormat, IntoFormat, and iterator plumbing code to lib.rs

Applied to files:

  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
  • .github/workflows/benchmark_css.yml
📚 Learning: 2025-10-15T09:24:31.042Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_parser/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:24:31.042Z
Learning: Applies to crates/biome_parser/crates/biome_*_{syntax,factory}/src/generated/** : Each new biome_<lang>_{syntax,factory} crate must have a src/generated/ directory for codegen output

Applied to files:

  • .github/workflows/benchmark_json.yml
  • .github/workflows/benchmark_graphql.yml
🔇 Additional comments (4)
.github/workflows/benchmark_graphql.yml (1)

15-15: Change looks good.

Path filter additions are consistent with the PR objective and properly placed in both PR and push sections.

Also applies to: 27-27

.github/workflows/benchmark_js.yml (1)

16-16: Consistent with other benchmark workflows.

Both pull_request and push path filters correctly extended to include biome_formatter.

Also applies to: 29-29

.github/workflows/benchmark_css.yml (1)

16-16: Looks good.

Path filters correctly updated to trigger benchmarks when formatter changes.

Also applies to: 29-29

.github/workflows/benchmark_json.yml (1)

16-16: Well done.

All four benchmark workflows now consistently monitor the biome_formatter crate for changes.

Also applies to: 29-29


Comment @coderabbitai help to get the list of available commands and usage tips.

@ematipico ematipico merged commit 538a610 into main Nov 9, 2025
3 checks passed
@ematipico ematipico deleted the ci/update-benchmarks branch November 9, 2025 16:57
ematipico added a commit to hamirmahal/biome that referenced this pull request Nov 19, 2025
l0ngvh pushed a commit to l0ngvh/biome that referenced this pull request Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants