Merge remote-tracking branch 'origin/5.6' into 5.9

Conflicts:
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt

This also fixes the 7Z extraction code to work on the windows 7 x86
installation where 7z is not in the PATH anymore with revision 2. The
fallback code was 64-bit only and needs the null check for ProgramFiles(x86)
along with the fall back to ProgramFiles to locate the 7z executable.

Change-Id: Ifcf014c3a99685c427a62898e1fa83910a4a7247
This commit is contained in:
Liang Qi
2017-04-01 11:40:15 +02:00
committed by Simon Hausmann
18 changed files with 84 additions and 44 deletions

View File

@@ -3,6 +3,11 @@ Continuous Integration
This directory contains files used by Qt's Continuous Integration system (Coin).
pre-provisioning
----------------
Contains scripts which are used to install software to tier1 machines manually.
E.g. Visual studio installation takes too long to be included to automatic provisioning of tier2 templates.
provisioning
------------
Contains scripts that apply to different test machines in order to run automatic tests on them.

View File

@@ -1,14 +1,14 @@
Template Target OS Target arch Compiler Features
----------------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
qtci-windows-8-x86_64 MSVC2013 DeveloperBuild Release BuildExamples
qtci-windows-10-x86_64 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix
qtci-windows-8-x86 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-8-x86_64 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-7-x86 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic
qtci-windows-10-x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-10-x86_64 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-8-x86_64-2 MSVC2013 DeveloperBuild Release BuildExamples
qtci-windows-10-x86_64-3 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix
qtci-windows-8-x86-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-8-x86_64-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-7-x86-2 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic
qtci-windows-10-x86-3 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64-3 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64-3 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-10-x86_64-3 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-linux-Ubuntu-16.04-x86_64 GCC NoWidgets ForceDebugInfo DisableTests
qtci-linux-Ubuntu-16.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace DisableTests
qtci-linux-Ubuntu-14.04-x86_64 GCC NoWidgets ForceDebugInfo

View File

@@ -1,12 +1,14 @@
Template Target OS Target arch Compiler Features
--------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
qtci-windows-10-x86_64 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests
qtci-windows-10-x86_64-3 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests
qtci-linux-RHEL-7.2-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
qtci-windows-7-x86 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86-2 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86-2 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-osx-10.10-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2
qtci-osx-10.10-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2
qtci-osx-10.11-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2
qtci-osx-10.11-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2
qtci-linux-RHEL-6.6-x86_64 QNX_660 x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
qtci-windows-7-x86 QNX_660 armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86 QNX_660 x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86-2 QNX_660 armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86-2 QNX_660 x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-osx-10.10-x86_64 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static

View File

