Commit Graph

41 Commits

Author SHA1 Message Date
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
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 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
Joni Jantti
b23faee265 Add set -ex to provisioning scripts for osx-10.11
Change-Id: I56ecd39a553b8b777eac0f8822cfd3263e972ef5
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-12-27 22:11:17 +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
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
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
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
Simo Fält
3690fe06a4 Provisioning: Update CMake on osx 10.10
Pyside requires cmake 3.1.0 or more recent.

Change-Id: Ic376d5e5af9f9b0692a2de7c4ec35e6c8bfa9465
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-17 19:52:35 +00:00
Heikki Halmet
5df417aeb9 Provisioning: Disable system updates
This change will disable system updates from App Store to prevent
unnecessary network load

Change-Id: I7915ec6ffce681a850abef59d58f953effd6deb0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-16 06:03:50 +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
Simo Fält
c9d5341307 Provisioning: Fix virtualenv in macOS 10.11
There are multiple Python installations in our macOS 10.11 Tier1
template. Most of them are pretty old and not even working properly.
One of the affected Python tool is virtualenv, which atm is creating
Python 2.6 env by default even if Python 2.7 is the default Python.

Change-Id: I8bc0900976a9dc79637539802345175c85b7b433
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-19 05:54:01 +00:00
Simo Fält
5f37f812f9 Provision homebrew
Some of the macOS templates are cleaner than others and are mising some
basic tools like 7z. Homebrew provides easy way to install wide range of
tools via command line.

Change-Id: I5a8528bb4a13ef9a72e2467c51a8b5d45f9a3d84
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-08 07:23:16 +00:00
Simo Fält
0001d102f8 Provision libclang
PySide versions following 5.6 use a C++ parser based on Clang.
The Clang library (C-bindings), version 3.9 or higher is
required for building.

Change-Id: Ia7bcad46e3214d6d8b688354c9abdc83a513573c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-08 07:23:09 +00:00
Simo Fält
577140a728 Provision 7z
macOS 10.11 tier1 template is missing 7z.

Change-Id: I9e1ade8605b5e6f389a2cd76340070070a7c637b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-08 07:23:03 +00:00
Tony Sarajärvi
ba1a8d6216 Provision macOS disable screensaver in current session
Task-number: QTQAINFRA-1244
Change-Id: I3a27d8cdee8cd7b22d86116d58009e952ab536ea
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-06-05 03:32:31 +00:00
Tony Sarajärvi
7937eb2d9e Provisioning: disable screensaver password
Previously provisioning disabled screensaver on startup
but didn't affect current session. Thus the screensaver
hits the VMs while provisioning and without this commit
the screen gets locked. This prevents the lock and
we get to the desktop on the VMs.

Change-Id: Icd783127e898ece6bebb5598ab86f12d5062eeb5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-05-04 17:37:00 +00:00
Tony Sarajärvi
ed39e440a9 Provision environment variables for SSL autotests
Task-number: QTBUG-56102
Change-Id: I7f14fbebcc459b4610ca9469b4335ef5b18ba5b4
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-04-27 10:25:52 +00:00
Simon Hausmann
2ea45a59a7 Improve Android SDK/NDK installation on macOS
* Remove unused installation on macOS 10.10 as we only build packages
  on 10.11.

* Replace the use of the ~1GB downloads of the zip files with a direct
  extraction via NFS. This is more resilient to flakyness in the network
  connection.

Change-Id: I1bfe5bbf00a6614233b517801daf130069094ec9
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-04-24 19:19:00 +00:00
Simon Hausmann
ce9181a964 Improve reliability of automated xcode installation
Instead of downloading a 4+GB archive and uncompressing it in /tmp,
let's uncompress the archive via NFS and feed the data straight into
cpio. This should be faster and avoids curl's error handling that's
happy to abort instead of re-trying.

Change-Id: Ifa5d842c50111ccdbd56e795b270ee6433a63adf
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-04-21 06:22:10 +00:00
Konstantin Tokarev
0c7c11ca56 Fix AltUrl of cmake for macOS provisioning
Change-Id: I730a65c2fcbea14bd3fe44e01a182f095d96b0ab
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-04-07 22:04:06 +00:00
Tony Sarajärvi
b14198730d Remove command line tools from macOS 10.11 and 10.12
Qt should not require command line tools to be installed.
When they are installed, we can accidentally rely on
on the tools instead of sysroot.

Task-number: QTBUG-58325
Change-Id: I9ad942c6f67e4c1b7348258a9178ab497ee58800
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-03-15 13:21:40 +00:00
Simon Hausmann
2d59a20361 Fix network test server setup
Use the correct IP address for the network test server that all the
other machines are using as well.

Change-Id: I1ffe4b6f5851bcb06dc2d39265979b799715ec3f
Task-number: QTBUG-59241
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-03-10 06:10:43 +00:00
Tony Sarajärvi
9c80884735 Provisioning: remove extra crashreport script
We have a duplicate of the same file, but different name.

Change-Id: Iedd70498a91bde0dddb05c33972fd21274399ae8
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2017-02-09 08:36:20 +00:00
Tony Sarajärvi
ae5c1d4f5d Provisioning: remove Android provisioning script
Android tools and NDK is not needed in 10.11.

Task-number: QTQAINFRA-1087
Change-Id: I8f3f4e71492ea09828823f6ef70ab29faa08934c
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2017-02-09 08:36:17 +00:00
Tony Sarajärvi
8f9d75f18f Add command line tools provisioning script for OS X 10.11
Task-number: QTQAINFRA-1087
Change-Id: I51aa4ee850d8e8603fac78572942e3be8f1175e4
Reviewed-by: Simo Fält <simo.falt@qt.io>
2017-02-09 08:36:15 +00:00
Tony Sarajärvi
0b3c843fb2 Add MySQL provisioning script to OS X 10.11
Task-number: QTQAINFRA-1087
Change-Id: If10ba5d5d3f2b4891098ffad8519fe4e16d8c268
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2017-02-09 08:36:13 +00:00
Tony Sarajärvi
fc32c9bbf7 Add postgresql provisioning script for OS X 10.11
Task-number: QTQAINFRA-1087
Change-Id: Ia186b8df007384f7fd03139ad448563b920ee21b
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2017-02-09 08:36:10 +00:00
Tony Sarajärvi
13ed034dc3 Add Cmake provisioning script for OS X 10.11
Task-number: QTQAINFRA-1087
Change-Id: If598b4b8391e13ed0891d8a65f752492fe303d29
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2017-02-09 08:36:08 +00:00
Tony Sarajärvi
f7d20b7cc2 Add XCode provisioning script for OS X 10.11
Task-number: QTQAINFRA-1087
Change-Id: I416b38459ef278f82af0379b46fd78f5ccc6512c
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2017-02-09 08:36:05 +00:00
Tony Sarajärvi
7a48b0d17c Add xz.sh provisioning script for OS X 10.11
Task-number: QTQAINFRA-1087
Change-Id: I29879e17a18ffb7950c7a85db75f4bc2765741d5
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2017-02-09 08:36:02 +00:00
Tony Sarajärvi
d6f56195bc Add system setup provisioning for OS X 10.11
Task-number: QTQAINFRA-1087
Change-Id: Icba6d58c56fc00b4fe3a7a3f72050465ff64d104
Reviewed-by: Simo Fält <simo.falt@qt.io>
2017-02-09 08:35:54 +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
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
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
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
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