Commit Graph

79 Commits

Author SHA1 Message Date
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
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
c7f87acb37 Do not silence standard error
Provisioning was failing and the logs did not provide any useful
information because of the silenced squish install command. So I went
through all the scripts and I re-enabled stderr logging where I found it
silenced (with the exception of where it was purposeful or harmless).

Change-Id: I5fa0b0ba4362970b214c150d399b6720b1780e1e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-26 20:12:25 +02:00
Dimitrios Apostolou
e6fccbf240 Remove the progress bar from the sdkmanager output
Cleans up many thousands of useless lines from the logs.

Change-Id: I2673f65b713996637d2161da4db726823e17c0df
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-26 20:11:56 +02:00
Liang Qi
f58935ebea Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	coin/platform_configs/default.yaml
	coin/provisioning/common/linux/disable-ntp_linux.sh
	coin/provisioning/qtci-linux-SLES-12-x86_64/55-emsdk.sh
	coin/provisioning/qtci-linux-SLES-15-x86_64/55-emsdk.sh
		emsdk.sh was moved from linux to unix, see
		38e416be66

Change-Id: I5b06dde2860a4e4869960ae2a5be1d6a1396e957
2019-08-28 20:28:11 +02:00
Tony Sarajärvi
8e32f46764 Add Suse Linux Enteprise Server 15 to the CI
Task-number: QTQAINFRA-3123
Change-Id: I725c58c7d319945f7470118dec99b5360385da7b
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-08-14 03:45:39 +00:00
Tony Sarajärvi
24f0367a60 Add Suse Linux Enteprise Server 12 to the CI
Task-number: QTQAINFRA-2851
Change-Id: Ia421a5e35f8a0515d7f761ca0c52a54a93dcee5c
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-08-13 11:03:52 +00: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
Juha Karjalainen
38e416be66 Add webAssembly build for windows and macos
Provision emsdk and its dependecies to windows and macos.

Task-number: QTBUG-63917
Task-number: QTQAINFRA-2835
Done-with: Juha Karjalainen <juha.karjalainen@qt.io>
Change-Id: I24ea9cbc4f7cc95e6952765099d5e46247470011
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-07-31 09:44:53 +03:00
Heikki Halmet
5db0ce74b7 Provisioning: Update QNX 7.0 packages
Updated packages includes QNX Multimedia Suite 2.0,
which enables building QtMultimedia QNX plugins

Task-number: QTBUG-71073
Change-Id: Iaf7cabfe1dc59441abb978c261590c41f7aa0cdc
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2019-04-24 13:27:06 +03: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
Heikki Halmet
dbaa42baa7 Provisioning: Use ANDROID_NDK_ROOT instead of ANDROID_NDK_HOME
Without this binaries will be hardcoded to look in e.g
/opt/android/android-ndk-r19b which means that RTA tests will fail

Task-number: QTBUG-74952
Change-Id: Ic2b1297e15d905f2250333b6bc884abe2f1472d4
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-04-23 06:04:34 +00:00
Tony Sarajärvi
670aa09aba Provisioning: Fix cleanup when building GCC from sources
We need sudo rights to delete the temporary folder
where sources for GCC are extracted.

Change-Id: Ic0642e44eabfc3449f7ce5903a63bd38924f7dca
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-05-16 13:45:06 +03:00
Liang Qi
34a13ff5d9 Merge remote-tracking branch 'origin/5.12.4' into 5.12
Conflicts:
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt

Done-With: Tony Sarajärvi <tony.sarajarvi@qt.io>
Change-Id: I1381c4b80a64859cb42d6cb5205ef549de40dde6
2019-06-25 10:29:08 +02: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
Heikki Halmet
a2b1dd2d0a Provisioning: Use ANDROID_NDK_ROOT instead of ANDROID_NDK_HOME
Without this binaries will be hardcoded to look in e.g
/opt/android/android-ndk-r19b which means that RTA tests will fail

Task-number: QTBUG-74952
Change-Id: Ic2b1297e15d905f2250333b6bc884abe2f1472d4
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit dbaa42baa7)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-06-10 10:14:57 +03:00
Heikki Halmet
608788de2d Provisioning: Update Android NDK to version r19
Also let's start using 64-bit Android NDK for Windows

Task-number: QTQAINFRA-2568
Change-Id: I2d757aa9e43abf5118abad7bf644e17e88a2ca94
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit c09135cb56)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-06-10 10:14:57 +03:00
Tony Sarajärvi
f70bdd89b1 Update GCC version to 9.1.0 in Ubuntu 18.04
Task-number: QTQAINFRA-2958
Change-Id: I3ea8c8e467b9a1f56c2b114c40fb94dfdc1448d0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-05-31 11:30:45 +03: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
Heikki Halmet
791ec923a7 Provisioning: Echo Emscripten version information to versions.txt
Change-Id: I0ad9b2299805534d1f635fd89ac74d4feb8ce5c4
Reviewed-by: Juha Karjalainen <juha.karjalainen@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-04-10 06:06:56 +00:00
Heikki Halmet
c09135cb56 Provisioning: Update Android NDK to version r19
Also let's start using 64-bit Android NDK for Windows

