Commit Graph

595 Commits

Author SHA1 Message Date
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
f6f00fdce1 Provisioning: Win7-x86 - Add msvc14_x86 squish package
Squish is required by RTA testing.

Task-number: QTQAINFRA-1732
Change-Id: I8ab0b11ccc299cc0b10e59f99d1cf27c0cdd48b9
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-23 21:00:29 +00:00
Matti Paaso
c3b33afc32 Provisioning: osx-10.11 - Java
This is needed for running RTA jobs in Coin.

Change-Id: Iff855dae54babef00c055a2c8b938871101305e3
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-02-23 21:00:21 +00:00
Joni Jantti
5e31866727 Provisioning: Win10 - Add Squish for mingw53
RTA requires Squish for mingw53 on Windows 10 machines for testing.

Task-number: QTQAINFRA-1729
Change-Id: I42f2c6c62dd004ebc072835340ce24105cfac5e8
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-23 21:00:19 +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
Heikki Halmet
3a3c6fb2b3 Provisioning: Fix Windows 10 msvc 2014 squish installation
Change-Id: Id935580730d20a2f86fa6c82bf08ee3705f344f2
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-23 21:00:08 +00:00
Tony Sarajärvi
ae17b63db2 Add shebang to launchable script
Change-Id: I62e33b656eee3a17e1dab4476569d9afa0b62a45
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-02-23 08:20:34 +00:00
Maurice Kalinowski
acbedcc314 Provisioning: Update Open62541
This is required to use new APIs from the library.

Change-Id: Idbadfd04c331af228a9e095e130930b5fb88f7af
Reviewed-by: Jannis Völker <jannis.voelker@basyskom.com>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
2018-02-23 08:20:31 +00:00
Liang Qi
91739f5fe3 Merge remote-tracking branch 'origin/5.9' into 5.11
Conflicts:
	coin/provisioning/common/linux/open62541.sh
	coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh
	coin/provisioning/qtci-macos-10.12-x86_64/40-qnx700.sh

Done-with: Maurice Kalinowski <maurice.kalinowski@qt.io>
Change-Id: Icd472b8f770a933bafead48093ecf7eb94156128
2018-02-20 22:33:59 +01:00
Simo Fält
769a34ed26 Provision: Use specific Python2 version in macOS
Make sure we use some specific Python2 version on macOS instead of the
one pre-installed along with system.

Change-Id: Ifee07a8cf003e282ec3cb67535818f9fe39c8679
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-13 19:32:00 +00:00
Tony Sarajärvi
c3096caa14 Remove excess comment line for shellcheck
Change-Id: I3e9b8091c158a978bd95e48b18df326c3a545798
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-07 06:30:47 +00:00
Tony Sarajärvi
b4b62658ac Fix environment variable checking for proxy
Change-Id: Iec261d4ce4e84ba656edf9de52b4dc42d0249e51
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-07 06:30:44 +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
Heikki Halmet
4eaa017023 Provisioning: Disable Network Time Protocol
NTP need to be disabled from all tier2 templates

Task-number: QTQAINFRA-1608
Change-Id: I89e019c23b7a194efffa011200a8c870e3a65d66
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-02 07:14:40 +00: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
Maurice Kalinowski
f1422dc64b Provisioning: Switch download sources for mqtt paho broker
Internal resources are preferred and should be used first.

Change-Id: Ifd2a54858c9fb6b82c3dc268566c67238aad262e
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-02 06:22:53 +00:00
Maurice Kalinowski
e33f38acef Update MQTT provisioning
Setting an environment variable has been centralized to a separate
script.

Change-Id: I027f9a71d32ee7f7d68575c9433f56a40a369deb
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-02 06:22:49 +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
Heikki Halmet
dc5f851e78 Provisioning: Add common shared folder
Common shared folder includes scripts of files which are common for all
operating system families. Changes under shared folder will trigger
provisioning for all platforms

Change-Id: I0789f87b76876d5f92673fe2f0e72d770e5f5ea4
Task-number: QTQAINFRA-1451
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-01-26 13:12:47 +00:00
Joni Jantti
6d1190aaa0 Provisioning: Use SetEnvVar helper function in scripts
Currently when adding an environment variable in provisioning we have
to check if the system is Ubuntu and use .profile instead of .bashrc.
This check should be done in a function so we don't have to duplicate
it for every provisioning script separately.

Change-Id: I2fa128032123e17d20dfb39cd3668e22e4bb0d55
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-01-26 13:12:41 +00:00
Frederik Gladhorn
052b4b5844 Merge remote-tracking branch 'origin/5.10' into dev
Change-Id: I1031266ae727e7bfeae71bf3faed9b5197c16247
2018-01-22 12:19:10 +01:00
Liang Qi
45528e6874 Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I0fdced87d2064e8459fa0b9c4e16a53c1f44ac0a
2018-01-19 09:56:46 +01:00
Liang Qi
57ba8230bd Merge remote-tracking branch 'origin/5.9.4' into 5.9
Change-Id: I1c5c5e6e938f33dd8b0b9c40e64d509eeec25774
2018-01-18 23:41:16 +01:00
Oliver Wolff
99595f44f1 Provisioning: Fix disabling windows updates
On some machines the updates were already disabled, which lead
to the call to disable the service failing. Now we just move on without
error.

