Commit Graph

21 Commits

Author SHA1 Message Date
Liang Qi
29befcc995 Merge remote-tracking branch 'origin/5.13' into 5.14
Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml

Change-Id: I48b1e814dd6328dfb2827d0898a277b81ec25e55
2019-10-01 11:37:07 +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
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
9a8fb868ec Merge remote-tracking branch 'origin/5.13' into dev
This reverts commit d494d76c26.

 Conflicts:
        coin/platform_configs/default.yaml
                Temporarily remove the -no-opengl build.
        coin/platform_configs/meta-boot2qt.yaml
        coin/platform_configs/qt5.yaml
                Temporarily remove the webassembly build on windows.
        coin/platform_configs/qtwebkit.yaml

Task-number: QTQAINFRA-2577
Task-number: QTBUG-63917
Task-number: QTQAINFRA-2835
Done-With: Samuli Piippo <samuli.piippo@qt.io>
Change-Id: Ia7972b481a5ce33febe26c6589db24578614b2fd
2019-08-20 14:10:00 +02: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
Juha Karjalainen
c8deeb3d05 Provision sed for windows 10
Sed is needed by webassembly build. Cannot use sed from msys as
having msys bin folder in path breaks webassembly build.

Task-number: QTQAINFRA-2835
Change-Id: I6ad06f0a952a0d8bc5d21e62f8c2cef70f40c618
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 230a73409a)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-06-10 10:19:00 +03:00
Liang Qi
4978e6f835 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	coin/provisioning/common/windows/helpers.ps1

Change-Id: If35fe38af7b7b1c4bba5009180fe51f37a90aa5c
2019-03-17 21:43:11 +01:00
Heikki Halmet
76c80866af Provisioning: Help script for removing items
Sometimes items are locked (access denied) so we need to have function
which waits and retry until removing is possible.

Task-number: QTQAINFRA-2806
Change-Id: I09055c45c0e439ed1a20eb575ee79b7ca22c5745
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2019-03-10 14:32:03 +00:00
Juha Karjalainen
ce91433364 Fix failing to disable windows update service
Sometimes when trying to stop windows update service it fails.
Will now retry disabling wuauserv

Task-number: QTQAINFRA-2632
Change-Id: I5b6bf40aa15bb1f5225dc51e2f7212a01a13e9a6
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-02-14 15:22:56 +00:00
Juha Karjalainen
3332223130 Provisioning: breakpad for qt3dstudio
Breakpad https://chromium.googlesource.com/breakpad/breakpad/
sources are needed for qt3studio. Also Breakpad need sources for
https://chromium.googlesource.com/linux-syscall-support.

Task-number: QT3DS-2650
Change-Id: I13c7534e1c6e97a1e345dad3c2c82eeb6428313d
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-01-17 09:45:12 +00:00
Juha Karjalainen
e21401751a Provisioning: Change how executables are waited to finish
This patch only affects Windows.
Python3 provisioning took over 30-35 minutes. As both
32 and 64 bit versions are provisioned it took over 1h
this change lowers time taken to 5 minutes.

start-process with -wait flag waits for given process and its
sub-processes to exit.  Wait-process insteads just waits for
process to exit.

Change-Id: Ib9a323dcf9e2d07318a0d259a72ca4c4d0a4ed80
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-12-12 13:49:42 +00:00
Maurice Kalinowski
bd8fe6a463 Provisioning: Fix downloading from github
Invoke-WebRequest uses TLS1.0 by default, which is not accepted by
Github anymore, causing all downloads from that site to fail. Upgrade to
1.2 to get downloads working again.

Change-Id: Ie242432937c273db5c345b38482dd74c19c3b4ca
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2018-06-13 18:08:15 +00:00
Maurice Kalinowski
b317ad8096 Remove hardcoded download path
Previously all files got downloaded to a hardcoded path, including the
username for the CI machines. Usually, it does not fit the username of a
local development machine, complicating to reproduce bugs.

Introduce Get-(Default)DownloadLocation functions in helpers to
specify the default download location. This helps to run the
provisioning scripts on a local machine.

Change-Id: I761a92bf5e3e774358756a95dddb9a5d6ee54db9
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-05-25 10:25:55 +00:00
Tony Sarajärvi
c7562fa8ef Take proxy into use in python provisioning in windows
Task-number: QTQAINFRA-1669
Change-Id: I2030f244da65e4fd0c3b0be54d941b065f9a180e
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-05-02 19:01:40 +00:00
Oliver Wolff
8d04f876e7 windows provisioning: Do not use Windows builtin way of extracting zips
The builtin way of Windows for handling zip files is much slower than
using 7zip. A small benchmark (not representative, just extracting the
android ndk) showed 11 minutes using Extract-Zip vs 2,5 minutes using
Extract-7Zip on my machine.

Change-Id: I5198aabb5b75860ead687581fc5e368eb75e48ae
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-04-29 13:21:05 +00:00
Oliver Wolff
cb6709ce5c Unify Windows provisioning scripts & improve error handling
While Coin should also see exit codes != 0 as error, we should
stick to one way of handling script errors. As Power Shell cmdlets
signal an error by throwing an exception we should do the same
(and that approach also works in Coin).

Additionally extracting 7zip files was unified across scripts by
using the existing helper function instead of reinventing the wheel
again and again.

A similar helper function was introduced for starting an external
application (and handling its errors).

Also echo and other "cmd" commands were replaced by their PowerShell
equivalents to have a unified approach across our Windows provisioning
scripts.

Change-Id: I70129ce38692f1396c33c13b33a2918485fa5271
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-02-26 19:52:45 +00:00
Tony Sarajärvi
54d8396d68 Set proxy on Windows VMs while provisioning
Task-number: QTQAINFRA-1669
Change-Id: Ia6b5b668051642a3729d7c7c83c69d8797045847
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-23 21:00:11 +00:00
Frederik Gladhorn
a434f14bd9 Merge remote-tracking branch 'origin/5.10' into 5.11
Conflicts:
	coin/provisioning/common/linux/qnx_700.sh
	coin/provisioning/common/windows/libclang.ps1

Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Change-Id: I7fe1337fb8a575083e8b649d1a051abc82e3b408
2018-01-29 14:06:05 +01:00
Heikki Halmet
462a2aae2b Provisioning: Add Squish provisioning for Release Test Automation
Squish is required by RTA for testing.

Task-number: QTQAINFRA-1523
Change-Id: I0c3653565f19cc9b798a0b63325c47b017cf5537
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2018-01-26 13:12:51 +00:00
Liang Qi
c2d188f225 Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt

Task-number: QTBUG-65688
Change-Id: I17a303731dab4b967c9ef8a852ee0c1097b88f10
2018-01-12 21:13:56 +01:00
Heikki Halmet
2a28ce864b Split Common folder based on operating system families
This change will split common folder to four different folders:
Linux, Unix, Windows and MacOS. Each of these folders includes scripts
which are common for their operating system familes

Task-number: QTQAINFRA-1451
Change-Id: Ic93b2183052335dee875d1452b21e38d268b6474
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-01-10 07:58:26 +00:00