Commit Graph

764 Commits

Author SHA1 Message Date
Edward Welbourne
27ecf13595 Remove execute permissions from scripts not run on Unix
This amends 38e416be66.

Change-Id: I8b0f4f72565b30b097cb36092f7cb90d61c1487e
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-07 17:21:12 +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
842b72e080 Move telegraf install to start of provisioning macos
Change-Id: Ied2b7a415abe5e101b6bfb60472b74070debe9e9
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:43:06 +02:00
Dimitrios Apostolou
c4e14a59ec Move telegraf install to start of provisioning linux
Change-Id: Ia42b0c21f6e341a941e98d3abbda512cfb0fda92
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:43:00 +02:00
Dimitrios Apostolou
de56775c32 Move telegraf install to start of provisioning windows
Change-Id: Icf4f213be5a33ec2ad89d514b9bba5d4a3587117
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:42:54 +02:00
Dimitrios Apostolou
4e3a0f79fb DownloadURL now works with either wget or curl
The reason is that Ubuntu does not have curl at the very beginning of
provisioning scripts, and also does not have the repositories configured
in order to install it.

Change-Id: Ia485c1672f894bc800f199b742d238b2945938e5
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:42:49 +02:00
Dimitrios Apostolou
8f4c12bc03 Install 7-zip at the beginning of provisioning Windows
so that we can extract zip files early and install telegraf.

Also moved disabling Windows defender, to keep it at
the very beginning of provisioning.

Change-Id: I6c2039ebd20e541bdd7d437dd56ccb06a1619a5f
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:42:43 +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
c0fce7a3b3 Refactor DownloadURL.sh
Auto-detects and verifies all kinds of hashes, not only SHA1.
Hash verification is now an autonomous function.
If the file is found at the destination, skip redownloading it if the
hash is OK.
Runs on POSIX sh, not requiring bash.
Retain compatibility with previous version.

Change-Id: I9930336030aa776f49dc460fe766f3e831700255
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-26 20:12: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
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
Dimitrios Apostolou
bdc5dae67b Speed up provisioning on Linux
Change-Id: I6e4e5621ed0b063215476ef51d61ef1f38198d0c
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-26 20:12:11 +02:00
Dimitrios Apostolou
acfc7ad18d Fix message "RPMDB altered outside of yum"
yum install supports a local filename on RHEL 6 or newer.

Change-Id: I873ab3dfab56003ded45bc6c4099aae150f423dd
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-26 20:12:06 +02:00
Dimitrios Apostolou
c87a6e9c6d Fix delays caused by PackageKit locking RPMDB
It seems that disabling it is not enough, it has to be fully removed.
It is also removed later in the scripts but it wasn't enough apparently,
so no harm done removing it twice.

Change-Id: If1a4f032240e66100b68bca3196a700cb570701e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-26 20:12:02 +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
Assam Boudjelthia
ddc99482eb Cherry-pick a QEMU fix for "core dumped" during tests
Task-number: QTBUG-63152
Change-Id: Iac803ca67537eeb9085fb87625103fdde0bfd904
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-17 11:57:28 +03:00
Heikki Halmet
0cf3fdabe3 Provisioning: Upgrade Python pip version for Windows machines
Task-number: QTQAINFRA-2564
Change-Id: I10402bb3169b483c71e44db7ecba443eb4f46dc1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-17 08:57:18 +00:00
Heikki Halmet
a3136bdbfe Provisioning: Disable or delete unneeded tasks and services
Windows have lot's of tasks and services running which are slowing
the performance of build machine. Also 'windows' and 'windows
defender' updates need's to be "permanently" disabled.

Task-number: QTQAINFRA-3182
Change-Id: I8f6b237fcdc6e38fa9a06836d349821d86c58afc
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-17 11:57:11 +03: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
Heikki Halmet
ad93109d92 Provisioning: Add emsdk to macOS 10.14
Task-number: QTQAINFRA-3191
Change-Id: I46a72db63966804b33996d8bc3babe50cd2a41dd
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-09 08:35:24 +03:00
Assam Boudjelthia
d581d86fc5 Provisioning: update QEMU toolchains
* Update QEMU toolchains to Yocto thud(2.6) release(DC Qt 5.13.0) with
GCC 8.2.0.
* Suppress QEMU "Unsupported syscall" and "Unsupported ioctl" logs,
set environment variable QEMU_SYSCALL_DEBUG to show them.

Task-number: QTQAINFRA-2808
Change-Id: I987353b0f3aff87a02ea3bf96ace8de32d6f557b
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-07 07:09:24 +00: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
Heikki Halmet
30e7bf5745 Provisioning: Add Android NDK ROOT to environment variable
Task-number: QTQAINFRA-3181
Task-number: QTBUG-74952
Change-Id: I4cc6936c3b3eef32a1013888ced3950cd1f39407
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
2019-09-04 12:27:26 +03:00
Heikki Halmet
7fd2796b00 Provisioning: Update Android NDK version to macOS 10.14
Currently we are provisioning older Android NDK version than the one
used in macOS 10.13. Let's keep these sync even though we don't currently
make Android builds with macOS 10.14

