Commit Graph

74 Commits

Author SHA1 Message Date
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
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
Liang Qi
0e4931a8af Merge remote-tracking branch 'origin/5.10' into 5.11
Change-Id: I3b299786e8500b0a8f2c197f7501f8e6e1cf29cf
2018-02-04 15:30:50 +01:00
Liang Qi
4cd14f4625 Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I3e4ae2508d632919db77af0f365eb25ace1a69e0
2018-02-03 11:08:26 +01:00
Joni Jäntti
1583fbd2bb Add Win7_x64 provisioning for RTA purposes
Windows 7 x64 (Windows 7 msvc2013-x86_64) template
is needed since RTA is starting to deploy machines
from coin.

Task-number: QTQAINFRA-1521
Task-number: QTQAINFRA-1615
Change-Id: I7e9665bd37ee010a59ff3792f435d65eb9ad8c17
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
2018-02-02 07:14:35 +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
Frederik Gladhorn
485244b016 Merge remote-tracking branch 'origin/5.9' into 5.10.1
This was pushed directly, bypassing codereview.qt-project.org to get
provisioning back into a working state.

Change-Id: Ia5d2e6f7079162f571cd7c7994c0f2b3133b1163
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-01-29 13:34:28 +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
Liang Qi
19872ea843 Merge remote-tracking branch 'origin/5.9' into 5.10
Fixed up provisioning script locations after the reshuffeling into
common/platform folders.

Change-Id: Ia0b7d076e475ccc207f2955572fb9ab4171e5d9d
2018-01-11 15:13:13 +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
Tony Sarajärvi
84899eca4c Consolidate prefixes of provisioning scripts
Change-Id: I75a4bcb049a2c4d034a74b6838ffe7ddf2c3015e
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-01-07 15:20:34 +00:00
Liang Qi
2a39f8e5fe Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I7119e6e1853b0eef2b695fb8165518e90b18d250
2018-01-06 09:08:20 +01:00
Joni Jantti
19f8a741f3 Make provisioning script prefix style match across platforms
Currently we are using different styles and amount of digits for the
provisioning script prefixes. This change will unify them across the
platforms. Also removes a couple of duplicate files.

Task-number: QTQAINFRA-1668
Change-Id: I039777e7616bccc29c6a4ac55db13326ae8dc87c
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2017-12-29 13:16:40 +00:00
Tony Sarajärvi
357de3ea13 Drop QNX 6.6.0 verification from the CI
Task-number: QTQAINFRA-1378
Change-Id: Icc5fb21b6430c916ceecb8d5a504d40938931b06
Reviewed-by: Simo Fält <simo.falt@qt.io>
2017-12-27 11:29:31 +00:00
Liang Qi
475fc2c2ad Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	.gitmodules

Change-Id: If22ccc401db60d550d6e6b474d54a05b363884af
2017-12-13 23:28:56 +01:00
Joni Jantti
1dee4e9fca Fix broken and duplicate Ruby provisioning
Ruby is being installed twice on certain Windows platforms and the 32
bit versions of these don't have a working PATH addition.

Task-number: QTQAINFRA-1632
Change-Id: Id7fd269854d17c32df7d0b82ac9e750e645af564
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-12-13 19:41:24 +00:00
Liang Qi
c2c45640e0 Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	coin/platform_configs/qt5.txt
	coin/provisioning/common/install-commandlinetools.sh
	coin/provisioning/qtci-linux-RHEL-7.4-x86_64/004-install-packages.sh

Change-Id: I3b20cda2b35412fd708295e4f9e32cd2d7d638fb
2017-12-09 23:09:15 +01:00
Joni Jantti
828f82b6f0 Add missing name prefixes for Win7 provision scripts
The prefix numbers were missing for Ruby and QNX patch scripts.

Change-Id: I687b244c4657e17c32f0cc8221d3fb0ad3c5578d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-12-09 18:48:26 +00:00
Liang Qi
062b29b311 Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: Iac3073d85bd94d27c296b307a827ee6bd97c4194
2017-11-16 23:14:25 +01:00
Jan Arve Sæther
3653630d22 Provisioning: Disable NTP synchronization for Windows
During CI, it has been observed that some processes didn't leave their
wait state. (So they were "hanging")
During analysis of the event log on that CI node, we found out that at the
same time those processes entered this state, the NTP client set a new time
and indeed the local time of the CI node changed (it was
changed 2 hours forward in our case).
For the record, the processes we observed this with was jom.exe and
cc1plus.exe (the latter is the g++ compiler in the mingw toolchain)).

We therefore have a strong suspicion that the NTP time change was causing
the CI hang, so we simply disable it.
The virtual machine should anyway get the correct time from its VM host
when its started.