Change-Id: Ia48f7164c23dfe24e24548558d582cdc0190b7e3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-01-18 21:08:25 +00:00
Frederik Gladhorn
b86b3a757b Fix provisioning: NotePad++ path on 64 bit windows
We install the 64 bit version of np++ which is installed in the regular
program files folder.

Change-Id: I702210eaf7dfae75bbfcfd9cc98d8ed96d775f61
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-01-18 21:08:21 +00:00
Oliver Wolff
e33ef922ba Use "correct" registry when enabling Windows 10 Developer Mode
As coin is running a 32 bit application the registry key ended
up in the Wow6432Node compatibility area of the registry when run
on a 64 bit Windows. Windows does not use this place to check
for the developer mode setting, so we use the "proper" registry
instead.

If adding the registry key fails the script now reflects that
and exits with a proper exit code.

Change-Id: Ifd6bc7e7b0ed6595a2a967597ab45053cb51e7aa
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-01-17 16:47:54 +00:00
Heikki Halmet
6e4f2f8433 Fix common folder paths for common split change
Change-Id: I9d3f1ce71d7995c88005b81f7f9dc9db892e9de7
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-01-13 07:31: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
1c1557aa93 Provisioning: Set CMake to PATH on Ubuntu
Ubuntu uses .profile file instead of .bashrc. We need to use
the correct file accordingly.

Task-number: QTBUG-65594
(cherry picked from commit 22e4664eb0)
Change-Id: Iceeec53882f1a5c97cd8f7ea5b013d543c156acb
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-01-09 19:20:44 +00:00
Joni Jantti
dc6c54cb2d Provisioning: Ubuntu 16.04 - QNX700
QNX 7.0 is required by RTA on Ubuntu.

Task-number: QTQAINFRA-1671
Change-Id: I82821e096cfa2d35a2176eba6e753a0d71049b72
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-01-08 15:54:23 +00:00
Tony Sarajärvi
22e4664eb0 Fix opcua provisioning by sourcing .profile
When CMake is installed it exports its install
path into .profile. However, freeopcua doesn't source
it as builds do, so it couldn't find the cmake.
Also, as Ubuntu is using .profile in our builds,
this commit fixes so that the PATH is actually written
into the right file.

Task-number: QTBUG-65594
Change-Id: I561a88a07872436bb4a3bd62a2d55fd56a130121
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-01-07 15:20:37 +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
Tony Sarajärvi
7a37b90702 Drop builds done with VS2013
Task-number: QTQAINFRA-1390
Change-Id: Id3de3706466508cdbfc586b2a39d96083e8434e5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-01-05 20:43:53 +00:00
Oliver Wolff
f51fd755b5 Windows 10: Enable developer mode
In order to be able to run auto tests for UWP, developer mode has to be
enabled.

Change-Id: I4f20fb8d694d5148b7f976c1ef4bb23ff2fb57ba
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-01-05 05:37:08 +00:00
Maurice Kalinowski
5fa40393c5 Apply path changes to running process
SetEnvironment only applies changes to PATH for new processes. Currently
the provisioning runs the scripts in one process, hence changes are not
applied when they are already needed.

Change-Id: I82a360686651a57e5c94330a9b56671fca1493e5
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-01-03 08:33:19 +00:00
Maurice Kalinowski
cb327e54bd Fix open62541 provisioning on Linux
pip is an unknown command in the sudo environment.

Change-Id: Ia59c0b98eac6c3d22b8a452988abe17df6a83909
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-01-03 08:33:13 +00:00
Tony Sarajärvi
4fb893fcf8 Set up proxy for provisioning scripts
Task-number: QTQAINFRA-1669
Change-Id: I582dc5037bd2b46dcd5c9c3b2cb13784e122d6a5
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-01-02 12:52:35 +00:00
Tony Sarajärvi
b9aae857f9 Fix shebangs and give provisioning scripts +x rights
Change-Id: Ib85721600b1e4461470a9ea4fd3b29fca0b35633
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-01-02 12:52:29 +00:00
Joni Jäntti
fcc0feaacb Add clean Ubuntu 16.04 provisioning
Currently Ubuntu 16.04 template has stuff installed on its tier 1. We
want to have a clean installed tier 1 and install everything on it
during provisioning. This will save some disk space on our hosts.

Task-number: QTQAINFRA-1574
Change-Id: Ia7e6df62835a8e31943c00996f12ac70c6c71aed
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-12-29 13:16:32 +00:00
Tony Sarajärvi
70d3800aab Remove provisioning of ICU for VS2012
Visual Studio 2012 isn't used in our builds.

Change-Id: I7f2480a1811efd1c1f164f468407ab55d5c4102d
Reviewed-by: Simo Fält <simo.falt@qt.io>
2017-12-27 22:11:13 +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
def11da274 Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	coin/platform_configs/qt5.txt

Change-Id: I9ad5a004544bf2f368ee1aaad247c4db3b36b162
2017-12-14 11:49:07 +01: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