Commit Graph

39 Commits

Author SHA1 Message Date
Heikki Halmet
ad97fd589f Provisioning: Visual Studio 2015 with update 3
Common install script for Visual Studio installation and
updates. Latest Visual Studio 2015 update is required
for releases

Change-Id: I5b41625ca7f161b4ba2d417797f8839ef175cdbc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-02-07 19:25:11 +00:00
Konstantin Tokarev
25160f24b6 Upgrade CMake to 3.6.2
QtWebKit requires CMake >= 2.8.12, while only 2.8.11 is available on
Windows 10 machines.

Task-number: QTQAINFRA-996
Change-Id: I734be4cc36f64dd5aeb243b0fbe4395c75c523b3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit 77eeee64a4)
2017-02-07 19:25:07 +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
Simo Fält
f65479ee0c Upgrade CMake to 3.6.2 on Windows 8
Pyside requires CMake 3.0 or higher

Change-Id: Ic3f7eb4e89cd022364b1437fa8ff4476c86c3e47
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-02-07 19:24:59 +00:00
Heikki Halmet
a36977963a Provision: Storage android sdk and ndk version information
Sdk and ndk version information will be storaged to versions.txt.
Versions.txt will be used for all provision scripts and later on it's
data will be printed to provision log.

Also script name changed to match both android sdk and ndk.

Change-Id: I3366e596f539099c3b587466d90905d0889398fe
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-02-03 05:47:05 +00:00
Heikki Halmet
6afffd6985 Provision: Script to print sw versions to provision log
This script is the last script that is run by provisioning. It will
print all storaged sw information to provision log

Change-Id: I2c76d5f7cccf9c116cb660ffcb67d3bece473da8
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-02-03 05:46:57 +00:00
Joerg Bornemann
32b5e271a8 Update jom to 1.1.2
The most important changes that affect the CI are:
  - Fixed bogus path in error message for failed targets.
  - Fixed error "JobClient destroyed while still acquiring."
    that could be yielded for failed builds.
  - Fixed /k option (QTCREATORBUG-17131).
  - Added the special .NOTPARALLEL target that disables parallel
    build for the containing makefile. (This one is needed to
    build QtWebEngine in debug-and-release properly.)
  - Introduced the JOMFLAGS environment variable.
    This is a MAKEFLAGS pendant. JOMFLAGS is useful to set up
    separate flags for nmake and jom.

Change-Id: Icb2462d06b000a3fe29e1e9290b294cb1e900409
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-02-03 05:46:51 +00:00
Heikki Halmet
0c8536fc0a Provision: Script for linux to remove preinstalled software
Script to remove tier1's preinstalled software. Script itself includes
all information about the software that needs to be removed from tier2
before provision starts to run installations. When this script is run
for certain platform that platform needs to provision all removed
software back to tier2 template. So user needs to make sure that all
needed provision script are available when calling this removal-script.
Goal is to have vanilla os when provision don't need to remove any
software before installations. When this goal is reached this script
and script calls can be removed from provision.

Change-Id: I048909800807fabb1dc599e768a90e7457fbc2cf
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-02-03 05:46:33 +00:00
Heikki Halmet
d4681ee690 Android sdk and ndk to provisioning for Windows 7
Installs latest Android sdk and ndk.
It also runs update for SDK API level 18, latest SDK- and platform-
tools and build-tools version 23.0.3.

Task-number: QTBUG-58369
Change-Id: Ib42f5149243fc5d262f6542e26726d1c8cbb2e8c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-01-28 03:57:41 +00:00
Heikki Halmet
3276f075b9 Provision: Set bash_profile to read .bashrc
The method (vmware tools) of launching a process inside a virtual
machine results in the launch of a process that does not originate
from a login shell. Therefore the CI system explicitly starts the
agent with "bash -l -c" to enforce the invocation as login shell
and thus execute settings from /etc/profile, ~/.bash_profile, etc.

This brings the behavior of the system closer to what we see as
developers.

However the shell is a non-interactive shell, therefore ~/.bashrc
is not read by default.

On Linux systems such as RHEL, ~/.bash_profile is configured to still
read ~/.bashrc.

For consistency we apply the same logic to the macOS configurations.

Change-Id: I417ecd7866bc4ae1b50beb14c19b456588b4050a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-01-24 19:19:27 +00:00
Heikki Halmet
eeea4e5c3a Add Android NDK/SDK to provision for macOS 10.10 and 10.11
Install latest Android sdk and ndk.
It also runs update for SDK API level 18

