From 80b739b1e89cdc86d468a5707fa3951e8a307862 Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Fri, 17 Mar 2017 13:34:17 +0200 Subject: Provisioning: Move Visual Studio installation to pre-provisioning Visual Studios will be pre-provisioned to tier1/vanilla os when visual studio update is needed. Even if using pre-configured offline installer with specific workload and components the installation is still taking too long. This way we'll reduce provisioning time significantly Change-Id: I1f831aef648716dc640ce9cbfb4e63aa54e7afd0 Reviewed-by: Akseli Salovaara --- coin/README | 5 ++ coin/platform_configs/default.txt | 4 +- coin/platform_configs/qt5.txt | 6 +-- .../qtci-windows-10-x86_64/msvc2015_update.ps1 | 58 ++++++++++++++++++++++ coin/provisioning/common/msvc2015_update.ps1 | 58 ---------------------- .../qtci-windows-10-x86/06-msvc2015_update.ps1 | 33 ------------ .../qtci-windows-10-x86_64/06-msvc2015_update.ps1 | 33 ------------ 7 files changed, 68 insertions(+), 129 deletions(-) create mode 100644 coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 delete mode 100644 coin/provisioning/common/msvc2015_update.ps1 delete mode 100644 coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1 delete mode 100644 coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1 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 13fd27c9..a8ab6e49 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -6,8 +6,8 @@ qtci-windows-8-x86 MSVC2013 qtci-windows-8-x86_64 MSVC2013 Packaging DebugAndRelease Release OpenGLDynamic qtci-windows-7-x86 MSVC2010 Release DeveloperBuild QtNamespace QtLibInfix OpenGLDynamic qtci-windows-7-x86 Mingw49 Packaging DebugAndRelease Release OpenGLDynamic -qtci-windows-10-x86 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic -qtci-windows-10-x86_64 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic +qtci-windows-10-x86-3 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic +qtci-windows-10-x86_64-3 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic qtci-windows-8-x86_64 Windows_Phone_8_1 armv4 MSVC2013 Packaging DebugAndRelease Release DisableTests qtci-windows-8-x86_64 WinRT_8_1 MSVC2013 Packaging DebugAndRelease Release 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 3b446382..985c20c9 100644 --- a/coin/platform_configs/qt5.txt +++ b/coin/platform_configs/qt5.txt @@ -1,8 +1,8 @@ Template Target OS Target arch Compiler Features --------------------------- ------------------- ----------- ----------- ----------------------------------------------------------------------------------------------- qtci-windows-8-x86_64 Windows_Phone_8_1 x86 MSVC2013 Packaging DebugAndRelease Release DisableTests -qtci-windows-10-x86_64 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release DisableTests -qtci-windows-10-x86_64 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-windows-10-x86_64-3 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-windows-10-x86_64-3 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests qtci-linux-RHEL-6.6-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker qtci-windows-7-x86 Android_ANY armv7 Mingw49 Packaging Release DisableTests OpenGLES2 qtci-windows-7-x86 Android_ANY x86 Mingw49 Packaging Release DisableTests OpenGLES2 @@ -12,6 +12,6 @@ qtci-linux-RHEL-6.6-x86_64 QNX_660 x86 GCC Packagin qtci-windows-7-x86 QNX_660 armv7 Mingw49 Packaging Release DisableTests OpenGLES2 qtci-windows-7-x86 QNX_660 x86 Mingw49 Packaging Release DisableTests OpenGLES2 # target arch is used here only for documentation the value is ignored -qtci-windows-10-x86_64 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-windows-10-x86_64-3 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release DisableTests qtci-osx-10.11-x86_64 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 new file mode 100644 index 00000000..618c87c4 --- /dev/null +++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 @@ -0,0 +1,58 @@ +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# +. "$PSScriptRoot\helpers.ps1" + +# Install Visual Studio $version with $update_version +# Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs +$version = "2015" +$update_version = "3" + +# Only way to install specific Visual studio release is to use feed.xml. +# Visual Studio $version setup will use the feed.xml that was available when $update_version released -> 'https://msdn.microsoft.com/en-us/library/mt653628.aspx' +# These parameters will install Visual Studio Enterprise Update $update_version (the original Update $update_version without any further Update $update_version-era updates) +$parameters = "/OverrideFeedURI http://download.microsoft.com/download/6/B/B/6BBD3561-D764-4F39-AB8E-05356A122545/20160628.2/enu/feed.xml" + +$msvc_web_installer = "vs" + $version + "_" + $update_version +$package = "C:\Windows\temp\$msvc_web_installer.exe" +$url_cache = "http://ci-files01-hki.ci.local/input/windows/$msvc_web_installer.exe" +$url_official = "https://go.microsoft.com/fwlink/?LinkId=691129" +$sha1 = "68abf90424aff604a04d6c61fb52adcd2cab2266" + +echo "Fetching Visual Studio $version update $update_version..." +Download $url_official $url_cache $package +Verify-Checksum $package $sha1 +echo "Installing Visual studio $version update $update_version..." +cmd /c "$package $parameters /norestart /Quiet" +remove-item $package + +echo "Visual Studio = $version update $update_version" >> ~\versions.txt diff --git a/coin/provisioning/common/msvc2015_update.ps1 b/coin/provisioning/common/msvc2015_update.ps1 deleted file mode 100644 index 618c87c4..00000000 --- a/coin/provisioning/common/msvc2015_update.ps1 +++ /dev/null @@ -1,58 +0,0 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: http://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL21$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see http://www.qt.io/terms-conditions. For further -## information use the contact form at http://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 2.1 or version 3 as published by the Free -## Software Foundation and appearing in the file LICENSE.LGPLv21 and -## LICENSE.LGPLv3 included in the packaging of this file. Please review the -## following information to ensure the GNU Lesser General Public License -## requirements will be met: https://www.gnu.org/licenses/lgpl.html and -## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -## -## As a special exception, The Qt Company gives you certain additional -## rights. These rights are described in The Qt Company LGPL Exception -## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -## -## $QT_END_LICENSE$ -## -############################################################################# -. "$PSScriptRoot\helpers.ps1" - -# Install Visual Studio $version with $update_version -# Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs -$version = "2015" -$update_version = "3" - -# Only way to install specific Visual studio release is to use feed.xml. -# Visual Studio $version setup will use the feed.xml that was available when $update_version released -> 'https://msdn.microsoft.com/en-us/library/mt653628.aspx' -# These parameters will install Visual Studio Enterprise Update $update_version (the original Update $update_version without any further Update $update_version-era updates) -$parameters = "/OverrideFeedURI http://download.microsoft.com/download/6/B/B/6BBD3561-D764-4F39-AB8E-05356A122545/20160628.2/enu/feed.xml" - -$msvc_web_installer = "vs" + $version + "_" + $update_version -$package = "C:\Windows\temp\$msvc_web_installer.exe" -$url_cache = "http://ci-files01-hki.ci.local/input/windows/$msvc_web_installer.exe" -$url_official = "https://go.microsoft.com/fwlink/?LinkId=691129" -$sha1 = "68abf90424aff604a04d6c61fb52adcd2cab2266" - -echo "Fetching Visual Studio $version update $update_version..." -Download $url_official $url_cache $package -Verify-Checksum $package $sha1 -echo "Installing Visual studio $version update $update_version..." -cmd /c "$package $parameters /norestart /Quiet" -remove-item $package - -echo "Visual Studio = $version update $update_version" >> ~\versions.txt diff --git a/coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1 b/coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1 deleted file mode 100644 index 83ff3f48..00000000 --- a/coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1 +++ /dev/null @@ -1,33 +0,0 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: http://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL21$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see http://www.qt.io/terms-conditions. For further -## information use the contact form at http://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 2.1 or version 3 as published by the Free -## Software Foundation and appearing in the file LICENSE.LGPLv21 and -## LICENSE.LGPLv3 included in the packaging of this file. Please review the -## following information to ensure the GNU Lesser General Public License -## requirements will be met: https://www.gnu.org/licenses/lgpl.html and -## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -## -## As a special exception, The Qt Company gives you certain additional -## rights. These rights are described in The Qt Company LGPL Exception -## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -## -## $QT_END_LICENSE$ -## -############################################################################# -. "$PSScriptRoot\..\common\msvc2015_update.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1 b/coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1 deleted file mode 100644 index 83ff3f48..00000000 --- a/coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1 +++ /dev/null @@ -1,33 +0,0 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: http://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL21$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see http://www.qt.io/terms-conditions. For further -## information use the contact form at http://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 2.1 or version 3 as published by the Free -## Software Foundation and appearing in the file LICENSE.LGPLv21 and -## LICENSE.LGPLv3 included in the packaging of this file. Please review the -## following information to ensure the GNU Lesser General Public License -## requirements will be met: https://www.gnu.org/licenses/lgpl.html and -## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -## -## As a special exception, The Qt Company gives you certain additional -## rights. These rights are described in The Qt Company LGPL Exception -## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -## -## $QT_END_LICENSE$ -## -############################################################################# -. "$PSScriptRoot\..\common\msvc2015_update.ps1" -- cgit v1.2.3