Commit Graph

1046 Commits

Author SHA1 Message Date
Heikki Halmet
013e6972ce Change Insignificant flag to InsignificantTests for MSVC developer build
Builds are passing, but tests still failing

Task-number: QTQAINFRA-3949
Change-Id: Ieca2512e06ca09cabf042ee3c966dae65c9e5e86
Reviewed-by: Simo Fält <simo.falt@qt.io>
2020-11-05 18:07:03 +02:00
Tony Sarajärvi
57ae486e36 Bring back the -no-gui build in the CI
Task-number: QTQAINFRA-3999
Change-Id: Ifd1c76fc1eadf34a1024e7591f14ab6ab2c4bb56
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-11-05 10:29:17 +00:00
Liang Qi
01f0e37b48 CI: remove InsignificantTestsflag for two CentOS 8.1
Task-number: QTQAINFRA-2760
Task-number: QTQAINFRA-3065
Change-Id: Ic221b9c63ddfe5b5f62e3900f11fa0a27371e401
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-05 09:48:04 +01:00
Liang Qi
47b8427b15 coin: guard Ubuntu 20.04 for qtbase first
Task-number: QTBUG-86187
Change-Id: I677eec9b80ae7389fe63adc58a38979556654a8a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-10-30 21:34:54 +01:00
Heikki Halmet
c2db17d220 Change Insignificant flag to InsignificantTests for Ubuntu 20.04
Builds are passing now with Ubuntu 20.04, but tests are still failing.
Let's set Insignificant flag to affect only to test phase.

Change-Id: Ib9b4d652c9518d59d6a36c58b3a11f40ce777a74
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-10-30 12:34:57 +01:00
Heikki Halmet
1051fdbba2 Change Insignificant flag to InsignificantTests for CentOS 8.1
Builds are passing now and almost all autotests. Let's set insignificant
flag to affect only test phase for now.

Task-number: QTQAINFRA-3065
Change-Id: Icd233ef58bf92ec9ebfb6b56e163c16aad045bbd
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-10-30 07:30:59 +00:00
Alexandru Croitor
96eb6a5f2c CMake: Add DebugAndRelease feature to Ninja Multi-Config configs
This doubles the amount of processor power given to the VMs. This
mirrors what Coin does when it detects a -debug-and-release flag in
the configure flags when doing a qmake Qt build.

Change-Id: I33a5c6a50a4ac279d097664d145439c856f132ec
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-10-28 10:40:24 +01:00
Joerg Bornemann
c4a012ba3d Use the -qmake configure argument for UseLegacyInstructions configs
...to prepare switching the default from qmake to CMake.

Task-number: QTBUG-87049
Change-Id: I0f17e65cead99d2b7bf3191b1bfc96cee7d089e9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-23 16:52:19 +02:00
Toni Saario
ef0baf1ce9 Replace SLES with SLES-SP2 for qtwebengine
This was missed in f1e911e344.

Change-Id: I67ef590ab26d760b26da5e26ebd3a58262564b45
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2020-10-22 10:38:44 +03:00
Alexandru Croitor
b442b699db CMake: Mirror -qtlibinfix from the qmake CI config
Also disable warnings_are_errors. That's the way it is in the qmake CI
config. It was probably an oversight.

Fixes: QTBUG-85438
Change-Id: Id6e6a778dca1bfc5c13289e3f55048ce515e923f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-10-21 10:34:22 +02:00
Alexandru Croitor
94d91d2a6a Move rest of qt5.yaml platform configs to default.yaml
Change-Id: Ica5f3e6875caccd0553ce5a8376bcf30e7f953ad
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-20 20:00:00 +02:00
Alexandru Croitor
3490d00ce5 CMake: Enable sccache for MSVC configs
Pass -DFEATURE_msvc_obj_debug_info=ON to enable the /Z7 flag
compilation flag, which will embed debug info into the .obj files,
thus enabling usage of sccache for MSVC CI configs.