Change-Id: I6c284d50bac395eb474c0f7e34cd90eda3f180c3
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
2019-09-04 12:27:09 +03: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
Assam Boudjelthia
8a5d86d888 Suppress QEMU syscall and ioctl debug messages
Compile QEMU with "Unsupported syscall" and "Unsupported ioctl" messages
suppressed, those can be shown by set/unset environment variable QEMU_SYSCALL_DEBUG.

Task-number: QTQAINFRA-2808
Change-Id: If0b28c47f2599c4ebca9cae6a6d38f9a4fd00458
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-08-21 12:00:57 +03:00
Heikki Halmet
61acd9e95d Provisioning: Update iOS signing tools
new apple id is required with notarization

Task-number: QTBUG-77359
Change-Id: I2aafda37d40608296d598b1d9ade83a025bcac8d
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2019-08-19 13:31:38 +03: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
Simo Fält
d19f60d745 Provisioning: Append the emscripten to path instead of prepend
Having it first in path seems to cause some confusion when detecting
libc++ in darwin.

Change-Id: I841e7f169e4771d3818cf156d9d78fc242e9995c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-08-12 21:01:55 +00:00
Joni Jäntti
3b0fbe7213 Provisioning: Ubuntu 18.04: Add required packages for b2qt
These packages are required for building b2qt module.

Needed also on 5.12 branch as meta-qt5 follows Qt branching
and will take provisionings from here.

Change-Id: Ia6c5ffd95d4f778b23f381a6f1f5473aa11971e3
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
(cherry picked from commit ee9dd0d860)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-08-11 09:37:41 +03: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
Konstantin Tokarev
125c5e6528 Provisioning: update conan_manifests for libxslt packages
Package recipe was improved, as a result packages were rebuilt and
checksums need update.

Change-Id: I33bd30b44cbe48b3550cb42eeb995ef8588fcce7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-01 14:24:56 +03: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
Konstantin Tokarev
716640a477 Provisioning: update Conan and Conan packages
[*] Update Conan to 1.17.0, adjust to change in command line arguments
[*] Update Conan packages to up-to-date versions, add libjpeg-turbo and
    packages for 64-bit MinGW
[*] Rename 03-conan.ps1 to 11-conan.ps1 so that it is installed after
    Python 3 and MinGW
[*] Add license header to conan.ps1

Change-Id: Ibc451ddc54a7227eb6d3a007a20351e77a46875f
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-07-26 19:52:45 +03:00
Konstantin Tokarev
4bf0ba2ba1 Provisioning: Add CompilerException and CompilerThreads settings for Conan
Change-Id: I3a52101056bce4d3d4ac9124dbfd566adf47cf80
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-07-26 19:52:37 +03:00
Konstantin Tokarev
2666f3b216 Provisioning: rename 03-conan.ps1 to conan.ps1 to follow naming convention
Change-Id: If24541709d4675498bc4af296e05ce3c62d5045a
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-07-26 19:52:24 +03:00
Konstantin Tokarev
535dbcfe96 Conan: Suppress output of New-Item
Change-Id: I3d62fffa08d38a383187726e08743512236bb859
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-07-26 19:52:18 +03:00
Konstantin Tokarev
f12c226463 Provisioning: install-msys2.ps1 must run its commands synchronously
[*] Using bash instead of msys2_shell.cmd allows Start-Process to actually
    wait for the end of command execution.
[*] cpan requires "yes" to be typed by user when it's run first time,
    otherwise it hangs indefinitely waiting for input.
[*] Stop gpg-agent and dirmngr started in the background to prevent
    CI session from hanging.

Change-Id: I4d4c1f36d215cb7578d1e7059217e34375de96c6
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-07-26 07:50:43 +03:00
Konstantin Tokarev
22c427b369 Use msiexec to install Strawberry Perl from msi package
Currently provisioning fails with following error:  "This command cannot
be run due to the error: %1 is not a valid Win32 application."

Change-Id: I59290d394f231c37af10f27d07dbb9f5d2d2470a
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-07-26 07:50:41 +03:00
Konstantin Tokarev
645bd71404 Provisioning: Run-Executable should print stdout and stderr to log
Task-number: QTQAINFRA-3085
Change-Id: I5343753f75157a2a894bb3ac50d416ab044d86fb
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-07-26 07:50:38 +03:00
Konstantin Tokarev
cb8d38fd9c Provisioning: don't re-run Conan 5 times if there is no error
Change-Id: Ia348ebbc4fc3a2503cc426c011e68b7a410c4a08
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-07-26 07:50:35 +03:00
Liang Qi
a319bc5f5f Merge remote-tracking branch 'origin/5.13.0' into 5.13
Change-Id: I97c42bef6632a4aeccefab008e0f615f7a9e9f78
2019-07-05 20:05:17 +02:00
Heikki Halmet
644f8b7006 Fix openssl 1.1 library configurations
Change-Id: Idcb919e5f388b509e4215cf5515c8716490d5872
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>

(cherry picked from commit de41591477)
Change-Id: Ifbb5ecc4613319265a3378b60959fffc7301ae46
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-06-13 22:47:35 +03:00
Heikki Halmet
247b429c3c Install prebuilded OpenSSL 1.1.1b for Windows 7
Change-Id: Ie1ec2d6aaeea8432a654741ed7969cc66c3da7f5
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-05-26 08:14:11 +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