Commit Graph

4215 Commits

Author SHA1 Message Date
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
Jani Heikkinen
67618e9138 Update submoduls on 'dev'
Change-Id: Ic6c369fe658b74f0fbc739f145b858999e679179
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2020-09-17 07:06:09 +03:00
Konstantin Tokarev
f73fa57088 Provisioning: Update Conan to 1.29.0
Task-bumber: QTQAINFRA-3916
Change-Id: I52d8a0255efcc7b4b139ec5050cf3d59003f12a9
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-09-16 08:58:35 +03:00
Konstantin Tokarev
c79904c463 Provisioning: Update Conan packages
* Update libjpeg-turbo to 2.0.5
* Replace MinGW 7 packages with MinGW 8
* Remove zlib packages as Qt is consistently built with -qt-zlib now

Task-bumber: QTQAINFRA-3916
Change-Id: Ib3355265dc35326d30eacb60d0e3c97f06e6f9be
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-09-16 08:58:33 +03:00
Heikki Halmet
dd2111cf9f Provisioning: Disable daily cron jobs from SLES 15
Task-number: QTQAINFRA-3919
Change-Id: Iabf03aeadb3f0fa7091428ef3ea6075b199d9c77
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-15 18:44:46 +03:00
Heikki Halmet
51fc48896c Provisioning: Disable btrfs balance jobs
Btrfs use lot's of CPU while running

Task-number: QTQAINFRA-3919
Change-Id: I08b89b57c92d90f752dde76375711e61ed173c2c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-15 18:44:41 +03:00
Heikki Halmet
031bc19ae6 Provisioning: Disable fstrim.timer
fstrim scans the filesystem and sends 'UNMAP' commands for each
unused block it finds. Let's disable it so it won't cause unexpected
situations.

Task-number: QTQAINFRA-3919
Change-Id: I20c97441fd47728a3063ae50f87fe6347186bdbd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-15 18:44:12 +03:00
Johanna Äijälä
b43c199d4a Add missing Squish installation to win10 x86 Squish archive
Win10 x86 archive was missing msvc142 x86 package.

Pick-to: 5.15
Change-Id: I532c3a1129d75968c22b721390ff474548e642bf
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-09-11 08:05:30 +00:00
David Edmundson
c416b79407 Cmake: Include 3rdparty cmake dependencies in CMAKE_MODULE_PATH
QtWayland looks for WaylandScanner. If QtBase is installed our CMake
find files will be installed and everything will work correctly.

If QtBase is not installed yet or out of date, we need to add our source
cmake files to the search path. We currently add one of the 3rd party
directories, but not the subdirectories.

Change-Id: I53ce26b5b21b7e5e74752c730bca90295147f851
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-10 09:54:47 +01:00
Alexandru Croitor
572aadf1fb Android: Fix typo in ANDROID_SDK_HOME Windows host env var
Apparently qmake doesn't actually use the env var, but this failed
the WIP CMake Android configurations.

Amends e3600116b3

Change-Id: I30866af0eb63efefe72b709182f8cb5ba3250b12
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-09-09 13:58:17 +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
9c2db89a83 CMake: Provision CMake on SLES to allow building Qt
Task-number: QTBUG-86053
Change-Id: Icbc882ed6011373c14f47f559b4370baa37fbb7e
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
Heikki Halmet
6e3cb240df Provisioning: Retry python installation if failure occurs
Python installation is flaky and we haven't be able to determine the
root cause for it. Re-running the installation might help.
(Might) because we can't reproduce this manually.

Task-number: QTQAINFRA-3875
Change-Id: Id46d250a02e01007f03dfbb886d75b23c23a6216
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-09-04 08:19:15 +03:00
Johanna Äijälä
91c267a677 Provisioning: update Squish to 6.6.1 based on Qt5.15.0
Add Squish for Web installation, update Squish license.

Pick-to:5.15

Change-Id: Id418830e82718afc20ac7390400342a6b0401a64
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-09-03 10:39:41 +03:00
Samuli Piippo
be4e07e534 provisioning: add diffstat for yocto builds in Ubuntu 20.04
Change-Id: I912021e4533fcad0ac45a86bb31f8cf01e176172
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-09-02 17:28:06 +03: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
Heikki Halmet
9028eb10a5 Revert "Print all error messages during Python provisioning"
This reverts commit 59f141ec3c.

Reason for revert: Provisioning will continue even if python installation fails

Change-Id: Iaa0a48a2179c2198a32fb9a4feb55266cc64c396
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-09-01 09:00:36 +00:00
Heikki Halmet
59f141ec3c Print all error messages during Python provisioning
Print verbose, debugging and error messages to log in case of installer
failure.