Task-number: QTQAINFRA-3934
Change-Id: I151eece0e35ebee8df0c58641727219ee40a7409
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-10-20 13:29:41 +02:00
Heikki Halmet
6ec71c345a Provisioning: Use system OpenSSL in linux instead of self built version
Task-number: QTQAINFRA-3863
Change-Id: I98fc2d787956bb23d2e50b618fdae0a094e4eeed
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-10-16 15:57:07 +03:00
Heikki Halmet
e98b85be22 Add CentOS 8.1 to CI
Insignificant flag is added for two targets. RedHat 7.6
will be kept as parallel until insignificant flag can be
removed from CentOS

Task-number: QTQAINFRA-2760
Task-number: QTQAINFRA-3065
Change-Id: If124600309644e6a066805cd728bf12862006a21
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-10-16 15:57:06 +03:00
Alexandru Croitor
f44dfe9c34 CMake: Build iOS in a release and debug configuration
To ensure that examples can be built with an xcode project
generated by qmake, we have to ship both debug and release
libraries.

So use Ninja Muli-Config to build both configs.

Note we build Release and not RelWithDebInfo on purpose, so we
don't inflate the package size too much due to the embedded debug
information.

We can probably switch to RelWithDebInfo once we implement the
separate_debug_info feature for static builds.

Fixes: QTBUG-87638
Change-Id: I3e26cd0e47fc96fbdee8b3b0177f78fa266b8cc4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-16 12:12:02 +02:00
Heikki Halmet
93a167e28e Remove Android multi qmake for linux
Target are already ported to cmake and qmake
target is failing with CentOS which will replace
Redhat

Change-Id: I792ae826c96012a10050ca07a071e01780f54f0c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2020-10-15 09:08:41 +03:00
Alexandru Croitor
6eea6ae689 CMake: Add missing qtbase macOS developer build configuration
Task-number: QTBUG-86053
Change-Id: I4fa4c03599e1a455eb1337d9980c2bda09cfd374
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-10-13 09:50:46 +02:00
Heikki Halmet
f1e911e344 Provisioning: Replace SLES-15 with SLES-15 SP2
Task-number: QTQAINFRA-3921
Change-Id: I325a4b8f272dda80168aed1389e647bbd525b10f
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-10-12 19:28:28 +03:00
Tony Sarajärvi
04d7a43cd6 Add a Windows 10 developer build for MSVC2019
Task-number: QTQAINFRA-3759
Change-Id: I46cf3056f79c03dd3f6e62b8901a737d52c4e058
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-10-06 12:52:00 +00:00
Alexandru Croitor
ab23bc2ecf Disable warnings are errors for qemu configs
To get at least some build coverage in CI, otherwise it fails to build
in qtbase.

Task-number: QTBUG-83968
Change-Id: Ifc67d3e98c0a00ad94211f8d73efa30a35eb0e14
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-10-05 10:52:10 +02:00
Alexandru Croitor
758ea825b9 Disable usage of forkfd_pidfd in qemu configurations
qemu can't emulate the feature properly, and that causes many tests
that use QProcess to fail. Use the newly introduced feature in qtbase
to disable the feature for qemu configurations.

Task-number: QTBUG-86285
Task-number: QTBUG-86187
Task-number: QTBUG-86198
Change-Id: Iecd5c64f6f2e98e5c5ab893b50a1fee2bc10108f
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-10-05 10:52:07 +02:00
Alexandru Croitor
b7d0021d4f CMake: Add qemu arm64 and mips64 configurations
Task-number: QTBUG-83968
Change-Id: I80a8214890f61a879b0c83acb63cef2b7958f4e9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-10-05 10:52:05 +02:00
Alexandru Croitor
94f091907e CMake: Enable qemu armv7 configuration for all repos
Task-number: QTBUG-83968
Change-Id: I0aca9b5ff53b8383001030dc7f7555cc5aaf2be8
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-10-05 10:52:02 +02:00
Alexandru Croitor
eff43863fc CMake: Enable separate debug info for the macOS packaging config
Task-number: QTBUG-86053
Change-Id: I9e8c7bceaab781bbe8f1ea507145b3521f17bbdd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-29 11:41:41 +02:00
Alexandru Croitor
87b043139e CMake: Partially mirror Ubuntu developer build config
Still missing the -qtlibinfix TestInfix and Documentation feature.

