Skip to content

build: run perfetto build and test on GHA - #64721

Closed
legendecas wants to merge 4 commits into
nodejs:mainfrom
legendecas:ci-perfetto
Closed

legendecas wants to merge 4 commits into
nodejs:mainfrom
legendecas:ci-perfetto

Conversation

@legendecas

@legendecas legendecas commented Jul 24, 2026 •

Copy link
Copy Markdown
Member

This ensures that the src/lib changes (like emitting trace events) are compatible with perfetto, and compatible with V8 compiled with perfetto.

Refs: #64565
Fixes: nodejs/diagnostics#654

@nodejs-github-bot

ghost commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/actions

@nodejs-github-bot nodejs-github-bot added the meta Issues and PRs related to the general management of the project. label Jul 24, 2026
@legendecas legendecas added dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v24.x PRs that should not land on the v24.x-staging branch and should not be released in v24.x. labels Jul 24, 2026
Comment on lines +44 to +48
path: node
- name: Install Clang ${{ env.CLANG_VERSION }}
uses: ./node/.github/actions/install-clang
with:
clang-version: ${{ env.CLANG_VERSION }}

ghost Jul 24, 2026

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.

Suggested change
path: node
- name: Install Clang ${{ env.CLANG_VERSION }}
uses: ./node/.github/actions/install-clang
with:
clang-version: ${{ env.CLANG_VERSION }}
- name: Install Clang ${{ env.CLANG_VERSION }}
uses: .github/actions/install-clang
with:
clang-version: ${{ env.CLANG_VERSION }}

nit: use the CWD

ghost Jul 24, 2026

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.

Comment thread .github/workflows/test-linux-perfetto.yml Outdated
Comment thread .github/workflows/test-linux-perfetto.yml Outdated
Comment thread .github/workflows/test-linux-perfetto.yml Outdated

ghost left a comment

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.

LGTM, we should probably update the other workflows to use the CWD, IMO it's cleaner

@Renegade334

ghost commented Jul 25, 2026

Copy link
Copy Markdown
Member

Could we enable this for the existing Linux workflow rather than adding an additional run?

@Renegade334
Renegade334 requested a review from aduh95 July 25, 2026 02:09
@legendecas

ghost commented Jul 27, 2026

Copy link
Copy Markdown
Member Author

Could we enable this for the existing Linux workflow rather than adding an additional run?

We could. Still, I think in the near future, we might want to keep testing both legacy tracing and perfetto tracing, until we can fully deprecate the legacy one.

ghost Jul 27, 2026

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.

For other flags (except QUIC, but the QUIC job being restricted to a very limited set of files, that's less of a concern), we put this as part of the test-shared workflow. Can we do that here as well? Having a dedicated job is probably a waste and won't scale well.

ghost Jul 29, 2026

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.

Thanks for the suggestion, updated!

@codecov

ghost commented Jul 27, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.85714% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 90.17%. Comparing base (f8f8aa2) to head (a8e5815).
⚠️ Report is 51 commits behind head on main.

Files with missing lines Patch % Lines
src/tracing/trace_event_helper.cc 92.30% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #64721      +/-   ##
==========================================
+ Coverage   90.14%   90.17%   +0.03%     
==========================================
  Files         746      746              
  Lines      242818   242771      -47     
  Branches    45765    45740      -25     
==========================================
+ Hits       218884   218918      +34     
+ Misses      15417    15345      -72     
+ Partials     8517     8508       -9     
Files with missing lines Coverage Δ
src/debug_utils.h 80.00% <ø> (ø)
src/node_trace_events.cc 82.30% <ø> (ø)
src/tracing/node_trace_writer.cc 77.50% <100.00%> (-1.12%) ⬇️
src/tracing/trace_event_helper.h 100.00% <ø> (ø)
src/tracing/trace_event_helper.cc 95.65% <92.30%> (-4.35%) ⬇️

... and 60 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@legendecas
legendecas force-pushed the ci-perfetto branch 4 times, most recently from 494f038 to dd064f0 Compare July 29, 2026 13:54
@legendecas legendecas added test Issues and PRs related to Node.js core tests and test infrastructure. lib / src Issues and PRs involving general changes in the lib/ or src/ directories. labels Jul 29, 2026
Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net>
@legendecas

ghost commented Jul 29, 2026

Copy link
Copy Markdown
Member Author

Rebased on the latest main branch to fix conflicts and build failures.

@legendecas legendecas added the trace_events Issues and PRs related to trace events from V8, Node.js core, and user code. label Jul 29, 2026
Chengzhong Wu added 3 commits July 30, 2026 09:43
Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net>
Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net>
Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net>
@nodejs-github-bot

ghost commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

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

Labels

commit-queue-rebase PRs the Commit Queue should land as multiple self-contained commits. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v24.x PRs that should not land on the v24.x-staging branch and should not be released in v24.x. lib / src Issues and PRs involving general changes in the lib/ or src/ directories. meta Issues and PRs related to the general management of the project. test Issues and PRs related to Node.js core tests and test infrastructure. trace_events Issues and PRs related to trace events from V8, Node.js core, and user code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reopening Perfetto in Node discussion

7 participants