We need to start using Ubuntu 18.04 with Qt6 binary package
targets. Ubuntu 18.04 includes older GLIBC version which
shouldn't cause any problems with linux distributions supported
by Qt6
Tests will be executed with Ubuntu 20.04.
Task-number: QTQAINFRA-4193
Change-Id: Icb189c509351ff080a2c6431299cc0be6ba8adc1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit b64b4b169e)
We now build with the latest Xcode available, and then run the tests
on all the supported deployment target (10.14, 10.15, 11).
At this point we have the following build/test coverage:
- Packaging build, all modules tested on:
- 10.14 (significant)
- 10.15 (insignificant)
- 11.x (insignificant)
- Developer build, qtbase/declarative tested on:
- 10.14 (significant)
- 10.15 (insignificant)
- 11.x (insignificant)
Change-Id: I309bbf5ace7b22b768203f579e29f7a9e2b589b9
Reviewed-by: Toni Saario <toni.saario@qt.io>
It's handled by the provisioning scripts that install Xcode and make
it the default via xcode-select --switch.
Change-Id: I788a3672f554112517619f55d5cc810351c56bff
Reviewed-by: Simo Fält <simo.falt@qt.io>
It's handled automatically by the build system, and set to the
lowest macOS version Qt supports at any point in time.
Change-Id: I7dc7b9f7fe5961ad4d4383590077d7990a84f850
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
This reverts commit b8ae74d78a.
Reason for revert: Emulator startup issue is fixed now with
86a655387c26cd25dde69cebd18b5ff9379fbe3e.
Pick-to: 6.0
Change-Id: Id5d8f4db7bfcf194076385c6271bb324c126e268
Reviewed-by: Toni Saario <toni.saario@qt.io>
Qt 6.0 is now built with CMake successfully in the CI and we have
most of the coverage we had with qmake CI configurations. Apart
from platforms and modules we deemed not part of 6.0 release.
We didn't have enough time to disable qmake configurations for
6.0.0, but we should be able do it now for 6.1.
We can also consider removing qmake configurations for 6.0.x
sometime later.
Remove all CI configurations that use qmake to build Qt.
Keep the default.yaml license check UseLegacyInstructions
configuration, because license checking hasn't been ported to use new
Coin instructions.
One consequence of this is that developers that are working on
platforms and modules not yet ported to CMake (like WebAssembly or
qtwebengine), will no longer have coverage in CI until they are ported
to CMake.
If there are repo owners that wish to retain CI coverage for building
their repo with qmake (until a CMake port is done), they can do so by
creating a product_dependencies.yaml file in the root of their repo
and specifying an older qt5.git sha1 (so before this change is merged)
which still contains qmake CI configurations.
Task-number: QTBUG-88741
Task-number: QTBUG-86053
Change-Id: I985cf0597d6d3e1717fdff8b654397a5f9236a6e
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
The qtbase Android test job often times hangs, causing other
integrations to fail. Until the issue is fixed, mark the config as
InsignificantTests.
Pick-to: 6.0
Change-Id: I4921d5a830bf49cb144a6e93bd4e3a6ee34f216f
Reviewed-by: Toni Saario <toni.saario@qt.io>
...to prepare switching the default from qmake to CMake.
Task-number: QTBUG-87049
Change-Id: I0f17e65cead99d2b7bf3191b1bfc96cee7d089e9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Move the configuration from qtbase into a new
cmake_platforms_qemu.yaml file, and include it in qtbase and qtsvg.
Also enable CMAKE_AUTOGEN_VERBOSE to see what moc is being called
and with what parameters.
Task-number: QTBUG-83968
Change-Id: Ib893c6f8cb498b9b5c7da79218de22a28ffdb83f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The qtbase Coin instructions will start reading the values of the
environment variables NON_QTBASE_CONFIGURE_ARGS and
NON_QTBASE_TARGET_CONFIGURE_ARGS.
These are used to pass configure args to repositories other
than qtbase to allow disabling certain features per-repo.
Unfortunately we have to explicitly set the env var values to empty
strings so that the instructions work correctly, otherwise Coin
replaces them with a '<no value>' token, which breaks the
CMake configuration phase.
For some reason the issue only happens on the Windows MSVC
configuration, but we set them for the other configurations as well
to avoid any future breakages.
Task-nunber: QTBUG-84886
Change-Id: I4b095f71c6e484a0e67a53eb6ea9d5ca4f2a6a0c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Remove the DisableTests feature to force the qtbase instructions
to build and run the tests.
Task-number: QTBUG-84423
Task-number: QTBUG-83968
Change-Id: Ic904c7b0f3d6d6ab8a546d683b0110b0704bf42c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Switch the configuration to have release + developer-build similar
to the qmake configurations.
Add debug info for extra spiciness.
Specify a new env variable called QT_SYSROOT_FOR_RUNNING_TESTS which
will be used by the qtbase instructions to set QEMU_LD_PREFIX, which
is needed to run the tests via qemu.
Specify the QT_QUICK_BACKEND=software env var as well as the
GST_PLUGIN_SCANNER env var, because the qmake configurations do it.
Make sure to cross-build tools, because some of the tests like
tst_uic and tst_rcc expect the tools to be there.
Note that DisableTests feature is left on purpose, so we can decouple
the building from the testing in 2 different steps.
Task-number: QTBUG-84423
Task-number: QTBUG-83968
Change-Id: Icf6b12e6942c6ae6a0445eeac3f88704ca797148
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
After Coin commit 60a6f795f5923c7c206b3fec4ebad991ce30d633 it is
possible to include other intermediate configuration files.
Create a new cmake_platforms.yaml file which will contain the default
list of platform configurations to be tested in all cmake-enabled
repos and qt5.git.
Task-number: QTBUG-85044
Change-Id: I10e4dff8793a1ffb5776e00dac80f43394d18578
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
For releasing purposes, we should align the configure arguments
(actually CMake arguments) of the Packaging configurations with the
ones we used for Qt 5.15.x releases.
In particular for linux builds this means disabling the use of a few
system libraries (a new one that needs to be disabled is
double-conversion, it was not provisioned for Qt 5.15.x builds, but
was installed for dev builds).
Apply the changes across all repos, to be consistent and build the
same for qt5.git and per-repo builds.
Task-number: QTBUG-85047
Change-Id: I784abc6367bcda574691758942f89257e891647e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
When building a RelWithDebInfo configuration, the debug symbols for
the libraries are embedded into the .dlls. This causes the file size
to be really big (around 400MB for libQt6Gui.dll). On a 32-bit system,
the Windows loader failed to map such big libraries into memory,
and thus certain tests failed with exit code 0xc0000017
which means STATUS_NO_MEMORY.
The solution is to enable the separate debug info feature, to split
the debug files into separate files, just making they dlls nice and
small.
This should fix quite a few of the failing MinGW 32-bit tests for
qtdeclarative, qtquickcontrols2, etc.
Task-number: QTBUG-84886
Change-Id: I10ae0acca5d7d5523d3ae2f0c49587ace239f301
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Coin now has CMake 3.17, so iOS multi-arch builds should
successfully build.
Switch the iOS CMake configurations to simulator_and_device ones.
Task-number: QTBUG-80899
Change-Id: I9c8bde9f1a3c483ea296f3d9d06f089cbfdf2416
Reviewed-by: Liang Qi <liang.qi@qt.io>
And configure with two configurations, RelWithDebInfo and Debug.
This is equivalent to qmake's
--debug-and-release --force-debug-info
This should give us minimal coverage for debug-and-release builds,
as well as avoid regressions with NMC aka multiple configurations.
If the qtbase builds successfully, we can try to extend the rest of
the repositories to also build with NMC on Windows.
We can't add such a configuration to macOS for now, because it
requires CMake 3.18, which is not released yet.
Disable PCH because it seems to fail the build when used together
with Ninja Multi-Config.
Task-number: QTBUG-80900
Change-Id: I71a9584ddb1d48ed22925f67b50891e102036c97
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Also include debug info. This is the equivalent of qmake's
--release --framework --force-debug-info --separate-debug-info
Change-Id: I2778b4998890146c82552f9c721a48174a764839
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
It should be a developer build, but due to some features
that are not ported in src/gui/configure.cmake (directwrite)
there are compilation errors due to unused arguments in
static bool QWindowsFontDatabaseBase::init(QSharedPointer)
in platformsupport/fontdatabases/windows/qwindowsfontdatabasebase.cpp
So it's not a developer build for now.
Task-number: QTBUG-75578
Change-Id: Ieb6daca45473ea42748a39f3e9e33a9db087a0e0
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
This adds the basic armv7 configuration and passes through two
additional variables for use in the build instructions:
* QT_YOCTO_ENVSETUP points to the environment-setup script that the
Yocto SDK expects to be sourced before building against the target
sysroot.
* QT_CMAKE_DIR points to the directory that contains our cmake
installation. Since the environment-setup prepends the Yocto host
bin dir to the PATH, we'd end up picking the wrong cmake.
Also the choice of system Harfbuzz is disabled as Qt does not build
against the version shipping in Yocto.
Change-Id: I8d657e773143c4db0e2437d029d62372f7b7e638
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Needed for enabling all the various OpenSSL classes in Qt.
Change-Id: Ic20ab464552317a2753ae0e35043e16cc6c60ab3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
These are also updated to tier1 image:
msvc 2017: Not installed
msvc 2019: version 16.4.4
msvc 2019 build tools: version 16.4.4
Task-number: QTQAINFRA-3623
Task-number: QTQAINFRA-3417
Change-Id: I006204ca090c4e2cf0d2ffc2309ab6b94f9b7d47
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Apparently standalone Debug iOS builds are not supported in qmake
at the moment as per QTBUG-71990.
While we keep the same configure.json error reports for both qmake and CMake
it's simpler to switch the config to Release.
Once we get Ninja Multi-Config in Coin working, we can switch to
debug_and_release.
Change-Id: I406012918fd402ad0ff29bbdc151e247699eea72
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Now that qtbase supports building bundled 3rd party libraries, we
should have no need for vcpkg in Coin anymore.
Change-Id: I7aa7b0323416b60ffb0cd70eec287e5f25963d9a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
It will be reinstated later once confirmed that all the necessary
bits are there.
Change-Id: I04ca0dda3f9feece8acc9039c8372d346b4f3cd4
Reviewed-by: Liang Qi <liang.qi@qt.io>
Adjust the SDK root path to match what's on the system. This should
ideally not be hardcoded here but detected, but for now fixing the build
is highest priority.
Change-Id: I317fe9a4e038cb62cf6cdf06f10a60aa9d975e15
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
We've switched the qmake configs as well, so cmake should follow.
Change-Id: Ib0cf4b3ade56714b4437afd5ce301204e5b31d24
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This change enables building a few CMake configurations of qtbase in
Coin.
It should only be merged once qtbase wip/cmake -> dev change is
merged.
Change-Id: I7542af91c7f0004219d0155cad485582883e8e95
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
We want to run all tests on macOS 10.14, which requires some more fixes
in qtquickcontrols2. That however isn't passing due to unrelated changes
in base/declarative blocking us from moving forward. So to decouple the
two, this change limits macOS tests to qtbase and declarative but on
10.14. This will allow us to switch qtbase over to C++17 and once we've
got qqc2 updated in qt5.git, we can globally re-enable tests for 10.14.
Task-number: QTQAINFRA-3108
Change-Id: I0f835a1da87187c6bb69e3d4019196e1411095fd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This change is preparation for merging qtbase wip/cmake -> dev,
because that will bring in the new yaml instructions on how
to build the CMake configurations, which means that legacy
instructions provided by Coin itself need to be used for all
the existing qmake configurations.
Change-Id: I7005835719b83b7186138292a2e1baf4d2a4a3e0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>