Task-number: QTBUG-58370
Change-Id: I1bf8cb42dd3e753be27fa9fcd2c1ac8ccbdb87c3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-01-24 19:19:24 +00:00
Heikki Halmet
2cf8327999 Provision: Cmake 3.6.2
Red Hat 6.6 needs cmake for GammaRay
OpenSUSE 42.1 and Ubuntu 14.04 needs cmake for pyside

Change-Id: I64b25be70057b86be7bfc96fb07446f7727bbefe
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-11 10:05:59 +00:00
Tony Sarajärvi
8266919b6e Add provision helper file to install compressed packages
Change-Id: I6a7e1af7c91bd11a0cc6379f8bb7762acf42eae5
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-11 10:05:50 +00:00
Tony Sarajarvi
2059ce3d2d Add DownloadURL.sh provisioning helper script
Change-Id: I64bef8470555e33772b72847aa76e0e9b4720696
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-11 10:05:40 +00:00
Tony Sarajarvi
da48107b08 Add provisioning try-catch helper script for bash
Change-Id: Ia61e503ed5315546421fdeb2f4b8b1be37dab3e9
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-11 10:05:21 +00:00
Simon Hausmann
5f40fd649e Improve build performance on Windows
Disable the windows search indexing service, which has a tendency to start
indexing source code archives that we've just extracted. We are not interested
in this service.

Change-Id: I1d3f5178a035bc951499d993641a9315db9712ca
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2017-01-09 13:37:16 +00:00
Simo Fält
167e4fc36f Provisioning: Disable Windows Defender
This will reduct the timeouts coin has had recently with win machines.

Change-Id: I32118f226194a3ea5e3c85d24103ec8341925d3c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-01-06 12:15:36 +00:00
Simon Hausmann
8a60455e61 Remove shutdown "helpers" for macOS
It turns out that they don't quite work the way we expected them to, and
instead we Coin is going to shut down the VMs directly at the right
time.

Change-Id: I9f7a6f2f898002a25544fc513a0c2414fcd5c263
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-12-21 11:32:28 +00:00
Simo Fält
ff1ad70a19 Provision: Install pyside python dependencies to Windows
To test successfully pyside dependencies with Coin, we need
python virtual env.

Change-Id: I59c620b7da9c78d2b5c55e233d75597b747a8e84
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-12-19 21:39:35 +00:00
Simo Fält
fc6717cf23 Provision: Install pyside python dependencies to Linux
To test successfully pyside dependencies with Coin, we need
python-dev packages and virtual env.

Change-Id: I29a5eed769798da4e4799eb5ccdff1cd032070d5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-12-19 21:39:26 +00:00
Heikki Halmet
e86ba9e1f7 Provision: Android openssl 1.0.2j for Windows 7
We are currently using too old openssl for Android builds in Windows 7.
Openssl version need to be at least 1.0.1.

This script will configure openssl 1.0.2j for Android using tools
from msys.

Change-Id: I9ab9a3b4f9f3953cf99bf15fee631f5a7961b42d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-12-16 14:44:55 +00:00
Simon Hausmann
16d05b088e Improve disabling of screensaver on macOS
Setting the idleTime on currentHost works well, until the hardware UUID changes
and thus the host ID for the setting. With kvm that happens quite frequently,
with vmware less but also occasionally (deep clone for example). By disabling
the screensaver on start-up we can cover all cases quite easily.

Change-Id: Ibdcf404430656f9caa47386ca3c732366ddfc8c7
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2016-12-08 08:18:56 +00:00
Jędrzej Nowacki
0ce4f02c5f Suppress shutdown indicator in Ubuntu
We want to quit machines without being asked, if we are
really sure.

Change-Id: Ic7156f5b0fe236c0270d8c2e4fcc322a82776caf
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-12-07 13:48:24 +00:00
Simon Hausmann
be37958406 Disable the screensaver on macOS definitely and permanently
Change-Id: I8856eebfe91b9e1cc2cc318a1e7ea80348f1486e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2016-12-07 13:47:48 +00:00
Simon Hausmann
3718450891 Fix paths for provisioning on macOS
The directory names were missing the architecture, otherwise the content was
unused.

