winlibs / winlib-builder

MIT License
6 stars 5 forks source link

Prepare vs17 library builds #7

Closed cmb69 closed 2 weeks ago

cmb69 commented 3 months ago

To be able to do vs17 (aka. Visual Studio 2022) builds, we need to switch to windows-2022 runners (or would need to install that VS version on windows-2019). Instead of using either runners, we use windows-2022 for vs17 and as well as vs16 builds, what shouldn't be a problem, and solves the potential issue that windows-2019 runners may not provided until end of 2027 (where we still may have to build PHP 8.3 dependencies). windows-2022 runners do no longer support vc15 by default, but that shouldn't be a problem, since none of the supported PHP versions need vc15 builds.

Note that this is barely tested yet, thus I'm submitting this as draft PR.

cmb69 commented 1 month ago

While I have not been able to thoroughly test this, I'm marking the PR as ready for review, since there is not much time until PHP 8.4.0 goes into RC stage, and we should probably rebuilt all dependencies with vs17.

An alternative to switching to windows-2022 runners would be to take the version (2019 vs. 2022) as input argument, and to remove the PHP version input for those workflows which don't need dependencies (for the others we would need to ask for both runner version and PHP version).

Note that there is some overlap with PR #9; especially which Windows SDK versions to use is something to consider.