Task-number: QTQAINFRA-2568
Change-Id: I2d757aa9e43abf5118abad7bf644e17e88a2ca94
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-04-01 11:42:49 +00:00
Heikki Halmet
abfc2cd571 Provisioning: Update emsdk version
Task-number: QTBUG-73867
Change-Id: I4caab8d434787bf4323e1ea3232bf4bf23c1ec8d
Reviewed-by: Juha Karjalainen <juha.karjalainen@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-02 06:29:52 +00:00
Heikki Halmet
099b7ffe4c Provisioning: Update emsdk version
Task-number: QTBUG-73867
Change-Id: I2aabbecbce2fc3378db6c0747fc8146c03fac545
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-02-26 11:11:15 +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
Heikki Halmet
ea0825abe8 Provisioning: Remove update notifier
Update notifier is showing when vm is running.
It can affect to test results and that's why it need to be removed

Task-number: QTQAINFRA-2453
Change-Id: Icb27ba998ef9a51aaf8f40274c182b0c3dcd496a
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Juha Karjalainen <juha.karjalainen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2019-01-17 09:45:02 +00:00
Tony Sarajärvi
89e0159bbc Swap openSUSE 42.3 to 15
Task-number: QTQAINFRA-2067
Change-Id: I71f79181704d6ce8faac0019f6d7a5016b0ecb5e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-01-10 17:39:51 +00:00
Maurice Kalinowski
56c43a03cd Provisioning: Update Qt OpcUA backends
- Unified Automation SDK needs to be updated to 1.6x to reflect latest
API changes
- Open62541 is now inside 3rdparty of the Qt OpcUA module. Hence, no
need to provision it.

Change-Id: I96a3764053ca684fa71f9d49e998ebe0ce45a6ae
Reviewed-by: Jannis Völker <jannis.voelker@basyskom.com>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
2019-01-09 09:57:35 +00:00
Heikki Halmet
72d0cfc6dc Provisioning: Add Squish Coco for RTA
Task-number: QTQAINFRA-2393
Change-Id: I391a2670a46835988da6fd1d9121172c706c7a21
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
2019-01-04 14:09:59 +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
cbdd122e18 Provisioning: Update install android sdk to version 28
QT needs at least buildSdk 24 after commit
70057dfc0e53b7996acd5ef2c0f9c40aa3f66062. Updating provisioned sdk
version to 28. Please note minSDK <= targetSDK <= build/compileSDK.

Task-number: QTQAINFRA-2412
Change-Id: I0bf67cf42dfc6f707bdeae973a60c6601d2e73c3
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-12-18 08:20:41 +00:00
Ryan Chu
959d9bdb67 Docker Provisioning: Install Avahi daemon on Ubuntu
Avahi is a free Zeroconf implementation and provides mDNS service
discovery. It enables Docker containers to publish their services on a
local network. For the host systems supporting mDNS technology, they
will automatically discover the services when running network tests.

However, some of the Linux distributions don't have avahi-daemon
installation by default (e.g. Ubuntu Server 18.04). To not surprise the
user, the provisioning script will help to install avahi-daemon package.

Change-Id: Ibb4c278c552c149b15da8cf7918f7f71ffa3ebec
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-12-10 14:11:01 +00:00
Ryan Chu
477fc6a73f Docker Provisioning: Remove the obsolete tag of test servers from Ubuntu
The SHA-1 tag of a server image is generated by the shared function
(sha1tree) in testserver_util.sh. The sha1tree function sorts the files
by the their SHA-1 and use the accumulated results as the TAG. So that,
we can assign the same SHA-1 value to a server on all the platforms.

Change-Id: If87ac72f7a9c5cdebef04977480d27b26a701b73
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-12-10 14:10:54 +00:00
Ryan Chu
3ae624cd6e Docker Provisioning: Remove the fixed version of package dependencies
Free the dependencies of the specific Ubuntu packages. Ensure that test
server is using the latest version of the Ubuntu packages to test
network changes. Otherwise, all the docker files need to be manually
updated when upgrading to the next Ubuntu version (e.g. 18.04).

For debugging purpose, the installed packaged will be listed in the
provisioning logs.

Change-Id: I38d119d11f33cfd60dc34fcd57ec0fe1615e98f2
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2018-11-22 07:57:53 +00:00
Heikki Halmet
7974f26b20 Provisioning: Disable notifications and remove apport
These can cause flakiness during tests

