Commit Graph

278 Commits

Author SHA1 Message Date
Alexandru Croitor
1306da8f92 macOS: Build universal Qt for macOS
Build a universal macOS targeting Intel x86_64 and Apple Silicon
arm64 using the fat library technique. It will be our new Packaging
configuration for macOS.

Rename the Id of the configuration to
'macos-latest-xcode-universal-packaging-build'.

x86_64 is the main config test architecture.

The arm64 slice of the Qt build lacks certain functionality:
 - no qdoc, lupdate, etc due to missing arm64 llvm packages
 - no postgresql and odbc sql plugins due to missing
   arm64 3rd party libraries
 - no openssl due to missing arm64 library
 - no JIT support in QtQml, due to limitations in the current fork
   of the javascript engine

Task-number: QTBUG-85447
Change-Id: If2a70f192a54d6f98137e05e5b938d118b6d1d1d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-04-20 13:32:31 +02:00
Heikki Halmet
aa5112af99 Add Red Hat 8.2 to CI
Red Hat 8.2 is the latest version with extended update
support. In the end Red Hat 8.2 will replace CentOS 8.3

Task-number: QTQAINFRA-4322
Change-Id: Iaa2ef452e7e6608349ba7438bbc5d25ddb35fa2a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-04-20 08:38:20 +03:00
Jani Heikkinen
7a8094dc9d Drop unnecessary ci and packaging configurations
- Drop Ubuntu 18.04 from CI; we aren't supporting it as development host
in Qt6. And we aren't using its prebuild binaries anywhere
- Drop 'Packaging' feature from QNX builds; we aren't packaging those
- Drop 'Packaging' feature from openSUSE builds; we aren't packaging those

Pick-to: 6.1
Change-Id: Ic5c6e0e1c480946380cbcf4b01133caffe7a71e0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-04-09 10:42:15 +03:00
Marianne Yrjänä
50962fb204 Make QNX builds significant
All components now pass QNX builds so they can be made significant.
Old QNX6.6 removed from provisioning.

Task-number: QTQAINFRA-4286
Pick-to: 6.1
Change-Id: Idb6abcc1d61030e1edba9467044fe59d17ee9d82
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-04-08 20:55:04 +02:00
Toni Saario
6f4acb8746 Disable sccache on QNX targets
There appears to be issues with sccache on q++/qcc compiler that
lead tha false positive cache hit and build failures.

Task-number: QTQAINFRA-4391
Pick-to: 6.1
Change-Id: I84f38242e6de4094933300bd535686206c849960
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-04-08 10:30:14 +00:00
Heikki Halmet
fb65f86083 Add Packaging target for openSUSE 15.2
With current approach we need to make two different linux installers.
One for SUSE and one for other linux targets we support. This is because
current CentOS version have newer GLIBC version than what we have in SUSE.
This means that installer made with CentOS won't work in SUSE versions
we support

Task-number: QTBUG-91873
Change-Id: If65d66093bf8dcb5fe46812e06d6b9194fdedac2
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-03-22 06:13:12 +00:00
Heikki Halmet
0a6511c1e7 Change configuration arguments for Ubuntu 18.04 to match CentOS target
We shouldn't change configuration parameters when whiching to use
Ubuntu 18.04 instead of CentOS 8.3

Pick-to: 6.1
Change-Id: Icfce35acec8baa4488089e555c311a063455c24b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-02-25 08:41:24 +02:00
Heikki Halmet
b64b4b169e Add Ubuntu 18.04 for Qt6 binary packages
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>
2021-02-16 08:18:52 +01:00
Marianne Yrjänä
036729ed05 Add QNX7.1 to CI
Task-number: QTQAINFRA-3768
Change-Id: I9c0aa78fad9c6a1263e75b06fa954c335f4b6ec2
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-02-08 19:32:25 +02:00
Heikki Halmet
e6ecc001f6 Replace CentOS 8.1 with CentOS 8.3 in CI
Task-number: QTQAINFRA-3964
Change-Id: I368e59867e8061ed25d4d3f10de7e995e56bd676
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-02-01 15:23:31 +02:00
Toni Saario
f4fa7d40fe Update iOS platform dependency
Change-Id: I91b2807861027542f3208cc9a1ac2fcf9b6300d7
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2021-01-23 15:52:22 +02:00
Toni Saario
b57b2358cb macOS: Split building and testing stages
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>
2021-01-23 14:51:46 +01:00
Heikki Halmet
f6b0b21ba2 Add Big Sur macOS 11.0 to CI
Only one target is added because current HW capasity is minor.

