Details
-
Suggestion
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.9, 6.10
-
None
Description
There was a new patch merged to Qt WebEngine 6.10 and 6.9:
615072: Add coin sanity check | https://codereview.qt-project.org/c/qt/qtwebengine/+/615072
The whitelist in the patch hardcodes all target platforms IDs and what projects they should and should not build. No ID match = CMake stops the build.
The issue is that there are often new platforms and their target configurations introduced/updated in qt/qt5 repo, and after each of these changes in qt5, they now also always require changes to the whitelist in qt/qtwebengine, plus a submodule update round, to get a new target build passed in qt/qt5.
Example case: Windows 11 24h2 is being introduced to qt/qt5 dev with non-blocking tests. Qt WebEngine build fails and stops to the sanity check:
https://coin.ci.qt.io/coin/integration/qt/qt5/tasks/web_rescheduled_qt_qt5_1742556726331
CMake Error at cmake/QtConfigureHelpers.cmake:300 (message):
Undefined coin sanity check for windows-11_24H2-msvc2022 platform
Current method to fix this is to define a new target to the whitelist in qt/qtwebengine:
632933: Add Windows 11 24H2 to Coin sanity white list | https://codereview.qt-project.org/c/qt/qtwebengine/+/632933
But this now requires a submodule update for the qt/qt5 change to pass. Adding delay to any change in qt/qt5 that needs to be reflected in a target ID.
The request is to implement a way to benefit from the Coin sanity check which does not block WebEngine build for new platforms/targets in qt/qt5.
Can the whitelist be enforced in an autotest instead? New platforms in qt/qt5 are merged to dev with non-blocking tests at start so this method gives more leeway for qt/qt5 to notice and add them.
Another possible improvement would be limiting the check to OS/compiler/arch type only (e.g. windows-11_23H2-msvc2022-arm64 -> check only for: windows msvc arm64).