Commit Graph

79 Commits

Author SHA1 Message Date
Toni Saario
f5c5309067 Disable network LSO/TSO on linux and macOS VMs
LSO/TSO causes problems handling network packets and deteriorates the
network speed to below 1MB/s.

Task-number: QTQAINFRA-4241
Change-Id: Ib999035668eefe51d59715c9a18f42c9e3dfdf21
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit db7926c715)
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-04-11 20:21:19 +00:00
Heikki Halmet
42ee3f18fe Provisioning: Install Nodejs using pkg instead of Brew
Openssl is one of Nodejs dependencies when installing it via
Homebrew which is causing issues with actual openssl source build during
provisioning

Task-number: QTQAINFRA-4402
Change-Id: I711c0f2bb7faebb3e5cbe2f415f34b2ac2d38a66
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 26c97222c1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2021-04-11 15:57:09 +00:00
Heikki Halmet
6d20944daf Provisioning: get-pip.py address changed for python 2.7
For python27 get-pip file's location has been changed and we
need to use two different get-pip files for different python
versions.
Let's also cache these python files and use cache as primary
url.

Pick-to: 6.0
Pick-to: 5.15
Pick-to: 5.12
Task-number: QTQAINFRA-4210
Change-Id: Iebc00f6f319bb914f7548d4737e13fed9ac2b292
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-01-24 22:44:24 +02: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
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
Toni Saario
dddb69b6eb Update sccache to 0.2.14
This makes windows binaries available from remote url and brings
some fixes to the sccache itself.

Change-Id: Ie108cbef783dbd4d7665964cdc00f0b05b062763
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-12-23 14:18:29 +02:00
Cristian Adam
5f4bd8911d CMake: Update provisioned CMake to version 3.19.2
Pick-to: 6.0
Change-Id: I9544eb3ba08b60d027e895031b93731c1e8d00af
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-12-22 19:03:33 +01:00
Simo Fält
0350263a07 Provisioning: Remove deprecated brew call
Pick-to: 5.15
Pick-to: 6.0
Change-Id: If956d0f77cd5c6763fc2314277c346d8f27e6eee
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-12-22 13:22:57 +00:00
Alexandru Croitor
6b46bc3b7b CMake: Update provisioned CMake to version 3.19.0
Pick-to: 6.0.0 6.0
Change-Id: I9c5be93146882d5593bbe46811a653d6b2a88aee
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-11-20 19:25:56 +01:00
Alexandru Croitor
dc84140127 CMake: Update provisioned CMake to version 3.19.0-rc2
We want to be able to build qdoc and lupdate on MSVC with
Ninja Multi-Config.

Task-number: QTBUG-85411
Task-number: QTBUG-88139
Task-number: QTBUG-87315
Change-Id: I53b705535981b67c817f4d49d435e8f2a0553f74
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-11-12 18:21:53 +01:00
Heikki Halmet
aee06febca Provisioning: Install Ninja binary
Install Ninja binary without using brew

Pick-to: 5.15
Pick-to: 5.12
Task-number: QTQAINFRA-3954
Change-Id: I2f50814e26e756bbf5cf3d74a4a1c5c00426ab4a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-10-08 21:31:29 +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
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
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
Alexandru Croitor
68134db435 Update provisioned CMake version to 3.17.2
This should fix the ninja deps issue we had on Windows with the
Ninja Multi-Config generator, where calling ninja a second time to
rebuild the project failed.

More details at https://gitlab.kitware.com/cmake/cmake/-/issues/20723

Change-Id: I0029e57fbc704120d2241499a87cad0ad40c2e50
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-26 21:57:20 +02:00
Alexandru Croitor
3652f77aa3 Provisioning: Set macOS locale to "en_US.UTF-8"
The 419f42903154489e2dace8d1eba183036275448b commit in qtbase
introduced a regression where the tst_fusion test in qtqtuickcontrols2
hits a deadlock while trying to print a warning about a non-UTF-8
locale.