Task-number: QTQAINFRA-3875
Change-Id: I2a701a655bd5e9b434011d3c68a2d8a31e119103
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-08-27 15:02:55 +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
Tony Sarajärvi
6f255f9a69 Provision ssh into Ubuntu 20.04
Change-Id: Id417bf80d6de4181cbdad86b0208010c39f01ac7
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2020-08-26 09:02:57 +00:00
Tony Sarajärvi
7a5069e979 Update QDoc libclang to 10.0
Change-Id: Ic4899f188c92502c6f6808dcc05922d4980cadfd
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-08-25 21:39:00 +02: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
Daniel Smith
01d5c84c16 Update submodules on 'dev' in qt/qt5
Change-Id: I9079dc4c1f0922786870ab1bc7b84ddd52b54521
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-08-25 09:55:10 +00:00
Heikki Halmet
99a15a2cd4 Provisioning: Install Java for SLES 15
Java is needed by RTA jenkins

Change-Id: Ibe6c7fa211eb83b431dc3ee79ed93300796154b0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-08-23 11:30:05 +00:00
Heikki Halmet
48dd29987f Provisioning: Add more sleep to msys2 installation
Latest Windows 10 v2004 needs more sleep for msys2 installation so that
gpg-agent will be killed after the installation process is finished.
Otherwise the provisioning won't continue and it will fail to timeout.

Task-number: QTQAINFRA-3691
Change-Id: I8b214415e777845e9ff711c1de9b09553b715d92
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-08-23 14:30:04 +03:00
Tor Arne Vestbø
e8dcff8a25 Bump qtqa to version that includes BIC test fix
Change-Id: Icd7dc7e73e98043e52034922cb90cf63ba66dd92
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-08-22 16:27:03 +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
Joerg Bornemann
a42797851e Remove deprecated configure argument from CI configs
The -no-qpa-platform-guard configure argument is deprecated and has no
effect.

Pick-to: 5.15
Change-Id: I132ccdf036c52baf54cf0c789fa063cc0455ce09
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-21 10:05:46 +02:00
Tony Sarajärvi
a509883207 Replace Ubuntu 18.04 with 20.04
Task-number: QTQAINFRA-3699
Change-Id: Id8c2bc2160d6805339c29961cec784d64c5f0c4d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-08-20 21:44:32 +00:00
Jędrzej Nowacki
015c86534c Enable use of sccache in the CI
The sccache may significantly reduce build times.
We need to evaluate real cases to see how much is to gain.

This patch enables sccache only on cmake, exluding one msvc target
with debug flag -Zi, which creates separate debug symbols.
Related sccache issue:
  https://github.com/mozilla/sccache/issues/242

Task-number: COIN-130
Done-with: Aapo Keskimolo <aapo.keskimolo@qt.io>
Change-Id: Ic1f599c5194bcdee9528a548dabead1097821cd1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-19 12:59:16 +03:00
Heikki Halmet
ba4eb4929e Provisioning: Update Windows 10 x86_64 to version 2004
MSVC 2019 version 16.6.2
MSVC 2019 Build Tools version 16.6.2
Virtio driver
Virtio Balloon driver
NetKVM driver

Task-number: QTQAINFRA-3818
Task-number: QTQAINFRA-3817
Change-Id: Id0edee66d4eb42730a70495dbb063a0d379f026c
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-08-18 04:35:50 +00:00
Heikki Halmet
c1b06ec3e5 Provisioning: Renew iPhone signing tools
Task-number: QTQAINFRA-3434
Change-Id: I53665bf4e0799da7a23ba60aff37e26052d0374a
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2020-08-14 09:39:03 +03:00
Jani Heikkinen
202e189233 Adjust Qt6.0.0 modules
Statuses etc are based on https://wiki.qt.io/Checklist_for_Qt_6.0_inclusion

Change-Id: If59d26cd2e9f381bef81308292675c5300672c25
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-08-13 15:53:01 +00:00
Jannis Voelker
ace639471b Enable CMake builds for Qt OPC UA
Change-Id: Id0762f82a1493163f253f4512f23e80a375b2093
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-10 08:35:38 +02:00
Heikki Halmet
163c23f97c Provisioning: Upgrade GCC version from 9.2 to 9.3
Task-number: QTQAINFRA-3858
Change-Id: I5266162d1c144b117e3a61988f3348f2cd3d3c0a
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2020-08-07 08:29:30 +03:00
Alexandru Croitor
5c1792eb8d CMake: Enable CMake builds for qtmqtt
Change-Id: I7f47fea8a15751d8367747a32bc211e25524e376
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-08-06 14:17:36 +02:00
Jani Heikkinen
0d6b74083e Add 'Packaging' feature for mingGW build as well
We will ship pre-built binaries for minGW in Qt6 as well so add
packaging feature in it as well

Change-Id: I7b506fd0c8227cef478f461e02ae1d4549f0a507
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-05 12:55:41 +03:00
Simo Fält
969acbce6e Provisioning: Fix PYTHON3_WHEEL_CACHE pointing to wrong dir
Earlier we set the env variable point to latest Python install. It
did work by accident, while the default python was installed as last.
Now each python install has its own matching ENV variable that can
be used buildtime. The PYTHON3_WHEEL_CACHE will now point to 64 bit
default Python3, while the variable is already used in Qt codebase.

Pick-to: 5.15
Change-Id: I6a67936c06ed0209ef9e903120f2416aaa8eb3ff
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-07-30 21:27:48 +03:00