Task-number: QTQAINFRA-3967
Change-Id: Iae2ac0e02b38b45a219a78e046fb21338ff9cd97
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-01-22 10:35:11 +02:00
Tor Arne Vestbø
7b68a0021f coin: Don't pass macOS SDK sysroot to configure
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>
2021-01-19 11:08:40 +01:00
Tor Arne Vestbø
cad93542fd coin: Don't pass macOS deployment target to configure
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>
2021-01-19 11:08:38 +01:00
Heikki Halmet
a4d03dbc19 Provisioning: Upgrade Xcode and Command Line Tools to version 12.3
Xcode 12.3 is currently supported in macOS 10.15.4 and 11.1

Task-number: QTQAINFRA-3962
Change-Id: Id919e63cd792e4c35b4bb625a574009fd044f440
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-01-08 12:06:21 +02:00
Tony Sarajärvi
61e28c4e57 Add MinGW developer build with testing and build of examples
Pick-to: 6.0
Task-number: QTQAINFRA-3758
Change-Id: I8f1fc88175b91848b47ab8e794ac252c88221aa5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2021-01-07 05:37:51 +00:00
Joerg Bornemann
f79742edb1 Build Linux packages against legacy OpenGL libs
Do not link against the GLVND OpenGL libs (libOpenGL.so.0), because
those might not be available on target systems.

In order to do that, we set OpenGL_GL_PREFERENCE to LEGACY.

Pick-to: 6.0
Fixes: QTBUG-89754
Change-Id: I28e8c62b137f17cf6692b84f438a8ae60ebe0e91
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2021-01-06 14:58:04 +01:00
Antti Jaakkola
68a183324d Use Parallels for macOS 10.15 builds and tests
Pick-to: 5.15
Pick-to: 6.0
Change-Id: I875cf12afafae5389f8c974cd40789c5183d4cb2
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-12-31 06:08:19 +00:00
Cristian Adam
eff3b74d3b CMake: Enable PCH for all builds
With CMake 3.19.2 provisioned, iOS will be able to compile with PCH.

Pick-to: 6.0
Change-Id: Ic9c9eef98d229a7cb8d87fa1e4555cdbeac1f7cf
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-12-23 15:13:14 +00:00
Tony Sarajärvi
8aa15f4bbd Add a no-opengl build on Ubuntu 20.04
This reverts commit 9a8fb868ec
partially.

See also d494d76c26.

Task-number: QTQAINFRA-2577
Task-number: QTQAINFRA-3407
Change-Id: I6a01bea15002efe140c022a79e7f3f2f5a47c202
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-12-22 06:40:08 +00:00
Tony Sarajärvi
7f0113ef9e Build Qt with llvm-mingw
Task-number: QTQAINFRA-2139
Task-number: QTQAINFRA-2039
Change-Id: I4958b3c1b069d6052bccace2d0b21cb27b7b54d1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-12-17 06:05:33 +00:00
Liang Qi
51bc500098 CI: remove InsignificantTests flag for openSUSE build
Change-Id: Icea91c6ff4ff85451df08e74a937cbfb9eb1c0cd
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-12-10 21:03:38 +01:00
Alexandru Croitor
aa79f38529 CMake: Try to build qmake examples on more configs
Add qmake example builds to
- macOS Desktop non-framework builds
- qemu

Task-number: QTBUG-85986
Change-Id: Icfcf9883fa5ac33906a358c9347a1776eaac7696
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-12-07 18:20:29 +01:00
Liang Qi
d3fc95535c CI: remove InsignificantTests flag for win10 msvc2019 developer build
Task-number: QTQAINFRA-3949
Change-Id: I3e39a082fe5d2a22f7e263185b5032fd4f0928e5
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-12-04 19:12:34 +01:00
Heikki Halmet
420d7f809c Update Windows 10 x86_64 version to 20H2
Windows 10 Enterprise 20H2, OS build 19042.508
Additional SW:
MSVC 2019 version 16.8.1
MSVC 2019 Build Tools version 16.8.1
MSVC 2015 14.0.25420.1
Virtio driver
Virtio Balloon driver
NetKVM driver
Vioserial driver
Guest-agent qemu-ga-x86_64

