Commit Graph

161 Commits

Author SHA1 Message Date
Joni Jantti
eeb9fc4129 Provisioning: Ubuntu - Add QNX 6.6.0
QNX 6.6.0 is required by RTA.

Task-number: QTQAINFRA-1914
Change-Id: Id0578050d24fb13f3e10a10e972be790d39f9bc0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit e8a60ed41b)
2018-06-02 04:58:06 +00:00
Joni Jantti
aa238f9770 Provisioning: Win10_x86 - Windows 10 SDK with debugging tools
RTA needs debugging tools for Windows 10 x86 testing.

Change-Id: I69cae92a2529a933a018f22c1b200bdc4d2c0aa0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 081861de18)
2018-04-20 06:16:06 +00:00
Heikki Halmet
0d19fb2955 Provisioning: Fix Squish installation for msvc14 32-bit
Task-number: QTQAINFRA-1809
Change-Id: I8a2947fe52535e39b0817fec2ee0c35bb09e4060
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
(cherry picked from commit 3410bab278)
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-20 06:15:55 +00:00
Oliver Wolff
73621de891 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>
(cherry picked from commit cb6709ce5c)
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-04-20 06:15:53 +00:00
Oliver Wolff
a37f4a2485 Windows 10: Enable developer mode
Developer mode is required by RTA for testing.

Change-Id: I4f20fb8d694d5148b7f976c1ef4bb23ff2fb57ba
(cherry picked from commit f51fd755b5)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-18 18:16:28 +00:00
Joni Jantti
34cf0234b9 Provisioning: Win10 - Add Squish for mingw53
RTA requires Squish for mingw53 on Windows 10 machines for testing.

Task-number: QTQAINFRA-1729
Change-Id: I42f2c6c62dd004ebc072835340ce24105cfac5e8
(cherry picked from commit 5e31866727)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-18 18:16:22 +00:00
Joni Jantti
18b2d88dd5 Provisioning: Win7-x86 - Add msvc14_x86 squish package
Squish is required by RTA testing.

Task-number: QTQAINFRA-1732
Change-Id: I8ab0b11ccc299cc0b10e59f99d1cf27c0cdd48b9
(cherry picked from commit f6f00fdce1)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-18 18:16:18 +00:00
Heikki Halmet
6f39655317 Provisioning: Upgrade pip to latest version
Latest pip version is not installed during python
installation. Pip need to be reinstalled after python
installation because older version of pip seems to cause
installation problems randomly at least with python 2.7

Task-number: QTQAINFRA-1902
Change-Id: If3d74130ecee6e410c64cad309feff9edc0e5db0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 2e6af2bba7)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-18 18:16:02 +00:00
Heikki Halmet
51e22677e8 Provisioning: Remove sha1 file after shasum check
Change-Id: Iee8e66d98e5ebd2dee18baf8e1752a86065417d1
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit c79d285ffa)
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-18 18:15:57 +00:00
Tony Sarajärvi
9bcf5656a1 Make unzip less verbose in macOS
Change-Id: I83249f724ecbfeeb4fd5c1cd33a9c6195c590c4b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
(cherry picked from commit ab021d4bb4)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-18 18:15:36 +00:00
Heikki Halmet
4b9ea4477d Provisioning: Fix java installation for mac
Change-Id: I3b6672e671720416af71631c2f9ce814f07e596a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit a6feaec287)
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-04-18 18:15:17 +00:00
Tony Sarajärvi
a780f200a8 Remove try_catch.sh helper script
Change-Id: I3981920bb8085ffbad89c31e0fd628a6e11146b6
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 1b5f8cec03)
2018-04-18 18:15:13 +00:00
Jędrzej Nowacki
71282805a5 Simplify openssl_for_android_linux provisioning script
The script was over-engineered. The new version provides the same
functionality while removing uninteresting postmortem messages.

In addition try_catch.sh has a bug that injects set +e So it is good
to avoid using it.

Change-Id: I9e26e8fedad71d40270fe94695d5e1c09c3d9023
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
(cherry picked from commit bb9739773c)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-18 18:15:09 +00:00
Tony Sarajärvi
9497487c77 Remove try_catch codes from unix scripts
Change-Id: Iabadbf28c65132ae614048cb98e92f57e3786056
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 90261c1df5)
2018-04-18 18:15:04 +00:00
Heikki Halmet
6ef6267ab9 Provisioning: Move http_proxy.txt under shared folder
Change-Id: Id5b2f07a92eadfb21fbfdb3fb65621d6322dc8c4
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
(cherry picked from commit 23b4bcf6c5)
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-04-18 18:15:00 +00:00
Tony Sarajärvi
fb55d5bc14 Set proxy on Windows VMs while provisioning
Task-number: QTQAINFRA-1669
Change-Id: Ia6b5b668051642a3729d7c7c83c69d8797045847
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 54d8396d68)
2018-04-18 18:14:41 +00:00
Tony Sarajärvi
41c372c010 Remove try_catch codes from common macOS scripts
Change-Id: I66291e2da5514499387b61e01ad85a652cd24d7b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit a98b0f3d79)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-18 18:14:37 +00:00
Matti Paaso
ee16738e1b 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>
(cherry picked from commit c3b33afc32)
2018-04-18 18:14:28 +00:00
Tony Sarajärvi
be8d6ad1b7 Remove try_catch from common linux scripts
Change-Id: I9c7b472fa4c448f40c9adc6cc8a0d84cb9c5e74c
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 1c6abfae01)
2018-04-18 18:14:18 +00:00
Jędrzej Nowacki
ac8a85582b Simplify DownloadURL
The script was over-engineered. The new version provides the same
functionality while removing uninteresting postmortem messages.

