-
Notifications
You must be signed in to change notification settings - Fork 8k
Add Windows Clang workflow to nightly matrix #21630
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
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -144,12 +144,18 @@ function select_jobs($repository, $trigger, $nightly, $labels, $php_version, $re | |
| $jobs['SOLARIS'] = true; | ||
| } | ||
| if ($all_jobs || !$no_jobs || $test_windows) { | ||
| $jobs['WINDOWS']['matrix'] = $all_variations | ||
| ? ['include' => [ | ||
| $windows_include = $all_variations | ||
| ? [ | ||
| ['asan' => true, 'opcache' => true, 'x64' => true, 'zts' => true], | ||
| ['asan' => false, 'opcache' => false, 'x64' => false, 'zts' => false], | ||
| ]] | ||
| : ['include' => [['asan' => false, 'opcache' => true, 'x64' => true, 'zts' => true]]]; | ||
| ] | ||
| : [ | ||
| ['asan' => false, 'opcache' => true, 'x64' => true, 'zts' => true], | ||
| ]; | ||
| if ($all_variations || $test_windows) { | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 |
||
| $windows_include[] = ['asan' => false, 'opcache' => true, 'x64' => true, 'zts' => true, 'clang' => true]; | ||
| } | ||
| $jobs['WINDOWS']['matrix'] = ['include' => $windows_include]; | ||
| $jobs['WINDOWS']['config'] = version_compare($php_version, '8.4', '>=') | ||
| ? ['vs_crt_version' => 'vs17'] | ||
| : ['vs_crt_version' => 'vs16']; | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.