diff options
author | Liang Qi <liang.qi@qt.io> | 2017-04-01 11:40:15 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-04-03 12:06:27 +0000 |
commit | 285ee106e7748a08ab1271b140cfe0429587e2a6 (patch) | |
tree | bac0ab40f6e38462eaf4337b724ba2f32cba89c4 | |
parent | 95223c7466afb4791f630cd76c6574f13e7506b3 (diff) | |
parent | e00cb3ac596db7200108174cd85c66f4e3c1107a (diff) |
Merge remote-tracking branch 'origin/5.6' into 5.9v5.9.0-beta1
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
18 files changed, 84 insertions, 44 deletions
diff --git a/coin/README b/coin/README index 2fb3fe2d..80f02fd4 100644 --- a/coin/README +++ b/coin/README @@ -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. diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt index ddebdde6..bbee4866 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -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 diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt index 76f57f9f..738416d7 100644 --- a/coin/platform_configs/qt5.txt +++ b/coin/platform_configs/qt5.txt @@ -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 diff --git a/coin/provisioning/common/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 index 618c87c4..618c87c4 100644 --- a/coin/provisioning/common/msvc2015_update.ps1 +++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 diff --git a/coin/provisioning/common/01-windows_removethemall.ps1 b/coin/provisioning/common/01-windows_removethemall.ps1 index 9e64a34d..ebbf15dd 100644 --- a/coin/provisioning/common/01-windows_removethemall.ps1 +++ b/coin/provisioning/common/01-windows_removethemall.ps1 @@ -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") diff --git a/coin/provisioning/common/helpers.ps1 b/coin/provisioning/common/helpers.ps1 index 191be290..af7f79ff 100644 --- a/coin/provisioning/common/helpers.ps1 +++ b/coin/provisioning/common/helpers.ps1 @@ -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)) { diff --git a/coin/provisioning/common/02-python.ps1 b/coin/provisioning/common/python.ps1 index 32972830..3edbc412 100644 --- a/coin/provisioning/common/02-python.ps1 +++ b/coin/provisioning/common/python.ps1 @@ -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 diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh index 02ddda3f..42db3716 100644 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh @@ -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 diff --git a/coin/provisioning/qtci-windows-10-x86/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86/02-python.ps1 index 0e401c02..27c618e1 100644 --- a/coin/provisioning/qtci-windows-10-x86/02-python.ps1 +++ b/coin/provisioning/qtci-windows-10-x86/02-python.ps1 @@ -1 +1 @@ -. "$PSScriptRoot\..\common\02-python.ps1" +. "$PSScriptRoot\..\common\python.ps1" 32 diff --git a/coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1 b/coin/provisioning/qtci-windows-10-x86/msvc_2015_update3_patch.ps1 index 83ff3f48..f16b5ef4 100644 --- a/coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1 +++ b/coin/provisioning/qtci-windows-10-x86/msvc_2015_update3_patch.ps1 @@ -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 diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 index 0e401c02..44c1c5ff 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 @@ -1 +1 @@ -. "$PSScriptRoot\..\common\02-python.ps1" +. "$PSScriptRoot\..\common\python.ps1" 64 diff --git a/coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1 b/coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1 index 83ff3f48..f16b5ef4 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1 @@ -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 diff --git a/coin/provisioning/qtci-windows-7-x86/02-python.ps1 b/coin/provisioning/qtci-windows-7-x86/02-python.ps1 index 0e401c02..27c618e1 100644 --- a/coin/provisioning/qtci-windows-7-x86/02-python.ps1 +++ b/coin/provisioning/qtci-windows-7-x86/02-python.ps1 @@ -1 +1 @@ -. "$PSScriptRoot\..\common\02-python.ps1" +. "$PSScriptRoot\..\common\python.ps1" 32 diff --git a/coin/provisioning/qtci-windows-8-x86/02-python.ps1 b/coin/provisioning/qtci-windows-8-x86/02-python.ps1 deleted file mode 100644 index 0e401c02..00000000 --- a/coin/provisioning/qtci-windows-8-x86/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\02-python.ps1" diff --git a/coin/provisioning/qtci-windows-8-x86/06-python.ps1 b/coin/provisioning/qtci-windows-8-x86/06-python.ps1 new file mode 100644 index 00000000..27c618e1 --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86/06-python.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python.ps1" 32 diff --git a/coin/provisioning/qtci-windows-8-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-8-x86_64/02-python.ps1 deleted file mode 100644 index 0e401c02..00000000 --- a/coin/provisioning/qtci-windows-8-x86_64/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\02-python.ps1" diff --git a/coin/provisioning/qtci-windows-8-x86_64/06-python.ps1 b/coin/provisioning/qtci-windows-8-x86_64/06-python.ps1 new file mode 100644 index 00000000..44c1c5ff --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86_64/06-python.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python.ps1" 64 diff --git a/init-repository b/init-repository index 7a97c199..ff3390f8 100755 --- a/init-repository +++ b/init-repository @@ -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; |