The warning is due to the fact that the agent executed in Coin's VM
does not have an explicit locale set, and thus it defaults to "C".
There is no explicit locale set in any .bashrc (or similar files),
and neither in any launchd configuration (because the agent is
executed at macOS startup via launchd).

The deadlock is due to trying to acquire the same lock twice while
trying to write output to stdout.

The test only deadlocks on CMake configurations, and not qmake
configurations, because Coin has a hardcoded instruction to set the
locale to UTF-8 when running qmake tests.

Until the deadlock situation is addressed in another change, the issue
can be fixed by setting the macOS configuration locale to UTF-8
explicitly, by assigning the LANG environment variable
into ~/.bashrc at provisioning time, like we do with other environment
variables like PATH.

Fixes: COIN-578
Change-Id: Ib6a5849a6868c1776dd425aeb8b5e7d6faa8cde0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-05-07 21:52:16 +02:00
Liang Qi
54c94ae681 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtwebkit.yaml
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh

Change-Id: If6b0f7a671a69d6a2444ee4d26b324e4d269970c
2020-04-30 18:35:08 +02:00
Liang Qi
cc4fdea014 Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
	.gitmodules
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtsdk.yaml
	coin/platform_configs/tqtc-qt-rta.yaml
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh

Change-Id: I2221262edc024e0aa11b9dab4d08c2df3a0b53b0
2020-04-24 15:31:01 +02:00
Rami Potinkara
08b99e8def qdb building for mac
Modified qdb.yaml and created and pkgconfig and libusb relates .sh
files so that QDB can be build for Mac OS due to USB Ethernet CDCECM enabling.

Task-number: QTBUG-82531
Change-Id: Ia5f970e5940b7d9116831c8174db0ea1b9231234
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2020-04-15 08:28:12 +03:00
Heikki Halmet
61267a7a78 Provisioning: Remove notifications and warnings from macOS
Notifications and warnings in UI might affect RTA and autotests results

Change-Id: I447dab3ba839d2c577f633cbf96fc7f3e5fdfe25
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
2020-04-14 14:21:19 +03:00
Alexandru Croitor
e9c2be7b6a Update provisioned CMake version to 3.17.0-rc2
We want to test debug_and_release builds with CMake as soon
as possible.

Change-Id: I7d4c0a4e33adc26129844ff34ea8df6b149e184f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-03-09 23:42:21 +01:00
Liang Qi
08e63423e2 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/default.yaml
	coin/platform_configs/flashing-wizard.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtconnectivity.yaml
	coin/platform_configs/tqtc-qt-config-gui.yaml
	coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh

Change-Id: I7af8a52d8b4452211982d86105dafacdd3d845c0
2020-02-28 13:49:10 +01:00
Dimitrios Apostolou
b2d3df3553 Exclude monitoring of some filesystems on macos
For a short time after boot, macos sometimes mounts a filesystem of type
"msdos" at the unique path /Volumes/firmwaresyncd.XXXXXX.

Telegraf [inputs.disk] plug-in stores records to InfluxDB, with the unique
mount path under "path" tag. The uniqueness of the path blows up the
cardinality of the database.

So exclude "msdos" filesystems from being monitored by telegraf.  Additionally
exclude "cd9660" filesystems that appear always as 100% full.

Change-Id: I4cdd3fca57b3db6157df168cc8a5314e64528b2d
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:39:01 +01:00
Dimitrios Apostolou
47b74fb0ab Print filesystem information at the end of each provisioning
Change-Id: I549a917126954fae62dcdebb5c45a4f6aeb07551
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:52 +01:00
Dimitrios Apostolou
fc2d0b5150 Create more meaningful temporary file names
Change-Id: I4bbc94993e51502ea08109a4c99f3e212349ab24
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:41 +01:00
Dimitrios Apostolou
c0033df4b9 Execute a specific version of homebrew install script
Also first try to download it from local mirror.

This install script appears to be doing a lot of git-cloning and downloading
itself though, so it is still far from the ideal solution: to only download
from locally cached endpoints.