Pick-to: 6.0
Task-number: QTQAINFRA-3961
Change-Id: I8abc7ac011c58ad13db433fc86a1327afceafc68
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-12-04 12:17:14 +02:00
Alexandru Croitor
45ce639a62 CMake: Add headersclean feature to the packaging configs
Task-number: QTBUG-86053
Task-number: QTBUG-82615
Pick-to: 6.0
Change-Id: I89ed5b80b1c6fb793cfec5921b489cbd7693db20
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-12-03 11:06:41 +01:00
Joerg Bornemann
0167a01022 CMake: Adapt to new QT_BUILD_TESTS variable
Change-Id: Ib35e164a8628ffc7d1429ba4756a27d4b98977e2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 87269f4353)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2020-12-01 07:33:41 +00:00
Tony Sarajärvi
e472db17f3 Replace openSUSE 15.1 with openSUSE 15.2
Task-number: QTQAINFRA-4035
Change-Id: I11746ab2d6447dd5d33846bff68f6983670adbbe
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-11-26 10:02:04 +00:00
Tony Sarajärvi
66b345fdbb Swap static builds between openSUSE and SLES
By moving the static build to SLES, we can run autotests on openSUSE.
It also makes sense to move the developer build at the same time.

Change-Id: I5e0c4b0caf2bbd5a0d419555b1e270673adfc890
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-11-17 13:19:53 +01:00
Heikki Halmet
b34fa5f9cf Remove RedHat 7.6 from CI
CentOS 8.1 is now in CI without Insignificant flags so
Rhel 7.6 can be removed.

Task-number: QTQAINFRA-2760
Change-Id: Id797a6ea5bf9c4d64929b4d6e183d0c7146309ca
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-11-16 07:38:21 +02:00
Alexandru Croitor
b6fa6cada0 CMake: Mirror missing -no-gui Ubuntu config
Amends 57ae486e36

Fixes: QTBUG-88343
Task-number: QTBUG-86053
Change-Id: Icabf4cda23a61845b7f21b4d9f2e70e05ced0256
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-11-13 13:07:00 +01:00
Liang Qi
919253da5c CI: remove InsignificantTests flag for Ubuntu 20.04 hosts
Change-Id: I50ee36c93e084d5bd8cf97a29a44c66698cc4f5a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-11 17:12:48 +01:00
Kai Koehne
c7e8d91332 Windows: Fix lookup of LLVM_INSTALL_DIR environment variables
"_ARCH_" was dynamically replaced by either 32 or 64 in
qttools/configure.pri. Anyhow, this is not supported by the
CMake build, and not needed, since we only build with 64
toolchains on Windows.

the qmake builds can still automatically select the "right"
toolchain by either loading LLVM_INSTALL_DIR_msvc,
LLVM_INSTALL_DIR_mingw. But for CMake builds
we now explicitly set LLVM_INSTALL_DIR in each configuration.

Fixes: QTBUG-87215
Change-Id: Iaa7e6eab676c03b34ea723d9f71888ca9ee7bb1f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-08 16:57:21 +01:00
Alexandru Croitor
992cbdfd01 CMake: Add documentation building CI instructions
Replicate the instructions that Coin does for qmake configurations.
Build all of qttools and its dependencies and then build the top-level
docs.

Task-number: QTBUG-87012
Change-Id: Iac70172cf13d8943e60c26a1f2ee3ddf5bae6667
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-06 17:26:00 +01:00
Alexandru Croitor
187b80e140 CMake: Mirror missing -no-widgets Ubuntu config
Task-number: QTBUG-86053
Change-Id: I791a84b5dc2c159007b2a122ea4c35c97a180c7a
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-06 17:18:13 +01:00
Alexandru Croitor
605e0b3996 CMake: Enable usage of bundled xinput sources like in qmake configs
Task-number: QTBUG-86053
Change-Id: I888b557626146460d1734c04fae8bb819ebf266c
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-11-06 17:17:49 +01:00
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
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
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
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
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
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
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