Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.14
-
None
Description
One of the major offenders regarding "qt5" integrations build time, is qtwebengine on Windows. In a qt5 5.14 integration there are many workitems on Windows, building qtwebengine with different compiler versions. But in the log of each one, I see qtwebengine built twice, once in debug, once in release.
Example log snippets:
agent:2020/02/11 12:46:20 build.go:220: "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe" -f Makefile.gn_run.Release all agent:2020/02/11 12:46:20 build.go:220: agent:2020/02/11 12:46:20 build.go:220: Microsoft (R) Program Maintenance Utility Version 14.16.27034.0 agent:2020/02/11 12:46:20 build.go:220: Copyright (C) Microsoft Corporation. All rights reserved. agent:2020/02/11 12:46:20 build.go:220: agent:2020/02/11 12:46:20 build.go:220: C:\Users\qt\work\qt\qtwebengine\src\3rdparty\ninja\ninja.exe -j16 -C C:\Users\qt\work\qt\qtwebengine\src\core\release QtWebEngineCore agent:2020/02/11 12:46:28 build.go:220: ninja: Entering directory `C:\Users\qt\work\qt\qtwebengine\src\core\release' agent:2020/02/11 12:46:29 build.go:220: [1/27013] STAMP obj/build/config/common_deps.stamp
and after some hours
agent:2020/02/11 14:26:47 build.go:220: "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe" -f Makefile.gn_run.Debug all agent:2020/02/11 14:26:47 build.go:220: agent:2020/02/11 14:26:47 build.go:220: Microsoft (R) Program Maintenance Utility Version 14.16.27034.0 agent:2020/02/11 14:26:47 build.go:220: Copyright (C) Microsoft Corporation. All rights reserved. agent:2020/02/11 14:26:47 build.go:220: agent:2020/02/11 14:26:47 build.go:220: C:\Users\qt\work\qt\qtwebengine\src\3rdparty\ninja\ninja.exe -j16 -C C:\Users\qt\work\qt\qtwebengine\src\core\debug QtWebEngineCore agent:2020/02/11 14:26:58 build.go:220: ninja: Entering directory `C:\Users\qt\work\qt\qtwebengine\src\core\debug' agent:2020/02/11 14:27:01 build.go:220: [1/27580] STAMP obj/build/buildflag_header_h.stamp
Here are links to some links to similar logs:
- https://testresults.qt.io/coin/logview/qt/qtwebengine/4747313c299e607a66b8dc515cc9ed1cd0551d35/WindowsWindows_10x86_64WindowsWindows_10x86MSVC2017qtci-windows-10-x86_64-15-f36aa5/950a90aa7f4d713f17f663ed671d231dc094d5a4/build_1581365299
- https://testresults.qt.io/coin/logview/qt/qtwebengine/4747313c299e607a66b8dc515cc9ed1cd0551d35/WindowsWindows_10x86_64WindowsWindows_10x86_64MSVC2017qtci-windows-10-x86_64-15-f36aa5/4695bba45e076c7159bc2557b7561c2ed484cfcd/build_1581365303
- https://testresults.qt.io/coin/logview/qt/qtwebengine/4747313c299e607a66b8dc515cc9ed1cd0551d35/WindowsWindows_10x86_64WindowsWindows_10x86MSVC2019qtci-windows-10-x86_64-15-f36aa5DisableTests/950a90aa7f4d713f17f663ed671d231dc094d5a4/build_1581365301
- https://testresults.qt.io/coin/logview/qt/qtwebengine/4747313c299e607a66b8dc515cc9ed1cd0551d35/WindowsWindows_10x86_64WindowsWindows_10x86_64MSVC2019qtci-windows-10-x86_64-15-f36aa5DisableTests/4695bba45e076c7159bc2557b7561c2ed484cfcd/build_1581365305
Do we really need both debug and release builds on every integration? If yes, can't we submit them as separate workitems?
P.S. Can we use flags to avoid some optimisations and keep less symbols in order to speed up integrations? And optionally turn them back on only when releasing?