Task-number: QTQAINFRA-3134
Change-Id: I32131045d6e62f302ec666b4ac055ca5ee9662d5
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:35 +01:00
Liang Qi
95c7b90309 Update CMake to version 3.16.0-rc4
Change-Id: I4fc1f412888e1915ae2110320c18fb39a9600b94
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-11-29 10:00:50 +00:00
Leander Beernaert
8eab11f696 Update CMake to version 3.15.5
Update required as there's a bug with setting the CXX_STANDARD on
android. Updating to this version fixes the issue.

Change-Id: I50b0bc2941e0919232b46bbf5b28133149878649
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-12 13:27:23 +00:00
Simon Hausmann
c85543f88d Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtdeclarative.yaml
	coin/platform_configs/qtsaferenderer.yaml
	coin/platform_configs/qtsdk.yaml
	coin/provisioning/common/linux/cmake_linux.sh
	coin/provisioning/common/windows/cmake.ps1

Change-Id: I37bb513e3be19e4de4003679f8528677e57c09ee
2019-11-11 10:52:16 +01:00
Heikki Halmet
52fe759eba Provisioning: Upgrade OpenSSL version to 1.1.1d
Plus removing unused file install_openssl_111a.sh

Task-number: QTQAINFRA-3224
Change-Id: If5f9ee12e118e0329eb27f8d3ca9829011874382
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-11-02 19:41:33 +03:00
Heikki Halmet
eb0ef419ec Add allowUntrusted parameter for command line tools and refresh Xcode
Apple has signed their packages with certificate which has been
expired 24.11.2019. Packages are unusable without allowUntrusted
parameter

Also Xcode package for macOS10.13 needs to be refetched from
Apple's download to local cache

Task-number: QTQAINFRA-3317
Change-Id: Iebbe81ee0c360e5f0b49d422b38fe1a148424891
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-10-29 19:37:09 +02:00
Liang Qi
ecf2f4f38c provisioning: update python to 3.7 on macos
Task-number: QTQAINFRA-3271
Change-Id: Ic1645a8b5bc94b0ce6ff58352891af0beabd7649
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-10-11 07:23:46 +00:00
Dimitrios Apostolou
cfef857815 Reduce noise in the provision logs
Reduce verbosity in order to shorten logs and make them more readable.

In two cases we just remove the verbose flag.

In one other case we undo inlining of a huge script in the command line.
Because we run the provisioning scripts in trace mode, this caused the
script to be logged, and it was rather long and meaningless since it
comes from an external project.

Change-Id: I078ee3b3ab2db9425204375deb5815b6526a4466
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-10-01 06:11:48 +02:00
Dimitrios Apostolou
89f6db8c22 Adjust pre-existing script to use the new common.sourced.sh
Change-Id: Icf7829d3499110a76b90679ba2d067f80d189e69
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:42:37 +02:00
Dimitrios Apostolou
fbe3a8d84e Install telegraf on all provisioned VMs
Install binaries as early as possible in the provisioning process, and
start them, in order to monitor provisioning too.

To achieve this, some OS auto-detection logic is introduced in shell
script common.sourced.sh. The script can be sourced and used in all kind
of other generic scripts.

ioping is also installed from custom-compiled binaries in order to
monitor the disk latency of the VMs. Reason we don't use ioping from the
repositories, is that the units differ between ioping versions (new
ioping reports latencies in nanoseconds, old in microseconds).

Fixes: QTQAINFRA-3092
Change-Id: I9d9afb791955725d4bd0b32dae97dfc0bd4a76a3
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:42:31 +02:00
Dimitrios Apostolou
b8eb110c81 Increase open files and processes limit on macOS
Change-Id: If93bbe067f76168a7c131c6ced187f00a8d908e1
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-26 20:12:20 +02:00
Dimitrios Apostolou
b97df21bef Brew update only once
Change-Id: I6c2650574b6b62ceedfc95a9caab7ca26a6fa10b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-26 20:12:15 +02:00
Liang Qi
44073f5563 Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
	.gitmodules
	coin/platform_configs/default.txt

