Skip to content

Moving to ClangCL on Windows for Node.js v24 #4067

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 17, 2025

Conversation

StefanStojanovic
Copy link
Contributor

TL;DR

This change switches from MSVC to ClangCL for release builds from Node.js v24. It also stops MSVC compilation for v24+ in the test CI.

Description

This PR is the last step needed to move to the ClangCL-produced binaries on Windows. Currently, we are compiling and testing ClangCL in the test CI alongside MSVC for v24, which creates a manageable bottleneck because of the doubled compilation and testing jobs run on each PR. With this change, we will stop MSVC compilation for v24+ in both test and release CI, meaning that ClangCL will become the only supported compiler for Node.js (I'll open a PR in node to document this).

I've tested the changes from this PR in 2 temporary jobs in test CI and release CI for versions 24, 23, and 22, and everything works as expected.

Mentioning relevant teams for visibility: @nodejs/build @nodejs/releasers @nodejs/tsc

Refs: #4001

Copy link
Member

@targos targos left a comment

Choose a reason for hiding this comment

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

Thank you!

@StefanStojanovic
Copy link
Contributor Author

I've checked the recording from the TSC meeting yesterday, and since there was a consensus to move to ClangCL, I'll land this PR now.

@StefanStojanovic StefanStojanovic merged commit 0b8150c into nodejs:main Apr 17, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants