Commit Graph

159 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Juha Karjalainen
230a73409a 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>
2019-05-16 04:14:35 +00:00
Juha Karjalainen
6465c42122 Provisioning: install msys2
Windows need msys2 perl for configuring openssl 1.1.1 for android.

Task-number: QTQAINFRA-2327
Change-Id: I217542b6e9b3fd0f656b8186e2cde4283257dcf8
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-05-03 07:30:44 +00: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
Juha Karjalainen
b9e92adf59 Provisioning: install msys2
Windows need msys2 perl for configuring openssl 1.1.1 for android.

Task-number: QTQAINFRA-2327
Change-Id: I217542b6e9b3fd0f656b8186e2cde4283257dcf8
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 6465c42122)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-06-10 10:06:56 +00: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
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
Ivan Donchevskii
338fce191a Provisioning: Install i686 mingw on Windows 10 X64
Required to compile 32-bit binaries.

Fixes: QTQAINFRA-2896
Change-Id: I91a43ecf6e2c97886429c34c79591999b908879f
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-04-08 06:36:50 +00:00
Heikki Halmet
c654e63c87 Update Windows 10, MSVC 2015 and MSVC 2017
Windows 10 updated to build 1809
msvc2015 update 3 14.0.25431.01
msvc2015 update 3 (KB3165756)
msvc2017 5.18.2 4.7.03056

ms-zune is no longer available in the latest
Windows 10 version

dotnet and msvc 2015 update patch installation
moved to pre-provisioning. Msvc 2015 update patch installation
seems to be flaky with this windows version.

Task-number: QTBUG-68190
Task-number: QTQAINFRA-2255
Task-number: QTBUG-71125
Change-Id: I87defffa488cb75f7de0909020073b35476bea80
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-04-05 05:04:34 +00:00
Heikki Halmet
0660a25cca Provisioning: Make gnuwin32 available for windows machines
This script will install gnuwin32 to the windows machines so it can be
removed from qt5

Task-number: QTBUG-73422
Change-Id: I40b7963efcf047525626fe6f1e3ba50b54d68199
Reviewed-by: Juha Karjalainen <juha.karjalainen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-03-17 08:16:25 +00:00
Liang Qi
2d0e6b81dd Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	coin/provisioning/common/windows/android-openssl.ps1

Change-Id: I0755066ece5458040a21b3da6ddbc1656240f5bb
2019-02-27 12:43:22 +01:00
Heikki Halmet
06fb909429 Provisioning: Change installation order for dotnet-framework
Windows updates can't be disabled before dotnet-framework is enabled

Task-number: QTQAINFRA-2824
Change-Id: I26c6b9d9aacfd8031a0b05ce48e003822aec3bdc
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-02-23 10:56:58 +00:00
Juha Karjalainen
366eaceff0 Change order in which certain provisioning scripts are run
Disables windows update and defender  now earlier in provisioning.

Task-number: QTQAINFRA-2592
Change-Id: I4cc380830695a97f02b54ab904e2f6192fc36d44
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-01-29 15:24:41 +00:00
Heikki Halmet
8ba5474da7 Provisioning: Install Google's Protocol Buffers
Protobuf is needed for Automotive Suite

Task-number: QTQAINFRA-2314
Change-Id: I12b4248f1de5aea88f573297a47b791b5b6296fb
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2019-01-29 12:10:57 +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
Simo Fält
6d2929d1aa Provisioning: Move Android toolchain and config to win10
Installing Android toolchains and ssl headers to win10 template
and moving Android windows platform configs to win10 from win7.

Task-number: QTQAINFRA-1266
Change-Id: I9b3e3a378451e0bdfc7dc5c7b75ee035faf8994c
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 5a040ca46a)
2019-01-17 09:45:05 +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
Joni Jäntti
2306cb69c8 Provisioning: Windows: Disable automatic defragmentation
Automatic disk defragmentation is enabled by default on Windows
machines. It should be disabled to save some time.

Task-number: QTQAINFRA-2217
Change-Id: I3f024208bd35c9e305569e6b2b562f5a8b16f6f1
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-01-02 12:23:01 +00:00
Juha Karjalainen
0ac22704fa Provisioning: Disable powershell quickedit
Powershell quickedit causes powershell window freeze until quickedit
mode is exited by pressing enter. For some reason quickedit mode get's
activated during build. This causes time out as agent does not get
any output from processes.

Task-number: QTQAINFRA-2263
Change-Id: I2878cc7a39bae504f826c5622cc5817fd227d7f0
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-10-13 08:41:42 +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
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
Oliver Wolff
f8086955b3 Provisioning: Install debug version of vclibs for UWP usage
RTA relies on the availability of debug vclibs. The frameworks are usually
installed on first usage by Visual Studio, but as we use winrtrunner, we
have to install the packages manually.