In addition try_catch.sh has a bug that injects set +e to a sourcing
script which was propagating through DownloadURL.sh to almost all
provisioning scripts. So it is good to avoid using it.

Change-Id: If191a0dcf52a29c4bec580a254e8e58a00130f6d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
(cherry picked from commit 8a47814c91)
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2018-04-18 18:14:04 +00:00
Rainer Keller
ea67572b4a Provisioning: Create symbolic for shasum tool on macOS for compatibility
On macOS the sha1 tool is named 'shasum' while on all other unix systems
it is called 'sha1sum'. In order to make all unix provisioning scripts
run on macOS without special case handling a symbolic link is created.

Change-Id: Ib1365cbb0dcb31e68a22959ce939fb450ec7e3f7
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 04d1ee1df4)
2018-04-18 18:13:59 +00:00
Tony Sarajärvi
cc6592ef08 Disable update download in background
Task-number: QTQAINFRA-1852
Change-Id: I6d8e433fa40dd080fe84efcf3d0c655d14f86010
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit eebc0133f0)
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
2018-03-20 09:59:48 +00: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
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
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
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
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
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
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
c98db75188 Merge remote-tracking branch 'origin/5.9.3' into 5.9
Change-Id: I01a6ee1ecfaabe56e585194ccfab3b25fbd89e8b
2017-12-11 12:31:12 +01:00
Joni Jäntti
5089c4468f Fix mesa_llvmpipe provisioning script for x64 Windows
This script doesn't extract the dll to System32 on a x64 system.
Calling "sysnative" doesn't seem to work with the custom function being
used.

Change-Id: Iea734a400d8c095ea2e3fe54f38e4756fba406f9
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-12-09 18:48:11 +00:00
Heikki Halmet
b6a1fc6aae Install command line tools for osx 10.11 and macOS 10.12
Command line tools is needed by homebrew when installing p7zip

Task-number: QTBUG-64729
Change-Id: Ia13838e3f5845351cb682c7d25127c8f36172d3b
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit beb73056c3)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-12-08 10:53:42 +00:00
Tony Sarajärvi
f84bab04f7 Remove unneeded provisioning scripts
Change-Id: Ie8ff5810f07528fd23044e1b1396fc4fdde58283
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-11-13 22:14:52 +00:00
Tony Sarajärvi
d56552566f Provisioning: FBX SDK
We need to provision the FBX SDK for Qt3DStudio.

Task-number: QTQAINFRA-1449
Change-Id: I52587cd653b7954340d5f58978ffbd008330337c
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-11-11 22:06:46 +00:00
Heikki Halmet
a8bd91bc27 Provisioning: Remove old cmake before installing new one
Windows 10 x86 isn't yet vanilla so provisioning needs to remove old
cmake before installation

Change-Id: I2712aaa652492520d68a597d99a3c2d6bdbe2433
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-11-11 14:58:17 +00: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
Heikki Halmet
ada909932d Provisioning: Update Java to version 8
Current version of Java isn't installing correctly during provisioning.
Silent installation needs parameters which are added to script. Without
those the installation process tries to open Java3BillDevices.jpg
unsuccessfully and the installation fails

Task-number: QTQAINFRA-1498
Task-number: QTQAINFRA-1394
Change-Id: I5672d230eb348186345887da81cdd97a4f59bce8
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-11-09 04:23:43 +00:00
Heikki Halmet
0e278c4e95 Provisioning: Remove logical OR when echo errors
set -e won't work if logical OR is used after commands. These error
echo's need to be removed so that error catch will works. Also set -ex
added to print executed command when error caught.

Task-number: QTQAINFRA-1533
Change-Id: Ib4ea832a0ee813f99f59ebacad51ec57c3eff57d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-11-07 15:25:12 +00:00
Tony Sarajärvi
baa46f9590 Provisioning: fix .ci.local addresses to .intra.qt.io
Change-Id: I0ae934a65a2eaefa0bc4db9afbe3b8701dcb0906
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-11-03 07:15:33 +00:00