Change-Id: I1204063399e2a4741b7b26b79858759c1bc5eab2
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2017-11-10 23:29:49 +00:00
Liang Qi
90272a84ae Merge remote-tracking branch 'origin/5.9' into 5.10
Also update to pyro toolchain in QEMU way.

 Conflicts:
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt
	coin/platform_configs/qtdeclarative.txt
	coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/004-yocto.sh

Done-with: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Task-number: QTBUG-64384
Change-Id: If0451b81059e6831a5e5df0f359f119caf4ee09d
2017-11-09 14:05:56 +01:00
Tony Sarajärvi
372d2bb076 Provision vanilla Windows 7 x86 and use it
Change-Id: I96eefe2e69b5cbe5d68329be2bb4273d03bb85ca
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-10-24 12:53:26 +00:00
Maurice Kalinowski
a1f173fc67 Provisioning: Install paho mqtt broker
The paho broker is used for testing the Qt Mqtt module, specifically the
client classes.

Change-Id: I252a337eb0454e871669a467dba2d9a379fb33d5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2017-09-10 11:16:15 +00:00
Simon Hausmann
6bf5691ca8 Merge remote-tracking branch 'origin/5.6' into 5.9
Conflicts:
	coin/provisioning/common/InstallPKGFromURL.sh
	coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh
	coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh

Change-Id: I87b10d75250eecd5271be201fdf6b1d27cc5a791
2017-08-31 11:25:26 +02:00
Simo Fält
a99d3432f7 Install python3 on all platforms
Python3 is required in 5.6 by pyside-setup.

Task-number: QTAUTO-345
Change-Id: If11ca425fa08cce8a518710ded0a6ec58159343d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit a5f3f8ed48)
(cherry picked from commit a765838889)
(cherry picked from commit 1859f9b26c)
2017-08-30 19:57:54 +00:00
Liang Qi
ebf8aa15e6 Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/qt5.txt
	coin/provisioning/common/system_updates.sh
	coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh
	coin/provisioning/qtci-linux-Ubuntu-14.04-x86_64/08-pythondev.sh
	coin/provisioning/qtci-linux-Ubuntu-14.04-x86_64/freeopcua.sh
	coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/freeopcua.sh
	coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh

Change-Id: Id9c38f3cda85b82fc20fb4a1f2ec71aa18646d94
2017-08-24 09:12:33 +02:00
Liang Qi
74eb853384 Merge remote-tracking branch 'origin/5.6' into 5.9
Move the Documentation feature to the corresponding Ubuntu 16.04, where
the CI would have used it by magic.

Conflicts:
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt

Done-with: Frederik Gladhorn<frederik.gladhorn@qt.io>
Change-Id: I885ce572710480cd15ecdc8cfac7edb52957f92a
2017-08-22 08:22:02 +02:00
Kari Oikarinen
c2493f9d6d Use libusb compiled with MSVC 2015
QDB has to change to using Windows 10 for releases, because Windows 8.1
is no longer available for non-qt5 builds as a packaging platform in 5.9
branch.

Don't provision libusb on earlier Windows versions, since they don't
have a compatible compiler.

Change-Id: I771a24fcf208c4961483a39e51cb7d95f004ed55
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2017-08-21 17:49:27 +00:00
Joni Jäntti
bd3ddeddd2 Make CI use a new win 8.1 provisioning instead of win 8
Added all the provisioning scripts that install required
programs and make changes to certain settings. These are needed to
build qt5. This replaces the old Windows 8 template.

Made all the Windows platforms use the scripts under
provisioning/common/ instead of duplicate files.

Task-number: QTQAINFRA-1357
Change-Id: Ic3f0b50079b212437fff711379f243753ab84872
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-11 16:49:10 +00:00
Tony Sarajärvi
043e54c7c6 Update provisioning scripts with new intra.qt.io address
Change-Id: I9b4c5e9d0fe8e0e84596ad9086f563d11e97930b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-08 20:05:08 +00:00
Simon Hausmann
b229f6d1ea Merge remote-tracking branch 'origin/5.9' into dev
Change-Id: I2d5232e2c3a7a8e0d90183b0448ba0ddb5351a29
2017-07-26 15:34:03 +02:00
Simon Hausmann
f56f2c20c4 Merge remote-tracking branch 'origin/5.6' into 5.9
Conflicts:
	coin/platform_configs/default.txt

This also reverts c9d5341307 as on macOS
10.11 in 5.9 we're using a fresh virtual machine template that doesn't
have stale virtualenv/python installations.

Change-Id: Iab50fde0388c97967ada7c40374345ce4327613a
2017-07-19 13:24:43 +02:00
Simon Hausmann
d615b4a99f Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/qt5.txt
		Remove QNX Windows builds, 0358b6d2
		Remove Integrity build temporarily, QTBUG-61702
	coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh

