Commit Graph

65 Commits

Author SHA1 Message Date
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
Juha Karjalainen
a97d669a20 Provisioning: Remove certificate printing to log
macOS openssl provisioning printed certificates to log. This patch
prevent printing certificates to log by redirecting it to /dev/null

Task-number: QTQAINFRA-2841
Change-Id: I9ec120212a1f068fa040a302cb50e775857cbb74
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2019-03-22 12:06:56 +00:00
Heikki Halmet
d5c96aad5a Provisioning: Remove docker from macOS provisioning
When docker provisioning starting test-server in virtual box whole
virtual machine will reboot.

Let's remove docker until it's more stable or we know how to fix it.

Task-number: QTQAINFRA-2801
Change-Id: Iad7437a69c954a90522e44ef27015518fa3f8c1e
(cherry picked from commit 1865b99b527bd9eee80c39e95d47a44096e44e6a)
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2019-02-23 13:37:10 +00:00
Liang Qi
85eb7b7a03 Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
	coin/platform_configs/default.txt

Change-Id: Ie21baa51738ce0761fb45fba3819b1894cc808b6
2019-01-23 08:02:11 +01:00
Juha Karjalainen
cfa7877afe Fix provisioning ODBC environmetal variables had : at end
CPLUS_INCLUDE_PATH and LIBRARY_PATH environmental variables had
 --> : <-- at end of variable. As this adds current dir to search
path this is undesirable and causes bugs.

Change-Id: Ia36c3f3f791f5d506eea15aba6be6d665049a922
Reviewed-by: Juha Karjalainen <juha.karjalainen@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2019-01-10 12:32:57 +00:00
Tony Sarajärvi
6b64780b61 Fix .ci.local to .intra.qt.io in docker provisioning
Change-Id: I9de241e70a5dd15568619da6e4a19d54e76e5a4c
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-01-07 15:01:31 +00:00
Juha Karjalainen
e28da040ee Provisioning: Unify duplicated openssl provisioning script
MacOS(10.12 and 10.13) had two identical provisioning scripts for
openssl. Now unified under common.

Change-Id: If469a56d431e72b291a810fa9c1b701873fe382d
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2019-01-03 11:46:20 +00:00
Liang Qi
38e2fc6b80 Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
	.gitmodules
	coin/provisioning/common/linux/docker_testserver.sh
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh

Done-With: Ryan Chu <ryan.chu@qt.io>
Change-Id: I9bc3afcb50783a9f0f7718731d237de4be287cae
2019-01-02 10:46:49 +01:00
Juha Karjalainen
55a990322b Provisioning: Install ODBC for macOS 10.12 10.13
This script installs libiodbc from brew and adds it to
CPLUS_INCLUDE_PATH and LIBRARY_PATH thus enabling configure to
find it and thus enabling odbc support for qt build on macOS.

Task-number: QTBUG-58956
Change-Id: I7f865800b580a87afcc480534da57ee546c74406
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2018-12-31 10:45:04 +00:00
Ryan Chu
a695130478 Assert the provisioning process in macOS if VMX is not enabled
The Docker-machine requires VT-x/AMD-v to build up boot2docker virtual
machine. The VMX flag should be enabled when deploying the VM into
Virtualbox. In the CI framework, it relies on Coin to expose the VMX
flag to the CPU feature. To well handle the case that the VMX could be
removed due to some CI updates, the provisioning script will assert the
process with the related debug message if VMX is not found.

Change-Id: I9f3f123d33629df1655a5b55d776d5361878d1f5
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-12-10 14:10:58 +00:00
Heikki Halmet
84aaa89cf4 Provisioning: Fix path for fbx files
Currently Qt3d Studio build don't recognize fbx path because of space
in folder name. This change will fix it by taken use the packages which
don't have space in the folder name.

Task-number: QT3DS-2440
Change-Id: I502bb04489a03a5a81e164f8a86f3200f4ec3910
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2018-11-13 05:51:53 +00:00
Ryan Chu
ea76ace825 Docker Provisioning: Install Docker-based test servers on macOS
Build and cache docker images based on the configurations in testserver.
1. Move the shared Docker files to common/shared/testserver
2. Deploy boot2docker image into VirtualBox via docker-machine commands.
3. Build and tag the docker images by the SHA-1 of server context.

Change-Id: Ic5a588e5cc5e753ec4c4e2e1bc79917bbd03f95d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-10-30 08:15:43 +00:00
Tor Arne Vestbø
b5a989133a Version Xcode application bundle when provisioning macOS images
By versioning the Xcode installation we open up for having multiple
Xcode versions installed on the same image in the future, which
allows for e.g. choosing the Xcode version in the build config.

By running xcode-select to choose the bundle, we ensure that
build steps that do not know that Xcode has been versioned
will still pick up the right compiler and SDK paths when
e.g. running xcrun -find clang.

Done-with: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Change-Id: I0bd877bd344cebdd1fbf3a3035b00069f75c4c96
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-04 08:29:08 +00:00
Tony Sarajärvi
413fcafc14 Change 'test suite' in license headers of prov scripts
Change-Id: I9687bcb15b26287ea6eeb2098079137d6e3fc288
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-09-04 08:28:58 +00:00
Liang Qi
02336a3ac0 Provisioning: need to install packages in Xcode
Task-number: QTBUG-70180
Change-Id: I23134b887bf7fa05e29bd16769fdb9c7f025764e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-08-28 05:05:44 +00:00