Task-number: QTBUG-86053
Change-Id: Ie0acc5bbdd9b2eb4fb070c59bd0e359f40b45d72
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-29 11:41:38 +02:00
Alexandru Croitor
87889aa18d CMake: Mirror missing default.yaml non-framework macOS config
Task-number: QTBUG-86053
Change-Id: I7e8138a64c1f13ee8be2995579575de1fe1e6a7f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-29 11:41:35 +02:00
Alexandru Croitor
5a7736264e CMake: Mirror missing qtdeclarative macOS config
Task-number: QTBUG-86053
Change-Id: I43712ca086e3b0e09af70f74c7199117c3678815
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-29 11:41:32 +02:00
Toni Saario
7ca4c85774 Enable sccache for test building
The sccache can also be used to speed up building tests. Test related
Environment variables are read by instructions and appended to tests
CMake call by: 7545511e37d69a119bbec861226700832799331f

Change-Id: I9b350f73b89e15d6b372417335acbf2312b67691
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-25 14:31:38 +00:00
Toni Saario
cc913ca25a Enable sccache for compatible platforms
Android targets, QEMU and the Ubuntu are capable of caching artifacts.

Change-Id: I417b7e9b7bd85fb21cce6dfbb2ac8985faba58eb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-25 14:14:51 +03:00
Cristian Adam
74f29a622a CMake: Update provisioned CMake to version 3.18.3
This version should fix the iOS PCH builds and Ninja Multi-Config,
as well as the issues with AUTOMOC and Ninja.

Temporarily explicitly disable the pkg_config feature on Windows
hosts, because otherwise the configuration will break. The
FindPkgConfig module in 3.18 has some additional behavior for checking
if the found pkg-config works, and that's not handled by our
qt_build_internals_disable_pkg_config_if_needed function in qtbase.

Fixes: QTBUG-86862
Change-Id: I80514d3d7896ae09ab252aed10e86725fae0cc9c
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-09-25 08:58:20 +02:00
Allan Sandfeld Jensen
6928140325 Update qtwebengine.yaml
Based on default with a few unsupported platforms removed

Change-Id: I8edfa83f3cc09172c041e8dd6adaf96666d0238d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-23 10:43:30 +02:00
Samuli Piippo
370586a9d9 Add platform configs for Boot2Qt docs
Change-Id: Id0f2cdaa04d73d8f68ac8dc97ec865b80568473a
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-09-22 11:00:06 +03:00
Alexandru Croitor
4c4bc9352d Re-add macOS host Android target qmake configuration
Partially reverts 37cb787dc1

Change-Id: Ida0d4095502ffc219cc290e3247b3dfb57dbd4bb
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-09-17 15:07:58 +02:00
Alexandru Croitor
195a8210c1 CMake: Add Windows10 x64 MinGW 8.1 host Android CMake targets
Adds the missing Windows host Android target configurations.

Each android architecture we support is re-added as a separate
configuration, because CMake builds currently don't support multi-abi
builds as tracked in QTBUG-80943.

Task-number: QTBUG-86053
Task-number: QTBUG-85911
Change-Id: I421c6fc726a4813dbab5fcd67961ae4124eccb13
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-09-17 12:48:32 +02:00
Alexandru Croitor
89dc32b516 CMake: Add macOS host Android target configs
This partially reverts 37cb787dc1
because it reintroduces the macOS host Android configs which were
removed due to qtbase std::pair shenanigans.

