Skip to content

Add Windows Clang workflow to nightly matrix#21630

Open
henderkes wants to merge 4 commits intophp:PHP-8.2from
henderkes:feat/clang-matrix
Open

Add Windows Clang workflow to nightly matrix#21630
henderkes wants to merge 4 commits intophp:PHP-8.2from
henderkes:feat/clang-matrix

Conversation

@henderkes
Copy link
Copy Markdown
Contributor

As requested here: #21619 (comment)

I am not sure if 8.2 actually builds with Clang or if I need to pick some other fixes from above mentioned branch in here, too.
@iluuu1994 could you add the CI: Windows label?

Copy link
Copy Markdown
Member

@iluuu1994 iluuu1994 left a comment

Choose a reason for hiding this comment

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

Great, thanks! I added the labels, you'll need to push again for CI to pick up on it.

: [
['asan' => false, 'opcache' => true, 'x64' => true, 'zts' => true],
];
if ($all_variations || $test_windows) {
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.

To stay consistent with the other jobs, this should be enabled only with $all_variations but not with $test_windows.

Copy link
Copy Markdown
Contributor Author

@henderkes henderkes Apr 4, 2026

Choose a reason for hiding this comment

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

I would like there to be a simple path to testing windows+clang. Generally every change affecting Windows should work on both MSVC and Clang. Would you be open to a different label instead?

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.

What's the intention of the label? To run the Window+Clang build only without running the other Windows builds?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thinking about it again, a new label doesn't make sense. I just believe Clang should always be tested and eventually become the default. It's just producing so much faster binaries.

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.

Ok. Please make the changes as suggested for now. We can reconsider enabling it by-default if they become the default. I doubt Clang builds on Windows are in wide use atm. If you push with the suggested changes, the job should run.

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.

Oh sorry, I see that you already made this change. I'll see how we should proceed.

Copy link
Copy Markdown
Contributor Author

@henderkes henderkes Apr 4, 2026

Choose a reason for hiding this comment

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

Already done as suggested

if the windows team doesn't want to switch to clang for 8.6 yet, we might ship clang builds with FrankenPHP as an alternative build. If it were 10% performance there'd be no reason, but +60-90% faster is just hard to ignore. No enhancement we could ever do to FrankenPHP itself could offer that much extra performance

@henderkes henderkes force-pushed the feat/clang-matrix branch 2 times, most recently from 9974cc4 to 2811cd3 Compare April 4, 2026 11:24
@henderkes henderkes force-pushed the feat/clang-matrix branch from 2811cd3 to 9f51aab Compare April 4, 2026 11:25
@henderkes henderkes changed the title Add Windows Clang workflow to nightly matrix and "CI: Windows" label Add Windows Clang workflow to nightly matrix Apr 5, 2026
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.

2 participants