Task-number: QTQAINFRA-2307
Change-Id: Ib8b850e3e1fabe3070bbd27785d043984e085cb7
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-11-07 07:23:49 +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
Juha Karjalainen
3b4ca5d6c0 Provisioning: Update openssl to version 1.0.2p
Task-number: QTQAINFRA-2266
Change-Id: I3f09d9169f17bcd83dcfd72547440bca487fd9db
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-10-26 07:23:14 +00:00
Tony Sarajärvi
97efaacb2b Update Android NDK and SDK on Linux envs
Task-number: QTBUG-47672
Task-number: QTQAINFRA-2298
Done-with: Liang Qi <liang.qi@qt.io>
Change-Id: I42c87d8453423530173b826c09dc6eb4bf9ad5b8
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-10-20 05:15:40 +00:00
Heikki Halmet
0e0d99d617 Provisioning: Support for Webassembly
This change will install specified packages of Emscripten and set up
the build environment for making binary artifacts of WebAssembly

Task-number: QTQAINFRA-1972
Change-Id: Ia5df6c208ea8f29ca8948f0273f321a59fc694a2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-09-15 10:06:47 +00:00
Liang Qi
dada6497fb Merge remote-tracking branch 'origin/5.11' into 5.12
Change-Id: Iac3eb41931081588a08916ddce51dae977c6ef15
2018-09-12 21:50:27 +02:00
Joni Jäntti
974884c0d1 Provisioning: Rebase Ubuntu provisioning
Some provisioning changes made to Ubuntu 16.04 didn't make it to 18.04
when the new platform was introduced. These changes need to be included.

Task-number: QTQAINFRA-2210
Change-Id: Ie8c3cfda95abadbd3a416545ebcfbbab8c0cb4ad
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-09-12 18:16:02 +00:00
Tony Sarajärvi
d038ea6757 Provision GCC 8.2 to Ubuntu 18.04 and set as default compiler
The provisioning scripts supports prebuilt binaries. When available,
those are extracted taken into use. If they are not found,
sources are downloaded and built.

Task-number: QTQAINFRA-2066
Change-Id: Id1a59be2d1cbdb29d316ade572c3ce8f17ad3a6b
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-09-11 13:32:20 +00:00
Tony Sarajärvi
7d0c343fc6 Cleanup of RHEL 6 codes from provisioning scripts
RHEL 6 has been removed in 5.12+ verifications, so no need
to maintain those changes.

Change-Id: Ie65120bf8ec7a7d0aaa71b7c28e95283263e62eb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-04 08:29:01 +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
Heikki Halmet
c870b9b13f Provisioning: Disable mlocate from linux
No need to update the locate database

Task-number: QTQAINFRA-2099
Change-Id: Iae8bf26e4b04ff9c287e9e3f4cc6f492e74355e4
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-09-03 19:38:37 +00:00
Heikki Halmet
967129344a Provisioning: Remove update-manager
Task-number: QTQAINFRA-2104
Change-Id: Ieaf0801099d8c90821c2b8d9db7da47730fd8abb
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-09-03 19:38:34 +00:00
Heikki Halmet
cd9b6276b8 Provisioning: Disable Cracklib-runtime
Task-number: QTQAINFRA-2104
Change-Id: I784fa1b3d8c98d765bfdea929fdb494ca63e09d3
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-09-03 19:38:32 +00:00
Liang Qi
1b65a5d73a Merge remote-tracking branch 'origin/5.11' into 5.12
Conflicts:
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt

Change-Id: Iaae974fbfad9130ead96d229829ab472c998e098
2018-08-30 09:50:50 +02:00
Joni Jantti
e89420945f Add Ubuntu 18.04 to the CI
Qt 5.12 will have both 16.04 and 18.04
LTS releases verified. Some configurations
are upgraded from 16.04 to 18.04.

Task-number: QTQAINFRA-1983
Change-Id: I1b5c2a1c23ce209040b3478cff21b7f6436a9b54
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-08-30 04:53:50 +00:00
Maurice Kalinowski
bc644fd6c9 Provisioning: Update Open62541
Change-Id: I1a1402f80d31d6063cca1838e0b7c3ebbe2d876c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jannis Völker <jannis.voelker@basyskom.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
2018-08-09 13:30:16 +00:00
Joni Jantti
07e349546c Provisioning: Update QNX packages with security patches
BlackBerry has released security updates for QNX 7.0.0 and 6.6.0 that
we want to include in CI since out customers will most likely have them
installed.

Task-number: QTQAINFRA-1535
Change-Id: I6f38ca8831bb91609f79385a2dcbc51302f68eb8
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-08-07 18:11:43 +00:00