Change-Id: I78eb6b6522c678fb40f1202c0040c1c87ff890a6
2019-09-23 16:38:06 +02:00
Liang Qi
1bb7d2d0c9 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Iffcf9b199df17a50acf03e29b9deae033396dfcb
2019-09-09 20:57:09 +02:00
Assam Boudjelthia
0d273deeef Provisioning: Fix version of libiodbc on MacOs
libiodbc latest version (3.52.13) was automatically installed causing
qt-config-gui to fail build, this installs version 3.52.12.

Task-number: QTQAINFRA-3188
Change-Id: I5b87ff04c2301a5471cc9abfa0849b6073a1bdd4
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-06 06:05:40 +00:00
Liang Qi
58977376e1 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Ie49f7e5ff9ca02522c6611922b47870aba2c152e
2019-08-04 11:51:40 +02:00
Tony Sarajärvi
9da27c5808 Add macOS 10.14 to the CI
Task-number: QTQAINFRA-2938
Change-Id: Id25c6c3203a07985c9ef1cc914c4398ac7db615c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-03 23:01:34 +03:00
Liang Qi
a94696ccd5 Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	.gitmodules
		ignore QtWebEngine on QEMU temporarily.
	coin/platform_configs/default.yaml
		no-gui build was removed temporarily.
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtconnectivity.yaml
	coin/platform_configs/qtsaferenderer.yaml

Task-number: QTQAINFRA-2576
Task-number: QTBUG-77304
Task-number: QTBUG-77305
Done-With: Tony Sarajärvi <tony.sarajarvi@qt.io>
Change-Id: If7cf75791677eace762374b92382a2ce15f17f55
2019-08-03 00:02:43 +02:00
Jędrzej Nowacki
7df4f93cb1 Fix provisioning of cmake on macOS
The script contains a bit of data duplication, one of the fields was
not updated.

This amends 463235a0bc.

Change-Id: Idb9e88eba1f1415a0ca29f2c3a003c8a844bb024
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-06 07:39:02 +00:00
Simon Hausmann
463235a0bc Bump cmake to 3.15-rc1
Same as for the recent Linux change.

Change-Id: I073411bcfa8cbd692a7770cdaad3a368c6f7108d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-05 12:54:18 +00:00
Juha Karjalainen
3e838f2a34 Provisioning: Change openssl version to 1.1.1b
Use newest LTS version of openssl as support for 1.0.2 series
will end at end of 2019.

For windows 7 x86 openssl 1.0.2 will be used until all need fixed
are made to submodule tests

Task-number: QTQAINFRA-2327
Change-Id: I930d239cd139b6202ebdfb5cdc8068ff2ad0b8a3
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-05-22 15:34:04 +03:00
Juha Karjalainen
31f5c48a80 Provisioning: Change openssl version to 1.1.1b
Use newest LTS version of openssl as support for 1.0.2 series
will end at end of 2019.

For windows 7 x86 openssl 1.0.2 will be used until all need fixed
are made to submodule tests

Task-number: QTQAINFRA-2327
Change-Id: I930d239cd139b6202ebdfb5cdc8068ff2ad0b8a3
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 3e838f2a34)
2019-06-10 10:07:20 +00:00
Juha Karjalainen
94d140b746 Log more version information on macOS provisioning
Logs more version information to make easier to reproduce build.
Logs macOS build version, homebrew installed packages and apple's
installer installed packages.

Change-Id: Ia9f2842a3fd2e8e0acf1667c7435a19c7a878aed
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-05-12 15:47:26 +00:00
Liang Qi
8710c7d9cf Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	coin/platform_configs/qt3d-runtime.txt
	coin/platform_configs/qt5.txt
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh
	coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh

Change-Id: Ie428600c72b7fe4d7b5fa7583e11aebd47cfb85e
2019-04-13 11:38:39 +02:00
Juha Karjalainen
48443b4b9a Provisioning: update python 2.7.14 to 2.7.16
Python 2.7.14 used tlsv1 which is no longer accepted by github
thus needing update to newer version.

Task-number: QTQAINFRA-2900
Change-Id: I4e0790854b7c0732e4064ad355d953eb7b71a2b9
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-04-11 06:10:22 +00:00