Done-with: Liang Qi <liang.qi@qt.io>
Change-Id: I5a56633d6cd60b5514828060fde87f784e54cdda
2017-07-14 07:24:32 +00:00
Konstantin Tokarev
a96119c121 Provisioning: move Conan manifests to common directory
We need to use x86 packages from qtci-windows-10-x86_64 configuration,
so splitting Conan manifests by configuration is not a good idea anymore.

Task-number: QTBUG-61829
Change-Id: I8b2fc00865cce372ca6b5ec75b4775d345d0d18f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-09 04:51:48 +00:00
Konstantin Tokarev
331cf52ff7 Provisioning: Install Ninja on windows hosts used to build cmake-based QtWebKit
Makefile-based generators of CMake are much less efficient than Ninja. They
generate bloated Makefiles that call back to cmake often. Main offender on
Windows is cmake_depends command which seems to do lots of disk reads.

QtWebKit can now switch to ninja automatically if it's present in PATH.
This should help to reduce build times.

Change-Id: I33d3f4d766a630f8ca4fb64b719fe2e8a5c2e00c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-03 07:22:38 +00:00
Dominik Holland
1859f9b26c Download and install vc_redist 2015 on windows 7 and 8
This is a dependency of the python3 packages for windows

Change-Id: I6f45dcb1d64f43dedd883d33fdc85038c24fc501
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-06-26 08:12:40 +00:00
Simon Hausmann
2c4b06a13d Centralize Mesa LLVMPipe installation on Windows
Install the DLL for general availability on all Windows systems. Due to
its distinct name it will not be picked up by anyone unless Qt
explicitly selects it.

This gives us the ability to choose the GLES backend to use in Qt.

Change-Id: Ie36f202ead7080a8f7690734d305bd27f0c9f56b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-06-20 04:44:49 +00:00
Simon Hausmann
20113e4872 Merge remote-tracking branch 'origin/5.6' into 5.9
Conflicts:
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt

Change-Id: I1709ddd14bf27186a8968ce073cf22e7903ff798
2017-06-12 21:36:03 +02:00
Simon Hausmann
35057fe4b2 Clean up windows cleanup script
* There's no need to have a numbered prefix in the common directory
* Instead of deleting directories trees worth several gigabytes of data,
  just rename the directory. The underlying storage system is
  copy-on-write and so deleting the files produces more data than just
  moving the directory out of the way. Deleting the files does not
  actually free up any physical disk space.

Change-Id: I6de02d56f3485651726ea11183ce7571d5b61520
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-06-06 20:15:40 +00:00
Simon Hausmann
038d263081 Speed up Windows installation of cmake, python, opengl, mysys and Android
We're better off copying off the internal server using CIFS than using
PowerShell's incredibly slow Invoke-WebRequest.

Change-Id: Ic39cf08be70335e9309575d543155bffaceb0db0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-06-06 20:15:34 +00:00
Dominik Holland
a5f3f8ed48 Install python3 on all platforms
Task-number: QTAUTO-345
Change-Id: If11ca425fa08cce8a518710ded0a6ec58159343d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-05-11 10:29:12 +00:00
Liang Qi
285ee106e7 Merge remote-tracking branch 'origin/5.6' into 5.9
Conflicts:
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt

This also fixes the 7Z extraction code to work on the windows 7 x86
installation where 7z is not in the PATH anymore with revision 2. The
fallback code was 64-bit only and needs the null check for ProgramFiles(x86)
along with the fall back to ProgramFiles to locate the 7z executable.

Change-Id: Ifcf014c3a99685c427a62898e1fa83910a4a7247
2017-04-03 12:06:27 +00:00
Konstantin Tokarev
2835a4d873 Upgrade CMake to 3.6.2 on Windows 7 builder
Task-number: QTQAINFRA-996
Change-Id: I84867a5b630c4cf1e712047c58c6cad9e5e43800
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit daa8653121)
2017-02-07 19:25:03 +00:00
Simon Hausmann
527829a600 Merge remote-tracking branch 'origin/5.8' into 5.9
Change-Id: Ic7dab06f6b6e6cf326df651151eade22429b997f
2017-02-05 15:17:50 +01:00
Kari Oikarinen
321d5f1488 Provision libusb-1.0 for Windows
It's needed by tqtc-boot2qt/qdb.

Change-Id: Id5b8b18a2090c040c3eec1bd3c4c521456245381
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-31 18:33:44 +00:00
Simon Hausmann
dfaa59fcb3 Bump Android API level to 21
This extends commit f3b0b9e292 to the
macOS and Windows platforms.

Change-Id: I180d81266897582cee1bec5938fbd3bb9c5c2ee3
Task-number: QTBUG-58367
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-01-31 12:37:11 +00:00