Task-number: QTBUG-69809
Change-Id: I66cc4b04062afe634345cddc8ab4d001778274cc
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-08-20 13:23:49 +00:00
Joni Jantti
33276c1719 Provisioning: Win10_x64: Remove MS Zune Appx packages
Windows 10 has these Zune Audio and Zune Video packages installed that
often open up automatically when accessing the VMs through VNC for
example. Removing the packages gets rid of this annoyance.

Task-number: QTQAINFRA-2121
Change-Id: I09aa276fcb06ad84321709e64bcfd71fbd33c657
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-08-09 13:30:08 +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
Maurice Kalinowski
9f57c8135a Provisioning: Install Unified Automation C++ SDK on Windows
UA C++ SDK is one of the supported OPC UA backends in the Qt OpcUa
module. The aim is to have packages available with Qt 5.12.

Change-Id: I2d1b3c6c583f4563e7470317d4f73f853bd34c72
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-07-04 12:03:06 +00:00
Liang Qi
c6d9e433df Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh

Change-Id: I00d0ccd138eb8d89e30e7e57632c6fc8f83e0001
2018-07-02 13:12:35 +02:00
Simo Fält
eb1ca70def Provisioning: Add 64 bit Mingw to coin as packaging target
Change will provision DirectX SDK with enabler DotNetFramework also, so
that configure for MinGW will detect ANGLE correctly. The DirectX
headers and libs will be in two location, while those are installed
with MSVC also.

Task-number: QTBUG-35288
Change-Id: I04ca71a73b22cd4eb27987a368cd9ede03b0e437
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-06-06 08:37:51 +00:00
Simo Fält
6c295ac7f0 Provisioning: Install 32 bit python to 64 bit windows
In order to create 32 bit Pyside wheels we have to be able to link
Pyside against 32 bit python. While 32 Qt build is done in 64 bit
Windows Pyside must follow.

Task-number: PYSIDE-646
Change-Id: I30855d4cecd6bc6219021216e9c296d28c56b405
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-06-01 13:21:30 +00:00
Liang Qi
0a2465bc30 Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I7502e49bc75f84b7fb2d4534181a2082fc939265
2018-05-30 21:19:11 +02: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
Maurice Kalinowski
d9fcbde41d Provisioning: Install Open62541 on Windows
Open62541 is one of the supported OPC UA backends in the Qt OpcUa
module.

Change-Id: I9baaffbae058d0590819e248694ee41887558708
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-05-25 06:45:00 +00:00
Liang Qi
b1f1bf5560 Merge remote-tracking branch 'origin/5.11.0' into 5.11
Change-Id: Ia252225aa1339ac448dd726b149e08739c02dfc5
2018-05-09 22:12:22 +02:00
Simon Hausmann
41369b6282 Install the MinGW build of libclang
This restores the MinGW installation of libclang on Windows 7 and
installs the MSVC and MinGW builds in parallel on Windows 10. For
compatibility reasons the MSVC installation is done last, to ensure that
the older LLVM_INSTALL_DIR variable points to the MSVC installation. In
addition though we now get LLVM_INSTALL_DIR_MINGW and
LLVM_INSTALL_DIR_MSVC, which qt_find_clang.prf in qttools can use in the
future.

Task-number: QTBUG-66015
Change-Id: I8b53b85d0cde597c88a089f2a05f03947828d9bd
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-05-01 06:34:05 +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
Joni Jantti
5d7972b73b Provisioning: Windows - Disable autoreboot
Windows machines currently reboot automatically in case of a blue
screen crash. This must be disabled to prevent problems with Coin.

Task-number: QTQAINFRA-1748
Change-Id: I64ac1cfa124694fab356b8443298c1b37bed9a92
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-18 16:22:17 +00:00
Joni Jantti
95609c6657 Provisioning: Executequeueditems on Windows
mscorsvw.exe background processing is draining a lot of
CPU processing on Windows platforms. Executing the list
of to be processed items with full CPU capacity should
clear out the list and stop the background processing.

Task-number: QTQAINFRA-1775
Change-Id: Ib12bc10f4572390f20bfea915ca48ec398de46ee
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-08 19:27:11 +00:00
Jani Heikkinen
52b163092a Add missing 08-libclang.ps1 for windows7 provisioning
We need to set LLVM_INSTALL_DIR to be able to build qdoc. That was
missing from windows7.

Task-number: QTBUG-65950
Change-Id: I7f75eb0181056a2117080ead6dc5862324906689
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-01 07:17:27 +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
Joni Jantti
b1a212b52e Provisioning: Make Windows scripts use the Download helper function
Some Windows provisioning scripts use the Invoke-WebRequest without
setting the ProgressPreference = 'SilentlyContinue' variable for
disabling the download progress bar. Disabling the progress bar
greatly increases the download speed during provisioning.

Change-Id: I649c1bcc970577776d720a4ebf5a7af96c1603f8
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-23 21:00:15 +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