@@ -55,11 +55,6 @@ Function Remove-Path {
[System.Environment]::SetEnvironmentVariable($name,$value,$type)
}
# Remove Python
Remove C:\Python27
Remove-Path C:\python27\scripts
Remove-Path C:\python27
# Remove Android sdk and ndk
Remove C:\utils\android*
[Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME",$null,"User")

View File

@@ -24,7 +24,7 @@ function Extract-7Zip
echo "Extracting '$Source' to '$Destination'..."
if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) {
$zipExe = join-path ${env:ProgramFiles(x86)} '7-zip\7z.exe'
$zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles} -ne $null)[0] '7-zip\7z.exe'
if (-not (test-path $zipExe)) {
$zipExe = join-path ${env:ProgramW6432} '7-zip\7z.exe'
if (-not (test-path $zipExe)) {

View File

@@ -30,39 +30,40 @@
## $QT_END_LICENSE$
##
#############################################################################
param([Int32]$archVer=32)
. "$PSScriptRoot\helpers.ps1"
# This script installs Python $version.
# Python is required for building Qt 5 from source.
$version = "2.7.10"
$version = "2.7.13"
$package = "C:\Windows\temp\python-$version.msi"
# check bit version
if ([System.Environment]::Is64BitProcess -eq $TRUE) {
if ( $archVer -eq 64 ) {
echo "Running in 64 bit system"
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.amd64.msi"
$internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.amd64.msi"
$sha1 = "f3a474f6ab191f9b43034c0fb5c98301553775d4"
$sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c"
}
else {
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.msi"
$internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.msi"
$sha1 = "9e62f37407e6964ee0374b32869b7b4ab050d12a"
$sha1 = "7e3b54236dbdbea8fe2458db501176578a4d59c0"
}
echo "Fetching from URL..."
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
echo "Installing $package..."
cmd /c "$package /q"
cmd /c "msiexec /passive /i $package ALLUSERS=1"
# We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB
echo "Chancing allowZip64 value to 'True'..."
(Get-Content C:\Python27\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content C:\Python27\lib\zipfile.py
echo "Remove $package..."
del $package
Add-Path $path
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Python27;C:\Python27\Scripts", [EnvironmentVariableTarget]::Machine)
& python -m ensurepip
C:\Python27\python.exe -m ensurepip
# Install python virtual env
pip.exe install virtualenv
C:\Python27\Scripts\pip.exe install virtualenv

View File

@@ -68,3 +68,6 @@ sudo cp -a $tempDir/lib/* /usr/lib64
sudo cp -a $tempDir/* /usr/
sudo /sbin/ldconfig
# Storage version information to ~/versions.txt, which is used to print version information to provision log.
echo "ICU = $icuVersion" >> ~/versions.txt

View File

@@ -1 +1 @@
. "$PSScriptRoot\..\common\02-python.ps1"
. "$PSScriptRoot\..\common\python.ps1" 32

View File

@@ -30,4 +30,21 @@
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\..\common\msvc2015_update.ps1"
. "$PSScriptRoot\..\common\helpers.ps1"
# Install Cumulative Servicing Release Visual Studio 2015 update 3
# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx
# http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe
$version = "2015 update3 (KB3165756)"
$package = "C:\Windows\Temp\vs14-kb3165756.exe"
$url_cache = "http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe"
$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878"
$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02"
echo "Fetching patch for Visual Studio $version..."
Download $url_official $url_cache $package
Verify-Checksum $package $sha1
echo "Installing patch for Visual Studio $version..."
cmd /c "$package /norestart /Quiet"
remove-item $package

View File

@@ -1 +1 @@
. "$PSScriptRoot\..\common\02-python.ps1"
. "$PSScriptRoot\..\common\python.ps1" 64

View File

@@ -30,4 +30,21 @@
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\..\common\msvc2015_update.ps1"
. "$PSScriptRoot\..\common\helpers.ps1"
# Install Cumulative Servicing Release Visual Studio 2015 update 3
# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx
# http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe
$version = "2015 update3 (KB3165756)"
$package = "C:\Windows\Temp\vs14-kb3165756.exe"
$url_cache = "http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe"
$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878"
$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02"
echo "Fetching patch for Visual Studio $version..."
Download $url_official $url_cache $package
Verify-Checksum $package $sha1
echo "Installing patch for Visual Studio $version..."
cmd /c "$package /norestart /Quiet"
remove-item $package

View File

@@ -1 +1 @@
. "$PSScriptRoot\..\common\02-python.ps1"
. "$PSScriptRoot\..\common\python.ps1" 32

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\02-python.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\python.ps1" 32

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\02-python.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\python.ps1" 64

View File

@@ -144,7 +144,7 @@ Options:
For example:
--mirror user\@machine:/foo/bar/
--mirror user\@machine:/foo/bar/qt/
...will use the following as a mirror for qtbase:
@@ -167,13 +167,13 @@ my $script_path = abs_path($0);
$script_path =~ s,[/\\][^/\\]+$,,;
my $GERRIT_SSH_BASE
= 'ssh://@USER@codereview.qt-project.org@PORT@/';
= 'ssh://@USER@codereview.qt-project.org@PORT@/qt/';
my $BER_MIRROR_URL_BASE
= 'git://hegel/';
= 'git://hegel/qt/';
my $OSLO_MIRROR_URL_BASE
= 'git://qilin/';
= 'git://qilin/qt/';
sub new
{
@@ -381,7 +381,7 @@ sub git_clone_all_submodules
# manually clone each repo here, so we can easily use reference repos, mirrors etc
my @configresult = qx(git config -l);
foreach my $line (@configresult) {
# Example line: submodule.qtqa.url=git://gitorious.org/qt/qtqa.git
# Example line: submodule.qtqa.url=git://code.qt.io/qt/qtqa.git
next if ($line !~ /submodule\.([^.=]+)\.url=/);
my $module = $1;
@@ -638,12 +638,12 @@ sub run
chomp(my $url = `git config remote.origin.url`);
die("Have no origin remote.\n") if (!$url);
$url =~ s,\.git$,,;
$url =~ s,qt/qt5$,,;
$url =~ s/qt5$//;
$self->{'base-url'} = $url;
$self->git_clone_all_submodules('qt/qt5', $self->{branch}, @{$self->{'module-subset'}});
$self->git_clone_all_submodules('qt5', $self->{branch}, @{$self->{'module-subset'}});
$self->git_add_remotes('qt/qt5');
$self->git_add_remotes('qt5');
$self->git_install_hooks;