Each android architecture we support is re-added as a separate
configuration, because CMake builds currently don't support multi-abi
builds as tracked in QTBUG-80943.

Task-number: QTBUG-84924
Task-number: QTBUG-86053
Change-Id: Iac48ab41a1eb9cf1e4219f62683355d1bb9a9891
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-09-17 12:48:29 +02:00
Alexandru Croitor
9ad520eba2 CMake: Add missing Linux host Android x86_64 target config
It wasn't added before, because it didn't build due to an issue
in qtbase regarding qdrawhelper.cpp and avx2, which is now fixed
in ff1a44be33f4bc05d502a2ca49171e0408992f61 in qtbase.

Task-number: QTBUG-86053
Change-Id: I425e6a81840276a850bd95db45d5ecdfae5487a8
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-09-17 12:48:26 +02:00
Heikki Halmet
e3600116b3 Provisioning: Update Android ndk and build tools
Task-number: QTQAINFRA-3846
Change-Id: I5d3c0efce86e3b8bc3c6070ed4a9e438647bb955
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-09-08 14:52:22 +03:00
Alexandru Croitor
bfe83a7ea2 CMake: Add SLES config to mirror qmake one
Task-number: QTBUG-86053
Change-Id: Ia4159d2293597542f34a9fe847f29acc4743551c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-08 13:52:05 +02:00
Alexandru Croitor
465e18ee10 CMake: Add some missing Linux host Android target architectures
In Qt 5 times, qmake was able to build libraries for multiple Android
ABIs in one build tree.

In Qt 6.0 + CMake we can't do that yet, which is tracked in
QTBUG-80943.

We still need to build and ship libraries for all the ABIs, so use the
old style approach of one configuration per ABI.

Add some of the missing ABIs for the Linux host case:
arm64-v8a, armeabi-v7a, x86.

The x86_64 ABI will be added in a separate change, due to a bug in
qtbase regarding Gui's qdrawhelper.cpp and avx2.

Because it's a lot of copy pasting, move the configs into a separate
yaml file so it's easier to search and replace in the future.

Task-number: QTBUG-86053
Change-Id: If8419ce20ac033b644c49c0bac70196cd30fd679
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-09-08 13:52:05 +02:00
Alexandru Croitor
4da335cfda CMake: Remove superfluous host configure arguments on target configs
Now that we reuse host artifacts, there's no point in specifying host
configure arguments on target configurations, they aren't used.
Remove them to avoid confusion.

Change-Id: I176fe421bc36772cb29929c082ea76946210f98b
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-09-08 13:52:05 +02:00
Alexandru Croitor
a87493aede CMake: Switch Linux host Android target build to RelWithDebInfo
Change-Id: I9e96339019e56b847ddf1125cc7465cfc9506eae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-08 13:52:05 +02:00
Samuli Piippo
077a8080a2 Make meta-qt6 platform configs module-only
Don't use configs from default.yaml

Change-Id: Ic86ef0e3b7ed764bd1df9703385194ee364aada6
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-09-02 17:28:06 +03:00
Samuli Piippo
a882d44fe1 Add platform configs for meta-qt6
Uses same configs as meta-boot2qt

Change-Id: I78e385aa6b69dc99d956a5b50dc1b5671d1872a5
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-09-01 15:02:28 +03:00
Simo Fält
6d4d1e3501 Fix qt rta platform configs
Invalid syntax prevents listing for configs.

Change-Id: I15ba9dab57ed63c7949f3625a4e89adf4af3df89
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-08-27 11:41:23 +00:00
Alexandru Croitor
22af804aee CMake: Reuse host artifacts for all our cross-builds
Add a new Ubuntu 20.04 host to be used for the qemu configs.
We might be able to use the RHEL 7.6 host artifacts for qemu target
configs, but i'd rather we test on the same distro / OS for both
host and target.

Use the macOS host for iOS builds.

