Commit Graph

95 Commits

Author SHA1 Message Date
Simon Hausmann
d641d6546b Merge remote-tracking branch 'origin/5.6' into 5.8
Conflicts:
	coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh

Change-Id: I10fcdfc0af68741d931f4732783bafdad2fffc4a
2017-02-03 09:15:43 +01: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
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
Kari Oikarinen
db9682888c Add PS provisioning helper for 7-Zip files
Change-Id: Ice10e54137da8a0d2372019a195a63121fd00a8a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-31 18:33:41 +00:00
Liang Qi
9be869ba48 Merge remote-tracking branch 'origin/5.6' into 5.8
Task-number: QTBUG-58371
Change-Id: Ic3ec10a04ec9fcfea38324f6052b2d082c6ece58
2017-01-28 12:21:28 +01: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
Simon Hausmann
9de5f6957c Merge remote-tracking branch 'origin/5.7' into 5.8
This change also includes an update of the CI platform configurations to
the values that were previously in the CI source tree for builds of the
5.8 branch.

This is done within the same change as the merge to preserve atomicity.

Task-number: QTQAINFRA-1074
Change-Id: Iac469c44048721530380ab577c6dbf1a6fa28211
2017-01-12 22:19:30 +01:00
Simon Hausmann
0f4fdb9490 Merge remote-tracking branch 'origin/5.6' into 5.7
This change also includes an update of the CI platform configurations to
the values that were previously in the CI source tree for builds of the
5.7 branch.

This is done within the same change as the merge to preserve atomicity.

Task-number: QTQAINFRA-1074
Change-Id: Ie7bde30bd64d439cd17ea789102550ab9fb44194
2017-01-11 16:29:06 +01:00
Simon Hausmann
3035f20934 Add CI build configurations
These files were previously stored in the CI source tree, but they do
belong here. They describe the different configurations under which we
want to build Qt and its submodules, in terms of underlying virtual
machine template, host OS, target OS and CI related features that may
also map to Qt configuration features.

Task-number: QTQAINFRA-1074
Change-Id: I7ce48e3b15da757166eeac7531478d3746c8aa7f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2017-01-11 13:57:45 +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
Simon Hausmann
ab9b902f3f Merge remote-tracking branch 'origin/5.7' into 5.8
Change-Id: Id9533b63ae2e6d67d8c07101c406c40057c13b9f
2017-01-08 21:12:18 +01:00
Tony Sarajärvi
17c97ea79a Add provision helper file to install compressed packages
Change-Id: I6a7e1af7c91bd11a0cc6379f8bb7762acf42eae5
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-01-08 16:28:50 +00:00
Tony Sarajarvi
2b2188cc77 Add DownloadURL.sh provisioning helper script
Change-Id: I64bef8470555e33772b72847aa76e0e9b4720696
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-01-08 16:28:39 +00:00
Tony Sarajarvi
c5e6abcafa Add provisioning try-catch helper script for bash
Change-Id: Ia61e503ed5315546421fdeb2f4b8b1be37dab3e9
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-01-08 16:28:32 +00:00
Simon Hausmann
15e1dc2054 Merge remote-tracking branch 'origin/5.6' into 5.7
Change-Id: I9def17eb03e1c08d1e44c8f90841b1bf5160d638
2017-01-06 20:35:52 +01: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
ffa5fe8b2f Merge remote-tracking branch 'origin/5.7' into 5.8
Change-Id: I49d18025acb322bf45b6cdc38adb05618cb90153
2016-12-25 18:12:11 +00:00
Konstantin Tokarev
678fcb4e66 Updated conan manifests after modification of packages
Change-Id: I60eee501254d41b438085b7b687af6aa2c085dba
Reviewed-by: Vitaliy Slobodin <vitaliy.slobodin@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-12-24 07:32:20 +00:00
Simon Hausmann
591c6d0446 Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	coin/provisioning/common/02-python.ps1

Change-Id: I6b5f2c464cc350798c7c73fba9e79a3f4f534586
2016-12-21 21:38:29 +01: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
Liang Qi
2c27ccd1c9 Merge remote-tracking branch 'origin/5.7' into 5.8.0
Change-Id: Ic9a6b04afe47529c4f953bace93e9c17d8c4d39d
2016-12-02 09:02:23 +01:00
Liang Qi
d379d768e6 Merge remote-tracking branch 'origin/5.6' into 5.7
Change-Id: Ib22c9e0f5c3e7c256ca083de33e6ad0475f20ce9
2016-12-01 09:58:28 +01:00
Konstantin Tokarev
860b38110b Copy conanfile to conanbuildinfos directory
Conanfile is required for running "conan imports" as a part of "make install"
procedure, however its original location is unknown to build system of
module.

Conanfile is copied with its conventional name "conanfile.txt" to avoid
tying module build system to more qt5.git layout peculiarities. In
future we may want to have several conanfiles in one provisioning dir,
like qtwebkit-mingw.txt and qtwebkit-msvc.txt.

Also simplified syntax of PowerShell variables interpolation, $() is needed
only for interpolating expressions.

Task-number: QTQAINFRA-998
Change-Id: I6904e80f4f85bb5269b0830272c6eaa2c8100789
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-30 15:31:55 +00:00
Konstantin Tokarev
7dc66c9528 Updated conan to 0.16.0
* Use --no-imports when installing packages, imports will be performed
on "make install" step with new "conan imports" command.
* Add txt generator to all conanfiles because it will be needed for
"conan imports".

Change-Id: Ie5e7ac6bfbf14dfa32ce82136b6be5e39476e393
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-30 15:31:52 +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
Konstantin Tokarev
7a1f4adf31 Update Ruby on Win7
QtWebKit requires newer Ruby than version installed on Windows 7 builders.
Install the same version as is installed on Windows 10 builders.

Task-number: QTQAINFRA-997
Change-Id: Id8e5d47028ef8403bb28daf1446d95dc8f2ab564
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-23 20:49:49 +00:00
Konstantin Tokarev
8114c71554 Added conan zlib package for MinGW on Windows 7
Change-Id: I48d904e95fce905b15b0099fee956c06773c4a75
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-23 08:46:30 +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
Konstantin Tokarev
fa00780be3 When installing Python ensure that pip is installed too
If Python is not deinstalled cleanly (01-windows_removethemall.ps1
just erases installation directory) pip is not bootstrapped by new
installation. Fix it by running ensurepip module.

Change-Id: I3a7ed87eed30118876d7022eed94b8a571677529
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-18 22:19:26 +00:00
Konstantin Tokarev
aafc3f8644 Use full paths for invoking stuff from Python27\Scripts
Change-Id: I52094cc4b27b9e3a6fe3dd12c504777b8bb7bc75
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-18 22:19:23 +00:00
Konstantin Tokarev
a561a58bb6 Fixed broken conan manifest in qtci-windows-7-x86
Change-Id: I5c88b0d6e8ee6d8599b800a713d65111fbb4ad2a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-18 22:19:20 +00:00
Konstantin Tokarev
48507e9e3c Provisioning should fail in case of conan errors
Change-Id: I54ee86f5cf0f39cd7bafe71682b93a2a3c8fce5c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-18 22:19:18 +00:00
Konstantin Tokarev
1bf242603c Rename conan.ps1 and python.ps1 file in configuration dirs too
Order of files really matters in configuration directories, but I
renamed only main implementations in previous commit. Fixed that.

Change-Id: Ia541fa8fd36b3d52580ba9814e9f4c38aadce460
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-18 22:19:14 +00:00