Change-Id: I0316da5c4b1352012f27ce330c3319a8aedf01ea
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2016-12-07 13:47:46 +00:00
Frederik Gladhorn
d0552ebf2d Fix macOS provisioning not shutting down cleanly
After provisioning we want the machine to be sensibly shut down since we
will use the disk image later. VSphere doesn't manage to shut down 10.8
VMs. Help out by calling shutdown.
For the other OS X/macOS versions, this is also desirable since
controlling the power state of these machines is hard with different
virtualization solutions (we're looking at OpenNebula/KVM).

Change-Id: Ieabc14f9c8c1af9421a0ef91dd670f4790a84461
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2016-12-07 13:47:42 +00:00
Frederik Gladhorn
a7c6550fff Add basic Ubuntu 16.04 provisioning
Change-Id: Iaae5bb295bfd48cc5bc036baef9b0fa899d393ef
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-25 11:05:49 +00:00
Tony Sarajärvi
e0912a9cea Provision OPENSSL env variable for openSUSE 13.1
Fix building on OpenSuse after openssl update.
Every linux distro seems to patch openssl in a different way to deal with
broken/outdated SSL issues. We seem unable to detect what suse did when
running configure, so this is a stop-gap measure.

Change-Id: I5e375e9c5c1615358dbce0b8dd91476cb4f4e45b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-22 14:29:51 +00:00
Heikki Halmet
c9d71e9eeb Python to provisioning for Windows
Installs Python version 2.7.10.
Python is required for building Qt 5 from source. More
specifically qtdeclarative and qtwebkit require it.

Change-Id: I63c8f3294a8a4799df5e52fbd41a36db8686950e
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2016-09-30 08:31:18 +00:00
Heikki Halmet
f1de674fd9 Android sdk and ndk to provisioning for qt5.6
Install latest Android sdk and ndk.
It also runs update for SDK API level 18, latest SDK- and platform-
tools and build-tools version 23.0.3.
Build-tools version 23.0.3 is the latest usable version
for Red Hat 6. Newer version of build-tools, version 24.x.x,
requires GLIBC_2.14, which is not available in Red Hat 6.

Change-Id: Iddc353674a65e0af7a9036d9296b9c2933fa114f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-09-12 09:47:22 +00:00
Tony Sarajärvi
19b472f1ff Fix Coin provisioning in RHEL 6 regarding sslclientkey values
There was a bug in RHELs subscription manager that caused yum
not to work by fetching incorrect data into the sslclientkey repository
parameter value.
This provisioning script fetches new data for the repository and thus
fixes yum. Naturally by not having a template where a bad repository
exists, this script would be obsolete. Also, as this needs to be run
before any other scripts using yum, prefixes were added to the scripts.

Change-Id: I5c6ed1d43451d2918f9b6dad22b0106339f36aea
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-08-03 10:28:52 +00:00
Frederik Gladhorn
0536b1e9e4 Clean up Windows provisioning scripts
The execution policy is set by the CI. The command usually fails as it
is in the scritps right now since it must be run as admin.

Change-Id: Ie31cb7fc15720cc6d76646bf475b3d60a02014d8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-06-16 10:15:18 +00:00
Erik Verbruggen
3529d894ba OSX: Switch crash reporting to server mode.
Meaning: to unattended use, so no crash dialogs will pop up. In a later
change we can suppress QTest from generating stack traces when this
setting is *not* in server mode (meaning: the OS will take care of the
stack traces).

Change-Id: Idee9311f866228cd35ecb07889f1c19424981221
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-06-02 14:37:12 +00:00
Jędrzej Nowacki
928c491397 Export CI_JOM_PATH variable on all templates with jom
That is needed to change provisioning way in Coin, as currently it
depends on variables hard-coded in Coin agent.

Change-Id: I0bc5c76717e994824b85a4353a7218db4b648344
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-05-30 14:08:24 +00:00
Jędrzej Nowacki
a97874523f Export CI_ICU_PATH variables on all windows templates
That is needed to change provisioning way in Coin, as currently it
depends on variables hard-coded in Coin agent.

Change-Id: I15068bec57dd9d67be05ef753d566b456fb8a2fc
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-05-30 14:08:22 +00:00
Jędrzej Nowacki
2be9656332 Coin provisioning: overwrite files while unzipping
Change-Id: I5cf59322f5a34cffe9fe8668755800bccb8cc13a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-05-30 14:08:20 +00:00
Jędrzej Nowacki
3963056f63 Add script that install icu on RHEL 6.6
That is translation from coin-setup golang code to sh script

Change-Id: Ic26d3877e56feb8b7f8e3ccd3405a044fb6afd8e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-04-28 07:54:50 +00:00
Frederik Gladhorn
54f1bfd10c Add script to install jom through powershell
Change-Id: I3f12aa0dd54f99fafdffb53796e54e7b127c3c8c
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-04-28 07:54:48 +00:00
Frederik Gladhorn
2aff311423 Add coin provisioning directory
Change-Id: I76c5c5b7a1ca41758964923d3eb5c9e644f468be
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-26 15:50:53 +00:00