Task-number: QTBUG-85623
Change-Id: I6305f924b843a5a832bd94e5060211583c9c7f98
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-08-25 17:39:34 +02:00
Toni Saario
2920b36fa7 CMake: Build Android with artifacts from host RHEL build
Task-number: QTBUG-85623
Change-Id: I93bdbc9fda00fbe2b65d6e4e8ac5fa407f3469db
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-08-25 17:39:28 +02:00
Toni Saario
8f15d5af86 Mark module specific ubuntu20.04 configs insignificant
These are missing from the initial patch:
  716144073c
And currently block qtbase integrations.

Change-Id: Ife192aebf93b6344ff0341aed275ea2e104c6799
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-21 18:45:53 +03:00
Alexandru Croitor
177b0b0ea4 CMake: Update provisioned CMake version to 3.17.4
This CMake version among other things, fixes a bug with
Ninja Multi-Config writing into the same response file
on Windows, which can cause wrong libraries to be linked
(mixing Debug and Release libs).

Also disable PCH for iOS configs, because that seems to be broken
again.

We can't upgrade to 3.18.2 because that breaks iOS PCH in a different
way than 3.17.4, and because of an AUTOMOC regression introduced when
using Ninja Multi-Config.

Fixes: QTBUG-85586
Change-Id: I04c08d3a8bfb88433f2d50f4d41d11fc0df3d7ec
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-08-21 17:45:48 +02:00
Tony Sarajärvi
716144073c Mark some Ubuntu 20.04 confs as Insignificant due to failing tests
Task-number: QTBUG-86187
Change-Id: I5354cc6a9ca3970c1dffe6bef97996e5aba5e09b
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-08-21 11:32:29 +00:00
Alexandru Croitor
d44a1dafcc CMake: Add configuration flags to build sql plugins
Add various CMake configuration flags to enable building of the same
sql plugins that the qmake configurations do.

While qmake has various introspection mechanisms for finding plugins
inside
qtbase/src/plugins/sqldrivers/configure.json and configure.pri,
in CMake-land we sometimes need to be explicit and pass 3rd party lib
paths, so that the FindFoo.cmake modules successfully find the
libraries.
Sometimes it's not necessary because the find modules also do some
introspection in default paths like looking /usr on Linux, or
'C:\Program Files' on Windows.

While some qmake configs provide mysql path hints (like on Windows),
the plugin is actually disabled on purpose due to licensing issues
as per a05bd71ede and QTBUG-76081.

Also the qmake configs specifying arguments like -plugin-sql-sqlite
and -plugin-sql-odbc is redundant. These switches force enable the
corresponding features in src/plugins/sqldrivers/configure.json,
but it's actually not necessary because all the features (except
system sqlite3) are auto-detected and enabled if the actual 3rd party
library is found. The same is the case for the CMake build, so there's
no need to manually enable the features.

While the qmake qemu configs don't explicitly disable the mysql plugin
and actually provide a Yocto SDK mysql path via -mysql_config,
the library does not end up being found. It's unclear whether this is
a bug (despite the licensing issue mentioned above) or on purpose.
But the CMake build doesn't find it either, so it's consistent.

And I suppose -psql_config /dev/null is meant to disable the
postgresql plugin on QEMU configs. The QEMU CMake build doesn't find
the postgresql library by default anyway, so the result is also
consistent.

Sql plugins built per packaging config:

macOS: odbc, postgres, bundled sqlite
RHEL: odbc, postgres, bundled sqlite
Win10 MSVC x64: odbc, postgres, bundled sqlite
Win10 MinGW x64: odbc, postgres, bundled sqlite
Android any arch: bundled sqlite
iOS: bundled sqlite
QEMU any arch: bundled sqlite

Task-number: QTBUG-86053
Change-Id: Ic759eb29fc5350cbdfe2825817af74767c4fb12a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-08-21 10:05:46 +02:00