Commit Graph

82 Commits

Author SHA1 Message Date
Simo Fält 2a4635379c Add ci config for Windows 10 on Arm
Task-number: QTBUG-85820
Change-Id: I145cbfbd39fe164bc57d4106e58c50add51fe976
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-05-05 20:52:42 +03:00
Alexandru Croitor b3a0469100 CMake: Re-add Linux static config to keep build coverage
We want at least one config that ensures static host Qt builds
work in the CI, even if no tests are built.

Amends bead5e8720

Task-number: QTBUG-87580
Change-Id: I091e85ca40faef30ddad57e2a392d65197a47027
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-04-27 20:09:30 +02:00
Alexandru Croitor bead5e8720 Build minimal subset of tests in desktop static builds
New cmake_platforms_static_tests.yaml file will be included in repos
that support building and running a minimal subset of tests built
against a static Qt.

Currently it's limited to qtbase.

Moved existing 'linux-SLES static' config into this new file and
also added a macOS and Windows config.

Skipped specifying the PostgreSQL lib path for Windows and macOS because
the plugin gets automatically linked into tst_moc, but the test build
phase doesn't actually call find_package for PostgreSQL and the build
system generation fails.

Similary skipped specifying the openssl lib location for macOS,
because the module_includes cmake auto test fails to find the
WrapOpenSSLHeaders package.

Explicitly tag iOS static config with DisableTests. The instructions
already skipped building tests for iOS, but it's better to be explicit
and update the instructions not to do that anymore.

Pick-to: 6.1
Task-number: QTBUG-87580
Change-Id: I0d38a0ad055c92646609202691aeb8db29689f5a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-04-27 15:18:22 +02:00
Heikki Halmet 1ebec86732 Remove packaging flag from CentOS targets
This will also remove CentOS target under QtCreator
and RHEL's Insignificant flags from submodules

Task-number: QTQAINFRA-4416
Change-Id: I2e6d910dfbba7a7903b149f5cf0bc3386cd4e3e2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-04-23 14:32:45 +03:00
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