From 9ca5bd05722691e93354b97c46ae7487c1c2a90f Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Wed, 11 Mar 2020 10:42:22 +0300 Subject: [PATCH 01/45] Fix android tools installation --- images/linux/scripts/installers/1604/android.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index 95a44edc..c9b4d9d2 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -19,11 +19,11 @@ echo "ANDROID_HOME=${ANDROID_SDK_ROOT}" | tee -a /etc/environment # Download the latest command line tools so that we can accept all of the licenses. # See https://developer.android.com/studio/#command-tools wget -O android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -unzip android-sdk.zip -d ${ANDROID_ROOT} +unzip android-sdk.zip -d ${ANDROID_SDK_ROOT} rm -f android-sdk.zip # Install the following SDKs and build tools, passing in "y" to accept licenses. -echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ +echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ "ndk-bundle" \ "platform-tools" \ "platforms;android-29" \ From f7ce1c8ca3852f59e652e6fbc8ff02f6319e9456 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Wed, 11 Mar 2020 13:02:35 +0300 Subject: [PATCH 02/45] Fix android tools installation --- images/linux/scripts/installers/1804/android.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index 716f8bb1..c415080d 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -19,11 +19,11 @@ echo "ANDROID_HOME=${ANDROID_SDK_ROOT}" | tee -a /etc/environment # Download the latest command line tools so that we can accept all of the licenses. # See https://developer.android.com/studio/#command-tools wget -O android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -unzip android-sdk.zip -d ${ANDROID_ROOT} +unzip android-sdk.zip -d ${ANDROID_SDK_ROOT} rm -f android-sdk.zip # Install the following SDKs and build tools, passing in "y" to accept licenses. -echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ +echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ "ndk-bundle" \ "platform-tools" \ "platforms;android-29" \ From 8254ea02aff68249e1578519eaefe2c8798f3048 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Wed, 11 Mar 2020 17:36:06 +0300 Subject: [PATCH 03/45] update boost toolset and notes --- .../win/scripts/Installers/Validate-Boost.ps1 | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/images/win/scripts/Installers/Validate-Boost.ps1 b/images/win/scripts/Installers/Validate-Boost.ps1 index 9c97c28d..9e1c6965 100644 --- a/images/win/scripts/Installers/Validate-Boost.ps1 +++ b/images/win/scripts/Installers/Validate-Boost.ps1 @@ -37,7 +37,7 @@ else # Adding description of the software to Markdown $tmplMark = @" -#### {0} +#### {0} [{2}] _Environment:_ * {1}: root directory of the Boost version {0} installation @@ -45,8 +45,9 @@ _Environment:_ "@ $tmplMarkRoot = @" -#### {0} +#### {0} [{2}] +_Environment:_ * PATH: contains the location of Boost version {0} * BOOST_ROOT: root directory of the Boost version {0} installation * {1}: root directory of the Boost version {0} installation @@ -62,14 +63,38 @@ foreach($BoostVersion in $BoostVersionsToInstall) Validate-BoostVersion -BoostRootPath $BoostRootDirectory -BoostRelease $BoostVersion $BoostVersionTag = "BOOST_ROOT_{0}" -f $BoostVersion.Replace('.', '_') - if($BoostVersion -eq $env:BOOST_DEFAULT) + if ([Version]$BoostVersion -ge "1.70.0") { - $null = $Description.AppendLine(($tmplMarkRoot -f $BoostVersion, $BoostVersionTag)) + $BoostToolsetName = "msvc-14.2" } else { - $null = $Description.AppendLine(($tmplMark -f $BoostVersion, $BoostVersionTag)) + $BoostToolsetName = "msvc-14.1" + } + + if($BoostVersion -eq $env:BOOST_DEFAULT) + { + $null = $Description.AppendLine(($tmplMarkRoot -f $BoostVersion, $BoostVersionTag, $BoostToolsetName)) + } + else + { + $null = $Description.AppendLine(($tmplMark -f $BoostVersion, $BoostVersionTag, $BoostToolsetName)) } } +$CMakeFindBoostInfo = @" + +#### _Notes:_ +Link: https://cmake.org/cmake/help/latest/module/FindBoost.html + +If Boost was built using the ``boost-cmake`` project or from ``Boost 1.70.0`` on it provides a package +configuration file for use with find\_package's config mode. This module looks for the package +configuration file called BoostConfig.cmake or boost-config.cmake and stores the result in CACHE entry "Boost_DIR". +If found, the package configuration file is loaded and this module returns with no further action. +See documentation of the Boost CMake package configuration for details on what it provides. + +Set ``Boost_NO_BOOST_CMAKE to ON``, to disable the search for boost-cmake. +"@ + +$null = $Description.AppendLine($CMakeFindBoostInfo) Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description.ToString() From c985fea383e5a77473d089b5dee4fd1c27de3d85 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Fri, 13 Mar 2020 13:02:25 +0300 Subject: [PATCH 04/45] Add check for sdk manager installation --- images/linux/scripts/installers/1604/android.sh | 13 ++++++++++++- images/linux/scripts/installers/1804/android.sh | 12 +++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index c9b4d9d2..8f132114 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -22,8 +22,19 @@ wget -O android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux unzip android-sdk.zip -d ${ANDROID_SDK_ROOT} rm -f android-sdk.zip +# Check sdk manager installation +${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list 1>/dev/null +if [ $? -eq 0 ] +then + echo "Android SDK manager was installed" +else + echo "Android SDK manager was not installed" + exit 1 +fi + + # Install the following SDKs and build tools, passing in "y" to accept licenses. -echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ +echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "ndk-bundle" \ "platform-tools" \ "platforms;android-29" \ diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index c415080d..098e9c3c 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -22,8 +22,18 @@ wget -O android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux unzip android-sdk.zip -d ${ANDROID_SDK_ROOT} rm -f android-sdk.zip +# Check sdk manager installation +${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list 1>/dev/null +if [ $? -eq 0 ] +then + echo "Android SDK manager was installed" +else + echo "Android SDK manager was not installed" + exit 1 +fi + # Install the following SDKs and build tools, passing in "y" to accept licenses. -echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ +echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "ndk-bundle" \ "platform-tools" \ "platforms;android-29" \ From 50c81bd62cb9c9e2a007bd6ffef399abe0e24c75 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Fri, 13 Mar 2020 13:26:19 +0300 Subject: [PATCH 05/45] Remove varaible from path --- images/linux/scripts/installers/1604/android.sh | 2 +- images/linux/scripts/installers/1804/android.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index 8f132114..0ce3657b 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -23,7 +23,7 @@ unzip android-sdk.zip -d ${ANDROID_SDK_ROOT} rm -f android-sdk.zip # Check sdk manager installation -${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list 1>/dev/null +/usr/local/lib/android/tools/bin/sdkmanager --list 1>/dev/null if [ $? -eq 0 ] then echo "Android SDK manager was installed" diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index 098e9c3c..042d93e2 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -23,7 +23,7 @@ unzip android-sdk.zip -d ${ANDROID_SDK_ROOT} rm -f android-sdk.zip # Check sdk manager installation -${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list 1>/dev/null +/usr/local/lib/android/tools/bin/sdkmanager --list 1>/dev/null if [ $? -eq 0 ] then echo "Android SDK manager was installed" From 4e4275f2f975f9b7480c1b59e71019a76ffbc01a Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Fri, 13 Mar 2020 13:29:28 +0300 Subject: [PATCH 06/45] Fix typo --- images/linux/scripts/installers/1604/android.sh | 2 +- images/linux/scripts/installers/1804/android.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index 0ce3657b..490dca0b 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -23,7 +23,7 @@ unzip android-sdk.zip -d ${ANDROID_SDK_ROOT} rm -f android-sdk.zip # Check sdk manager installation -/usr/local/lib/android/tools/bin/sdkmanager --list 1>/dev/null +/usr/local/lib/android/sdk/tools/bin/sdkmanager --list 1>/dev/null if [ $? -eq 0 ] then echo "Android SDK manager was installed" diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index 042d93e2..f712d13a 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -23,7 +23,7 @@ unzip android-sdk.zip -d ${ANDROID_SDK_ROOT} rm -f android-sdk.zip # Check sdk manager installation -/usr/local/lib/android/tools/bin/sdkmanager --list 1>/dev/null +/usr/local/lib/android/sdk/tools/bin/sdkmanager --list 1>/dev/null if [ $? -eq 0 ] then echo "Android SDK manager was installed" From 6d40dbd2e4664a8090de428c305a8eabae6b958a Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com> Date: Sat, 14 Mar 2020 09:34:27 +0000 Subject: [PATCH 07/45] fix readme name (#557) --- images.CI/azure-pipelines/windows2019.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images.CI/azure-pipelines/windows2019.yml b/images.CI/azure-pipelines/windows2019.yml index 8675f087..f35a4f7a 100644 --- a/images.CI/azure-pipelines/windows2019.yml +++ b/images.CI/azure-pipelines/windows2019.yml @@ -17,4 +17,4 @@ jobs: - template: image-generation.yml parameters: image_type: Windows2019-Azure - image_readme_name: Windows2016-Readme.md \ No newline at end of file + image_readme_name: Windows2019-Readme.md \ No newline at end of file From 936d5e12dcde64fe3c40a328b5144dee97590c0e Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Mon, 16 Mar 2020 09:11:32 +0300 Subject: [PATCH 08/45] Create android sdk directory --- images/linux/scripts/installers/1604/android.sh | 3 +++ images/linux/scripts/installers/1804/android.sh | 3 +++ 2 files changed, 6 insertions(+) diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index 490dca0b..7abeb2c1 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -16,6 +16,9 @@ source $HELPER_SCRIPTS/apt.sh # ANDROID_HOME is deprecated, but older versions of Gradle rely on it echo "ANDROID_HOME=${ANDROID_SDK_ROOT}" | tee -a /etc/environment +# Create android sdk directory +mkdir -p ${ANDROID_SDK_ROOT} + # Download the latest command line tools so that we can accept all of the licenses. # See https://developer.android.com/studio/#command-tools wget -O android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index f712d13a..c8ff7baf 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -16,6 +16,9 @@ echo "ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}" | tee -a /etc/environment # ANDROID_HOME is deprecated, but older versions of Gradle rely on it echo "ANDROID_HOME=${ANDROID_SDK_ROOT}" | tee -a /etc/environment +# Create android sdk directory +mkdir -p ${ANDROID_SDK_ROOT} + # Download the latest command line tools so that we can accept all of the licenses. # See https://developer.android.com/studio/#command-tools wget -O android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip From 110661eece13dc27a925ca017fb262e104565ee3 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Mon, 16 Mar 2020 09:16:06 +0300 Subject: [PATCH 09/45] Minor fix --- images/linux/scripts/installers/1604/android.sh | 2 ++ images/linux/scripts/installers/1804/android.sh | 2 ++ 2 files changed, 4 insertions(+) diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index 7abeb2c1..43cab549 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -4,6 +4,8 @@ ## Desc: Installs Android SDK ################################################################################ +set -e + # Source the helpers for use with the script source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/apt.sh diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index c8ff7baf..1a1486e3 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -4,6 +4,8 @@ ## Desc: Installs Android SDK ################################################################################ +set -e + # Source the helpers for use with the script source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/apt.sh From 7584c7b8793620167c46cd587f35c46520b5f26e Mon Sep 17 00:00:00 2001 From: Andy Mishechkin <57713077+andy-mishechkin@users.noreply.github.com> Date: Mon, 16 Mar 2020 10:52:13 +0300 Subject: [PATCH 10/45] Add Hub installation (#529) * Hub installation has been added * Checking and documentation updating has been created * Canges in hub version detection code * GIT_LFS_PATH has been removed from hub version detection * Copy-Past has been returned * Refactoring for separate command checking --- images/linux/scripts/installers/git.sh | 10 +++ images/win/scripts/Installers/Install-Git.ps1 | 1 + .../win/scripts/Installers/Validate-Git.ps1 | 77 +++++++++++-------- 3 files changed, 56 insertions(+), 32 deletions(-) diff --git a/images/linux/scripts/installers/git.sh b/images/linux/scripts/installers/git.sh index 026e73cd..1d8e58a1 100644 --- a/images/linux/scripts/installers/git.sh +++ b/images/linux/scripts/installers/git.sh @@ -35,3 +35,13 @@ echo "Lastly, document the installed versions" DocumentInstalledItem "Git ($(git --version 2>&1 | cut -d ' ' -f 3))" # git-lfs/2.6.1 (GitHub; linux amd64; go 1.11.1) DocumentInstalledItem "Git Large File Storage (LFS) ($(git-lfs --version 2>&1 | cut -d ' ' -f 1 | cut -d '/' -f 2))" + +#Install hub +snap install hub --classic +if command -v hub; then + echo "hub CLI was installed successfully" + DocumentInstalledItem "Hub CLI ($(hub --version | grep "hub version" | cut -d ' ' -f 3))" +else + echo "[!] Hub CLI was not installed" + exit 1 +fi diff --git a/images/win/scripts/Installers/Install-Git.ps1 b/images/win/scripts/Installers/Install-Git.ps1 index a67d7c99..24efc5bd 100644 --- a/images/win/scripts/Installers/Install-Git.ps1 +++ b/images/win/scripts/Installers/Install-Git.ps1 @@ -8,6 +8,7 @@ Import-Module -Name ImageHelpers # Install the latest version of Git which is bundled with Git LFS. # See https://chocolatey.org/packages/git choco install git -y --package-parameters="/GitAndUnixToolsOnPath /WindowsTerminal /NoShellIntegration" +choco install hub # Disable GCM machine-wide [Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine) diff --git a/images/win/scripts/Installers/Validate-Git.ps1 b/images/win/scripts/Installers/Validate-Git.ps1 index 6f2bb33f..1927a6ad 100644 --- a/images/win/scripts/Installers/Validate-Git.ps1 +++ b/images/win/scripts/Installers/Validate-Git.ps1 @@ -2,48 +2,61 @@ ## File: Validate-Git.ps1 ## Desc: Validate Git for Windows ################################################################################ - -if((Get-Command -Name 'git') -and (Get-Command -Name 'bash') -and (Get-Command -Name 'awk') -and (Get-Command -Name 'git-lfs')) -{ - Write-Host "$(git version) on path" - Write-Host "$(git-lfs version) on path" +function Test-CommandName { + param( + [parameter(Mandatory)][string] $CommandName + ) + Write-Host "Checking the [$CommandName]" + if(-not (Get-Command $CommandName -ErrorAction "Continue")) { + Write-Host "[!] $CommandName is not found" + exit 1 + } } -else -{ - Write-Host "git or git-lfs are not on path." - exit 1 +function Test-Command { + param( + [parameter(Mandatory)][string] $CommandName, + [parameter(Mandatory)][string] $CommandDescription, + [parameter(Mandatory)][string] $VersionCmd, + [parameter(Mandatory)][string] $regexVersion, + [parameter(Mandatory)][string] $DescriptionMarkdown + ) + Test-CommandName -CommandName $CommandName + + $strVersion = Invoke-Expression $VersionCmd + Write-Host "$strVersion on path" + if($strVersion -match $regexVersion) { + $Version = $Matches.version + } + else { + Write-Host "[!] $CommandName version detection failed" + exit 1 + } + # Adding description of the software to Markdown + $DescriptionMarkdown = $DescriptionMarkdown -f $Version + Add-SoftwareDetailsToMarkdown -SoftwareName $CommandDescription -DescriptionMarkdown $DescriptionMarkdown } +Test-CommandName -CommandName 'bash' +Test-CommandName -CommandName 'awk' -if( $(git version) -match 'git version (?.*).win.*' ) -{ - $gitVersion = $Matches.version -} - -if( $(git-lfs version) -match 'git-lfs\/(?.*) \(Git.*' ) -{ - $gitLfsVersion = $Matches.version -} - -# Adding description of the software to Markdown -$SoftwareName = "Git" - -$Description = @" -_Version:_ $gitVersion
+$GitDescription = @" +_Version:_ {0}
_Environment:_ * PATH: contains location of git.exe "@ +Test-Command -CommandName 'git' -CommandDescription 'Git' -VersionCmd "git version" -regexVersion 'git version (?.*).win.*' -DescriptionMarkdown $GitDescription -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description - -# Adding description of the software to Markdown -$SoftwareName = "Git Large File Storage (LFS)" - -$Description = @" -_Version:_ $gitLfsVersion
+$GitLfsDescription = @" +_Version:_ {0}
_Environment:_ * PATH: contains location of git-lfs.exe * GIT_LFS_PATH: location of git-lfs.exe "@ +Test-Command -CommandName 'git-lfs' -CommandDescription 'Git Large File Storage (LFS)' -VersionCmd "git-lfs version" -regexVersion 'git-lfs\/(?.*) \(Git.*' -DescriptionMarkdown $GitLfsDescription -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description +$HubCliDescription = @" +_Version:_ {0}
+_Environment:_ +* PATH: contains location of hub.exe +"@ +Test-Command -CommandName 'hub' -CommandDescription 'Hub CLI' -VersionCmd "hub version | Select-String 'hub version'" -regexVersion 'hub version (?.*)' -DescriptionMarkdown $HubCliDescription \ No newline at end of file From 6be8521bf6af383665f9d418f3e2d00a0fc68851 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Mon, 16 Mar 2020 12:51:40 +0300 Subject: [PATCH 11/45] depreacted BOOST_ROOT env variable --- images/linux/scripts/installers/boost.sh | 14 ++++++-------- images/linux/ubuntu1604.json | 3 +-- images/linux/ubuntu1804.json | 3 +-- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/images/linux/scripts/installers/boost.sh b/images/linux/scripts/installers/boost.sh index 673b1f61..9f8c9261 100644 --- a/images/linux/scripts/installers/boost.sh +++ b/images/linux/scripts/installers/boost.sh @@ -7,18 +7,16 @@ # Source the helpers for use with the script source $HELPER_SCRIPTS/document.sh +TOOLSET_PATH="$INSTALLER_SCRIPT_FOLDER/toolcache.json" BOOST_LIB=/usr/local/share/boost +BOOST_VERSIONS=$(cat toolset.json | jq -r 'to_entries[] | select(.key | match("boost")) | .value[] +".0"') # Install Boost -for BOOST_VERSION in ${BOOST_VERSIONS//,/ } +for BOOST_VERSION in ${BOOST_VERSIONS} do - BOOST_SYMLINK_VER=`echo "${BOOST_VERSION//[.]/_}"` - BOOST_ROOT="BOOST_ROOT_$BOOST_SYMLINK_VER" - - echo "$BOOST_ROOT=$BOOST_LIB/$BOOST_VERSION" | tee -a /etc/environment - if [[ $BOOST_VERSION == $BOOST_DEFAULT ]]; then - echo "BOOST_ROOT=$BOOST_LIB/$BOOST_VERSION" | tee -a /etc/environment - fi + BOOST_SYMLINK_VER=$(echo "${BOOST_VERSION//[.]/_}") + BOOST_ROOT_VERSION="BOOST_ROOT_$BOOST_SYMLINK_VER" + echo "$BOOST_ROOT_VERSION=$BOOST_LIB/$BOOST_VERSION" | tee -a /etc/environment DocumentInstalledItem "Boost C++ Libraries $BOOST_VERSION" done diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index 45b7386c..e604b058 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -240,8 +240,7 @@ "environment_vars": [ "METADATA_FILE={{user `metadata_file`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "BOOST_VERSIONS=1.69.0", - "BOOST_DEFAULT=1.69.0" + "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 4cf6f15b..6396229d 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -242,8 +242,7 @@ "environment_vars": [ "METADATA_FILE={{user `metadata_file`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "BOOST_VERSIONS=1.69.0", - "BOOST_DEFAULT=1.69.0" + "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, From 3e14d4751623b00ccc67f4e8a8e821ae407e5ed2 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Mon, 16 Mar 2020 12:52:43 +0300 Subject: [PATCH 12/45] depreacted BOOST_ROOT env variable --- images/linux/scripts/installers/boost.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/linux/scripts/installers/boost.sh b/images/linux/scripts/installers/boost.sh index 9f8c9261..5cdae6a0 100644 --- a/images/linux/scripts/installers/boost.sh +++ b/images/linux/scripts/installers/boost.sh @@ -9,7 +9,7 @@ source $HELPER_SCRIPTS/document.sh TOOLSET_PATH="$INSTALLER_SCRIPT_FOLDER/toolcache.json" BOOST_LIB=/usr/local/share/boost -BOOST_VERSIONS=$(cat toolset.json | jq -r 'to_entries[] | select(.key | match("boost")) | .value[] +".0"') +BOOST_VERSIONS=$(cat $TOOLSET_PATH | jq -r 'to_entries[] | select(.key | match("boost")) | .value[] +".0"') # Install Boost for BOOST_VERSION in ${BOOST_VERSIONS} From 285850163d276ce58ed8db52b0f5909877e0bdbc Mon Sep 17 00:00:00 2001 From: atsushieno Date: Tue, 31 Dec 2019 01:24:24 +0900 Subject: [PATCH 13/45] Add Android SDK cmake 3.10.2 component to ubuntu16.04, 18.04 and windows. Android SDK gradle plugin supports fixed versions of cmake, which are either 3.6.4111459 or 3.10.2. 4988404, and on Github Actions our apps fail to build if their build.gradle specify cmake 3.10.2 because Android Gradle Plugin tries to download and install it if it's missing (and causes file write access violation, at least on Ubuntu). --- images/linux/scripts/installers/1604/android.sh | 1 + images/linux/scripts/installers/1804/android.sh | 1 + images/win/scripts/Installers/Update-AndroidSDK.ps1 | 1 + 3 files changed, 3 insertions(+) diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index 95a44edc..aaf2ad39 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -82,6 +82,7 @@ echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ "add-ons;addon-google_apis-google-22" \ "add-ons;addon-google_apis-google-21" \ "cmake;3.6.4111459" \ + "cmake;3.10.2.4988404" \ "patcher;v4" # Document what was added to the image diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index 716f8bb1..a0fbb2eb 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -76,6 +76,7 @@ echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ "add-ons;addon-google_apis-google-22" \ "add-ons;addon-google_apis-google-21" \ "cmake;3.6.4111459" \ + "cmake;3.10.2.4988404" \ "patcher;v4" # Document what was added to the image diff --git a/images/win/scripts/Installers/Update-AndroidSDK.ps1 b/images/win/scripts/Installers/Update-AndroidSDK.ps1 index 0487bb4e..4a04b0b6 100644 --- a/images/win/scripts/Installers/Update-AndroidSDK.ps1 +++ b/images/win/scripts/Installers/Update-AndroidSDK.ps1 @@ -110,6 +110,7 @@ Push-Location -Path $sdk.FullName "add-ons;addon-google_apis-google-22" ` "add-ons;addon-google_apis-google-21" ` "cmake;3.6.4111459" ` + "cmake;3.10.2.4988404" ` "patcher;v4" Pop-Location From bbaf8b92245e1842f026e36583f392770b44f2cc Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com> Date: Mon, 16 Mar 2020 17:28:46 +0000 Subject: [PATCH 14/45] Add SQL Server Data Tools extensions to VS2019 (#559) * add extensions * add exe installation * change Reporting Services name * add switch to function, add validation * change install wdk to function * Fix template * fix scripts name * add quotes * more quotes * one more quotes * get rid of duplicate code * move quotes to function * small improvment to wix installation * add comment to validate extensions script --- images/win/Windows2016-Azure.json | 8 +- images/win/Windows2019-Azure.json | 12 +-- .../scripts/ImageHelpers/ImageHelpers.psm1 | 5 +- .../scripts/ImageHelpers/InstallHelpers.ps1 | 92 +++++++++++++------ .../{Windows2019 => }/Install-WDK.ps1 | 50 ++++------ images/win/scripts/Installers/Install-Wix.ps1 | 23 +++++ .../{Windows2019 => }/Validate-WDK.ps1 | 2 +- .../{Windows2019 => }/Validate-Wix.ps1 | 14 ++- .../Installers/Windows2016/Install-WDK.ps1 | 51 ---------- .../Installers/Windows2016/Install-Wix.ps1 | 53 ----------- .../Installers/Windows2016/Validate-SSDT.ps1 | 30 +----- .../Installers/Windows2016/Validate-WDK.ps1 | 13 --- .../Installers/Windows2016/Validate-Wix.ps1 | 62 ------------- .../Install-AnalysisExtenstion.ps1 | 11 --- .../Windows2019/Install-SSDTExtensions.ps1 | 11 +++ .../Installers/Windows2019/Install-Wix.ps1 | 14 --- .../Validate-AnalysisExtenstion.ps1 | 18 ---- .../Windows2019/Validate-SSDTExtensions.ps1 | 22 +++++ 18 files changed, 167 insertions(+), 324 deletions(-) rename images/win/scripts/Installers/{Windows2019 => }/Install-WDK.ps1 (55%) create mode 100644 images/win/scripts/Installers/Install-Wix.ps1 rename images/win/scripts/Installers/{Windows2019 => }/Validate-WDK.ps1 (90%) rename images/win/scripts/Installers/{Windows2019 => }/Validate-Wix.ps1 (76%) delete mode 100644 images/win/scripts/Installers/Windows2016/Install-WDK.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Install-Wix.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Validate-WDK.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Validate-Wix.ps1 delete mode 100644 images/win/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1 create mode 100644 images/win/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1 delete mode 100644 images/win/scripts/Installers/Windows2019/Install-Wix.ps1 delete mode 100644 images/win/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1 create mode 100644 images/win/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1 diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index b6aafce8..326474b2 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -213,7 +213,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Install-Wix.ps1" + "{{ template_dir }}/scripts/Installers/Install-Wix.ps1" ] }, { @@ -229,7 +229,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Install-WDK.ps1" + "{{ template_dir }}/scripts/Installers/Install-WDK.ps1" ] }, { @@ -251,7 +251,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Validate-Wix.ps1" + "{{ template_dir }}/scripts/Installers/Validate-Wix.ps1" ] }, { @@ -263,7 +263,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Validate-WDK.ps1" + "{{ template_dir }}/scripts/Installers/Validate-WDK.ps1" ] }, { diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index c7c0da02..94da1a0e 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -188,13 +188,13 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Install-Wix.ps1" + "{{ template_dir }}/scripts/Installers/Install-Wix.ps1" ] }, { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1" + "{{ template_dir }}/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1" ] }, { @@ -210,7 +210,7 @@ { "type": "powershell", "scripts": [ - "{{ template_dir }}/scripts/Installers/Windows2019/Install-WDK.ps1" + "{{ template_dir }}/scripts/Installers/Install-WDK.ps1" ] }, { @@ -226,13 +226,13 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Validate-Wix.ps1" + "{{ template_dir }}/scripts/Installers/Validate-Wix.ps1" ] }, { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1" + "{{ template_dir }}/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1" ] }, { @@ -244,7 +244,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Validate-WDK.ps1" + "{{ template_dir }}/scripts/Installers/Validate-WDK.ps1" ] }, { diff --git a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 index f38e3563..7f48125f 100644 --- a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 +++ b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 @@ -19,5 +19,8 @@ Export-ModuleMember -Function @( 'Stop-SvcWithErrHandling' 'Set-SvcWithErrHandling' 'Install-VsixExtension' - 'Get-VS19ExtensionVersion' + 'Get-VSExtensionVersion' + 'Get-WinVersion' + 'Test-IsWin19' + 'Test-IsWin16' ) diff --git a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 index eaabd236..a0bbe994 100644 --- a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 +++ b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 @@ -165,46 +165,62 @@ function Install-VsixExtension { Param ( - [String]$Url, - [String]$Name + [string] $Url, + [Parameter(Mandatory = $true)] + [string] $Name, + [string] $FilePath, + [Parameter(Mandatory = $true)] + [string] $VSversion, + [int] $retries = 20, + [switch] $InstallOnly ) - $FilePath = "${env:Temp}\$Name" - $retries = 20 - - while($retries -gt 0) + if (!$InstallOnly) { - try - { - Write-Host "Downloading $Name..." - (New-Object System.Net.WebClient).DownloadFile($Url, $FilePath) - break - } - catch - { - Write-Host "There is an error during $Name downloading" - $_ + $FilePath = "${env:Temp}\$Name" - $retries-- - - if ($retries -eq 0) + while($retries -gt 0) + { + try { - Write-Host "File can't be downloaded" - $_ - exit 1 + Write-Host "Downloading $Name..." + (New-Object System.Net.WebClient).DownloadFile($Url, $FilePath) + break } + catch + { + Write-Host "There is an error during $Name downloading" + $_ - Write-Host "Waiting 30 seconds before retrying. Retries left: $retries" - Start-Sleep -Seconds 30 + $retries-- + + if ($retries -eq 0) + { + Write-Host "File can't be downloaded" + $_ + exit 1 + } + + Write-Host "Waiting 30 seconds before retrying. Retries left: $retries" + Start-Sleep -Seconds 30 + } } } - $ArgumentList = ('/quiet', $FilePath) + $ArgumentList = ('/quiet', "`"$FilePath`"") Write-Host "Starting Install $Name..." try { - $process = Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VSIXInstaller.exe" -ArgumentList $ArgumentList -Wait -PassThru + #There are 2 types of packages at the moment - exe and vsix + if ($Name -match "vsix") + { + $process = Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\$VSversion\Enterprise\Common7\IDE\VSIXInstaller.exe" -ArgumentList $ArgumentList -Wait -PassThru + } + else + { + $process = Start-Process -FilePath ${env:Temp}\$Name /Q -Wait -PassThru + } } catch { @@ -225,11 +241,14 @@ function Install-VsixExtension exit 1 } - #Cleanup installation files - Remove-Item -Force -Confirm:$false $FilePath + #Cleanup downloaded installation files + if (!$InstallOnly) + { + Remove-Item -Force -Confirm:$false $FilePath + } } -function Get-VS19ExtensionVersion +function Get-VSExtensionVersion { param ( [string] [Parameter(Mandatory=$true)] $packageName @@ -255,3 +274,18 @@ function Get-VS19ExtensionVersion return $packageVersion } + +function Get-WinVersion +{ + (Get-WmiObject -class Win32_OperatingSystem).Caption +} + +function Test-IsWin19 +{ + (Get-WinVersion) -match "2019" +} + +function Test-IsWin16 +{ + (Get-WinVersion) -match "2016" +} diff --git a/images/win/scripts/Installers/Windows2019/Install-WDK.ps1 b/images/win/scripts/Installers/Install-WDK.ps1 similarity index 55% rename from images/win/scripts/Installers/Windows2019/Install-WDK.ps1 rename to images/win/scripts/Installers/Install-WDK.ps1 index b7064437..9df64d91 100644 --- a/images/win/scripts/Installers/Windows2019/Install-WDK.ps1 +++ b/images/win/scripts/Installers/Install-WDK.ps1 @@ -4,8 +4,24 @@ ################################################################################ # Requires Windows SDK with the same version number as the WDK -$winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2083338" -$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2085767" + +Import-Module -Name ImageHelpers -Force + +if(Test-IsWin19) +{ + $winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2083338" + $wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2085767" + $FilePath = "C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix" + $VSver = "2019" +} +else +{ + $winSdkUrl = "https://go.microsoft.com/fwlink/p/?LinkID=2023014" + $wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2026156" + $FilePath = "C:\Program Files (x86)\Windows Kits\10\Vsix\WDK.vsix" + $VSver = "2017" +} + # `winsdksetup.exe /features + /quiet` installs all features without showing the GUI $sdkExitCode = Install-EXE -Url $winSdkUrl -Name "winsdksetup.exe" -ArgumentList ("/features", "+", "/quiet") @@ -26,32 +42,4 @@ if ($wdkExitCode -ne 0) } # Need to install the VSIX to get the build targets when running VSBuild -# Write-Host "Installing WDK.vsix" -try -{ - $process = Start-Process ` - -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VSIXInstaller.exe" ` - -ArgumentList ("/quiet", '"C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix"') ` - -Wait ` - -PassThru -} -catch -{ - Write-Host "There is an error during WDK.vsix installation" - $_ - exit 1 -} - - - $exitCode = $process.ExitCode - -if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed -{ - Write-Host "WDK.vsix installed successfully" -} -else -{ - Write-Host "Unsuccessful exit code returned by the installation process: $exitCode." -} - -exit $exitCode +Install-VsixExtension -FilePath $FilePath -Name "WDK.vsix" -VSversion $VSver -InstallOnly diff --git a/images/win/scripts/Installers/Install-Wix.ps1 b/images/win/scripts/Installers/Install-Wix.ps1 new file mode 100644 index 00000000..076be86c --- /dev/null +++ b/images/win/scripts/Installers/Install-Wix.ps1 @@ -0,0 +1,23 @@ +################################################################################ +## File: Install-Wix.ps1 +## Desc: Install WIX. +################################################################################ + +Import-Module -Name ImageHelpers -Force; + +choco install wixtoolset -y --force + +if(Test-IsWin19) +{ + $extensionUrl = "https://wixtoolset.gallerycdn.vsassets.io/extensions/wixtoolset/wixtoolsetvisualstudio2019extension/1.0.0.4/1563296438961/Votive2019.vsix" + $VSver = "2019" +} +else +{ + $extensionUrl = "https://robmensching.gallerycdn.vsassets.io/extensions/robmensching/wixtoolsetvisualstudio2017extension/0.9.21.62588/1494013210879/250616/4/Votive2017.vsix" + $VSver = "2017" +} + +$extensionName = "Votive$VSver.vsix" +#Installing VS extension 'Wix Toolset Visual Studio Extension' +Install-VsixExtension -Url $extensionUrl -Name $extensionName -VSversion $VSver diff --git a/images/win/scripts/Installers/Windows2019/Validate-WDK.ps1 b/images/win/scripts/Installers/Validate-WDK.ps1 similarity index 90% rename from images/win/scripts/Installers/Windows2019/Validate-WDK.ps1 rename to images/win/scripts/Installers/Validate-WDK.ps1 index c3c6a8f0..ee64f20b 100644 --- a/images/win/scripts/Installers/Windows2019/Validate-WDK.ps1 +++ b/images/win/scripts/Installers/Validate-WDK.ps1 @@ -19,7 +19,7 @@ function Get-WDKVersion } $WDKVersion = Get-WDKVersion -$WDKPackageVersion = Get-VS19ExtensionVersion -packageName "Microsoft.Windows.DriverKit" +$WDKPackageVersion = Get-VSExtensionVersion -packageName "Microsoft.Windows.DriverKit" # Adding description of the software to Markdown $SoftwareName = "Windows Driver Kit" diff --git a/images/win/scripts/Installers/Windows2019/Validate-Wix.ps1 b/images/win/scripts/Installers/Validate-Wix.ps1 similarity index 76% rename from images/win/scripts/Installers/Windows2019/Validate-Wix.ps1 rename to images/win/scripts/Installers/Validate-Wix.ps1 index 4334beb1..d755939d 100644 --- a/images/win/scripts/Installers/Windows2019/Validate-Wix.ps1 +++ b/images/win/scripts/Installers/Validate-Wix.ps1 @@ -4,6 +4,7 @@ ################################################################################ Import-Module -Name ImageHelpers -Force + function Get-WixVersion { $regKey = "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" $installedApplications = Get-ItemProperty -Path $regKey @@ -21,14 +22,23 @@ else { exit 1 } -$WixPackageVersion = Get-VS19ExtensionVersion -packageName "WixToolset.VisualStudioExtension.Dev16" +if(Test-IsWin19) +{ + $WixPackageVersion = Get-VSExtensionVersion -packageName "WixToolset.VisualStudioExtension.Dev16" + $VSver = "2019" +} +else +{ + $WixPackageVersion = Get-VSExtensionVersion -packageName "WixToolset.VisualStudioExtension.Dev15" + $VSver = "2017" +} # Adding description of the software to Markdown $SoftwareName = "WIX Tools" $Description = @" _Toolset Version:_ $WixToolSetVersion
-_WIX Toolset Visual Studio Extension Version:_ $WixPackageVersion
+_WIX Toolset Studio $VSver Extension Version:_ $WixPackageVersion
_Environment:_ * WIX: Installation root of WIX "@ diff --git a/images/win/scripts/Installers/Windows2016/Install-WDK.ps1 b/images/win/scripts/Installers/Windows2016/Install-WDK.ps1 deleted file mode 100644 index 58707f97..00000000 --- a/images/win/scripts/Installers/Windows2016/Install-WDK.ps1 +++ /dev/null @@ -1,51 +0,0 @@ -################################################################################ -## File: Install-WDK.ps1 -## Desc: Install the Windows Driver Kit -################################################################################ - -# Version: 10.0.17763.0 -# Update Validate-WDK.ps1 if the version changes! -# There doesn't seem to be any way to check the version programmatically - -# Requires Windows SDK with the same version number as the WDK -$winSdkUrl = "https://go.microsoft.com/fwlink/p/?LinkID=2023014" -$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2026156" - -# `winsdksetup.exe /features + /quiet` installs all features without showing the GUI -$sdkExitCode = Install-EXE -Url $winSdkUrl -Name "winsdksetup.exe" -ArgumentList ("/features", "+", "/quiet") - -if ($sdkExitCode -ne 0) -{ - Write-Host "Failed to install the Windows SDK." - exit $sdkExitCode -} - -# `wdksetup.exe /features + /quiet` installs all features without showing the GUI -$wdkExitCode = Install-EXE -Url $wdkUrl -Name "wdksetup.exe" -ArgumentList ("/features", "+", "/quiet") - -if ($wdkExitCode -ne 0) -{ - Write-Host "Failed to install the Windows Driver Kit." - exit $wdkExitCode -} - -# Need to install the VSIX to get the build targets when running VSBuild -Write-Host "Installing WDK.vsix" -$process = Start-Process ` - -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VSIXInstaller.exe" ` - -ArgumentList ("/quiet", '"C:\Program Files (x86)\Windows Kits\10\Vsix\WDK.vsix"') ` - -Wait ` - -PassThru - -$exitCode = $process.ExitCode - -if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed -{ - Write-Host "WDK.vsix installed successfully" -} -else -{ - Write-Host "Unsuccessful exit code returned by the installation process: $exitCode." -} - -exit $exitCode diff --git a/images/win/scripts/Installers/Windows2016/Install-Wix.ps1 b/images/win/scripts/Installers/Windows2016/Install-Wix.ps1 deleted file mode 100644 index 44ee25c2..00000000 --- a/images/win/scripts/Installers/Windows2016/Install-Wix.ps1 +++ /dev/null @@ -1,53 +0,0 @@ -################################################################################ -## File: Install-Wix.ps1 -## Desc: Install WIX. -################################################################################ -function Install-VsixExtension -{ - Param - ( - [String]$Url, - [String]$Name - ) - - $exitCode = -1 - - try - { - Write-Host "Downloading $Name..." - $FilePath = "${env:Temp}\$Name" - - Invoke-WebRequest -Uri $Url -OutFile $FilePath - - $ArgumentList = ('/quiet', $FilePath) - - Write-Host "Starting Install $Name..." - $process = Start-Process -FilePath 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VSIXInstaller.exe' -ArgumentList $ArgumentList -Wait -PassThru - $exitCode = $process.ExitCode - - if ($exitCode -eq 0 -or $exitCode -eq 3010) - { - Write-Host -Object 'Installation successful' - return $exitCode - } - else - { - Write-Host -Object "Non zero exit code returned by the installation process : $exitCode." - return $exitCode - } - } - catch - { - Write-Host -Object "Failed to install the Extension $Name" - Write-Host -Object $_.Exception.Message - return -1 - } -} - - -choco install wixtoolset -y --force - -#Installing VS extension 'Wix Toolset Visual Studio 2017 Extension' -$exitCode = Install-VsixExtension -Url 'https://robmensching.gallerycdn.vsassets.io/extensions/robmensching/wixtoolsetvisualstudio2017extension/0.9.21.62588/1494013210879/250616/4/Votive2017.vsix' -Name 'Votive2017.vsix' - -return $exitCode diff --git a/images/win/scripts/Installers/Windows2016/Validate-SSDT.ps1 b/images/win/scripts/Installers/Windows2016/Validate-SSDT.ps1 index 9d9a1c4a..40444ee1 100644 --- a/images/win/scripts/Installers/Windows2016/Validate-SSDT.ps1 +++ b/images/win/scripts/Installers/Windows2016/Validate-SSDT.ps1 @@ -5,39 +5,13 @@ Import-Module -Name ImageHelpers -Force -function Get-SSDTExtensionPackage { - $vsProgramData = Get-Item -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances" - $instanceFolders = Get-ChildItem -Path $vsProgramData.FullName - - if($instanceFolders -is [array]) - { - Write-Host "More than one instance installed" - exit 1 - } - - $stateContent = Get-Content -Path ($instanceFolders.FullName + '\state.packages.json') - $state = $stateContent | ConvertFrom-Json - $SsdtPackage = $state.packages | where { $_.id -eq "SSDT" } - return $SsdtPackage -} - - -$SsdtPackage = Get-SSDTExtensionPackage - -if($SsdtPackage){ - Write-Host "SSDT version" $SsdtPackage.version "installed" -} -else { - Write-Host "SSDT is not installed" - exit 1 -} - +$SSDTPackageVersion = Get-VSExtensionVersion -packageName "SSDT" # Adding description of the software to Markdown $SoftwareName = "SQL Server Data Tools for VS 2017" $Description = @" -_Version:_ $($SsdtPackage.version)
+_Version:_ $SSDTPackageVersion
The following components are installed: diff --git a/images/win/scripts/Installers/Windows2016/Validate-WDK.ps1 b/images/win/scripts/Installers/Windows2016/Validate-WDK.ps1 deleted file mode 100644 index f9edf160..00000000 --- a/images/win/scripts/Installers/Windows2016/Validate-WDK.ps1 +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -## File: Validate-WDK.ps1 -## Desc: Validate the installation of the Windows Driver Kit -################################################################################ - -# Adding description of the software to Markdown -$SoftwareName = "Windows Driver Kit" - -$Description = @" -_Version:_ 10.0.17763.0
-"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description diff --git a/images/win/scripts/Installers/Windows2016/Validate-Wix.ps1 b/images/win/scripts/Installers/Windows2016/Validate-Wix.ps1 deleted file mode 100644 index 090df37a..00000000 --- a/images/win/scripts/Installers/Windows2016/Validate-Wix.ps1 +++ /dev/null @@ -1,62 +0,0 @@ -################################################################################ -## File: Validate-Wix.ps1 -## Desc: Validate WIX. -################################################################################ - -Import-Module -Name ImageHelpers -Force -function Get-WixVersion { - $regKey = "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" - $installedApplications = Get-ItemProperty -Path $regKey - $Version = ($installedApplications | Where-Object { $_.DisplayName -and $_.DisplayName.toLower().Contains("wix") } | Select-Object -First 1).DisplayVersion - return $Version -} - -#Gets the extension details from state.json -function Get-WixExtensionPackage { - $vsProgramData = Get-Item -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances" - $instanceFolders = Get-ChildItem -Path $vsProgramData.FullName - - if($instanceFolders -is [array]) - { - Write-Host "More than one instance installed" - exit 1 - } - - $stateContent = Get-Content -Path ($instanceFolders.FullName + '\state.packages.json') - $state = $stateContent | ConvertFrom-Json - $WixPackage = $state.packages | where { $_.id -eq "WixToolset.VisualStudioExtension.Dev15" } - return $WixPackage -} - -$WixToolSetVersion = Get-WixVersion - -if($WixToolSetVersion) { - Write-Host "Wix Toolset version" $WixPackage.version "installed" -} -else { - Write-Host "Wix Toolset is not installed" - exit 1 -} - -$WixPackage = Get-WixExtensionPackage - -if($WixPackage) { - Write-Host "Wix Extension version" $WixPackage.version "installed" -} -else { - Write-Host "Wix Extension is not installed" - exit 1 -} - - -# Adding description of the software to Markdown -$SoftwareName = "WIX Tools" - -$Description = @" -_Toolset Version:_ $WixToolSetVersion
-_WIX Toolset Studio 2017 Extension Version:_ $($WixPackage.version)
-_Environment:_ -* WIX: Installation root of WIX -"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description diff --git a/images/win/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1 b/images/win/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1 deleted file mode 100644 index 2d477c18..00000000 --- a/images/win/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1 +++ /dev/null @@ -1,11 +0,0 @@ -################################################################################### -## File: Install-AnalysisExtenstion.ps1 -## Desc: Install the Microsoft Analysis Services Projects Visual Studio extension -################################################################################### - -Import-Module -Name ImageHelpers -Force; - -$extensionUrl = "https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftAnalysisServicesModelingProjects/2.9.5/vspackage" -$extensionName = "Microsoft.DataTools.AnalysisServices.vsix" - -Install-VsixExtension -Url $extensionUrl -Name $extensionName diff --git a/images/win/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1 b/images/win/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1 new file mode 100644 index 00000000..8c2a6cd7 --- /dev/null +++ b/images/win/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1 @@ -0,0 +1,11 @@ +################################################################################### +## File: Install-SSDTExtensions.ps1 +## Desc: Install the extensions previously known as SSDT package +################################################################################### + +Import-Module -Name ImageHelpers -Force + +Install-VsixExtension -Url 'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftAnalysisServicesModelingProjects/2.9.5/vspackage' -Name 'Microsoft.DataTools.AnalysisServices.vsix' -VSversion "2019" +Install-VsixExtension -Url 'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/SSIS/vsextensions/SqlServerIntegrationServicesProjects/3.4/vspackage' -Name 'Microsoft.DataTools.IntegrationServices.exe' -VSversion "2019" +Install-VsixExtension -Url 'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftReportProjectsforVisualStudio/2.6.3/vspackage' -Name 'Microsoft.DataTools.ReportingServices.vsix' -VSversion "2019" + diff --git a/images/win/scripts/Installers/Windows2019/Install-Wix.ps1 b/images/win/scripts/Installers/Windows2019/Install-Wix.ps1 deleted file mode 100644 index 918217c5..00000000 --- a/images/win/scripts/Installers/Windows2019/Install-Wix.ps1 +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -## File: Install-Wix.ps1 -## Desc: Install WIX. -################################################################################ - -Import-Module -Name ImageHelpers -Force; - -choco install wixtoolset -y --force - -$extensionUrl = "https://wixtoolset.gallerycdn.vsassets.io/extensions/wixtoolset/wixtoolsetvisualstudio2019extension/1.0.0.4/1563296438961/Votive2019.vsix" -$extensionName = "Votive2019.vsix" - -#Installing VS extension 'Wix Toolset Visual Studio 2019 Extension' -Install-VsixExtension -Url $extensionUrl -Name $extensionName diff --git a/images/win/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1 b/images/win/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1 deleted file mode 100644 index fad85d51..00000000 --- a/images/win/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1 +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -## File: Validate-AnalysisExtenstion.ps1 -## Desc: Validate Microsoft Analysis Services Projects Visual Studio extension -################################################################################ - -Import-Module -Name ImageHelpers -Force - -#AnalysisPackage doesn't have any proper name in the state.packages.json file, only id is available -$AnalysisPackageVersion = Get-VS19ExtensionVersion -packageName "04a86fc2-dbd5-4222-848e-911638e487fe" - -# Adding description of the software to Markdown -$SoftwareName = "Microsoft Analysis Services Projects Visual Studio Extension" - -$Description = @" -_Version:_ $AnalysisPackageVersion
-"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description \ No newline at end of file diff --git a/images/win/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1 b/images/win/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1 new file mode 100644 index 00000000..731c10ed --- /dev/null +++ b/images/win/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1 @@ -0,0 +1,22 @@ +################################################################################ +## File: Validate-SSDTExtensions.ps1 +## Desc: Validate SQL Server Data Tools Visual Studio extensions +################################################################################ + +Import-Module -Name ImageHelpers -Force + +#These extensions don't have any proper name in the state.packages.json file, only id is available, which can be found on extension marketplace download page +$AnalysisPackageVersion = Get-VSExtensionVersion -packageName "04a86fc2-dbd5-4222-848e-911638e487fe" +$IntegrationPackageVersion = Get-VSExtensionVersion -packageName "851E7A09-7B2B-4F06-A15D-BABFCB26B970" +$ReportingPackageVersion = Get-VSExtensionVersion -packageName "717ad572-c4b7-435c-c166-c2969777f718" + +# Adding description of the software to Markdown +$SoftwareName = "Microsoft SSDT Visual Studio 2019 Extensions" + +$Description = @" +_Microsoft Analysis Services Projects Version:_ $AnalysisPackageVersion
+_SQL Server Integration Services Projects Version:_ $IntegrationPackageVersion
+_Microsoft Reporting Services Projects Version:_ $ReportingPackageVersion
+"@ + +Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description From 99478a7e217f34c4b88736bbc02625d4a7b94cab Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Mon, 16 Mar 2020 17:29:14 +0000 Subject: [PATCH 15/45] Updating readme file for AzP.20200308.ubuntu18.0 version 20200308 --- images/linux/Ubuntu1804-README.md | 43 ++++++++++++++++--------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md index 4b35378c..94f3547f 100644 --- a/images/linux/Ubuntu1804-README.md +++ b/images/linux/Ubuntu1804-README.md @@ -1,16 +1,11 @@ # Ubuntu 18.04.4 LTS -The following software is installed on machines with the 20200301.1 update. +The following software is installed on machines with the 20200308.0 update. *** - 7-Zip 16.02 -- Ansible (ansible 2.9.4) +- Ansible (ansible 2.9.6) - AzCopy (azcopy 7.3.0-netcore) - Azure CLI (azure-cli 2.1.0) - Azure CLI (azure-devops 0.17.0) -- Bazel (Build label: 2.1.1 -Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar -Build time: Fri Feb 21 14:56:47 2020 (1582297007) -Build timestamp: 1582297007 -Build timestamp as int: 1582297007) - Basic CLI: - curl - dnsutils @@ -37,7 +32,7 @@ Build timestamp as int: 1582297007) - wget - zip - zstd -- AWS CLI (aws-cli/1.18.11 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.11) +- AWS CLI (aws-cli/1.18.16 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.16) - build-essential - Clang 6.0 (6.0.1) - Clang 8 (8.0.1) @@ -107,7 +102,7 @@ Build timestamp as int: 1582297007) - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4) - Firefox (Mozilla Firefox 73.0.1) -- Geckodriver (); Gecko Driver is available via GECKOWEBDRIVER environment variable +- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.4.0 - GNU C++ 8.3.0 - GNU C++ 9.2.1 @@ -118,9 +113,9 @@ Build timestamp as int: 1582297007) - Go 1.11 (go version go1.11.12 linux/amd64) - Go 1.12 (go version go1.12.7 linux/amd64) - Go 1.13 (go version go1.13 linux/amd64) -- Google Chrome (Google Chrome 80.0.3987.122 ) -- Chromedriver (ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882})); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (282.0.0) +- Google Chrome (Google Chrome 80.0.3987.132 ) +- ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable +- Google Cloud SDK (283.0.0) - Haskell Cabal (cabal-install version 2.0.0.1 compiled using version 2.0.1.1 of the Cabal library ) - Haskell Cabal (cabal-install version 2.2.0.0 @@ -138,21 +133,22 @@ compiled using version 3.0.2.0 of the Cabal library ) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) +- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) -- Heroku (heroku/7.38.2 linux-x64 node-v12.13.0) -- HHVM (HipHop VM 4.46.0 (rel)) +- Heroku (heroku/7.39.0 linux-x64 node-v12.13.0) +- HHVM (HipHop VM 4.47.0 (rel)) - ImageMagick - Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252") - Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242") - Azul Zulu OpenJDK (11) (openjdk version "11.0.6" 2020-01-14 LTS) - Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16) - Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019) -- Gradle 6.2.1 +- Gradle 6.2.2 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.7.0 go1.13.6 linux/amd64) - kubectl (Client Version: v1.17.3) -- helm (Client: v2.16.3+g1ee0254) -- Leiningen (Leiningen 2.9.2 on Java 1.8.0_242 OpenJDK 64-Bit Server VM) +- helm (v3.1.1+gafe7058) +- Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 4.5.3)) - Miniconda (conda 4.7.12) - Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:20 UTC 2020)) @@ -166,9 +162,11 @@ Local version: Unknown) - n (6.3.1) - Parcel (1.12.4) - TypeScript (Version 3.8.3) -- Webpack (4.41.6) +- Webpack (4.42.0) - Webpack CLI (3.3.11) -- Yarn (1.22.0) +- Yarn (1.22.1) +- Bazel (bazel 2.2.0) +- Bazelisk (1.3.0) - PhantomJS (2.1.1) - PHP 7.1 (PHP 7.1.33-12+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:22:16) ( NTS )) - PHP 7.2 (PHP 7.2.28-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:25) ( NTS )) @@ -178,7 +176,7 @@ Local version: Unknown) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate - psql (PostgreSQL) 10.12 -- Powershell (PowerShell 6.2.4) +- Powershell (PowerShell 7.0.0) - ruby (2.5.1p57) - gem (3.1.2) - rustup (1.21.1) @@ -191,11 +189,13 @@ Local version: Unknown) the 0.53.1) - cbindgen (0.13.1) +- Julia (julia version 1.3.1) - sbt (1.3.8) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Sphinx Open Source Search Server - Subversion (svn, version 1.9.7 (r1800392)) -- Terraform (Terraform v0.12.21) +- Terraform (Terraform v0.12.23) +- Packer (1.5.4) - Vcpkg 2020.02.04-unknownhash - Zeit Now CLI (17.0.4) - Google Repository 58 @@ -219,6 +219,7 @@ the - Android SDK Platform 19 - Android SDK Platform 17 - Android SDK Patch Applier v4 +- Android SDK Build-Tools 29.0.3 - Android SDK Build-Tools 29.0.2 - Android SDK Build-Tools 29.0.0 - Android SDK Build-Tools 28.0.3 From 9b2f575307a8ce36a5f0c3345bc23c3016a2aa2f Mon Sep 17 00:00:00 2001 From: Marco Mansi Date: Fri, 13 Mar 2020 21:23:23 +0100 Subject: [PATCH 16/45] Fix error "NoProcessFoundForGivenName" when running Disable-InternetExplorerESC The error happens because we try to stop the Explorer process which may not running, so let's check first if the process is running. --- images.CI/build-image.ps1 | 3 +++ .../win/scripts/Installers/Windows2016/Initialize-VM.ps1 | 8 +++++++- .../win/scripts/Installers/Windows2019/Initialize-VM.ps1 | 8 +++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/images.CI/build-image.ps1 b/images.CI/build-image.ps1 index 54748e41..24d4a4d5 100644 --- a/images.CI/build-image.ps1 +++ b/images.CI/build-image.ps1 @@ -36,6 +36,9 @@ $SensitiveData = @( ': ->' ) +Write-Host "Show Packer Version" +packer --version + Write-Host "Build $Image VM" packer build -var "capture_name_prefix=$ResourcesNamePrefix" ` -var "client_id=$ClientId" ` diff --git a/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 b/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 index 7998f1cb..d9210571 100644 --- a/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 +++ b/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 @@ -8,7 +8,13 @@ function Disable-InternetExplorerESC { $UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}" Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -Force Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -Force - Stop-Process -Name Explorer -Force -ErrorAction Continue + + $ieProcess = Get-Process -Name Explorer -ErrorAction SilentlyContinue + + if ($ieProcess){ + Stop-Process -Name Explorer -Force -ErrorAction Continue + } + Write-Host "IE Enhanced Security Configuration (ESC) has been disabled." } diff --git a/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 b/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 index 9930e6a6..46574d7c 100644 --- a/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 +++ b/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 @@ -8,7 +8,13 @@ function Disable-InternetExplorerESC { $UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}" Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -Force Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -Force - Stop-Process -Name Explorer -Force -ErrorAction Continue + + $ieProcess = Get-Process -Name Explorer -ErrorAction SilentlyContinue + + if ($ieProcess){ + Stop-Process -Name Explorer -Force -ErrorAction Continue + } + Write-Host "IE Enhanced Security Configuration (ESC) has been disabled." } From 80449e25a0589d8670ea97f03f43c4980a78a0ad Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Tue, 17 Mar 2020 09:47:22 +0300 Subject: [PATCH 17/45] update boost toolset and notes, remove BOOST_ROOT --- .../azure-pipelines/image-generation.yml | 8 ++ images.CI/azure-pipelines/ubuntu1604.yml | 3 +- images.CI/azure-pipelines/ubuntu1804.yml | 3 +- images.CI/azure-pipelines/windows2016.yml | 3 +- images.CI/azure-pipelines/windows2019.yml | 3 +- images.CI/build-image.ps1 | 3 + images/linux/Ubuntu1604-README.md | 43 +++--- images/linux/Ubuntu1804-README.md | 43 +++--- .../linux/scripts/installers/1604/android.sh | 1 + .../linux/scripts/installers/1804/android.sh | 1 + .../installers/configure-environment.sh | 7 + images/linux/scripts/installers/git.sh | 10 ++ images/linux/ubuntu1604.json | 9 +- images/linux/ubuntu1804.json | 9 +- images/macos/macos-10.15-Readme.md | 43 +++--- images/win/Windows2016-Azure.json | 69 ++++------ images/win/Windows2016-Readme.md | 76 ++++++----- images/win/Windows2019-Azure.json | 73 ++++------ images/win/Windows2019-Readme.md | 95 +++++++------ .../scripts/ImageHelpers/ImageHelpers.psm1 | 8 +- .../scripts/ImageHelpers/InstallHelpers.ps1 | 127 +++++++++++++++++- .../scripts/Installers/Download-ToolCache.ps1 | 39 +++++- .../win/scripts/Installers/Install-Boost.ps1 | 9 +- images/win/scripts/Installers/Install-Git.ps1 | 1 + images/win/scripts/Installers/Install-Go.ps1 | 28 ++-- .../win/scripts/Installers/Install-Ruby.ps1 | 24 ---- .../{Windows2019 => }/Install-WDK.ps1 | 50 +++---- images/win/scripts/Installers/Install-Wix.ps1 | 23 ++++ .../scripts/Installers/Update-AndroidSDK.ps1 | 1 + .../win/scripts/Installers/Validate-Bazel.ps1 | 2 +- .../win/scripts/Installers/Validate-Boost.ps1 | 43 +++--- .../win/scripts/Installers/Validate-Git.ps1 | 77 ++++++----- images/win/scripts/Installers/Validate-Go.ps1 | 33 +++-- .../scripts/Installers/Validate-Python.ps1 | 45 ------- .../win/scripts/Installers/Validate-Ruby.ps1 | 55 -------- .../scripts/Installers/Validate-ToolCache.ps1 | 80 +++++++++++ .../{Windows2019 => }/Validate-WDK.ps1 | 2 +- .../{Windows2019 => }/Validate-Wix.ps1 | 14 +- .../Installers/Windows2016/Initialize-VM.ps1 | 8 +- .../Installers/Windows2016/Install-Python.ps1 | 28 ---- .../Installers/Windows2016/Install-WDK.ps1 | 51 ------- .../Installers/Windows2016/Install-Wix.ps1 | 53 -------- .../Installers/Windows2016/Validate-SSDT.ps1 | 30 +---- .../Installers/Windows2016/Validate-WDK.ps1 | 13 -- .../Installers/Windows2016/Validate-Wix.ps1 | 62 --------- .../Installers/Windows2019/Initialize-VM.ps1 | 8 +- .../Install-AnalysisExtenstion.ps1 | 44 ------ .../Installers/Windows2019/Install-Python.ps1 | 28 ---- .../Windows2019/Install-SSDTExtensions.ps1 | 11 ++ .../Installers/Windows2019/Install-Wix.ps1 | 53 -------- .../Validate-AnalysisExtenstion.ps1 | 18 --- .../Windows2019/Validate-SSDTExtensions.ps1 | 22 +++ 52 files changed, 728 insertions(+), 864 deletions(-) create mode 100644 images/linux/scripts/installers/configure-environment.sh delete mode 100644 images/win/scripts/Installers/Install-Ruby.ps1 rename images/win/scripts/Installers/{Windows2019 => }/Install-WDK.ps1 (55%) create mode 100644 images/win/scripts/Installers/Install-Wix.ps1 delete mode 100644 images/win/scripts/Installers/Validate-Python.ps1 delete mode 100644 images/win/scripts/Installers/Validate-Ruby.ps1 rename images/win/scripts/Installers/{Windows2019 => }/Validate-WDK.ps1 (90%) rename images/win/scripts/Installers/{Windows2019 => }/Validate-Wix.ps1 (76%) delete mode 100644 images/win/scripts/Installers/Windows2016/Install-Python.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Install-WDK.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Install-Wix.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Validate-WDK.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Validate-Wix.ps1 delete mode 100644 images/win/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1 delete mode 100644 images/win/scripts/Installers/Windows2019/Install-Python.ps1 create mode 100644 images/win/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1 delete mode 100644 images/win/scripts/Installers/Windows2019/Install-Wix.ps1 delete mode 100644 images/win/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1 create mode 100644 images/win/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1 diff --git a/images.CI/azure-pipelines/image-generation.yml b/images.CI/azure-pipelines/image-generation.yml index 332f34ad..03b084ca 100644 --- a/images.CI/azure-pipelines/image-generation.yml +++ b/images.CI/azure-pipelines/image-generation.yml @@ -55,6 +55,14 @@ jobs: -ImageName ${{ parameters.image_type }} ` -AccessToken $(RELEASE_TARGET_TOKEN) + - task: PowerShell@2 + displayName: 'Output Readme file content' + inputs: + targetType: 'inline' + script: | + $docsPath = Get-ChildItem -Path "images" -Include ${{ parameters.image_readme_name }} -Recurse -Depth 1 | Select-Object -First 1 + Get-Content -Path $docsPath + - task: PowerShell@2 displayName: 'Clean up resources' condition: always() diff --git a/images.CI/azure-pipelines/ubuntu1604.yml b/images.CI/azure-pipelines/ubuntu1604.yml index 8f6dcef2..b2c99337 100644 --- a/images.CI/azure-pipelines/ubuntu1604.yml +++ b/images.CI/azure-pipelines/ubuntu1604.yml @@ -16,4 +16,5 @@ pr: jobs: - template: image-generation.yml parameters: - image_type: ubuntu1604 \ No newline at end of file + image_type: ubuntu1604 + image_readme_name: Ubuntu1604-README.md \ No newline at end of file diff --git a/images.CI/azure-pipelines/ubuntu1804.yml b/images.CI/azure-pipelines/ubuntu1804.yml index 998ba42e..d07bbade 100644 --- a/images.CI/azure-pipelines/ubuntu1804.yml +++ b/images.CI/azure-pipelines/ubuntu1804.yml @@ -16,4 +16,5 @@ pr: jobs: - template: image-generation.yml parameters: - image_type: ubuntu1804 \ No newline at end of file + image_type: ubuntu1804 + image_readme_name: Ubuntu1804-README.md \ No newline at end of file diff --git a/images.CI/azure-pipelines/windows2016.yml b/images.CI/azure-pipelines/windows2016.yml index 667b30bd..f164a096 100644 --- a/images.CI/azure-pipelines/windows2016.yml +++ b/images.CI/azure-pipelines/windows2016.yml @@ -16,4 +16,5 @@ pr: jobs: - template: image-generation.yml parameters: - image_type: Windows2016-Azure \ No newline at end of file + image_type: Windows2016-Azure + image_readme_name: Windows2016-Readme.md \ No newline at end of file diff --git a/images.CI/azure-pipelines/windows2019.yml b/images.CI/azure-pipelines/windows2019.yml index 508fa12b..f35a4f7a 100644 --- a/images.CI/azure-pipelines/windows2019.yml +++ b/images.CI/azure-pipelines/windows2019.yml @@ -16,4 +16,5 @@ pr: jobs: - template: image-generation.yml parameters: - image_type: Windows2019-Azure \ No newline at end of file + image_type: Windows2019-Azure + image_readme_name: Windows2019-Readme.md \ No newline at end of file diff --git a/images.CI/build-image.ps1 b/images.CI/build-image.ps1 index 54748e41..24d4a4d5 100644 --- a/images.CI/build-image.ps1 +++ b/images.CI/build-image.ps1 @@ -36,6 +36,9 @@ $SensitiveData = @( ': ->' ) +Write-Host "Show Packer Version" +packer --version + Write-Host "Build $Image VM" packer build -var "capture_name_prefix=$ResourcesNamePrefix" ` -var "client_id=$ClientId" ` diff --git a/images/linux/Ubuntu1604-README.md b/images/linux/Ubuntu1604-README.md index a00a4084..7b5be124 100644 --- a/images/linux/Ubuntu1604-README.md +++ b/images/linux/Ubuntu1604-README.md @@ -1,16 +1,11 @@ # Ubuntu 16.04.6 LTS -The following software is installed on machines with the 20200301.1 update. +The following software is installed on machines with the 20200308.0 update. *** - 7-Zip 9.20 -- Ansible (ansible 2.9.4) +- Ansible (ansible 2.9.6) - AzCopy (azcopy 7.3.0-netcore) - Azure CLI (azure-cli 2.1.0) - Azure CLI (azure-devops 0.17.0) -- Bazel (Build label: 2.1.1 -Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar -Build time: Fri Feb 21 14:56:47 2020 (1582297007) -Build timestamp: 1582297007 -Build timestamp as int: 1582297007) - Basic CLI: - curl - dnsutils @@ -37,7 +32,7 @@ Build timestamp as int: 1582297007) - wget - zip - zstd -- AWS CLI (aws-cli/1.18.11 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.11) +- AWS CLI (aws-cli/1.18.16 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.16) - build-essential - Clang 6.0 (6.0.1) - Clang 8 (8.0.1) @@ -107,7 +102,7 @@ Build timestamp as int: 1582297007) - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4) - Firefox (Mozilla Firefox 73.0.1) -- Geckodriver (); Gecko Driver is available via GECKOWEBDRIVER environment variable +- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.4.0 - GNU C++ 8.3.0 - GNU C++ 9.2.1 @@ -120,9 +115,9 @@ Build timestamp as int: 1582297007) - Go 1.11 (go version go1.11.12 linux/amd64) - Go 1.12 (go version go1.12.7 linux/amd64) - Go 1.13 (go version go1.13 linux/amd64) -- Google Chrome (Google Chrome 80.0.3987.122 ) -- Chromedriver (ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882})); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (282.0.0) +- Google Chrome (Google Chrome 80.0.3987.132 ) +- ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable +- Google Cloud SDK (283.0.0) - Haskell Cabal (cabal-install version 2.0.0.1 compiled using version 2.0.1.1 of the Cabal library ) - Haskell Cabal (cabal-install version 2.2.0.0 @@ -140,21 +135,22 @@ compiled using version 3.0.2.0 of the Cabal library ) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) +- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) -- Heroku (heroku/7.38.2 linux-x64 node-v12.13.0) -- HHVM (HipHop VM 4.46.0 (rel)) +- Heroku (heroku/7.39.0 linux-x64 node-v12.13.0) +- HHVM (HipHop VM 4.47.0 (rel)) - ImageMagick - Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252") - Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242") - Azul Zulu OpenJDK (11) (openjdk version "11.0.6" 2020-01-14 LTS) - Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16) - Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018) -- Gradle 6.2.1 +- Gradle 6.2.2 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.7.0 go1.13.6 linux/amd64) - kubectl (Client Version: v1.17.3) -- helm (Client: v2.16.3+g1ee0254) -- Leiningen (Leiningen 2.9.2 on Java 1.8.0_242 OpenJDK 64-Bit Server VM) +- helm (v3.1.1+gafe7058) +- Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 4.4.1)) - Miniconda (conda 4.7.12) - Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:35 UTC 2020)) @@ -168,9 +164,11 @@ Local version: Unknown) - n (6.3.1) - Parcel (1.12.4) - TypeScript (Version 3.8.3) -- Webpack (4.41.6) +- Webpack (4.42.0) - Webpack CLI (3.3.11) -- Yarn (1.22.0) +- Yarn (1.22.1) +- Bazel (bazel 2.2.0) +- Bazelisk (1.3.0) - PhantomJS (2.1.1) - PHP 5.6 (PHP 5.6.40-24+ubuntu16.04.1+deb.sury.org+1 (cli) ) - PHP 7.0 (PHP 7.0.33-23+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:20:42) ( NTS )) @@ -182,7 +180,7 @@ Local version: Unknown) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate - psql (PostgreSQL) 9.5.19 -- Powershell (PowerShell 6.2.4) +- Powershell (PowerShell 7.0.0) - ruby (2.3.1p112) - gem (3.1.2) - rustup (1.21.1) @@ -195,11 +193,13 @@ Local version: Unknown) the 0.53.1) - cbindgen (0.13.1) +- Julia (julia version 1.3.1) - sbt (1.3.8) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Sphinx Open Source Search Server - Subversion (svn, version 1.9.3 (r1718519)) -- Terraform (Terraform v0.12.21) +- Terraform (Terraform v0.12.23) +- Packer (1.5.4) - Vcpkg 2020.02.04-unknownhash - Zeit Now CLI (17.0.4) - Google Repository 58 @@ -227,6 +227,7 @@ the - Android SDK Platform 15 - Android SDK Platform 10 - Android SDK Patch Applier v4 +- Android SDK Build-Tools 29.0.3 - Android SDK Build-Tools 29.0.2 - Android SDK Build-Tools 29.0.0 - Android SDK Build-Tools 28.0.3 diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md index 4b35378c..94f3547f 100644 --- a/images/linux/Ubuntu1804-README.md +++ b/images/linux/Ubuntu1804-README.md @@ -1,16 +1,11 @@ # Ubuntu 18.04.4 LTS -The following software is installed on machines with the 20200301.1 update. +The following software is installed on machines with the 20200308.0 update. *** - 7-Zip 16.02 -- Ansible (ansible 2.9.4) +- Ansible (ansible 2.9.6) - AzCopy (azcopy 7.3.0-netcore) - Azure CLI (azure-cli 2.1.0) - Azure CLI (azure-devops 0.17.0) -- Bazel (Build label: 2.1.1 -Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar -Build time: Fri Feb 21 14:56:47 2020 (1582297007) -Build timestamp: 1582297007 -Build timestamp as int: 1582297007) - Basic CLI: - curl - dnsutils @@ -37,7 +32,7 @@ Build timestamp as int: 1582297007) - wget - zip - zstd -- AWS CLI (aws-cli/1.18.11 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.11) +- AWS CLI (aws-cli/1.18.16 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.16) - build-essential - Clang 6.0 (6.0.1) - Clang 8 (8.0.1) @@ -107,7 +102,7 @@ Build timestamp as int: 1582297007) - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4) - Firefox (Mozilla Firefox 73.0.1) -- Geckodriver (); Gecko Driver is available via GECKOWEBDRIVER environment variable +- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.4.0 - GNU C++ 8.3.0 - GNU C++ 9.2.1 @@ -118,9 +113,9 @@ Build timestamp as int: 1582297007) - Go 1.11 (go version go1.11.12 linux/amd64) - Go 1.12 (go version go1.12.7 linux/amd64) - Go 1.13 (go version go1.13 linux/amd64) -- Google Chrome (Google Chrome 80.0.3987.122 ) -- Chromedriver (ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882})); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (282.0.0) +- Google Chrome (Google Chrome 80.0.3987.132 ) +- ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable +- Google Cloud SDK (283.0.0) - Haskell Cabal (cabal-install version 2.0.0.1 compiled using version 2.0.1.1 of the Cabal library ) - Haskell Cabal (cabal-install version 2.2.0.0 @@ -138,21 +133,22 @@ compiled using version 3.0.2.0 of the Cabal library ) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) +- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) -- Heroku (heroku/7.38.2 linux-x64 node-v12.13.0) -- HHVM (HipHop VM 4.46.0 (rel)) +- Heroku (heroku/7.39.0 linux-x64 node-v12.13.0) +- HHVM (HipHop VM 4.47.0 (rel)) - ImageMagick - Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252") - Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242") - Azul Zulu OpenJDK (11) (openjdk version "11.0.6" 2020-01-14 LTS) - Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16) - Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019) -- Gradle 6.2.1 +- Gradle 6.2.2 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.7.0 go1.13.6 linux/amd64) - kubectl (Client Version: v1.17.3) -- helm (Client: v2.16.3+g1ee0254) -- Leiningen (Leiningen 2.9.2 on Java 1.8.0_242 OpenJDK 64-Bit Server VM) +- helm (v3.1.1+gafe7058) +- Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 4.5.3)) - Miniconda (conda 4.7.12) - Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:20 UTC 2020)) @@ -166,9 +162,11 @@ Local version: Unknown) - n (6.3.1) - Parcel (1.12.4) - TypeScript (Version 3.8.3) -- Webpack (4.41.6) +- Webpack (4.42.0) - Webpack CLI (3.3.11) -- Yarn (1.22.0) +- Yarn (1.22.1) +- Bazel (bazel 2.2.0) +- Bazelisk (1.3.0) - PhantomJS (2.1.1) - PHP 7.1 (PHP 7.1.33-12+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:22:16) ( NTS )) - PHP 7.2 (PHP 7.2.28-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:25) ( NTS )) @@ -178,7 +176,7 @@ Local version: Unknown) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate - psql (PostgreSQL) 10.12 -- Powershell (PowerShell 6.2.4) +- Powershell (PowerShell 7.0.0) - ruby (2.5.1p57) - gem (3.1.2) - rustup (1.21.1) @@ -191,11 +189,13 @@ Local version: Unknown) the 0.53.1) - cbindgen (0.13.1) +- Julia (julia version 1.3.1) - sbt (1.3.8) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Sphinx Open Source Search Server - Subversion (svn, version 1.9.7 (r1800392)) -- Terraform (Terraform v0.12.21) +- Terraform (Terraform v0.12.23) +- Packer (1.5.4) - Vcpkg 2020.02.04-unknownhash - Zeit Now CLI (17.0.4) - Google Repository 58 @@ -219,6 +219,7 @@ the - Android SDK Platform 19 - Android SDK Platform 17 - Android SDK Patch Applier v4 +- Android SDK Build-Tools 29.0.3 - Android SDK Build-Tools 29.0.2 - Android SDK Build-Tools 29.0.0 - Android SDK Build-Tools 28.0.3 diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index 95a44edc..aaf2ad39 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -82,6 +82,7 @@ echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ "add-ons;addon-google_apis-google-22" \ "add-ons;addon-google_apis-google-21" \ "cmake;3.6.4111459" \ + "cmake;3.10.2.4988404" \ "patcher;v4" # Document what was added to the image diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index 716f8bb1..a0fbb2eb 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -76,6 +76,7 @@ echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \ "add-ons;addon-google_apis-google-22" \ "add-ons;addon-google_apis-google-21" \ "cmake;3.6.4111459" \ + "cmake;3.10.2.4988404" \ "patcher;v4" # Document what was added to the image diff --git a/images/linux/scripts/installers/configure-environment.sh b/images/linux/scripts/installers/configure-environment.sh new file mode 100644 index 00000000..35e3dba6 --- /dev/null +++ b/images/linux/scripts/installers/configure-environment.sh @@ -0,0 +1,7 @@ +#Set ImageVersion and ImageOS env variables +echo ImageVersion=$IMAGE_VERSION | tee -a /etc/environment +echo ImageOS=$IMAGE_OS | tee -a /etc/environment + +# This directory is supposed to be created in $HOME and owned by user(https://github.com/actions/virtual-environments/issues/491) +mkdir -p /etc/skel/.config/configstore +echo 'export XDG_CONFIG_HOME=$HOME/.config' | tee -a /etc/skel/.bashrc diff --git a/images/linux/scripts/installers/git.sh b/images/linux/scripts/installers/git.sh index 026e73cd..1d8e58a1 100644 --- a/images/linux/scripts/installers/git.sh +++ b/images/linux/scripts/installers/git.sh @@ -35,3 +35,13 @@ echo "Lastly, document the installed versions" DocumentInstalledItem "Git ($(git --version 2>&1 | cut -d ' ' -f 3))" # git-lfs/2.6.1 (GitHub; linux amd64; go 1.11.1) DocumentInstalledItem "Git Large File Storage (LFS) ($(git-lfs --version 2>&1 | cut -d ' ' -f 1 | cut -d '/' -f 2))" + +#Install hub +snap install hub --classic +if command -v hub; then + echo "hub CLI was installed successfully" + DocumentInstalledItem "Hub CLI ($(hub --version | grep "hub version" | cut -d ' ' -f 3))" +else + echo "[!] Hub CLI was not installed" + exit 1 +fi diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index 51e1bb51..45b7386c 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -123,9 +123,12 @@ }, { "type": "shell", - "inline": [ - "echo ImageVersion={{user `image_version`}} | tee -a /etc/environment", - "echo ImageOS={{user `image_os`}} | tee -a /etc/environment" + "scripts": [ + "{{template_dir}}/scripts/installers/configure-environment.sh" + ], + "environment_vars": [ + "IMAGE_VERSION={{user `image_version`}}", + "IMAGE_OS={{user `image_os`}}" ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 33800251..4cf6f15b 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -126,9 +126,12 @@ }, { "type": "shell", - "inline": [ - "echo ImageVersion={{user `image_version`}} | tee -a /etc/environment", - "echo ImageOS={{user `image_os`}} | tee -a /etc/environment" + "scripts": [ + "{{template_dir}}/scripts/installers/configure-environment.sh" + ], + "environment_vars": [ + "IMAGE_VERSION={{user `image_version`}}", + "IMAGE_OS={{user `image_os`}}" ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, diff --git a/images/macos/macos-10.15-Readme.md b/images/macos/macos-10.15-Readme.md index aae45169..10c9ac28 100644 --- a/images/macos/macos-10.15-Readme.md +++ b/images/macos/macos-10.15-Readme.md @@ -1,5 +1,5 @@ # macOS Catalina 10.15.3 (19D76) -The following software is installed on machines with the 20200224.1 update. +The following software is installed on machines with the 20200307.2 update. #### Xcode 11.3.1 set by default ## Operating System @@ -21,40 +21,42 @@ The following software is installed on machines with the 20200224.1 update. - GNU Fortran (Homebrew GCC 9.2.0_3) 9.2.0 - Node.js v12.16.1 - NVM 0.33.11 -- NVM - Cached node versions: v6.17.1 v8.17.0 v10.19.0 v12.16.1 v13.9.0 -- PowerShell 6.2.4 +- NVM - Cached node versions: v6.17.1 v8.17.0 v10.19.0 v12.16.1 v13.10.1 +- PowerShell 7.0.0 - Python 2.7.17 - Python 3.7.6 - Ruby 2.6.5p114 - .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 - Go 1.14 - PHP 7.4.3 +- julia 1.3.1 ### Package Management - Rustup 1.21.1 +- Vcpkg 2020.02.04 - Bundler version 2.1.4 - Carthage 0.34.0 - CocoaPods 1.9.0 -- Homebrew 2.2.6 +- Homebrew 2.2.9 - NPM 6.13.4 -- Yarn 1.22.0 +- Yarn 1.22.1 - NuGet 5.4.0.6315 - Pip 19.3.1 (python 2.7) - Pip 19.3.1 (python 3.7) - Miniconda 4.7.12 - RubyGems 3.1.2 -- Vcpkg 2020.02.04 ### Project Management - Apache Maven 3.6.3 -- Gradle 6.2.1 +- Gradle 6.2.2 ### Utilities -- Curl 7.68.0 -- Git: 2.25.0 +- Curl 7.69.0 +- Git: 2.25.1 - Git LFS: 2.10.0 - GNU Wget 1.20.3 - Subversion (SVN) 1.13.0 +- Packer 1.5.4 - GNU parallel 20200222 - OpenSSL 1.0.2t 10 Sep 2019 - jq 1.6 @@ -63,18 +65,20 @@ The following software is installed on machines with the 20200224.1 update. - aria2 1.35.0 - azcopy 10.3.4 - zstd 1.4.4 +- bazel 2.2.0 +- bazelisk v1.3.0 ### Tools -- Fastlane 2.142.0 -- Cmake 3.16.4 +- Fastlane 2.143.0 +- Cmake 3.16.5 - App Center CLI 2.3.3 - Azure CLI 2.1.0 ### Browsers -- Google Chrome 80.0.3987.122 +- Google Chrome 80.0.3987.132 - ChromeDriver 80.0.3987.106 -- Microsoft Edge 80.0.361.62 -- MSEdgeDriver 80.0.361.62 +- Microsoft Edge 80.0.361.66 +- MSEdgeDriver 80.0.361.66 - Mozilla Firefox 73.0.1 - geckodriver 0.26.0 @@ -98,7 +102,7 @@ The following software is installed on machines with the 20200224.1 update. ### Xamarin #### Visual Studio for Mac -- 8.4.7.17 +- 8.4.8.2 #### Mono - 6.6.0.166 @@ -126,7 +130,7 @@ The following software is installed on machines with the 20200224.1 update. ### Xcode | Version | Build | Path | | ---------------- | ------- | --------------------------------- | -| 11.4 (beta) | 11N123k | /Applications/Xcode_11.4_beta.app | +| 11.4 (beta) | 11N132i | /Applications/Xcode_11.4_beta.app | | 11.3.1 (default) | 11C505 | /Applications/Xcode_11.3.1.app | | 11.3 | 11C29 | /Applications/Xcode_11.3.app | | 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app | @@ -185,9 +189,9 @@ The following software is installed on machines with the 20200224.1 update. ### Android #### Android SDK Tools -| Package Name | Description | -| ---------------------------------- | ---------------------------------- | -| tools | Android SDK Tools, Revision 26.1.1 | +| Package Name | Description | +| ------------ | ---------------------------------- | +| tools | Android SDK Tools, Revision 26.1.1 | #### Android SDK Platform-Tools | Package Name | Description | @@ -257,4 +261,3 @@ The following software is installed on machines with the 20200224.1 update. | Google Repository | 58 | | Intel x86 Emulator Accelerator (HAXM installer) | 7.5.1 | - diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index e24bd75e..0ad1e3f4 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -28,7 +28,10 @@ "capture_name_prefix": "packer", "image_version": "dev", "image_os": "win16", - "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}" + "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}", + "go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14", + "go_default": "1.14", + "boost_default": "1.69.0" }, "sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"], "builders": [ @@ -100,6 +103,12 @@ "{{ template_dir }}/scripts/Installers/Windows2016/Initialize-VM.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Update-DotnetTLS.ps1" + ] + }, { "type": "windows-restart", "restart_timeout": "30m" @@ -205,7 +214,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Install-Wix.ps1" + "{{ template_dir }}/scripts/Installers/Install-Wix.ps1" ] }, { @@ -221,7 +230,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Install-WDK.ps1" + "{{ template_dir }}/scripts/Installers/Install-WDK.ps1" ] }, { @@ -243,7 +252,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Validate-Wix.ps1" + "{{ template_dir }}/scripts/Installers/Validate-Wix.ps1" ] }, { @@ -255,7 +264,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Validate-WDK.ps1" + "{{ template_dir }}/scripts/Installers/Validate-WDK.ps1" ] }, { @@ -264,12 +273,6 @@ "{{ template_dir }}/scripts/Installers/Validate-ServiceFabricSDK.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Update-DotnetTLS.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -324,7 +327,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Install-Python.ps1" + "{{ template_dir }}/scripts/Installers/Install-OpenSSL.ps1" ] }, { @@ -342,8 +345,8 @@ { "type": "powershell", "environment_vars": [ - "GO_VERSIONS=1.9.7,1.10.8,1.11.12,1.12.7,1.13", - "GO_DEFAULT=1.12.7" + "GO_VERSIONS={{user `go_versions`}}", + "GO_DEFAULT={{user `go_default`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-Go.ps1" @@ -355,12 +358,6 @@ "{{ template_dir }}/scripts/Installers/Install-PHP.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-Ruby.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -520,8 +517,8 @@ { "type": "powershell", "environment_vars": [ - "BOOST_VERSIONS=1.69.0,1.72.0", - "BOOST_DEFAULT=1.69.0" + "ROOT_FOLDER={{user `root_folder`}}", + "BOOST_DEFAULT={{user `boost_default`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-Boost.ps1" @@ -557,12 +554,6 @@ "{{ template_dir }}/scripts/Installers/Install-GitVersion.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-OpenSSL.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -633,7 +624,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Python.ps1" + "{{ template_dir }}/scripts/Installers/Validate-OpenSSL.ps1" ] }, { @@ -651,8 +642,8 @@ { "type": "powershell", "environment_vars": [ - "GO_VERSIONS=1.9.7,1.10.8,1.11.12,1.12.7,1.13", - "GO_DEFAULT=1.12.7" + "GO_VERSIONS={{user `go_versions`}}", + "GO_DEFAULT={{ user `go_default`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-Go.ps1" @@ -661,8 +652,8 @@ { "type": "powershell", "environment_vars": [ - "BOOST_VERSIONS=1.69.0,1.72.0", - "BOOST_DEFAULT=1.69.0" + "ROOT_FOLDER={{user `root_folder`}}", + "BOOST_DEFAULT={{user `boost_default`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-Boost.ps1" @@ -674,12 +665,6 @@ "{{ template_dir }}/scripts/Installers/Validate-PHP.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Ruby.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -842,12 +827,6 @@ "{{ template_dir }}/scripts/Installers/Validate-GitVersion.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-OpenSSL.ps1" - ] - }, { "type": "powershell", "scripts":[ diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index a130be1b..c60d1ffa 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -1,6 +1,6 @@ # Windows Server 2016 -The following software is installed on machines with the 20200301.1 update. +The following software is installed on machines with the 20200308.0 update. Components marked with **\*** have been upgraded since the previous version of the image. @@ -25,7 +25,7 @@ _Environment:_ ## Powershell Core -_Version:_ 6.2.4
+_Version:_ 7.0.0
## Docker images @@ -159,8 +159,8 @@ _Version:_ 10.0.17763.0
## Azure Service Fabric -_SDK Version:_ 4.0.466.9590
-_Runtime Version:_ 7.0.466.9590 +_SDK Version:_ 4.0.470.9590
+_Runtime Version:_ 7.0.470.9590 ## WinAppDriver @@ -168,6 +168,10 @@ _Version:_ 1.1.1809.18001
## Android SDK Build Tools +#### 29.0.3 + +_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.3 + #### 29.0.2 _Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.2 @@ -441,6 +445,10 @@ _Environment:_ _Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64 +## Perl + +_Version:_ v5.30.1
+ ## Git _Version:_ 2.25.1
@@ -521,6 +529,10 @@ _Location:_ C:\Rust\.cargo\bin _Environment:_ * PATH: contains the location of rustc.exe +## Julia (x64) + +_Version:_ 1.3.1
+ ## sbt @@ -534,12 +546,12 @@ _Environment:_ ## Google Chrome _version:_ -80.0.3987.122 +80.0.3987.132 ## Microsoft Edge _version:_ -80.0.361.62 +80.0.361.66 ## Mozilla Firefox @@ -552,7 +564,7 @@ _version:_ #### Chrome Driver _version:_ -3.8.0.0 +80.0.3987.106 _Environment:_ * ChromeWebDriver: location of chromedriver.exe @@ -560,7 +572,7 @@ _Environment:_ #### Gecko Driver _version:_ - +0.26.0 _Environment:_ * GeckoWebDriver: location of geckodriver.exe @@ -568,7 +580,7 @@ _Environment:_ #### IE Driver _version:_ -80.0.3987.106 +3.8.0.0 _Environment:_ * IEWebDriver: location of IEDriverServer.exe @@ -576,7 +588,7 @@ _Environment:_ #### Microsoft Edge Driver _version:_ -79.0.309.71 +80.0.361.66 _Environment:_ * EdgeWebDriver: location of msedgedriver.exe @@ -590,7 +602,7 @@ _Environment:_ * PATH: contains location of node.exe
* Gulp CLI version: 2.2.0 Local version: Unknown
* Grunt grunt-cli v1.3.2
-* Yarn 1.22.0
+* Yarn 1.22.1
## npm @@ -599,6 +611,14 @@ _Version:_ 6.13.4
_Environment:_ * PATH: contains location of npm.cmd +## bazel + +_Version:_ bazel 2.1.0
+ +## bazelisk + +_Version:_ 1.3.0
+ ## Java Development Kit #### 1.8.0_222 @@ -632,13 +652,13 @@ _Environment:_ ## Gradle -_Version:_ 6.2.1
+_Version:_ 6.2.2
_Environment:_ * PATH: contains location of gradle ## Cmake -_Version:_ 3.16.4
+_Version:_ 3.16.5
_Environment:_ * PATH: contains location of cmake.exe @@ -657,10 +677,6 @@ _Environment:_ _SDK:_ * 3.1.101 C:\Program Files\dotnet\sdk\3.1.101 * 3.1.100 C:\Program Files\dotnet\sdk\3.1.100 -* 3.0.103 C:\Program Files\dotnet\sdk\3.0.103 -* 3.0.102 C:\Program Files\dotnet\sdk\3.0.102 -* 3.0.101 C:\Program Files\dotnet\sdk\3.0.101 -* 3.0.100 C:\Program Files\dotnet\sdk\3.0.100 * 2.2.402 C:\Program Files\dotnet\sdk\2.2.402 * 2.2.401 C:\Program Files\dotnet\sdk\2.2.401 * 2.2.301 C:\Program Files\dotnet\sdk\2.2.301 @@ -720,10 +736,6 @@ _SDK:_ _Runtime:_ * 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1 * 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0 -* 3.0.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.3 -* 3.0.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.2 -* 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1 -* 3.0.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.0 * 2.2.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.8 * 2.2.7 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.7 * 2.2.6 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.6 @@ -793,9 +805,13 @@ _Location:_ C:\Program Files\Azure Cosmos DB Emulator\ _Version:_ 19.00
+## Packer + +_Version:_ 1.5.4
+ ## Mercurial -_Version:_
+_Version:_ 5.0
## jq @@ -803,27 +819,23 @@ _Version:_ jq-1.6
## zstd -_Version:_ v1.4.0
+_Version:_ 1.4.0
## Inno Setup _Version:_ 6.0.3
-## Perl - -_Version:_ v5.26.2
- ## GitVersion -_Version:_ 5.1.3.0
+_Version:_ 5.2.0.0
## OpenSSL -_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe
_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe
_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe
_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe
+_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe
_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe
_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe
## Cloud Foundry CLI -_Version:_ 6.49.0
+_Version:_ 6.50.0
## Vcpkg @@ -843,7 +855,3 @@ _Environment:_ _Version:_ kind v0.7.0 go1.13.6 windows/amd64
_Environment:_ * PATH: contains location of kind.exe - -## bazel - -_Version:_ bazel 2.1.0
diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 668451eb..2023be50 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -28,7 +28,10 @@ "capture_name_prefix": "packer", "image_version": "dev", "image_os": "win19", - "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}" + "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}", + "go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14", + "go_default": "1.14", + "boost_default": "1.72.0" }, "sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"], "builders": [ @@ -100,6 +103,12 @@ "{{ template_dir }}/scripts/Installers/Windows2019/Initialize-VM.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Update-DotnetTLS.ps1" + ] + }, { "type": "windows-restart", "restart_timeout": "10m" @@ -180,13 +189,13 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Install-Wix.ps1" + "{{ template_dir }}/scripts/Installers/Install-Wix.ps1" ] }, { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1" + "{{ template_dir }}/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1" ] }, { @@ -202,7 +211,7 @@ { "type": "powershell", "scripts": [ - "{{ template_dir }}/scripts/Installers/Windows2019/Install-WDK.ps1" + "{{ template_dir }}/scripts/Installers/Install-WDK.ps1" ] }, { @@ -218,13 +227,13 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Validate-Wix.ps1" + "{{ template_dir }}/scripts/Installers/Validate-Wix.ps1" ] }, { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1" + "{{ template_dir }}/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1" ] }, { @@ -236,7 +245,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Validate-WDK.ps1" + "{{ template_dir }}/scripts/Installers/Validate-WDK.ps1" ] }, { @@ -245,12 +254,6 @@ "{{ template_dir }}/scripts/Installers/Validate-ServiceFabricSDK.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Update-DotnetTLS.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -299,7 +302,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Install-Python.ps1" + "{{ template_dir }}/scripts/Installers/Install-OpenSSL.ps1" ] }, { @@ -317,8 +320,8 @@ { "type": "powershell", "environment_vars": [ - "GO_VERSIONS=1.10.8,1.11.12,1.12.7,1.13", - "GO_DEFAULT=1.12.7" + "GO_VERSIONS={{user `go_versions`}}", + "GO_DEFAULT={{user `go_default`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-Go.ps1" @@ -330,12 +333,6 @@ "{{ template_dir }}/scripts/Installers/Install-PHP.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-Ruby.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -501,8 +498,8 @@ { "type": "powershell", "environment_vars": [ - "BOOST_VERSIONS=1.69.0,1.72.0", - "BOOST_DEFAULT=1.72.0" + "ROOT_FOLDER={{user `root_folder`}}", + "BOOST_DEFAULT={{user `boost_default`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-Boost.ps1" @@ -538,12 +535,6 @@ "{{ template_dir }}/scripts/Installers/Install-GitVersion.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-OpenSSL.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -620,7 +611,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Python.ps1" + "{{ template_dir }}/scripts/Installers/Validate-OpenSSL.ps1" ] }, { @@ -638,8 +629,8 @@ { "type": "powershell", "environment_vars": [ - "GO_VERSIONS=1.10.8,1.11.12,1.12.7,1.13", - "GO_DEFAULT=1.12.7" + "GO_VERSIONS={{user `go_versions`}}", + "GO_DEFAULT={{user `go_default`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-Go.ps1" @@ -648,8 +639,8 @@ { "type": "powershell", "environment_vars": [ - "BOOST_VERSIONS=1.69.0,1.72.0", - "BOOST_DEFAULT=1.72.0" + "ROOT_FOLDER={{user `root_folder`}}", + "BOOST_DEFAULT={{user `boost_default`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-Boost.ps1" @@ -661,12 +652,6 @@ "{{ template_dir }}/scripts/Installers/Validate-PHP.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Ruby.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -823,12 +808,6 @@ "{{ template_dir }}/scripts/Installers/Validate-GitVersion.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-OpenSSL.ps1" - ] - }, { "type": "powershell", "scripts":[ diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md index 7eab9d90..9819f9a8 100644 --- a/images/win/Windows2019-Readme.md +++ b/images/win/Windows2019-Readme.md @@ -1,6 +1,6 @@ # Windows Server 2019 -The following software is installed on machines with the 20200301.1 update. +The following software is installed on machines with the 20200308.0 update. Components marked with **\*** have been upgraded since the previous version of the image. @@ -25,7 +25,7 @@ _Environment:_ ## Powershell Core -_Version:_ 6.2.4
+_Version:_ 7.0.0
## Docker images @@ -93,6 +93,15 @@ The following workloads and components are installed with Visual Studio 2019: * Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest * Microsoft.VisualStudio.Component.VC.v141 * Microsoft.VisualStudio.Component.VC.v141.x86.x64 +* Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre +* Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre +* Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre +* Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre +* Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre +* Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre +* Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre +* Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre +* Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre * Microsoft.VisualStudio.Component.Windows10SDK.16299 * Microsoft.VisualStudio.Component.Windows10SDK.17134 * Microsoft.VisualStudio.Component.Windows10SDK.17763 @@ -127,6 +136,10 @@ _WIX Toolset Visual Studio Extension Version:_ 1.0.0.4
_Environment:_ * WIX: Installation root of WIX +## Microsoft Analysis Services Projects Visual Studio Extension + +_Version:_ 2.9.5
+ ## .NET 4.8 _Version:_ 4.8.03761 @@ -139,8 +152,8 @@ _WDK Visual Studio Extension Version:_ 10.0.18346.0
## Azure Service Fabric -_SDK Version:_ 4.0.466.9590
-_Runtime Version:_ 7.0.466.9590 +_SDK Version:_ 4.0.470.9590
+_Runtime Version:_ 7.0.470.9590 ## WinAppDriver @@ -148,6 +161,10 @@ _Version:_ 1.1.1809.18001
## Android SDK Build Tools +#### 29.0.3 + +_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.3 + #### 29.0.2 _Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.2 @@ -421,6 +438,10 @@ _Environment:_ _Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64 +## Perl + +_Version:_ v5.30.1
+ ## Git _Version:_ 2.25.1
@@ -436,16 +457,6 @@ _Environment:_ ## Go (x64) -#### 1.10.8 - -_Environment:_ -* GOROOT_1_10_X64: root directory of the Go 1.10.8 installation - -#### 1.11.12 - -_Environment:_ -* GOROOT_1_11_X64: root directory of the Go 1.11.12 installation - #### 1.12.7 _Environment:_ @@ -496,6 +507,10 @@ _Location:_ C:\Rust\.cargo\bin _Environment:_ * PATH: contains the location of rustc.exe +## Julia (x64) + +_Version:_ 1.3.1
+ ## Subversion _Version:_ 1.8.17
@@ -509,12 +524,12 @@ _Environment:_ ## Google Chrome _version:_ -80.0.3987.122 +80.0.3987.132 ## Microsoft Edge _version:_ -80.0.361.62 +80.0.361.66 ## Mozilla Firefox @@ -527,7 +542,7 @@ _version:_ #### Chrome Driver _version:_ -3.8.0.0 +80.0.3987.106 _Environment:_ * ChromeWebDriver: location of chromedriver.exe @@ -535,7 +550,7 @@ _Environment:_ #### Gecko Driver _version:_ - +0.26.0 _Environment:_ * GeckoWebDriver: location of geckodriver.exe @@ -543,7 +558,7 @@ _Environment:_ #### IE Driver _version:_ -80.0.3987.106 +3.8.0.0 _Environment:_ * IEWebDriver: location of IEDriverServer.exe @@ -551,7 +566,7 @@ _Environment:_ #### Microsoft Edge Driver _version:_ -79.0.309.71 +80.0.361.66 _Environment:_ * EdgeWebDriver: location of msedgedriver.exe @@ -565,7 +580,7 @@ _Environment:_ * PATH: contains location of node.exe
* Gulp CLI version: 2.2.0 Local version: Unknown
* Grunt grunt-cli v1.3.2
-* Yarn 1.22.0
+* Yarn 1.22.1
## npm @@ -607,13 +622,13 @@ _Environment:_ ## Gradle -_Version:_ 6.2.1
+_Version:_ 6.2.2
_Environment:_ * PATH: contains location of gradle ## Cmake -_Version:_ 3.16.4
+_Version:_ 3.16.5
_Environment:_ * PATH: contains location of cmake.exe @@ -632,10 +647,6 @@ _Environment:_ _SDK:_ * 3.1.101 C:\Program Files\dotnet\sdk\3.1.101 * 3.1.100 C:\Program Files\dotnet\sdk\3.1.100 -* 3.0.103 C:\Program Files\dotnet\sdk\3.0.103 -* 3.0.102 C:\Program Files\dotnet\sdk\3.0.102 -* 3.0.101 C:\Program Files\dotnet\sdk\3.0.101 -* 3.0.100 C:\Program Files\dotnet\sdk\3.0.100 * 2.2.402 C:\Program Files\dotnet\sdk\2.2.402 * 2.2.401 C:\Program Files\dotnet\sdk\2.2.401 * 2.2.301 C:\Program Files\dotnet\sdk\2.2.301 @@ -693,10 +704,6 @@ _SDK:_ _Runtime:_ * 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1 * 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0 -* 3.0.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.3 -* 3.0.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.2 -* 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1 -* 3.0.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.0 * 2.2.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.8 * 2.2.7 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.7 * 2.2.6 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.6 @@ -763,33 +770,37 @@ _Location:_ C:\Program Files\Azure Cosmos DB Emulator\ _Version:_ 19.00
+## Packer + +_Version:_ 1.5.4
+ ## Mercurial -_Version:_
+_Version:_ 5.0
## jq _Version:_ jq-1.6
+## zstd + +_Version:_ 1.4.0
+ ## Inno Setup _Version:_ 6.0.3
-## Perl - -_Version:_ v5.26.2
- ## GitVersion -_Version:_ 5.1.3.0
+_Version:_ 5.2.0.0
## OpenSSL -_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe
_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe
_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe
_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe
+_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe
_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe
_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe
## Cloud Foundry CLI -_Version:_ 6.49.0
+_Version:_ 6.50.0
## Vcpkg @@ -800,7 +811,7 @@ _Environment:_ ## VSWhere -_Version_: Visual Studio Locator version 2.8.4+ff0de50053 [query version 2.3.2200.14893] Copyright (C) Microsoft Corporation. All rights reserved. instanceId: 34bc4745 installDate: 3/1/2020 6:49:00 AM installationName: VisualStudio/16.4.5+29806.167 installationPath: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise installationVersion: 16.4.29806.167 productId: Microsoft.VisualStudio.Product.Enterprise productPath: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\devenv.exe state: 4294967295 isComplete: 1 isLaunchable: 1 isPrerelease: 0 isRebootRequired: 0 displayName: Visual Studio Enterprise 2019 description: Scalable, end-to-end solution for teams of any size channelId: VisualStudio.16.Release channelUri: https://aka.ms/vs/16/release/channel enginePath: C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service releaseNotes: https://go.microsoft.com/fwlink/?LinkId=660893#16.4.5 thirdPartyNotices: https://go.microsoft.com/fwlink/?LinkId=660909 updateDate: 2020-03-01T06:49:00.926083Z catalog_buildBranch: d16.4 catalog_buildVersion: 16.4.29806.167 catalog_id: VisualStudio/16.4.5+29806.167 catalog_localBuild: build-lab catalog_manifestName: VisualStudio catalog_manifestType: installer catalog_productDisplayVersion: 16.4.5 catalog_productLine: Dev16 catalog_productLineVersion: 2019 catalog_productMilestone: RTW catalog_productMilestoneIsPreRelease: False catalog_productName: Visual Studio catalog_productPatchVersion: 5 catalog_productPreReleaseMilestoneSuffix: 1.0 catalog_productSemanticVersion: 16.4.5+29806.167 catalog_requiredEngineVersion: 2.4.1111.43337 properties_campaignId: properties_channelManifestId: VisualStudio.16.Release/16.4.5+29806.167 properties_nickname: properties_setupEngineFilePath: C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installershell.exe
+_Version_: 2.8.4+ff0de50053 - shim 0.8.1
* PATH: contains location of vswhere.exe ## Kubectl @@ -818,3 +829,7 @@ _Environment:_ ## bazel _Version:_ bazel 2.1.0
+ +## bazelisk + +_Version:_ 1.3.0
diff --git a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 index ae58a981..743dc7a1 100644 --- a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 +++ b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 @@ -14,9 +14,15 @@ Export-ModuleMember -Function @( 'Set-SystemVariable' 'Install-MSI' 'Install-EXE' + 'Get-ToolcachePackages' + 'Get-ToolsByName' 'Add-ContentToMarkdown' 'Add-SoftwareDetailsToMarkdown' 'Stop-SvcWithErrHandling' 'Set-SvcWithErrHandling' - 'Get-VS19ExtensionVersion' + 'Install-VsixExtension' + 'Get-VSExtensionVersion' + 'Get-WinVersion' + 'Test-IsWin19' + 'Test-IsWin16' ) diff --git a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 index f6c553b2..61dce562 100644 --- a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 +++ b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 @@ -161,7 +161,94 @@ Hashtable for service arguments } } -function Get-VS19ExtensionVersion +function Install-VsixExtension +{ + Param + ( + [string] $Url, + [Parameter(Mandatory = $true)] + [string] $Name, + [string] $FilePath, + [Parameter(Mandatory = $true)] + [string] $VSversion, + [int] $retries = 20, + [switch] $InstallOnly + ) + + if (!$InstallOnly) + { + $FilePath = "${env:Temp}\$Name" + + while($retries -gt 0) + { + try + { + Write-Host "Downloading $Name..." + (New-Object System.Net.WebClient).DownloadFile($Url, $FilePath) + break + } + catch + { + Write-Host "There is an error during $Name downloading" + $_ + + $retries-- + + if ($retries -eq 0) + { + Write-Host "File can't be downloaded" + $_ + exit 1 + } + + Write-Host "Waiting 30 seconds before retrying. Retries left: $retries" + Start-Sleep -Seconds 30 + } + } + } + + $ArgumentList = ('/quiet', "`"$FilePath`"") + + Write-Host "Starting Install $Name..." + try + { + #There are 2 types of packages at the moment - exe and vsix + if ($Name -match "vsix") + { + $process = Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\$VSversion\Enterprise\Common7\IDE\VSIXInstaller.exe" -ArgumentList $ArgumentList -Wait -PassThru + } + else + { + $process = Start-Process -FilePath ${env:Temp}\$Name /Q -Wait -PassThru + } + } + catch + { + Write-Host "There is an error during $Name installation" + $_ + exit 1 + } + + $exitCode = $process.ExitCode + + if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed + { + Write-Host "$Name installed successfully" + } + else + { + Write-Host "Unsuccessful exit code returned by the installation process: $exitCode." + exit 1 + } + + #Cleanup downloaded installation files + if (!$InstallOnly) + { + Remove-Item -Force -Confirm:$false $FilePath + } +} + +function Get-VSExtensionVersion { param ( [string] [Parameter(Mandatory=$true)] $packageName @@ -187,3 +274,41 @@ function Get-VS19ExtensionVersion return $packageVersion } + + +function Get-ToolcachePackages { + $toolcachePath = Join-Path $env:ROOT_FOLDER "toolcache.json" + Get-Content -Raw $toolcachePath | ConvertFrom-Json +} + +function Get-ToolsByName { + param ( + [Parameter(Mandatory = $True)] + [string]$SoftwareName + ) + + (Get-ToolcachePackages).PSObject.Properties | Where-Object { $_.Name -match $SoftwareName } | ForEach-Object { + $packageNameParts = $_.Name.Split("-") + [PSCustomObject] @{ + ToolName = $packageNameParts[1] + Versions = $_.Value + Architecture = $packageNameParts[3,4] -join "-" + } + } +} + +function Get-WinVersion +{ + (Get-WmiObject -class Win32_OperatingSystem).Caption +} + +function Test-IsWin19 +{ + (Get-WinVersion) -match "2019" +} + +function Test-IsWin16 +{ + (Get-WinVersion) -match "2016" +} + diff --git a/images/win/scripts/Installers/Download-ToolCache.ps1 b/images/win/scripts/Installers/Download-ToolCache.ps1 index 591f0f1c..cc42e97e 100644 --- a/images/win/scripts/Installers/Download-ToolCache.ps1 +++ b/images/win/scripts/Installers/Download-ToolCache.ps1 @@ -44,6 +44,39 @@ Function NPMFeed-AuthSetup { $npmrcContent | Out-File -FilePath "$($env:TEMP)/.npmrc" -Encoding utf8 } +Function Set-DefaultPythonVersion { + param( + [Parameter(Mandatory=$true)] + [System.Version] $Version, + [System.String] $Arch = "x64" + ) + + $pythonPath = $Env:AGENT_TOOLSDIRECTORY + "/Python/${Version}*/${Arch}" + $pythonDir = Get-Item -Path $pythonPath + + Write-Host "Use Python ${Version} as a system Python" + Add-MachinePathItem -PathItem $pythonDir.FullName + Add-MachinePathItem -PathItem "$($pythonDir.FullName)\Scripts" +} + +Function Set-DefaultRubyVersion { + param( + [Parameter(Mandatory=$true)] + [System.Version] $Version, + [System.String] $Arch = "x64" + ) + $rubyPath = $Env:AGENT_TOOLSDIRECTORY + "/Ruby/${Version}*/${Arch}/bin" + $rubyDir = Get-Item -Path $rubyPath + + Write-Host "Use Ruby ${Version} as a system Ruby" + Add-MachinePathItem -PathItem $rubyDir.FullName + + # Update ruby gem to latest version + gem update --system +} + +Import-Module -Name ImageHelpers -Force + $FeedPrefix = "https://npm.pkg.github.com" $AccessToken = $env:GITHUB_FEED_TOKEN @@ -71,7 +104,5 @@ $ToolVersions.PSObject.Properties | ForEach-Object { } } -#junction point from the previous Python2 directory to the toolcache Python2 -Write-Host "Create symlink to Python2" -$python2Dir = (Get-Item -Path ($ToolsDirectory + '/Python/2.7*/x64')).FullName -cmd.exe /c mklink /d "C:\Python27amd64" "$python2Dir" \ No newline at end of file +Set-DefaultPythonVersion -Version "3.7" +Set-DefaultRubyVersion -Version "2.5" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-Boost.ps1 b/images/win/scripts/Installers/Install-Boost.ps1 index 907f82d9..0931fb25 100644 --- a/images/win/scripts/Installers/Install-Boost.ps1 +++ b/images/win/scripts/Installers/Install-Boost.ps1 @@ -4,8 +4,11 @@ ## Desc: Install boost using tool cache ################################################################################ -$BoostDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath "Boost" -$BoostVersions = $env:BOOST_VERSIONS.split(',') +Import-Module -Name ImageHelpers + +$SoftwareName = "Boost" +$BoostDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName +$BoostVersions = (Get-ToolsByName -SoftwareName $SoftwareName).Versions | Foreach-Object {"{0}.0" -f $_} $BoostDefault = $env:BOOST_DEFAULT foreach($BoostVersion in $BoostVersions) @@ -20,7 +23,5 @@ foreach($BoostVersion in $BoostVersions) Write-Host "Adding Boost $BoostVersion to the path..." # Add the Boost binaries to the path Add-MachinePathItem $BoostInstallationDir | Out-Null - # Set the BOOSTROOT environment variable - setx BOOST_ROOT $BoostInstallationDir /M | Out-Null } } diff --git a/images/win/scripts/Installers/Install-Git.ps1 b/images/win/scripts/Installers/Install-Git.ps1 index a67d7c99..24efc5bd 100644 --- a/images/win/scripts/Installers/Install-Git.ps1 +++ b/images/win/scripts/Installers/Install-Git.ps1 @@ -8,6 +8,7 @@ Import-Module -Name ImageHelpers # Install the latest version of Git which is bundled with Git LFS. # See https://chocolatey.org/packages/git choco install git -y --package-parameters="/GitAndUnixToolsOnPath /WindowsTerminal /NoShellIntegration" +choco install hub # Disable GCM machine-wide [Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine) diff --git a/images/win/scripts/Installers/Install-Go.ps1 b/images/win/scripts/Installers/Install-Go.ps1 index c33baeca..db186186 100644 --- a/images/win/scripts/Installers/Install-Go.ps1 +++ b/images/win/scripts/Installers/Install-Go.ps1 @@ -5,6 +5,7 @@ Import-Module -Name ImageHelpers -Force +$refsJson = Invoke-RestMethod "https://api.github.com/repos/golang/go/git/refs/tags" function Install-GoVersion { Param @@ -13,17 +14,20 @@ function Install-GoVersion [Switch]$addToDefaultPath ) + $latestVersionObject = $refsJson | Where-Object { $_.ref -Match "refs/tags/go$goVersion[./d]*" } | Select-Object -Last 1 + $latestVersion = $latestVersionObject.ref.replace('refs/tags/go','') + # Download the Go zip archive. - Write-Host "Downloading Go $goVersion..." + Write-Host "Downloading Go $latestVersion..." $ProgressPreference = 'SilentlyContinue' - Invoke-WebRequest -UseBasicParsing -Uri "https://dl.google.com/go/go$goVersion.windows-amd64.zip" -OutFile go$goVersion.windows-amd64.zip + Invoke-WebRequest -UseBasicParsing -Uri "https://dl.google.com/go/go$latestVersion.windows-amd64.zip" -OutFile go$latestVersion.windows-amd64.zip # Extract the zip archive. It contains a single directory named "go". - Write-Host "Extracting Go $goVersion..." - Expand-Archive -Path go$goVersion.windows-amd64.zip -DestinationPath "C:\" -Force + Write-Host "Extracting Go $latestVersion..." + Expand-Archive -Path go$latestVersion.windows-amd64.zip -DestinationPath "C:\" -Force # Delete unnecessary files to conserve space - Write-Host "Cleaning directories of Go $goVersion..." + Write-Host "Cleaning directories of Go $latestVersion..." if (Test-Path "C:\go\doc") { Remove-Item -Recurse -Force "C:\go\doc" @@ -34,17 +38,17 @@ function Install-GoVersion } # Rename the extracted "go" directory to include the Go version number (to support side-by-side versions of Go). - $newDirName = "Go$goVersion" + $newDirName = "Go$latestVersion" Rename-Item -path "C:\go" -newName $newDirName # Delete the Go zip archive. - Write-Host "Deleting downloaded archive of Go $goVersion..." - Remove-Item go$goVersion.windows-a`md64.zip + Write-Host "Deleting downloaded archive of Go $latestVersion..." + Remove-Item go$latestVersion.windows-amd64.zip # Make this the default version of Go? if ($addToDefaultPath) { - Write-Host "Adding Go $goVersion to the path..." + Write-Host "Adding Go $latestVersion to the path..." # Add the Go binaries to the path. Add-MachinePathItem "C:\$newDirName\bin" | Out-Null # Set the GOROOT environment variable. @@ -52,12 +56,12 @@ function Install-GoVersion } # Done - Write-Host "Done installing Go $goVersion." + Write-Host "Done installing Go $latestVersion." return "C:\$newDirName" } # Install Go -$goVersionsToInstall = $env:GO_VERSIONS.split(",") +$goVersionsToInstall = $env:GO_VERSIONS.split(", ", [System.StringSplitOptions]::RemoveEmptyEntries) foreach($go in $goVersionsToInstall) { Write-Host "Installing Go ${go}" @@ -66,6 +70,6 @@ foreach($go in $goVersionsToInstall) { } else { $installDirectory = Install-GoVersion -goVersion $go } - $envName = "GOROOT_{0}_{1}_X64" -f $go.split(".") + $envName = "GOROOT_{0}_{1}_X64" -f $go.split(".") setx $envName "$installDirectory" /M } diff --git a/images/win/scripts/Installers/Install-Ruby.ps1 b/images/win/scripts/Installers/Install-Ruby.ps1 deleted file mode 100644 index 546a4591..00000000 --- a/images/win/scripts/Installers/Install-Ruby.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -## File: Install-Ruby.ps1 -## Desc: Install Ruby for Windows -################################################################################ - -Import-Module -Name ImageHelpers - -# Ruby versions are already available in the tool cache. - -# Tool cache Ruby Path -$toolcacheRubyPath = 'C:\hostedtoolcache\windows\Ruby\2.5.*' - -# Get Latest Ruby 2.5.x -$latestRubyBinPath2_5 = Get-ChildItem -Path $toolcacheRubyPath | Sort-Object {[System.Version]$_.Name} | Select-Object -Last 1 | ForEach-Object { - Join-Path $_.FullName 'x64\bin' -} - -Add-MachinePathItem $latestRubyBinPath2_5 -$env:Path = Get-MachinePath - -# Update ruby gem to latest version -gem update --system - -exit 0 diff --git a/images/win/scripts/Installers/Windows2019/Install-WDK.ps1 b/images/win/scripts/Installers/Install-WDK.ps1 similarity index 55% rename from images/win/scripts/Installers/Windows2019/Install-WDK.ps1 rename to images/win/scripts/Installers/Install-WDK.ps1 index b7064437..9df64d91 100644 --- a/images/win/scripts/Installers/Windows2019/Install-WDK.ps1 +++ b/images/win/scripts/Installers/Install-WDK.ps1 @@ -4,8 +4,24 @@ ################################################################################ # Requires Windows SDK with the same version number as the WDK -$winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2083338" -$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2085767" + +Import-Module -Name ImageHelpers -Force + +if(Test-IsWin19) +{ + $winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2083338" + $wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2085767" + $FilePath = "C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix" + $VSver = "2019" +} +else +{ + $winSdkUrl = "https://go.microsoft.com/fwlink/p/?LinkID=2023014" + $wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2026156" + $FilePath = "C:\Program Files (x86)\Windows Kits\10\Vsix\WDK.vsix" + $VSver = "2017" +} + # `winsdksetup.exe /features + /quiet` installs all features without showing the GUI $sdkExitCode = Install-EXE -Url $winSdkUrl -Name "winsdksetup.exe" -ArgumentList ("/features", "+", "/quiet") @@ -26,32 +42,4 @@ if ($wdkExitCode -ne 0) } # Need to install the VSIX to get the build targets when running VSBuild -# Write-Host "Installing WDK.vsix" -try -{ - $process = Start-Process ` - -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VSIXInstaller.exe" ` - -ArgumentList ("/quiet", '"C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix"') ` - -Wait ` - -PassThru -} -catch -{ - Write-Host "There is an error during WDK.vsix installation" - $_ - exit 1 -} - - - $exitCode = $process.ExitCode - -if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed -{ - Write-Host "WDK.vsix installed successfully" -} -else -{ - Write-Host "Unsuccessful exit code returned by the installation process: $exitCode." -} - -exit $exitCode +Install-VsixExtension -FilePath $FilePath -Name "WDK.vsix" -VSversion $VSver -InstallOnly diff --git a/images/win/scripts/Installers/Install-Wix.ps1 b/images/win/scripts/Installers/Install-Wix.ps1 new file mode 100644 index 00000000..076be86c --- /dev/null +++ b/images/win/scripts/Installers/Install-Wix.ps1 @@ -0,0 +1,23 @@ +################################################################################ +## File: Install-Wix.ps1 +## Desc: Install WIX. +################################################################################ + +Import-Module -Name ImageHelpers -Force; + +choco install wixtoolset -y --force + +if(Test-IsWin19) +{ + $extensionUrl = "https://wixtoolset.gallerycdn.vsassets.io/extensions/wixtoolset/wixtoolsetvisualstudio2019extension/1.0.0.4/1563296438961/Votive2019.vsix" + $VSver = "2019" +} +else +{ + $extensionUrl = "https://robmensching.gallerycdn.vsassets.io/extensions/robmensching/wixtoolsetvisualstudio2017extension/0.9.21.62588/1494013210879/250616/4/Votive2017.vsix" + $VSver = "2017" +} + +$extensionName = "Votive$VSver.vsix" +#Installing VS extension 'Wix Toolset Visual Studio Extension' +Install-VsixExtension -Url $extensionUrl -Name $extensionName -VSversion $VSver diff --git a/images/win/scripts/Installers/Update-AndroidSDK.ps1 b/images/win/scripts/Installers/Update-AndroidSDK.ps1 index 0487bb4e..4a04b0b6 100644 --- a/images/win/scripts/Installers/Update-AndroidSDK.ps1 +++ b/images/win/scripts/Installers/Update-AndroidSDK.ps1 @@ -110,6 +110,7 @@ Push-Location -Path $sdk.FullName "add-ons;addon-google_apis-google-22" ` "add-ons;addon-google_apis-google-21" ` "cmake;3.6.4111459" ` + "cmake;3.10.2.4988404" ` "patcher;v4" Pop-Location diff --git a/images/win/scripts/Installers/Validate-Bazel.ps1 b/images/win/scripts/Installers/Validate-Bazel.ps1 index 9cdccda4..1728a9a6 100644 --- a/images/win/scripts/Installers/Validate-Bazel.ps1 +++ b/images/win/scripts/Installers/Validate-Bazel.ps1 @@ -41,4 +41,4 @@ $Description = @" _Version:_ $bazelisk_version
"@ -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description \ No newline at end of file +Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description diff --git a/images/win/scripts/Installers/Validate-Boost.ps1 b/images/win/scripts/Installers/Validate-Boost.ps1 index 9e1c6965..6289e165 100644 --- a/images/win/scripts/Installers/Validate-Boost.ps1 +++ b/images/win/scripts/Installers/Validate-Boost.ps1 @@ -3,6 +3,8 @@ ## Desc: Validate Boost ################################################################################ +Import-Module -Name ImageHelpers + function Validate-BoostVersion { Param @@ -49,36 +51,31 @@ $tmplMarkRoot = @" _Environment:_ * PATH: contains the location of Boost version {0} -* BOOST_ROOT: root directory of the Boost version {0} installation * {1}: root directory of the Boost version {0} installation "@ -$SoftwareName = 'Boost' $Description = New-Object System.Text.StringBuilder -$BoostRootDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath "Boost" -$BoostVersionsToInstall = $env:BOOST_VERSIONS.split(",") +$SoftwareName = 'Boost' +$BoostRootDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName +$BoostTools = Get-ToolsByName -SoftwareName $SoftwareName -foreach($BoostVersion in $BoostVersionsToInstall) +foreach ($BoostTool in $BoostTools) { - Validate-BoostVersion -BoostRootPath $BoostRootDirectory -BoostRelease $BoostVersion - $BoostVersionTag = "BOOST_ROOT_{0}" -f $BoostVersion.Replace('.', '_') + $BoostToolsetName = $BoostTool.Architecture + $BoostVersionsToInstall = $BoostTool.Versions | Foreach-Object {"{0}.0" -f $_} + foreach($BoostVersion in $BoostVersionsToInstall) + { + Validate-BoostVersion -BoostRootPath $BoostRootDirectory -BoostRelease $BoostVersion + $BoostVersionTag = "BOOST_ROOT_{0}" -f $BoostVersion.Replace('.', '_') - if ([Version]$BoostVersion -ge "1.70.0") - { - $BoostToolsetName = "msvc-14.2" - } - else - { - $BoostToolsetName = "msvc-14.1" - } - - if($BoostVersion -eq $env:BOOST_DEFAULT) - { - $null = $Description.AppendLine(($tmplMarkRoot -f $BoostVersion, $BoostVersionTag, $BoostToolsetName)) - } - else - { - $null = $Description.AppendLine(($tmplMark -f $BoostVersion, $BoostVersionTag, $BoostToolsetName)) + if($BoostVersion -eq $env:BOOST_DEFAULT) + { + $null = $Description.AppendLine(($tmplMarkRoot -f $BoostVersion, $BoostVersionTag, $BoostToolsetName)) + } + else + { + $null = $Description.AppendLine(($tmplMark -f $BoostVersion, $BoostVersionTag, $BoostToolsetName)) + } } } diff --git a/images/win/scripts/Installers/Validate-Git.ps1 b/images/win/scripts/Installers/Validate-Git.ps1 index 6f2bb33f..1927a6ad 100644 --- a/images/win/scripts/Installers/Validate-Git.ps1 +++ b/images/win/scripts/Installers/Validate-Git.ps1 @@ -2,48 +2,61 @@ ## File: Validate-Git.ps1 ## Desc: Validate Git for Windows ################################################################################ - -if((Get-Command -Name 'git') -and (Get-Command -Name 'bash') -and (Get-Command -Name 'awk') -and (Get-Command -Name 'git-lfs')) -{ - Write-Host "$(git version) on path" - Write-Host "$(git-lfs version) on path" +function Test-CommandName { + param( + [parameter(Mandatory)][string] $CommandName + ) + Write-Host "Checking the [$CommandName]" + if(-not (Get-Command $CommandName -ErrorAction "Continue")) { + Write-Host "[!] $CommandName is not found" + exit 1 + } } -else -{ - Write-Host "git or git-lfs are not on path." - exit 1 +function Test-Command { + param( + [parameter(Mandatory)][string] $CommandName, + [parameter(Mandatory)][string] $CommandDescription, + [parameter(Mandatory)][string] $VersionCmd, + [parameter(Mandatory)][string] $regexVersion, + [parameter(Mandatory)][string] $DescriptionMarkdown + ) + Test-CommandName -CommandName $CommandName + + $strVersion = Invoke-Expression $VersionCmd + Write-Host "$strVersion on path" + if($strVersion -match $regexVersion) { + $Version = $Matches.version + } + else { + Write-Host "[!] $CommandName version detection failed" + exit 1 + } + # Adding description of the software to Markdown + $DescriptionMarkdown = $DescriptionMarkdown -f $Version + Add-SoftwareDetailsToMarkdown -SoftwareName $CommandDescription -DescriptionMarkdown $DescriptionMarkdown } +Test-CommandName -CommandName 'bash' +Test-CommandName -CommandName 'awk' -if( $(git version) -match 'git version (?.*).win.*' ) -{ - $gitVersion = $Matches.version -} - -if( $(git-lfs version) -match 'git-lfs\/(?.*) \(Git.*' ) -{ - $gitLfsVersion = $Matches.version -} - -# Adding description of the software to Markdown -$SoftwareName = "Git" - -$Description = @" -_Version:_ $gitVersion
+$GitDescription = @" +_Version:_ {0}
_Environment:_ * PATH: contains location of git.exe "@ +Test-Command -CommandName 'git' -CommandDescription 'Git' -VersionCmd "git version" -regexVersion 'git version (?.*).win.*' -DescriptionMarkdown $GitDescription -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description - -# Adding description of the software to Markdown -$SoftwareName = "Git Large File Storage (LFS)" - -$Description = @" -_Version:_ $gitLfsVersion
+$GitLfsDescription = @" +_Version:_ {0}
_Environment:_ * PATH: contains location of git-lfs.exe * GIT_LFS_PATH: location of git-lfs.exe "@ +Test-Command -CommandName 'git-lfs' -CommandDescription 'Git Large File Storage (LFS)' -VersionCmd "git-lfs version" -regexVersion 'git-lfs\/(?.*) \(Git.*' -DescriptionMarkdown $GitLfsDescription -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description +$HubCliDescription = @" +_Version:_ {0}
+_Environment:_ +* PATH: contains location of hub.exe +"@ +Test-Command -CommandName 'hub' -CommandDescription 'Hub CLI' -VersionCmd "hub version | Select-String 'hub version'" -regexVersion 'hub version (?.*)' -DescriptionMarkdown $HubCliDescription \ No newline at end of file diff --git a/images/win/scripts/Installers/Validate-Go.ps1 b/images/win/scripts/Installers/Validate-Go.ps1 index 5ff3ad16..059ea8fa 100644 --- a/images/win/scripts/Installers/Validate-Go.ps1 +++ b/images/win/scripts/Installers/Validate-Go.ps1 @@ -8,18 +8,31 @@ function Get-GoVersion { Param ( - [String]$goRootPath + [String]$goVersion ) + Write-Host "Check if $goVersion is presented in the system" + $DestinationPath = "$($env:SystemDrive)\" + $goDirectory = Get-ChildItem -Path $DestinationPath -Filter "Go$goVersion*" | Select-Object -First 1 + $goPath = Join-Path $env:SystemDrive $goDirectory - $env:Path = "$goRootPath\bin;" + $env:Path - if( $(go version) -match 'go version go(?.*) win.*' ) + $env:Path = "$goPath\bin;" + $env:Path + $version = $(go version) + + $matchVersion = $version -match $goVersion + $semanticEquality = $version -match 'go version go(?.*) win.*' + + if($semanticEquality -And $matchVersion) { - $goVersion = $Matches.version - return $goVersion - } + $goFullVersion = $Matches.version + Write-Host "$goFullVersion has been found" - Write-Host "Unable to determine Go version at " + $goRootPath - return "" + return $goFullVersion + } + else + { + Write-Host "Unable to determine Go version at " + $goPath + exit 1 + } } # Verify that go.exe is on the path @@ -53,10 +66,10 @@ _Environment:_ $SoftwareName = "Go (x64)" $Description = New-Object System.Text.StringBuilder -$goVersionsToInstall = $env:GO_VERSIONS.split(",") +$goVersionsToInstall = $env:GO_VERSIONS.split(", ", [System.StringSplitOptions]::RemoveEmptyEntries) foreach($go in $goVersionsToInstall) { - $goVersion = Get-GoVersion -goRootPath "C:\Go${go}" + $goVersion = Get-GoVersion -goVersion $go $goVersionTag = "GOROOT_{0}_{1}_X64" -f $go.split(".") if ($goVersion -eq $go) { if($go -eq $env:GO_DEFAULT) { diff --git a/images/win/scripts/Installers/Validate-Python.ps1 b/images/win/scripts/Installers/Validate-Python.ps1 deleted file mode 100644 index 7e2ee6e4..00000000 --- a/images/win/scripts/Installers/Validate-Python.ps1 +++ /dev/null @@ -1,45 +0,0 @@ -################################################################################ -## File: Validate-Python.ps1 -## Desc: Configure python on path based on what is installed in the tools cache -## Must run after tools cache is downloaded and validated -################################################################################ - -if(Get-Command -Name 'python') -{ - Write-Host "Python $(& python -V 2>&1) on path" -} -else -{ - Write-Host "Python is not on path" - exit 1 -} - -$Python3Version = $(& python -V 2>&1) - -if ($Python3Version -notlike "Python 3.*") -{ - Write-Error "Python 3 is not in the PATH" -} - - -$python2path = $Env:AGENT_TOOLSDIRECTORY + '/Python/2.7*/x64' -$python2Dir = Get-Item -Path $python2path - -$env:Path = $python2Dir.FullName + ";" + $env:Path - -$Python2Version = & $env:comspec "/s /c python --version 2>&1" - -# Adding description of the software to Markdown -$SoftwareName = "Python (64 bit)" - -$Description = @" -#### $Python3Version -_Environment:_ -* PATH: contains location of python.exe - -#### $Python2Version - -_Location:_ $Python2Path -"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description diff --git a/images/win/scripts/Installers/Validate-Ruby.ps1 b/images/win/scripts/Installers/Validate-Ruby.ps1 deleted file mode 100644 index 88347ee1..00000000 --- a/images/win/scripts/Installers/Validate-Ruby.ps1 +++ /dev/null @@ -1,55 +0,0 @@ -################################################################################ -## File: Validate-Ruby.ps1 -## Desc: Verify that Ruby is on the path and output version information. -################################################################################ - -# Function that gets the version of Ruby at the specified path -function Get-RubyVersion -{ - Param - ( - [String]$rubyRootPath - ) - - # Prepend to the path like: C:\hostedtoolcache\windows\Ruby\2.5.0\x64\bin - $env:Path = "$rubyRootPath;" + $env:Path - - # Extract the version from Ruby output like: ruby 2.5.1p57 (2018-03-29 revision 63029) [x64-mingw32] - if( $(ruby --version) -match 'ruby (?.*) \(.*' ) - { - $rubyVersion = $Matches.version - return $rubyVersion - } - - Write-Host "Unable to determine Ruby version at " + $rubyRootPath - exit 1 -} - -# Verify that ruby is on the path -if(Get-Command -Name 'ruby') -{ - Write-Host "$(ruby --version) is on the path." -} -else -{ - Write-Host "Ruby is not on the path." - exit 1 -} - -# Default Ruby Version on Path -$rubyExeOnPath = (Get-Command -Name 'ruby').Path -$rubyBinOnPath = Split-Path -Path $rubyExeOnPath -$rubyVersionOnPath = Get-RubyVersion -rubyRootPath $rubyBinOnPath -$gemVersion = & gem -v - -# Add details of available versions in Markdown -$SoftwareName = "Ruby (x64)" -$Description = @" -#### $rubyVersionOnPath -_Environment:_ -* Location: $rubyBinOnPath -* PATH: contains the location of ruby.exe version $rubyVersionOnPath -* Gem Version: $gemVersion -"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description diff --git a/images/win/scripts/Installers/Validate-ToolCache.ps1 b/images/win/scripts/Installers/Validate-ToolCache.ps1 index 3e3b095f..5ad500bf 100644 --- a/images/win/scripts/Installers/Validate-ToolCache.ps1 +++ b/images/win/scripts/Installers/Validate-ToolCache.ps1 @@ -63,6 +63,78 @@ function RunTestsByPath { } } +function Get-SystemDefaultPython { + Write-Host "Validate system Python..." + + if (Get-Command -Name 'python') + { + Write-Host "Python $(& python -V 2>&1) on path" + } + else + { + Write-Host "Python is not on path" + exit 1 + } + + $pythonBinVersion = $(& python -V 2>&1) + if ($pythonBinVersion -notlike "Python 3.*") + { + Write-Error "Python 3 is not in the PATH" + exit 1 + } + + $pythonBinOnPath = Split-Path -Path (Get-Command -Name 'python').Path + $description = GetDefaultToolDescription -SoftwareVersion $pythonBinVersion -SoftwareLocation $pythonBinOnPath + + return $description +} + +function Get-SystemDefaultRuby { + Write-Host "Validate system Ruby..." + + if (Get-Command -Name 'ruby') + { + Write-Host "$(ruby --version) is on the path." + } + else + { + Write-Host "Ruby is not on the path." + exit 1 + } + + $rubyBinOnPath = Split-Path -Path (Get-Command -Name 'ruby').Path + if ( $(ruby --version) -notmatch 'ruby (?.*) \(.*' ) + { + Write-Host "Unable to determine Ruby version at " + $rubyBinOnPath + exit 1 + + } + + $rubyVersionOnPath = "Ruby $($Matches.version)" + $description = GetDefaultToolDescription -SoftwareVersion $rubyVersionOnPath -SoftwareLocation $rubyBinOnPath + + $gemVersion = & gem -v + $description += "* Gem Version: $gemVersion
" + + return $description +} + +function GetDefaultToolDescription { + param ( + [Parameter(Mandatory = $True)] + [string]$SoftwareVersion, + [Parameter(Mandatory = $True)] + [string]$SoftwareLocation + ) + + $description = "
__System default version:__ $SoftwareVersion
" + $description += "_Environment:_
" + $description += "* Location: $SoftwareLocation
" + $description += "* PATH: contains the location of $SoftwareVersion
" + + return $description +} + function GetMarkdownDescription { param ( [Parameter(Mandatory = $True)] @@ -123,6 +195,14 @@ function ToolcacheTest { $markdownDescription += GetMarkdownDescription -SoftwareVersion $foundVersion -SoftwareArchitecture $requiredArchitecture } } + + if ($SoftwareName -contains "Python") { + $markdownDescription += Get-SystemDefaultPython + } + if ($SoftwareName -contains "Ruby") { + $markdownDescription += Get-SystemDefaultRuby + } + Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $markdownDescription } diff --git a/images/win/scripts/Installers/Windows2019/Validate-WDK.ps1 b/images/win/scripts/Installers/Validate-WDK.ps1 similarity index 90% rename from images/win/scripts/Installers/Windows2019/Validate-WDK.ps1 rename to images/win/scripts/Installers/Validate-WDK.ps1 index c3c6a8f0..ee64f20b 100644 --- a/images/win/scripts/Installers/Windows2019/Validate-WDK.ps1 +++ b/images/win/scripts/Installers/Validate-WDK.ps1 @@ -19,7 +19,7 @@ function Get-WDKVersion } $WDKVersion = Get-WDKVersion -$WDKPackageVersion = Get-VS19ExtensionVersion -packageName "Microsoft.Windows.DriverKit" +$WDKPackageVersion = Get-VSExtensionVersion -packageName "Microsoft.Windows.DriverKit" # Adding description of the software to Markdown $SoftwareName = "Windows Driver Kit" diff --git a/images/win/scripts/Installers/Windows2019/Validate-Wix.ps1 b/images/win/scripts/Installers/Validate-Wix.ps1 similarity index 76% rename from images/win/scripts/Installers/Windows2019/Validate-Wix.ps1 rename to images/win/scripts/Installers/Validate-Wix.ps1 index 4334beb1..d755939d 100644 --- a/images/win/scripts/Installers/Windows2019/Validate-Wix.ps1 +++ b/images/win/scripts/Installers/Validate-Wix.ps1 @@ -4,6 +4,7 @@ ################################################################################ Import-Module -Name ImageHelpers -Force + function Get-WixVersion { $regKey = "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" $installedApplications = Get-ItemProperty -Path $regKey @@ -21,14 +22,23 @@ else { exit 1 } -$WixPackageVersion = Get-VS19ExtensionVersion -packageName "WixToolset.VisualStudioExtension.Dev16" +if(Test-IsWin19) +{ + $WixPackageVersion = Get-VSExtensionVersion -packageName "WixToolset.VisualStudioExtension.Dev16" + $VSver = "2019" +} +else +{ + $WixPackageVersion = Get-VSExtensionVersion -packageName "WixToolset.VisualStudioExtension.Dev15" + $VSver = "2017" +} # Adding description of the software to Markdown $SoftwareName = "WIX Tools" $Description = @" _Toolset Version:_ $WixToolSetVersion
-_WIX Toolset Visual Studio Extension Version:_ $WixPackageVersion
+_WIX Toolset Studio $VSver Extension Version:_ $WixPackageVersion
_Environment:_ * WIX: Installation root of WIX "@ diff --git a/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 b/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 index 7998f1cb..d9210571 100644 --- a/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 +++ b/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 @@ -8,7 +8,13 @@ function Disable-InternetExplorerESC { $UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}" Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -Force Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -Force - Stop-Process -Name Explorer -Force -ErrorAction Continue + + $ieProcess = Get-Process -Name Explorer -ErrorAction SilentlyContinue + + if ($ieProcess){ + Stop-Process -Name Explorer -Force -ErrorAction Continue + } + Write-Host "IE Enhanced Security Configuration (ESC) has been disabled." } diff --git a/images/win/scripts/Installers/Windows2016/Install-Python.ps1 b/images/win/scripts/Installers/Windows2016/Install-Python.ps1 deleted file mode 100644 index f0a76ca9..00000000 --- a/images/win/scripts/Installers/Windows2016/Install-Python.ps1 +++ /dev/null @@ -1,28 +0,0 @@ -################################################################################ -## File: Install-Python.ps1 -## Desc: Configure python on path with 3.6.* version from the tools cache -## Must run after tools cache is setup -################################################################################ - -Import-Module -Name ImageHelpers -Force - -$python36path = $Env:AGENT_TOOLSDIRECTORY + '/Python/3.6*/x64' -$pythonDir = Get-Item -Path $python36path - -if($pythonDir -is [array]) -{ - Write-Host "More than one python 3.6.* installations found" - Write-Host $pythonDir - exit 1 -} - -$currentPath = Get-MachinePath - -if ($currentPath | Select-String -SimpleMatch $pythonDir.FullName) -{ - Write-Host $pythonDir.FullName ' is already in PATH' - exit 0 -} - -Add-MachinePathItem -PathItem $pythonDir.FullName -Add-MachinePathItem -PathItem "$($pythonDir.FullName)\Scripts" diff --git a/images/win/scripts/Installers/Windows2016/Install-WDK.ps1 b/images/win/scripts/Installers/Windows2016/Install-WDK.ps1 deleted file mode 100644 index 58707f97..00000000 --- a/images/win/scripts/Installers/Windows2016/Install-WDK.ps1 +++ /dev/null @@ -1,51 +0,0 @@ -################################################################################ -## File: Install-WDK.ps1 -## Desc: Install the Windows Driver Kit -################################################################################ - -# Version: 10.0.17763.0 -# Update Validate-WDK.ps1 if the version changes! -# There doesn't seem to be any way to check the version programmatically - -# Requires Windows SDK with the same version number as the WDK -$winSdkUrl = "https://go.microsoft.com/fwlink/p/?LinkID=2023014" -$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2026156" - -# `winsdksetup.exe /features + /quiet` installs all features without showing the GUI -$sdkExitCode = Install-EXE -Url $winSdkUrl -Name "winsdksetup.exe" -ArgumentList ("/features", "+", "/quiet") - -if ($sdkExitCode -ne 0) -{ - Write-Host "Failed to install the Windows SDK." - exit $sdkExitCode -} - -# `wdksetup.exe /features + /quiet` installs all features without showing the GUI -$wdkExitCode = Install-EXE -Url $wdkUrl -Name "wdksetup.exe" -ArgumentList ("/features", "+", "/quiet") - -if ($wdkExitCode -ne 0) -{ - Write-Host "Failed to install the Windows Driver Kit." - exit $wdkExitCode -} - -# Need to install the VSIX to get the build targets when running VSBuild -Write-Host "Installing WDK.vsix" -$process = Start-Process ` - -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VSIXInstaller.exe" ` - -ArgumentList ("/quiet", '"C:\Program Files (x86)\Windows Kits\10\Vsix\WDK.vsix"') ` - -Wait ` - -PassThru - -$exitCode = $process.ExitCode - -if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed -{ - Write-Host "WDK.vsix installed successfully" -} -else -{ - Write-Host "Unsuccessful exit code returned by the installation process: $exitCode." -} - -exit $exitCode diff --git a/images/win/scripts/Installers/Windows2016/Install-Wix.ps1 b/images/win/scripts/Installers/Windows2016/Install-Wix.ps1 deleted file mode 100644 index 44ee25c2..00000000 --- a/images/win/scripts/Installers/Windows2016/Install-Wix.ps1 +++ /dev/null @@ -1,53 +0,0 @@ -################################################################################ -## File: Install-Wix.ps1 -## Desc: Install WIX. -################################################################################ -function Install-VsixExtension -{ - Param - ( - [String]$Url, - [String]$Name - ) - - $exitCode = -1 - - try - { - Write-Host "Downloading $Name..." - $FilePath = "${env:Temp}\$Name" - - Invoke-WebRequest -Uri $Url -OutFile $FilePath - - $ArgumentList = ('/quiet', $FilePath) - - Write-Host "Starting Install $Name..." - $process = Start-Process -FilePath 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VSIXInstaller.exe' -ArgumentList $ArgumentList -Wait -PassThru - $exitCode = $process.ExitCode - - if ($exitCode -eq 0 -or $exitCode -eq 3010) - { - Write-Host -Object 'Installation successful' - return $exitCode - } - else - { - Write-Host -Object "Non zero exit code returned by the installation process : $exitCode." - return $exitCode - } - } - catch - { - Write-Host -Object "Failed to install the Extension $Name" - Write-Host -Object $_.Exception.Message - return -1 - } -} - - -choco install wixtoolset -y --force - -#Installing VS extension 'Wix Toolset Visual Studio 2017 Extension' -$exitCode = Install-VsixExtension -Url 'https://robmensching.gallerycdn.vsassets.io/extensions/robmensching/wixtoolsetvisualstudio2017extension/0.9.21.62588/1494013210879/250616/4/Votive2017.vsix' -Name 'Votive2017.vsix' - -return $exitCode diff --git a/images/win/scripts/Installers/Windows2016/Validate-SSDT.ps1 b/images/win/scripts/Installers/Windows2016/Validate-SSDT.ps1 index 9d9a1c4a..40444ee1 100644 --- a/images/win/scripts/Installers/Windows2016/Validate-SSDT.ps1 +++ b/images/win/scripts/Installers/Windows2016/Validate-SSDT.ps1 @@ -5,39 +5,13 @@ Import-Module -Name ImageHelpers -Force -function Get-SSDTExtensionPackage { - $vsProgramData = Get-Item -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances" - $instanceFolders = Get-ChildItem -Path $vsProgramData.FullName - - if($instanceFolders -is [array]) - { - Write-Host "More than one instance installed" - exit 1 - } - - $stateContent = Get-Content -Path ($instanceFolders.FullName + '\state.packages.json') - $state = $stateContent | ConvertFrom-Json - $SsdtPackage = $state.packages | where { $_.id -eq "SSDT" } - return $SsdtPackage -} - - -$SsdtPackage = Get-SSDTExtensionPackage - -if($SsdtPackage){ - Write-Host "SSDT version" $SsdtPackage.version "installed" -} -else { - Write-Host "SSDT is not installed" - exit 1 -} - +$SSDTPackageVersion = Get-VSExtensionVersion -packageName "SSDT" # Adding description of the software to Markdown $SoftwareName = "SQL Server Data Tools for VS 2017" $Description = @" -_Version:_ $($SsdtPackage.version)
+_Version:_ $SSDTPackageVersion
The following components are installed: diff --git a/images/win/scripts/Installers/Windows2016/Validate-WDK.ps1 b/images/win/scripts/Installers/Windows2016/Validate-WDK.ps1 deleted file mode 100644 index f9edf160..00000000 --- a/images/win/scripts/Installers/Windows2016/Validate-WDK.ps1 +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -## File: Validate-WDK.ps1 -## Desc: Validate the installation of the Windows Driver Kit -################################################################################ - -# Adding description of the software to Markdown -$SoftwareName = "Windows Driver Kit" - -$Description = @" -_Version:_ 10.0.17763.0
-"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description diff --git a/images/win/scripts/Installers/Windows2016/Validate-Wix.ps1 b/images/win/scripts/Installers/Windows2016/Validate-Wix.ps1 deleted file mode 100644 index 090df37a..00000000 --- a/images/win/scripts/Installers/Windows2016/Validate-Wix.ps1 +++ /dev/null @@ -1,62 +0,0 @@ -################################################################################ -## File: Validate-Wix.ps1 -## Desc: Validate WIX. -################################################################################ - -Import-Module -Name ImageHelpers -Force -function Get-WixVersion { - $regKey = "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" - $installedApplications = Get-ItemProperty -Path $regKey - $Version = ($installedApplications | Where-Object { $_.DisplayName -and $_.DisplayName.toLower().Contains("wix") } | Select-Object -First 1).DisplayVersion - return $Version -} - -#Gets the extension details from state.json -function Get-WixExtensionPackage { - $vsProgramData = Get-Item -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances" - $instanceFolders = Get-ChildItem -Path $vsProgramData.FullName - - if($instanceFolders -is [array]) - { - Write-Host "More than one instance installed" - exit 1 - } - - $stateContent = Get-Content -Path ($instanceFolders.FullName + '\state.packages.json') - $state = $stateContent | ConvertFrom-Json - $WixPackage = $state.packages | where { $_.id -eq "WixToolset.VisualStudioExtension.Dev15" } - return $WixPackage -} - -$WixToolSetVersion = Get-WixVersion - -if($WixToolSetVersion) { - Write-Host "Wix Toolset version" $WixPackage.version "installed" -} -else { - Write-Host "Wix Toolset is not installed" - exit 1 -} - -$WixPackage = Get-WixExtensionPackage - -if($WixPackage) { - Write-Host "Wix Extension version" $WixPackage.version "installed" -} -else { - Write-Host "Wix Extension is not installed" - exit 1 -} - - -# Adding description of the software to Markdown -$SoftwareName = "WIX Tools" - -$Description = @" -_Toolset Version:_ $WixToolSetVersion
-_WIX Toolset Studio 2017 Extension Version:_ $($WixPackage.version)
-_Environment:_ -* WIX: Installation root of WIX -"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description diff --git a/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 b/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 index 9930e6a6..46574d7c 100644 --- a/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 +++ b/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 @@ -8,7 +8,13 @@ function Disable-InternetExplorerESC { $UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}" Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -Force Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -Force - Stop-Process -Name Explorer -Force -ErrorAction Continue + + $ieProcess = Get-Process -Name Explorer -ErrorAction SilentlyContinue + + if ($ieProcess){ + Stop-Process -Name Explorer -Force -ErrorAction Continue + } + Write-Host "IE Enhanced Security Configuration (ESC) has been disabled." } diff --git a/images/win/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1 b/images/win/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1 deleted file mode 100644 index 43bfb603..00000000 --- a/images/win/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1 +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################### -## File: Install-AnalysisExtenstion.ps1 -## Desc: Install the Microsoft Analysis Services Projects Visual Studio extension -################################################################################### - - -$extensionUrl = "https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftAnalysisServicesModelingProjects/2.9.5/vspackage" -$extensionDownloadPath = Join-Path $Env:TEMP "Microsoft.DataTools.AnalysisServices.vsix" -Write-Host "Downloading Microsoft.DataTools.AnalysisServices.vsix extension" -(New-Object System.Net.WebClient).DownloadFile($extensionUrl, $extensionDownloadPath) - -Write-Host "Installing Microsoft.DataTools.AnalysisServices.vsix extension" -try -{ - $process = Start-Process ` - -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VSIXInstaller.exe" ` - -ArgumentList ("/quiet", "$extensionDownloadPath") ` - -Wait ` - -PassThru -} -catch -{ - Write-Host "There is an error during Microsoft.DataTools.AnalysisServices.vsix installation" - $_ - exit 1 -} - - -$exitCode = $process.ExitCode - -if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed -{ - Write-Host "Microsoft.DataTools.AnalysisServices.vsix installed successfully" -} -else -{ - Write-Host "Unsuccessful exit code returned by the installation process: $exitCode." - exit 1 -} - -#Cleanup installation files -Remove-Item -Force -Confirm:$false $extensionDownloadPath - -exit $exitCode diff --git a/images/win/scripts/Installers/Windows2019/Install-Python.ps1 b/images/win/scripts/Installers/Windows2019/Install-Python.ps1 deleted file mode 100644 index 932ec197..00000000 --- a/images/win/scripts/Installers/Windows2019/Install-Python.ps1 +++ /dev/null @@ -1,28 +0,0 @@ -################################################################################ -## File: Install-Python.ps1 -## Desc: Configure python on path with 3.7.* version from the tools cache -## Must run after tools cache is setup -################################################################################ - -Import-Module -Name ImageHelpers -Force - -$python37path = $Env:AGENT_TOOLSDIRECTORY + '/Python/3.7*/x64' -$pythonDir = Get-Item -Path $python37path - -if($pythonDir -is [array]) -{ - Write-Host "More than one python 3.7.* installations found" - Write-Host $pythonDir - exit 1 -} - -$currentPath = Get-MachinePath - -if ($currentPath | Select-String -SimpleMatch $pythonDir.FullName) -{ - Write-Host $pythonDir.FullName ' is already in PATH' - exit 0 -} - -Add-MachinePathItem -PathItem $pythonDir.FullName -Add-MachinePathItem -PathItem "$($pythonDir.FullName)\Scripts" diff --git a/images/win/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1 b/images/win/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1 new file mode 100644 index 00000000..8c2a6cd7 --- /dev/null +++ b/images/win/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1 @@ -0,0 +1,11 @@ +################################################################################### +## File: Install-SSDTExtensions.ps1 +## Desc: Install the extensions previously known as SSDT package +################################################################################### + +Import-Module -Name ImageHelpers -Force + +Install-VsixExtension -Url 'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftAnalysisServicesModelingProjects/2.9.5/vspackage' -Name 'Microsoft.DataTools.AnalysisServices.vsix' -VSversion "2019" +Install-VsixExtension -Url 'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/SSIS/vsextensions/SqlServerIntegrationServicesProjects/3.4/vspackage' -Name 'Microsoft.DataTools.IntegrationServices.exe' -VSversion "2019" +Install-VsixExtension -Url 'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftReportProjectsforVisualStudio/2.6.3/vspackage' -Name 'Microsoft.DataTools.ReportingServices.vsix' -VSversion "2019" + diff --git a/images/win/scripts/Installers/Windows2019/Install-Wix.ps1 b/images/win/scripts/Installers/Windows2019/Install-Wix.ps1 deleted file mode 100644 index 8fc79bc4..00000000 --- a/images/win/scripts/Installers/Windows2019/Install-Wix.ps1 +++ /dev/null @@ -1,53 +0,0 @@ -################################################################################ -## File: Install-Wix.ps1 -## Desc: Install WIX. -################################################################################ -function Install-VsixExtension -{ - Param - ( - [String]$Url, - [String]$Name - ) - - $ReleaseInPath = 'Enterprise' - $exitCode = -1 - - try - { - Write-Host "Downloading $Name..." - $FilePath = "${env:Temp}\$Name" - - Invoke-WebRequest -Uri $Url -OutFile $FilePath - - $ArgumentList = ('/quiet', $FilePath) - - Write-Host "Starting Install $Name..." - $process = Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\$ReleaseInPath\Common7\IDE\VSIXInstaller.exe" -ArgumentList $ArgumentList -Wait -PassThru - $exitCode = $process.ExitCode - - if ($exitCode -eq 0 -or $exitCode -eq 3010) - { - Write-Host -Object 'Installation successful' - return $exitCode - } - else - { - Write-Host -Object "Non zero exit code returned by the installation process : $exitCode." - return $exitCode - } - } - catch - { - Write-Host -Object "Failed to install the Extension $Name" - Write-Host -Object $_.Exception.Message - return -1 - } -} - - -choco install wixtoolset -y --force - -#Installing VS extension 'Wix Toolset Visual Studio 2019 Extension' -$exitCode = Install-VsixExtension -Url 'https://wixtoolset.gallerycdn.vsassets.io/extensions/wixtoolset/wixtoolsetvisualstudio2019extension/1.0.0.4/1563296438961/Votive2019.vsix' -Name 'Votive2019.vsix' -#return $exitCode diff --git a/images/win/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1 b/images/win/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1 deleted file mode 100644 index fad85d51..00000000 --- a/images/win/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1 +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -## File: Validate-AnalysisExtenstion.ps1 -## Desc: Validate Microsoft Analysis Services Projects Visual Studio extension -################################################################################ - -Import-Module -Name ImageHelpers -Force - -#AnalysisPackage doesn't have any proper name in the state.packages.json file, only id is available -$AnalysisPackageVersion = Get-VS19ExtensionVersion -packageName "04a86fc2-dbd5-4222-848e-911638e487fe" - -# Adding description of the software to Markdown -$SoftwareName = "Microsoft Analysis Services Projects Visual Studio Extension" - -$Description = @" -_Version:_ $AnalysisPackageVersion
-"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description \ No newline at end of file diff --git a/images/win/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1 b/images/win/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1 new file mode 100644 index 00000000..731c10ed --- /dev/null +++ b/images/win/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1 @@ -0,0 +1,22 @@ +################################################################################ +## File: Validate-SSDTExtensions.ps1 +## Desc: Validate SQL Server Data Tools Visual Studio extensions +################################################################################ + +Import-Module -Name ImageHelpers -Force + +#These extensions don't have any proper name in the state.packages.json file, only id is available, which can be found on extension marketplace download page +$AnalysisPackageVersion = Get-VSExtensionVersion -packageName "04a86fc2-dbd5-4222-848e-911638e487fe" +$IntegrationPackageVersion = Get-VSExtensionVersion -packageName "851E7A09-7B2B-4F06-A15D-BABFCB26B970" +$ReportingPackageVersion = Get-VSExtensionVersion -packageName "717ad572-c4b7-435c-c166-c2969777f718" + +# Adding description of the software to Markdown +$SoftwareName = "Microsoft SSDT Visual Studio 2019 Extensions" + +$Description = @" +_Microsoft Analysis Services Projects Version:_ $AnalysisPackageVersion
+_SQL Server Integration Services Projects Version:_ $IntegrationPackageVersion
+_Microsoft Reporting Services Projects Version:_ $ReportingPackageVersion
+"@ + +Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description From 1cfa87b4a6b2950af3dc9de3c5405d3f8e50e357 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Tue, 17 Mar 2020 10:54:05 +0300 Subject: [PATCH 18/45] remove boost binaries from path --- images/win/Windows2016-Azure.json | 9 ++---- images/win/Windows2019-Azure.json | 6 ++-- .../win/scripts/Installers/Install-Boost.ps1 | 8 ----- .../win/scripts/Installers/Validate-Boost.ps1 | 29 +------------------ 4 files changed, 6 insertions(+), 46 deletions(-) diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 0ad1e3f4..ed318c65 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -30,8 +30,7 @@ "image_os": "win16", "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}", "go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14", - "go_default": "1.14", - "boost_default": "1.69.0" + "go_default": "1.14" }, "sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"], "builders": [ @@ -517,8 +516,7 @@ { "type": "powershell", "environment_vars": [ - "ROOT_FOLDER={{user `root_folder`}}", - "BOOST_DEFAULT={{user `boost_default`}}" + "ROOT_FOLDER={{user `root_folder`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-Boost.ps1" @@ -652,8 +650,7 @@ { "type": "powershell", "environment_vars": [ - "ROOT_FOLDER={{user `root_folder`}}", - "BOOST_DEFAULT={{user `boost_default`}}" + "ROOT_FOLDER={{user `root_folder`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-Boost.ps1" diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 2023be50..0441f91f 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -30,8 +30,7 @@ "image_os": "win19", "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}", "go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14", - "go_default": "1.14", - "boost_default": "1.72.0" + "go_default": "1.14" }, "sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"], "builders": [ @@ -498,8 +497,7 @@ { "type": "powershell", "environment_vars": [ - "ROOT_FOLDER={{user `root_folder`}}", - "BOOST_DEFAULT={{user `boost_default`}}" + "ROOT_FOLDER={{user `root_folder`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-Boost.ps1" diff --git a/images/win/scripts/Installers/Install-Boost.ps1 b/images/win/scripts/Installers/Install-Boost.ps1 index 0931fb25..d46a150c 100644 --- a/images/win/scripts/Installers/Install-Boost.ps1 +++ b/images/win/scripts/Installers/Install-Boost.ps1 @@ -9,7 +9,6 @@ Import-Module -Name ImageHelpers $SoftwareName = "Boost" $BoostDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName $BoostVersions = (Get-ToolsByName -SoftwareName $SoftwareName).Versions | Foreach-Object {"{0}.0" -f $_} -$BoostDefault = $env:BOOST_DEFAULT foreach($BoostVersion in $BoostVersions) { @@ -17,11 +16,4 @@ foreach($BoostVersion in $BoostVersions) $EnvBoostPath = "BOOST_ROOT_{0}" -f ($BoostVersion.Replace('.', '_')) setx $EnvBoostPath $BoostInstallationDir /M | Out-Null - - if ($BoostVersion -eq $BoostDefault) - { - Write-Host "Adding Boost $BoostVersion to the path..." - # Add the Boost binaries to the path - Add-MachinePathItem $BoostInstallationDir | Out-Null - } } diff --git a/images/win/scripts/Installers/Validate-Boost.ps1 b/images/win/scripts/Installers/Validate-Boost.ps1 index 6289e165..e9b7554e 100644 --- a/images/win/scripts/Installers/Validate-Boost.ps1 +++ b/images/win/scripts/Installers/Validate-Boost.ps1 @@ -18,7 +18,6 @@ function Validate-BoostVersion if (Test-Path "$ReleasePath\b2.exe") { Write-Host "Boost.Build $BoostRelease is successfully installed" - return } @@ -26,17 +25,6 @@ function Validate-BoostVersion exit 1 } -# Verify that Boost is on the path -if (Get-Command -Name 'b2') -{ - Write-Host "Boost is on the path" -} -else -{ - Write-Host "Boost is not on the path" - exit 1 -} - # Adding description of the software to Markdown $tmplMark = @" #### {0} [{2}] @@ -46,14 +34,6 @@ _Environment:_ "@ -$tmplMarkRoot = @" -#### {0} [{2}] - -_Environment:_ -* PATH: contains the location of Boost version {0} -* {1}: root directory of the Boost version {0} installation -"@ - $Description = New-Object System.Text.StringBuilder $SoftwareName = 'Boost' $BoostRootDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName @@ -68,14 +48,7 @@ foreach ($BoostTool in $BoostTools) Validate-BoostVersion -BoostRootPath $BoostRootDirectory -BoostRelease $BoostVersion $BoostVersionTag = "BOOST_ROOT_{0}" -f $BoostVersion.Replace('.', '_') - if($BoostVersion -eq $env:BOOST_DEFAULT) - { - $null = $Description.AppendLine(($tmplMarkRoot -f $BoostVersion, $BoostVersionTag, $BoostToolsetName)) - } - else - { - $null = $Description.AppendLine(($tmplMark -f $BoostVersion, $BoostVersionTag, $BoostToolsetName)) - } + $null = $Description.AppendLine(($tmplMark -f $BoostVersion, $BoostVersionTag, $BoostToolsetName)) } } From 9f49b9c6951b215799714a98a59d0ac29e8737b0 Mon Sep 17 00:00:00 2001 From: Nikita Bykov Date: Tue, 17 Mar 2020 12:03:53 +0300 Subject: [PATCH 19/45] updated docs --- images/linux/scripts/installers/java-tools.sh | 9 +++++---- images/win/scripts/Installers/Validate-JavaTools.ps1 | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/images/linux/scripts/installers/java-tools.sh b/images/linux/scripts/installers/java-tools.sh index c979613e..61d39af0 100644 --- a/images/linux/scripts/installers/java-tools.sh +++ b/images/linux/scripts/installers/java-tools.sh @@ -68,10 +68,11 @@ done # Document what was added to the image echo "Lastly, documenting what we added to the metadata file" -DocumentInstalledItem "Azul Zulu OpenJDK (7) ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))" -DocumentInstalledItem "Azul Zulu OpenJDK (8) ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1))" -DocumentInstalledItem "Azul Zulu OpenJDK (11) ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1))" -DocumentInstalledItem "Azul Zulu OpenJDK (12) ($(/usr/lib/jvm/zulu-12-azure-amd64/bin/java -showversion |& head -n 1))" +DocumentInstalledItem "Azul Zulu OpenJDK:" +DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))" +DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1))" +DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1))" +DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/zulu-12-azure-amd64/bin/java -showversion |& head -n 1)) (default)" DocumentInstalledItem "Ant ($(ant -version))" DocumentInstalledItem "Gradle ${gradleVersion}" DocumentInstalledItem "Maven ($(mvn -version | head -n 1))" diff --git a/images/win/scripts/Installers/Validate-JavaTools.ps1 b/images/win/scripts/Installers/Validate-JavaTools.ps1 index 0fdd5c82..71477689 100644 --- a/images/win/scripts/Installers/Validate-JavaTools.ps1 +++ b/images/win/scripts/Installers/Validate-JavaTools.ps1 @@ -56,7 +56,7 @@ if( $( $(gradle -version) | Out-String) -match 'Gradle (?.*)' ) $SoftwareName = "Java Development Kit" $Description = @" -#### $javaVersion +#### $javaVersion (default) _Environment:_ * JAVA_HOME: location of JDK From 18e371964f547540b369180ff5958bad59bed81e Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Tue, 17 Mar 2020 16:46:13 +0300 Subject: [PATCH 20/45] add helm istallation --- .../win/scripts/Installers/Install-Docker.ps1 | 4 +++ .../scripts/Installers/Validate-Docker.ps1 | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/images/win/scripts/Installers/Install-Docker.ps1 b/images/win/scripts/Installers/Install-Docker.ps1 index cd1f9696..ec4f0d89 100644 --- a/images/win/scripts/Installers/Install-Docker.ps1 +++ b/images/win/scripts/Installers/Install-Docker.ps1 @@ -14,3 +14,7 @@ Install-Package -Name docker -ProviderName DockerMsftProvider -Force Start-Service docker choco install docker-compose -y + +# Install helm +Write-Host "Install Helm" +choco install kubernetes-helm \ No newline at end of file diff --git a/images/win/scripts/Installers/Validate-Docker.ps1 b/images/win/scripts/Installers/Validate-Docker.ps1 index cc9d496e..afa59155 100644 --- a/images/win/scripts/Installers/Validate-Docker.ps1 +++ b/images/win/scripts/Installers/Validate-Docker.ps1 @@ -44,3 +44,29 @@ _Environment:_ "@ Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description + +# Validate helm +if (Get-Command -Name 'helm') +{ + Write-Host "helm on path" + Write-Host "Full version:" + helm version + Write-Host "Short version:" + helm version --short +} +else +{ + Write-Host 'helm is not on path' + exit 1 +} + +$version = $(helm version --short) +$SoftwareName = "Helm" + +$Description = @" +_Version:_ $version
+_Environment:_ +* PATH: contains location of helm +"@ + +Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description \ No newline at end of file From bd63116ffdef4ea1b60de0ddcdf0ae8667018069 Mon Sep 17 00:00:00 2001 From: Alejandro Pauly Date: Tue, 17 Mar 2020 15:00:23 -0400 Subject: [PATCH 21/45] Delete stale Action to avoid missing unanswered issues. --- .github/workflows/stale.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 .github/workflows/stale.yml diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index 40ed1206..00000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Mark stale issues and pull requests - -on: - schedule: - - cron: "0 3 * * *" - -jobs: - stale: - - runs-on: ubuntu-latest - - steps: - - uses: actions/stale@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: 'This issue has not had any activity for 45 days and will be closed in 45 days if there continues to be no activity.' - stale-issue-label: 'no-issue-activity' - days-before-stale: 45 - days-before-close: 45 From 1941e8d57daa65925f3d2b25d856ae0b0149e5fe Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Wed, 18 Mar 2020 10:00:46 +0300 Subject: [PATCH 22/45] remove extra output --- images/win/scripts/Installers/Validate-Docker.ps1 | 2 -- 1 file changed, 2 deletions(-) diff --git a/images/win/scripts/Installers/Validate-Docker.ps1 b/images/win/scripts/Installers/Validate-Docker.ps1 index afa59155..08ec7641 100644 --- a/images/win/scripts/Installers/Validate-Docker.ps1 +++ b/images/win/scripts/Installers/Validate-Docker.ps1 @@ -51,8 +51,6 @@ if (Get-Command -Name 'helm') Write-Host "helm on path" Write-Host "Full version:" helm version - Write-Host "Short version:" - helm version --short } else { From a976829e967b2a4020b80d03ac8dd6d2f7eb3753 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Wed, 18 Mar 2020 10:16:29 +0300 Subject: [PATCH 23/45] remove debug line --- images/win/scripts/Installers/Validate-Docker.ps1 | 2 -- 1 file changed, 2 deletions(-) diff --git a/images/win/scripts/Installers/Validate-Docker.ps1 b/images/win/scripts/Installers/Validate-Docker.ps1 index 08ec7641..9dab4f46 100644 --- a/images/win/scripts/Installers/Validate-Docker.ps1 +++ b/images/win/scripts/Installers/Validate-Docker.ps1 @@ -49,8 +49,6 @@ Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $ if (Get-Command -Name 'helm') { Write-Host "helm on path" - Write-Host "Full version:" - helm version } else { From f490381d0da023015d6389ccea9e464eff2d5f4d Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Wed, 18 Mar 2020 12:07:50 +0000 Subject: [PATCH 24/45] Updating readme file for AzP.20200315.ubuntu16.1 version 20200315 --- images/linux/Ubuntu1604-README.md | 49 +++++++++++++++---------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/images/linux/Ubuntu1604-README.md b/images/linux/Ubuntu1604-README.md index 7b5be124..8af4c531 100644 --- a/images/linux/Ubuntu1604-README.md +++ b/images/linux/Ubuntu1604-README.md @@ -1,10 +1,10 @@ # Ubuntu 16.04.6 LTS -The following software is installed on machines with the 20200308.0 update. +The following software is installed on machines with the 20200315.1 update. *** - 7-Zip 9.20 - Ansible (ansible 2.9.6) - AzCopy (azcopy 7.3.0-netcore) -- Azure CLI (azure-cli 2.1.0) +- Azure CLI (azure-cli 2.2.0) - Azure CLI (azure-devops 0.17.0) - Basic CLI: - curl @@ -14,6 +14,8 @@ The following software is installed on machines with the 20200308.0 update. - iproute2 - iputils-ping - jq + - libc++-dev + - libc++abi-dev - libcurl3 - libicu55 - libunwind8 @@ -32,14 +34,14 @@ The following software is installed on machines with the 20200308.0 update. - wget - zip - zstd -- AWS CLI (aws-cli/1.18.16 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.16) +- AWS CLI (aws-cli/1.18.21 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.21) - build-essential - Clang 6.0 (6.0.1) - Clang 8 (8.0.1) - Clang 9 (9.0.1) - CMake (cmake version 3.16.2) -- Docker Compose (docker-compose version 1.22.0, build f46880fe) -- Docker-Moby (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9) +- Docker Compose (docker-compose version 1.25.4, build 8d51620a) +- Docker-Moby (Docker version 3.0.11+azure, build eb310fca49568dccd87c6136f774ef6fff2a1b51) - .NET Core SDK: - 3.1.101 - 3.1.100 @@ -101,7 +103,7 @@ The following software is installed on machines with the 20200308.0 update. - 2.1.301 - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4) -- Firefox (Mozilla Firefox 73.0.1) +- Firefox (Mozilla Firefox 74.0) - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.4.0 - GNU C++ 8.3.0 @@ -110,14 +112,9 @@ The following software is installed on machines with the 20200308.0 update. - GNU Fortran 9.2.1 - Git (2.25.1) - Git Large File Storage (LFS) (2.10.0) -- Go 1.9 (go version go1.9.7 linux/amd64) -- Go 1.10 (go version go1.10.8 linux/amd64) -- Go 1.11 (go version go1.11.12 linux/amd64) -- Go 1.12 (go version go1.12.7 linux/amd64) -- Go 1.13 (go version go1.13 linux/amd64) - Google Chrome (Google Chrome 80.0.3987.132 ) - ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (283.0.0) +- Google Cloud SDK (284.0.0) - Haskell Cabal (cabal-install version 2.0.0.1 compiled using version 2.0.1.1 of the Cabal library ) - Haskell Cabal (cabal-install version 2.2.0.0 @@ -138,7 +135,7 @@ compiled using version 3.0.2.0 of the Cabal library ) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) - Heroku (heroku/7.39.0 linux-x64 node-v12.13.0) -- HHVM (HipHop VM 4.47.0 (rel)) +- HHVM (HipHop VM 4.48.0 (rel)) - ImageMagick - Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252") - Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242") @@ -148,11 +145,11 @@ compiled using version 3.0.2.0 of the Cabal library ) - Gradle 6.2.2 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.7.0 go1.13.6 linux/amd64) -- kubectl (Client Version: v1.17.3) -- helm (v3.1.1+gafe7058) +- kubectl (Client Version: v1.17.4) +- helm (v3.1.2+gd878d4d) - Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 4.4.1)) -- Miniconda (conda 4.7.12) +- Miniconda (conda 4.8.2) - Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:35 UTC 2020)) - MySQL (mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper) - MySQL Server (user:root password:root) @@ -161,12 +158,12 @@ compiled using version 3.0.2.0 of the Cabal library ) - Grunt (grunt-cli v1.2.0) - Gulp (CLI version: 2.2.0 Local version: Unknown) -- n (6.3.1) +- n (6.4.0) - Parcel (1.12.4) - TypeScript (Version 3.8.3) - Webpack (4.42.0) - Webpack CLI (3.3.11) -- Yarn (1.22.1) +- Yarn (1.22.4) - Bazel (bazel 2.2.0) - Bazelisk (1.3.0) - PhantomJS (2.1.1) @@ -176,7 +173,7 @@ Local version: Unknown) - PHP 7.2 (PHP 7.2.28-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:01) ( NTS )) - PHP 7.3 (PHP 7.3.15-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:10) ( NTS )) - PHP 7.4 (PHP 7.4.3 (cli) (built: Feb 23 2020 07:24:02) ( NTS )) -- Composer (Composer version 1.9.3 2020-02-04 12:58:49) +- Composer (Composer version 1.10.1 2020-03-13 20:34:27) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate - psql (PostgreSQL) 9.5.19 @@ -184,14 +181,12 @@ Local version: Unknown) - ruby (2.3.1p112) - gem (3.1.2) - rustup (1.21.1) -- rust (1.41.1) -- cargo (1.41.0) +- rust (1.42.0) +- cargo (1.42.0) - rustfmt (1.4.11-stable) - clippy (0.0.212) -- rustdoc (1.41.1) -- bindgen (execute -the -0.53.1) +- rustdoc (1.42.0) +- bindgen (0.53.2) - cbindgen (0.13.1) - Julia (julia version 1.3.1) - sbt (1.3.8) @@ -202,6 +197,10 @@ the - Packer (1.5.4) - Vcpkg 2020.02.04-unknownhash - Zeit Now CLI (17.0.4) +- Go 1.11 (go version go1.11.13 linux/amd64) +- Go 1.12 (go version go1.12.17 linux/amd64) +- Go 1.13 (go version go1.13.8 linux/amd64) +- Go 1.14 (go version go1.14 linux/amd64) - Google Repository 58 - Google Play services 49 - Google APIs 24 From c53984f34c9b7f4cee75ae3c176e915a2715d2ab Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Wed, 18 Mar 2020 17:40:02 +0000 Subject: [PATCH 25/45] Updating readme file for AzP.20200316.win16.1 version 20200316 --- images/win/Windows2016-Readme.md | 76 ++++++++------------------------ 1 file changed, 19 insertions(+), 57 deletions(-) diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index c60d1ffa..e8170262 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -1,6 +1,6 @@ # Windows Server 2016 -The following software is installed on machines with the 20200308.0 update. +The following software is installed on machines with the 20200316.1 update. Components marked with **\*** have been upgraded since the previous version of the image. @@ -30,15 +30,15 @@ _Version:_ 7.0.0
## Docker images The following container images have been cached: -* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:2053602020c89ff2d6c0d4005372ebc6cebcf866fb5785e562d91389aa467943) -* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:ca895ab76f1d3ab95f022cbca076e06b62daebafe61af34212bb3ed1fe982d78) -* mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:10e43e24be6eb5f3e19e705a88adb9794b569028f0e0d715d40f25e53e04c3fc) +* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:e53049e13aa29b2df35642fa827c532ceaa78745e6ca72be2cbe74b1d75b5b99) +* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:9d34bebe71fdebfd288b3e87a9b8372e47a9291782c09fbaeb657f8f78817779) +* mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:5bd97dbab1afe8d3200f5d5c974df3b0130e74e8a69fddcd427699c4c8cb5037) * microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c) * mcr.microsoft.com/windows/nanoserver:10.0.14393.953 (Digest: sha256:fc60bd5ae0e61b334ce1cf1bcbf20c10c36b4c5482a01da319c9c989f9e6e268) ## Visual Studio 2017 Enterprise -_Version:_ VisualStudio/15.9.20+28307.1033
+_Version:_ VisualStudio/15.9.21+28307.1064
_Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise The following workloads including required and recommended components are installed with Visual Studio 2017: @@ -415,7 +415,7 @@ _Description:_ .NET has been configured to use TLS 1.2 by default ## Azure CLI -_Version:_ 2.1.0 +_Version:_ 2.2.0 _Environment:_ * PATH: contains location of az.cmd @@ -425,7 +425,7 @@ _Version:_ azure-devops 0.17.0 ## Python -_Version:_ 2.7.17 (x64)
_Version:_ 3.5.4 (x64)
_Version:_ 3.6.8 (x64)
_Version:_ 3.7.6 (x64)
_Version:_ 3.8.2 (x64)
_Version:_ 2.7.17 (x86)
_Version:_ 3.5.4 (x86)
_Version:_ 3.6.8 (x86)
_Version:_ 3.7.6 (x86)
_Version:_ 3.8.2 (x86)
+_Version:_ 2.7.17 (x64)
_Version:_ 3.5.4 (x64)
_Version:_ 3.6.8 (x64)
_Version:_ 3.7.6 (x64)
_Version:_ 3.8.2 (x64)
_Version:_ 2.7.17 (x86)
_Version:_ 3.5.4 (x86)
_Version:_ 3.6.8 (x86)
_Version:_ 3.7.6 (x86)
_Version:_ 3.8.2 (x86)

__System default version:__ Python 3.7.6
_Environment:_
* Location: C:\hostedtoolcache\windows\Python\3.7.6\x64
* PATH: contains the location of Python 3.7.6
## PyPy @@ -433,17 +433,11 @@ _Version:_ 2.7.13 (x86)
_Version:_ 3.6.9 (x86)
## Ruby -_Version:_ 2.4.9 (x64)
_Version:_ 2.5.7 (x64)
_Version:_ 2.6.5 (x64)
_Version:_ 2.7.0 (x64)
+_Version:_ 2.4.9 (x64)
_Version:_ 2.5.7 (x64)
_Version:_ 2.6.5 (x64)
_Version:_ 2.7.0 (x64)

__System default version:__ Ruby 2.5.7p206
_Environment:_
* Location: C:\hostedtoolcache\windows\Ruby\2.5.7\x64\bin
* PATH: contains the location of Ruby 2.5.7p206
* Gem Version: 2.7.6.2
-## Python (64 bit) +## OpenSSL -#### Python 3.6.8 -_Environment:_ -* PATH: contains location of python.exe - -#### Python 2.7.17 - -_Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64 +_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe
_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe
_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe
## Perl @@ -464,32 +458,12 @@ _Environment:_ ## Go (x64) -#### 1.9.7 +#### 1.14 _Environment:_ -* GOROOT_1_9_X64: root directory of the Go 1.9.7 installation - -#### 1.10.8 - -_Environment:_ -* GOROOT_1_10_X64: root directory of the Go 1.10.8 installation - -#### 1.11.12 - -_Environment:_ -* GOROOT_1_11_X64: root directory of the Go 1.11.12 installation - -#### 1.12.7 - -_Environment:_ -* PATH: contains the location of go.exe version 1.12.7 -* GOROOT: root directory of the Go 1.12.7 installation -* GOROOT_1_12_X64: root directory of the Go 1.12.7 installation -#### 1.13 - -_Environment:_ -* GOROOT_1_13_X64: root directory of the Go 1.13 installation - +* PATH: contains the location of go.exe version 1.14 +* GOROOT: root directory of the Go 1.14 installation +* GOROOT_1_14_X64: root directory of the Go 1.14 installation ## Boost @@ -514,17 +488,9 @@ _Environment:_ * PATH: contains the location of php.exe version 7.4.3 * PHPROOT: root directory of the PHP 7.4.3 installation -## Ruby (x64) - -#### 2.5.7p206 -_Environment:_ -* Location: C:\hostedtoolcache\windows\Ruby\2.5.7\x64\bin -* PATH: contains the location of ruby.exe version 2.5.7p206 -* Gem Version: 3.1.2 - ## Rust (64-bit) -#### 1.41.1 +#### 1.42.0 _Location:_ C:\Rust\.cargo\bin _Environment:_ * PATH: contains the location of rustc.exe @@ -556,7 +522,7 @@ _version:_ ## Mozilla Firefox _version:_ -73.0.1 +74.0 ## Selenium Web Drivers @@ -602,7 +568,7 @@ _Environment:_ * PATH: contains location of node.exe
* Gulp CLI version: 2.2.0 Local version: Unknown
* Grunt grunt-cli v1.3.2
-* Yarn 1.22.1
+* Yarn 1.22.4
## npm @@ -823,15 +789,11 @@ _Version:_ 1.4.0
## Inno Setup -_Version:_ 6.0.3
+_Version:_ 6.0.4
## GitVersion -_Version:_ 5.2.0.0
- -## OpenSSL - -_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe
_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe
_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe
_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe
+_Version:_ 5.2.3.0
## Cloud Foundry CLI From 0ddeb1ac4b2e81f45ba752d49ec5825b77141d40 Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Wed, 18 Mar 2020 17:52:20 +0000 Subject: [PATCH 26/45] Updating readme file for AzP.20200316.ubuntu18.1 version 20200316 --- images/linux/Ubuntu1804-README.md | 47 +++++++++++++++---------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md index 94f3547f..61577a94 100644 --- a/images/linux/Ubuntu1804-README.md +++ b/images/linux/Ubuntu1804-README.md @@ -1,10 +1,10 @@ # Ubuntu 18.04.4 LTS -The following software is installed on machines with the 20200308.0 update. +The following software is installed on machines with the 20200316.1 update. *** - 7-Zip 16.02 - Ansible (ansible 2.9.6) - AzCopy (azcopy 7.3.0-netcore) -- Azure CLI (azure-cli 2.1.0) +- Azure CLI (azure-cli 2.2.0) - Azure CLI (azure-devops 0.17.0) - Basic CLI: - curl @@ -32,14 +32,14 @@ The following software is installed on machines with the 20200308.0 update. - wget - zip - zstd -- AWS CLI (aws-cli/1.18.16 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.16) +- AWS CLI (aws-cli/1.18.21 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.21) - build-essential - Clang 6.0 (6.0.1) - Clang 8 (8.0.1) - Clang 9 (9.0.0) - CMake (cmake version 3.16.2) -- Docker Compose (docker-compose version 1.22.0, build f46880fe) -- Docker-Moby (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9) +- Docker Compose (docker-compose version 1.25.4, build 8d51620a) +- Docker-Moby (Docker version 3.0.11+azure, build eb310fca49568dccd87c6136f774ef6fff2a1b51) - .NET Core SDK: - 3.1.101 - 3.1.100 @@ -101,21 +101,18 @@ The following software is installed on machines with the 20200308.0 update. - 2.1.301 - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4) -- Firefox (Mozilla Firefox 73.0.1) +- Firefox (Mozilla Firefox 74.0) - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable -- GNU C++ 7.4.0 +- GNU C++ 7.5.0 - GNU C++ 8.3.0 - GNU C++ 9.2.1 - GNU Fortran 8.3.0 - GNU Fortran 9.2.1 - Git (2.25.1) - Git Large File Storage (LFS) (2.10.0) -- Go 1.11 (go version go1.11.12 linux/amd64) -- Go 1.12 (go version go1.12.7 linux/amd64) -- Go 1.13 (go version go1.13 linux/amd64) - Google Chrome (Google Chrome 80.0.3987.132 ) - ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (283.0.0) +- Google Cloud SDK (284.0.0) - Haskell Cabal (cabal-install version 2.0.0.1 compiled using version 2.0.1.1 of the Cabal library ) - Haskell Cabal (cabal-install version 2.2.0.0 @@ -136,7 +133,7 @@ compiled using version 3.0.2.0 of the Cabal library ) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) - Heroku (heroku/7.39.0 linux-x64 node-v12.13.0) -- HHVM (HipHop VM 4.47.0 (rel)) +- HHVM (HipHop VM 4.48.0 (rel)) - ImageMagick - Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252") - Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242") @@ -146,11 +143,11 @@ compiled using version 3.0.2.0 of the Cabal library ) - Gradle 6.2.2 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.7.0 go1.13.6 linux/amd64) -- kubectl (Client Version: v1.17.3) -- helm (v3.1.1+gafe7058) +- kubectl (Client Version: v1.17.4) +- helm (v3.1.2+gd878d4d) - Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 4.5.3)) -- Miniconda (conda 4.7.12) +- Miniconda (conda 4.8.2) - Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:20 UTC 2020)) - MySQL (mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper) - MySQL Server (user:root password:root) @@ -159,12 +156,12 @@ compiled using version 3.0.2.0 of the Cabal library ) - Grunt (grunt-cli v1.2.0) - Gulp (CLI version: 2.2.0 Local version: Unknown) -- n (6.3.1) +- n (6.4.0) - Parcel (1.12.4) - TypeScript (Version 3.8.3) - Webpack (4.42.0) - Webpack CLI (3.3.11) -- Yarn (1.22.1) +- Yarn (1.22.4) - Bazel (bazel 2.2.0) - Bazelisk (1.3.0) - PhantomJS (2.1.1) @@ -172,7 +169,7 @@ Local version: Unknown) - PHP 7.2 (PHP 7.2.28-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:25) ( NTS )) - PHP 7.3 (PHP 7.3.15-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:33) ( NTS )) - PHP 7.4 (PHP 7.4.3 (cli) (built: Feb 23 2020 07:24:28) ( NTS )) -- Composer (Composer version 1.9.3 2020-02-04 12:58:49) +- Composer (Composer version 1.10.1 2020-03-13 20:34:27) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate - psql (PostgreSQL) 10.12 @@ -180,14 +177,12 @@ Local version: Unknown) - ruby (2.5.1p57) - gem (3.1.2) - rustup (1.21.1) -- rust (1.41.1) -- cargo (1.41.0) +- rust (1.42.0) +- cargo (1.42.0) - rustfmt (1.4.11-stable) - clippy (0.0.212) -- rustdoc (1.41.1) -- bindgen (execute -the -0.53.1) +- rustdoc (1.42.0) +- bindgen (0.53.2) - cbindgen (0.13.1) - Julia (julia version 1.3.1) - sbt (1.3.8) @@ -198,6 +193,10 @@ the - Packer (1.5.4) - Vcpkg 2020.02.04-unknownhash - Zeit Now CLI (17.0.4) +- Go 1.11 (go version go1.11.13 linux/amd64) +- Go 1.12 (go version go1.12.17 linux/amd64) +- Go 1.13 (go version go1.13.8 linux/amd64) +- Go 1.14 (go version go1.14 linux/amd64) - Google Repository 58 - Google Play services 49 - Google APIs 24 From b7714ce050888355c6ac0611539afc190ffd8b1d Mon Sep 17 00:00:00 2001 From: Nikita Bykov Date: Thu, 19 Mar 2020 15:37:31 +0300 Subject: [PATCH 27/45] added Win10 SDK to 2019 env --- images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 b/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 index a9658fd7..1ccd5c42 100644 --- a/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 +++ b/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 @@ -121,6 +121,7 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre ' + ` + '--add Microsoft.VisualStudio.Component.Windows10SDK.14393 ' + ` '--add Microsoft.VisualStudio.Component.Windows10SDK.16299 ' + ` '--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + ` '--add Microsoft.VisualStudio.Component.Windows10SDK.17763 ' + ` From 231b522b32c2618e052a847b6f8340955ef2cd8d Mon Sep 17 00:00:00 2001 From: Marco Mansi Date: Thu, 19 Mar 2020 16:20:32 +0100 Subject: [PATCH 28/45] Solve error with Set-ExecutionPolicy --- images/win/Windows2016-Azure.json | 3 ++- images/win/Windows2019-Azure.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 0ad1e3f4..16d9cea8 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -101,7 +101,8 @@ ], "scripts":[ "{{ template_dir }}/scripts/Installers/Windows2016/Initialize-VM.ps1" - ] + ], + "execution_policy": "unrestricted" }, { "type": "powershell", diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 2023be50..8c9aa7a2 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -101,7 +101,8 @@ ], "scripts":[ "{{ template_dir }}/scripts/Installers/Windows2019/Initialize-VM.ps1" - ] + ], + "execution_policy": "unrestricted" }, { "type": "powershell", From a0f02d634c32cf010c02f670c7aa2dfeb756d316 Mon Sep 17 00:00:00 2001 From: Nikita Bykov Date: Fri, 20 Mar 2020 09:42:31 +0300 Subject: [PATCH 29/45] fixed default version mark --- images/linux/scripts/installers/java-tools.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/linux/scripts/installers/java-tools.sh b/images/linux/scripts/installers/java-tools.sh index 61d39af0..e24ebb24 100644 --- a/images/linux/scripts/installers/java-tools.sh +++ b/images/linux/scripts/installers/java-tools.sh @@ -71,8 +71,8 @@ echo "Lastly, documenting what we added to the metadata file" DocumentInstalledItem "Azul Zulu OpenJDK:" DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))" DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1))" -DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1))" -DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/zulu-12-azure-amd64/bin/java -showversion |& head -n 1)) (default)" +DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1)) (default)" +DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/zulu-12-azure-amd64/bin/java -showversion |& head -n 1))" DocumentInstalledItem "Ant ($(ant -version))" DocumentInstalledItem "Gradle ${gradleVersion}" DocumentInstalledItem "Maven ($(mvn -version | head -n 1))" From 1da149aefd72c3a6a07f4fd87ccdf74e695e99e2 Mon Sep 17 00:00:00 2001 From: Nikita Bykov Date: Fri, 20 Mar 2020 10:22:15 +0300 Subject: [PATCH 30/45] fixed default version mark --- images/linux/scripts/installers/java-tools.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/linux/scripts/installers/java-tools.sh b/images/linux/scripts/installers/java-tools.sh index e24ebb24..c4586039 100644 --- a/images/linux/scripts/installers/java-tools.sh +++ b/images/linux/scripts/installers/java-tools.sh @@ -70,8 +70,8 @@ done echo "Lastly, documenting what we added to the metadata file" DocumentInstalledItem "Azul Zulu OpenJDK:" DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))" -DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1))" -DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1)) (default)" +DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1)) (default)" +DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1))" DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/zulu-12-azure-amd64/bin/java -showversion |& head -n 1))" DocumentInstalledItem "Ant ($(ant -version))" DocumentInstalledItem "Gradle ${gradleVersion}" From a4c66572ab7d009b024edc907c89cd2f8620291f Mon Sep 17 00:00:00 2001 From: Michael Mainer Date: Fri, 20 Mar 2020 01:14:49 -0700 Subject: [PATCH 31/45] Update Install-PHP.ps1 to include Composer 1. Install Composer from Chocolatey. PHP needs its dependency manager. 2. Enable php_openssl.dll - believe this is necessary in the case someone wants to update Composer. **Reference** https://chocolatey.org/packages/composer https://github.com/actions/virtual-environments/issues/587 https://superuser.com/questions/1010080/the-openssl-extension-is-missing-on-windows-while-installing-composer --- images/win/scripts/Installers/Install-PHP.ps1 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/images/win/scripts/Installers/Install-PHP.ps1 b/images/win/scripts/Installers/Install-PHP.ps1 index 02d38931..72db2ee2 100644 --- a/images/win/scripts/Installers/Install-PHP.ps1 +++ b/images/win/scripts/Installers/Install-PHP.ps1 @@ -10,8 +10,11 @@ Import-Module -Name ImageHelpers $installDir = "c:\tools\php" choco install php -y --force --params "/InstallDir:$installDir" -# update path to extensions and enable curl and mbstring extensions -((Get-Content -path $installDir\php.ini -Raw) -replace ';extension=curl','extension=curl' -replace ';extension=mbstring','extension=mbstring' -replace ';extension_dir = "ext"','extension_dir = "ext"') | Set-Content -Path $installDir\php.ini +# Install latest Composer in chocolatey +choco install composer --ia "/DEV=$installDir /PHP=$installDir" + +# update path to extensions and enable curl and mbstring extensions, and enable php openssl extensions. +((Get-Content -path $installDir\php.ini -Raw) -replace ';extension=curl','extension=curl' -replace ';extension=mbstring','extension=mbstring' -replace ';extension_dir = "ext"','extension_dir = "ext"' -replace 'extension=";php_openssl.dll"','extension_dir = "php_openssl.dll"') | Set-Content -Path $installDir\php.ini # Set the PHPROOT environment variable. setx PHPROOT $installDir /M From 030197e844770f3fe5bc46c0544499f43655f9aa Mon Sep 17 00:00:00 2001 From: Michael Mainer Date: Fri, 20 Mar 2020 01:50:21 -0700 Subject: [PATCH 32/45] Update Validate-PHP.ps1 Add validation for composer install --- .../win/scripts/Installers/Validate-PHP.ps1 | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/images/win/scripts/Installers/Validate-PHP.ps1 b/images/win/scripts/Installers/Validate-PHP.ps1 index a8663617..f2f26a52 100644 --- a/images/win/scripts/Installers/Validate-PHP.ps1 +++ b/images/win/scripts/Installers/Validate-PHP.ps1 @@ -33,6 +33,32 @@ else exit 1 } +# Verify that composer.exe is on the path +if(Get-Command -Name 'composer') +{ + Write-Host "$(composer --version) is on the path." +} +else +{ + Write-Host "composer is not on the path." + exit 1 +} + +# Get the composer version. +$composerVersion = $(composer --version) + +# Add composer version details in Markdown +$SoftwareName = "Composer" +$Description = @" +#### $composerVersion + +_Environment:_ +* PATH: contains the location of composer.exe version $composerVersion +* PHPROOT: root directory of the Composer $composerVersion installation +"@ + +Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description + # Get available versions of PHP $phpVersionOnPath = Get-PHPVersion -phpRootPath "C:\tools\php72" From 2123c3ae499326998b351ca1838be3d56207a57c Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Fri, 20 Mar 2020 13:46:12 +0300 Subject: [PATCH 33/45] Update templates --- .github/PULL_REQUEST_TEMPLATE/bug-fixing.md | 17 +++++++++++ .../PULL_REQUEST_TEMPLATE/new-tool-adding.md | 29 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE/bug-fixing.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/new-tool-adding.md diff --git a/.github/PULL_REQUEST_TEMPLATE/bug-fixing.md b/.github/PULL_REQUEST_TEMPLATE/bug-fixing.md new file mode 100644 index 00000000..751c1075 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/bug-fixing.md @@ -0,0 +1,17 @@ +--- +name: Bug fixing and improvements +about: Fix existing bug with images or code improvements +title: '' +labels: '' +assignees: '' + +--- + +**Description** + +Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. + +**Check list** +- [ ] non-breaking change which fixes an issue +- [ ] breaking change / regression +- [ ] Related images are successfully generated \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/new-tool-adding.md b/.github/PULL_REQUEST_TEMPLATE/new-tool-adding.md new file mode 100644 index 00000000..86b282d9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/new-tool-adding.md @@ -0,0 +1,29 @@ +--- +name: Add new tool +about: Add a new tool or update the existing one +title: Update/Add [tool name] +labels: '' +assignees: '' + +--- + +**Tool information** +- Tool name: +- URL for tool's homepage: +- Installation time: +- Total size: +- Related issue: + +**Virtual environments affected** +- [ ] macOS 10.15 +- [ ] Ubuntu 16.04 LTS +- [ ] Ubuntu 18.04 LTS +- [ ] Windows Server 2016 R2 +- [ ] Windows Server 2019 + +**Check list** +- [ ] Installation time is provided +- [ ] Tool size is provided +- [ ] Tests are written +- [ ] Documentation is added +- [ ] Related images are successfully generated \ No newline at end of file From c826d5af2625c3aaa36331dc9a1589676ef0a01b Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Fri, 20 Mar 2020 14:06:42 +0300 Subject: [PATCH 34/45] try --- .github/PULL_REQUEST_TEMPLATE/bug-fixing.md | 17 ----------------- ...-tool-adding.md => pull_request_template.md} | 9 ++------- 2 files changed, 2 insertions(+), 24 deletions(-) delete mode 100644 .github/PULL_REQUEST_TEMPLATE/bug-fixing.md rename .github/{PULL_REQUEST_TEMPLATE/new-tool-adding.md => pull_request_template.md} (75%) diff --git a/.github/PULL_REQUEST_TEMPLATE/bug-fixing.md b/.github/PULL_REQUEST_TEMPLATE/bug-fixing.md deleted file mode 100644 index 751c1075..00000000 --- a/.github/PULL_REQUEST_TEMPLATE/bug-fixing.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: Bug fixing and improvements -about: Fix existing bug with images or code improvements -title: '' -labels: '' -assignees: '' - ---- - -**Description** - -Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. - -**Check list** -- [ ] non-breaking change which fixes an issue -- [ ] breaking change / regression -- [ ] Related images are successfully generated \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/new-tool-adding.md b/.github/pull_request_template.md similarity index 75% rename from .github/PULL_REQUEST_TEMPLATE/new-tool-adding.md rename to .github/pull_request_template.md index 86b282d9..c4074af8 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new-tool-adding.md +++ b/.github/pull_request_template.md @@ -1,11 +1,6 @@ ---- -name: Add new tool -about: Add a new tool or update the existing one -title: Update/Add [tool name] -labels: '' -assignees: '' +**Description** ---- +Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. **Tool information** - Tool name: From 14e4c3e0413d6fad46cde60e6ff4454dbc2b8419 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Mon, 23 Mar 2020 12:44:41 +0300 Subject: [PATCH 35/45] update template --- .github/pull_request_template.md | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index c4074af8..f6474e24 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,24 +1,12 @@ -**Description** +**Description** +New tool, Bug fixing, or Improvement? +Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. +For new tools, provide total size and installation time. -Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. - -**Tool information** -- Tool name: -- URL for tool's homepage: -- Installation time: -- Total size: -- Related issue: - -**Virtual environments affected** -- [ ] macOS 10.15 -- [ ] Ubuntu 16.04 LTS -- [ ] Ubuntu 18.04 LTS -- [ ] Windows Server 2016 R2 -- [ ] Windows Server 2019 +**Related issue:** **Check list** -- [ ] Installation time is provided -- [ ] Tool size is provided -- [ ] Tests are written -- [ ] Documentation is added -- [ ] Related images are successfully generated \ No newline at end of file +- [ ] Related issue / work item is attached +- [ ] Tests are written (if applicable) +- [ ] Documentation is updated (if applicable) +- [ ] Changes are tested and related VM images are succefully generated From 144081916b0180245c4fd1ff84cf7efcbc92b25d Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Mon, 23 Mar 2020 12:48:02 +0300 Subject: [PATCH 36/45] Update pull_request_template.md --- .github/pull_request_template.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index f6474e24..9c65c9a7 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,11 +1,11 @@ -**Description** +**Description:** New tool, Bug fixing, or Improvement? -Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. +Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. For new tools, provide total size and installation time. **Related issue:** -**Check list** +**Check list:** - [ ] Related issue / work item is attached - [ ] Tests are written (if applicable) - [ ] Documentation is updated (if applicable) From 60cfda73991c462ac484c2fb6c926c452777cc4e Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Mon, 23 Mar 2020 13:03:46 +0300 Subject: [PATCH 37/45] correct words --- .github/pull_request_template.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9c65c9a7..2ee51fcc 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,7 +1,7 @@ **Description:** New tool, Bug fixing, or Improvement? -Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. -For new tools, provide total size and installation time. +Please include a summary of the change and which issue is fixed. Also include relevant motivation and context. +For new tools, please provide total size and installation time. **Related issue:** From dae1aa3be4f0b424b56b717a401c58bade51904f Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Mon, 23 Mar 2020 20:18:05 +0300 Subject: [PATCH 38/45] Update based on SergeyAkh comments --- .github/pull_request_template.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 2ee51fcc..e645fafc 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,11 +1,11 @@ -**Description:** +# Description New tool, Bug fixing, or Improvement? Please include a summary of the change and which issue is fixed. Also include relevant motivation and context. -For new tools, please provide total size and installation time. +**For new tools, please provide total size and installation time.** -**Related issue:** +#### Related issue: -**Check list:** +## Check list - [ ] Related issue / work item is attached - [ ] Tests are written (if applicable) - [ ] Documentation is updated (if applicable) From 62164dd90dc9d483aa1a329947398a60e615bdb7 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Tue, 24 Mar 2020 08:09:54 +0300 Subject: [PATCH 39/45] fix spelling --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index e645fafc..54085c9b 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -9,4 +9,4 @@ Please include a summary of the change and which issue is fixed. Also include re - [ ] Related issue / work item is attached - [ ] Tests are written (if applicable) - [ ] Documentation is updated (if applicable) -- [ ] Changes are tested and related VM images are succefully generated +- [ ] Changes are tested and related VM images are successfully generated From 9b3924a23d947d636da1691f70b26230d174ddae Mon Sep 17 00:00:00 2001 From: Dibir Magomedsaygitov <61747324+dibir-magomedsaygitov@users.noreply.github.com> Date: Tue, 24 Mar 2020 09:17:38 +0300 Subject: [PATCH 40/45] Move "Run-Antivirus" step outside of image-generation (#574) * Move "Run-Antivirus" step outside of image-generation Co-authored-by: Dibir Magomedsaygitov --- images/win/Windows2016-Azure.json | 12 +++++++- images/win/Windows2019-Azure.json | 12 +++++++- .../Installers/Configure-Antivirus.ps1 | 2 ++ .../win/scripts/Installers/Run-Antivirus.ps1 | 30 +++++++++++++++++++ .../Installers/Windows2016/Run-Antivirus.ps1 | 19 ------------ .../Installers/Windows2019/Run-Antivirus.ps1 | 27 ----------------- 6 files changed, 54 insertions(+), 48 deletions(-) create mode 100644 images/win/scripts/Installers/Configure-Antivirus.ps1 create mode 100644 images/win/scripts/Installers/Run-Antivirus.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Run-Antivirus.ps1 delete mode 100644 images/win/scripts/Installers/Windows2019/Run-Antivirus.ps1 diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 16d9cea8..2d5f86f0 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -15,6 +15,7 @@ "virtual_network_subnet_name": "{{env `VNET_SUBNET`}}", "private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}", "vm_size": "Standard_DS4_v2", + "run_scan_antivirus": "false", "root_folder": "C:", "image_folder": "C:\\image", @@ -876,8 +877,17 @@ }, { "type": "powershell", + "environment_vars":[ + "RUN_SCAN_ANTIVIRUS={{user `run_scan_antivirus`}}" + ], "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Run-Antivirus.ps1" + "{{ template_dir }}/scripts/Installers/Run-Antivirus.ps1" + ] + }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Configure-Antivirus.ps1" ] }, { diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 8c9aa7a2..5c7be897 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -15,6 +15,7 @@ "virtual_network_subnet_name": "{{env `VNET_SUBNET`}}", "private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}", "vm_size": "Standard_DS4_v2", + "run_scan_antivirus": "false", "root_folder": "C:", "image_folder": "C:\\image", @@ -869,8 +870,17 @@ }, { "type": "powershell", + "environment_vars":[ + "RUN_SCAN_ANTIVIRUS={{user `run_scan_antivirus`}}" + ], "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Run-Antivirus.ps1" + "{{ template_dir }}/scripts/Installers/Run-Antivirus.ps1" + ] + }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Configure-Antivirus.ps1" ] }, { diff --git a/images/win/scripts/Installers/Configure-Antivirus.ps1 b/images/win/scripts/Installers/Configure-Antivirus.ps1 new file mode 100644 index 00000000..650d3a98 --- /dev/null +++ b/images/win/scripts/Installers/Configure-Antivirus.ps1 @@ -0,0 +1,2 @@ +Write-Host "Set antivirus parameters" +Set-MpPreference -ScanAvgCPULoadFactor 5 -ExclusionPath "D:\", "C:\" \ No newline at end of file diff --git a/images/win/scripts/Installers/Run-Antivirus.ps1 b/images/win/scripts/Installers/Run-Antivirus.ps1 new file mode 100644 index 00000000..7993146a --- /dev/null +++ b/images/win/scripts/Installers/Run-Antivirus.ps1 @@ -0,0 +1,30 @@ +################################################################################ +## File: Run-Antivirus.ps1 +## Desc: Run a full antivirus scan. +## Run right after cleanup before we sysprep +################################################################################ + +if ($env:run_scan_antivirus -eq $true) { + try { + Update-MpSignature + } + catch { + Write-Host "Some error was found" + Write-Host $_ + } + + Write-Host "Make sure windefend is going to start" + Start-Service windefend -ErrorAction Continue + Write-Host "Waiting for windefend to report as running" + $service = Get-Service "Windefend" + $service.WaitForStatus("Running","00:10:00") + + Write-Host "Run antivirus" + # Tell Defender to use 100% of the CPU during the scan + Set-MpPreference -ScanAvgCPULoadFactor 100 + # Full Scan + Start-Process -FilePath "C:\Program Files\Windows Defender\MpCmdRun.exe" -ArgumentList ("-Scan","-ScanType", 2) -Wait +} +else { + Write-Host "Scanning process has been skipped" +} \ No newline at end of file diff --git a/images/win/scripts/Installers/Windows2016/Run-Antivirus.ps1 b/images/win/scripts/Installers/Windows2016/Run-Antivirus.ps1 deleted file mode 100644 index 77b3b2bc..00000000 --- a/images/win/scripts/Installers/Windows2016/Run-Antivirus.ps1 +++ /dev/null @@ -1,19 +0,0 @@ -################################################################################ -## File: Run-Antivirus.ps1 -## Desc: Run a full antivirus scan. -## Run right after cleanup before we sysprep -################################################################################ - -Write-Host "Run antivirus" -Push-Location "C:\Program Files\Windows Defender" - -# Tell Defender to use 100% of the CPU during the scan -Set-MpPreference -ScanAvgCPULoadFactor 100 - -# Full Scan -.\MpCmdRun.exe -Scan -ScanType 2 -Pop-Location - -Write-Host "Set antivirus parmeters" -Set-MpPreference -ScanAvgCPULoadFactor 5 ` - -ExclusionPath "D:\", "C:\" diff --git a/images/win/scripts/Installers/Windows2019/Run-Antivirus.ps1 b/images/win/scripts/Installers/Windows2019/Run-Antivirus.ps1 deleted file mode 100644 index e38126af..00000000 --- a/images/win/scripts/Installers/Windows2019/Run-Antivirus.ps1 +++ /dev/null @@ -1,27 +0,0 @@ -################################################################################ -## File: Run-Antivirus.ps1 -## Desc: Run a full antivirus scan. -## Run right after cleanup before we sysprep -################################################################################ - -Write-Host "Make sure windefend is going to start" -Start-Service windefend -ErrorAction Continue - -Write-Host "Waiting for windefend to report as running" -$service = Get-Service "Windefend" -$service.WaitForStatus("Running","00:10:00") - -Write-Host "Run antivirus" -Push-Location "C:\Program Files\Windows Defender" - -# Tell Defender to use 100% of the CPU during the scan -Set-MpPreference -ScanAvgCPULoadFactor 100 - -# Full Scan -.\MpCmdRun.exe -Scan -ScanType 2 -Pop-Location - -Update-MpSignature -Write-Host "Set antivirus parmeters" -Set-MpPreference -ScanAvgCPULoadFactor 5 ` - -ExclusionPath "D:\", "C:\" From 444ab15a64baa452e031f462b9696e72add44ca5 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Mon, 23 Mar 2020 07:54:11 +0700 Subject: [PATCH 41/45] rust: Use rustup's minimal profile --- images/linux/scripts/installers/rust.sh | 8 +++----- images/win/scripts/Installers/Install-Rust.ps1 | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/images/linux/scripts/installers/rust.sh b/images/linux/scripts/installers/rust.sh index 571538a3..850868a4 100644 --- a/images/linux/scripts/installers/rust.sh +++ b/images/linux/scripts/installers/rust.sh @@ -12,16 +12,14 @@ set -e export RUSTUP_HOME=/usr/share/rust/.rustup export CARGO_HOME=/usr/share/rust/.cargo -curl https://sh.rustup.rs -sSf | sh -s -- -y +curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain=stable --profile=minimal # Initialize environment variables source $CARGO_HOME/env # Install common tools -rustup component add rustfmt -rustup component add clippy -cargo install bindgen -cargo install cbindgen +rustup component add rustfmt clippy +cargo install bindgen cbindgen echo "Test installation of the Rust toochain" diff --git a/images/win/scripts/Installers/Install-Rust.ps1 b/images/win/scripts/Installers/Install-Rust.ps1 index e19cd4c1..61588a86 100644 --- a/images/win/scripts/Installers/Install-Rust.ps1 +++ b/images/win/scripts/Installers/Install-Rust.ps1 @@ -14,7 +14,7 @@ $env:CARGO_HOME="C:\Rust\.cargo" Invoke-WebRequest -UseBasicParsing -Uri "https://win.rustup.rs/x86_64" -OutFile rustup-init.exe # Install Rust by running rustup-init.exe (disabling the confirmation prompt with -y) -.\rustup-init.exe -y +.\rustup-init.exe -y --default-toolchain=stable --profile=minimal # Delete rustup-init.exe when it's no longer needed Remove-Item -Path .\rustup-init.exe @@ -24,10 +24,8 @@ Add-MachinePathItem "$env:CARGO_HOME\bin" $env:Path = Get-MachinePath # Install common tools -rustup component add rustfmt -rustup component add clippy -cargo install bindgen -cargo install cbindgen +rustup component add rustfmt clippy +cargo install bindgen cbindgen # Run script at startup for all users $cmdRustSymScript = @" From 8399806f3c02ba492d60f85cb083935fdbebc83e Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Tue, 24 Mar 2020 13:23:57 +0300 Subject: [PATCH 42/45] Fix NSIS documentation (#604) --- images/win/scripts/Installers/Validate-NSIS.ps1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/images/win/scripts/Installers/Validate-NSIS.ps1 b/images/win/scripts/Installers/Validate-NSIS.ps1 index b38624e7..276eb139 100644 --- a/images/win/scripts/Installers/Validate-NSIS.ps1 +++ b/images/win/scripts/Installers/Validate-NSIS.ps1 @@ -28,5 +28,4 @@ $Description = @" _Version:_ $Version
"@ -#Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description -Write-Host $description +Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description From 6e34be02e45564cb165fceec60412ad69d270e18 Mon Sep 17 00:00:00 2001 From: FrankZ <10498090+frankzo@users.noreply.github.com> Date: Wed, 25 Mar 2020 17:54:03 +0100 Subject: [PATCH 43/45] Removeboostenv (#619) * remove BOOST_DEFAULT from 2019 * refrain from format changes Co-authored-by: Frank Zomer --- images/win/Windows2019-Azure.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 3ebbea24..c93f79e7 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -639,8 +639,7 @@ { "type": "powershell", "environment_vars": [ - "ROOT_FOLDER={{user `root_folder`}}", - "BOOST_DEFAULT={{user `boost_default`}}" + "ROOT_FOLDER={{user `root_folder`}}" ], "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-Boost.ps1" From cef6c2e54c2915719a6f3131f9cabb3382c091a5 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov <47745270+al-cheb@users.noreply.github.com> Date: Wed, 25 Mar 2020 22:31:01 +0300 Subject: [PATCH 44/45] fix clang-8 installation --- images/linux/scripts/installers/clang.sh | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/images/linux/scripts/installers/clang.sh b/images/linux/scripts/installers/clang.sh index 1ca4cde2..631be190 100644 --- a/images/linux/scripts/installers/clang.sh +++ b/images/linux/scripts/installers/clang.sh @@ -12,13 +12,11 @@ function InstallClang { version=$1 echo "Installing clang-$version..." - # Clang 6.0 is not supported by automatic installation script (`llvm.sh`) - # Thus we have to install it explicitly - if [[ $version == 6* ]]; then - apt-get install -y "clang-$version" "lldb-$version" "lld-$version" - else + if [[ $version =~ 9 ]]; then ./llvm.sh $version apt-get install -y "clang-format-$version" + else + apt-get install -y "clang-$version" "lldb-$version" "lld-$version" "clang-format-$version" fi # Run tests to determine that the software installed as expected @@ -35,11 +33,6 @@ function InstallClang { DocumentInstalledItem "Clang $version ($(clang-$version --version | head -n 1 | cut -d ' ' -f 3 | cut -d '-' -f 1))" } -# Install Clang compiler -wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - -apt-add-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-6.0 main" -apt-get update -y - # Download script for automatic installation wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh From b0882a148ca333f830198c3935b1e9f5d92be823 Mon Sep 17 00:00:00 2001 From: Andy Mishechkin <57713077+andy-mishechkin@users.noreply.github.com> Date: Thu, 26 Mar 2020 10:51:59 +0300 Subject: [PATCH 45/45] mac OS 10.15 software updates week 13 (#612) * macOS Catalina 10.15.3 sofware updates week 13 * Image date has been fixed --- images/macos/macos-10.15-Readme.md | 52 +++++++++++++++++------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/images/macos/macos-10.15-Readme.md b/images/macos/macos-10.15-Readme.md index 10c9ac28..ec7f0a4e 100644 --- a/images/macos/macos-10.15-Readme.md +++ b/images/macos/macos-10.15-Readme.md @@ -1,5 +1,5 @@ # macOS Catalina 10.15.3 (19D76) -The following software is installed on machines with the 20200307.2 update. +The following software is installed on machines with the 20200321.1 update. #### Xcode 11.3.1 set by default ## Operating System @@ -13,37 +13,38 @@ The following software is installed on machines with the 20200307.2 update. - Java 11: Zulu11.37+17-CA (build 11.0.6+10-LTS) - Java 12: Zulu12.3+11-CA (build 12.0.2+3) - Java 13: Zulu13.29+9-CA (build 13.0.2+6-MTS) -- Rust 1.41.1 +- Java 14: Zulu14.27+1-CA (build 14+36) +- Rust 1.42.0 - Clang/LLVM 9.0.1 -- gcc-8 (Homebrew GCC 8.3.0_2) 8.3.0 -- gcc-9 (Homebrew GCC 9.2.0_3) 9.2.0 -- GNU Fortran (Homebrew GCC 8.3.0_2) 8.3.0 -- GNU Fortran (Homebrew GCC 9.2.0_3) 9.2.0 +- gcc-8 (Homebrew GCC 8.4.0) 8.4.0 +- gcc-9 (Homebrew GCC 9.3.0) 9.3.0 +- GNU Fortran (Homebrew GCC 8.4.0) 8.4.0 +- GNU Fortran (Homebrew GCC 9.3.0) 9.3.0 - Node.js v12.16.1 - NVM 0.33.11 -- NVM - Cached node versions: v6.17.1 v8.17.0 v10.19.0 v12.16.1 v13.10.1 +- NVM - Cached node versions: v6.17.1 v8.17.0 v10.19.0 v12.16.1 v13.11.0 - PowerShell 7.0.0 - Python 2.7.17 -- Python 3.7.6 +- Python 3.7.7 - Ruby 2.6.5p114 -- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 +- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 - Go 1.14 -- PHP 7.4.3 -- julia 1.3.1 +- PHP 7.4.4 +- julia 1.4.0 ### Package Management - Rustup 1.21.1 - Vcpkg 2020.02.04 - Bundler version 2.1.4 - Carthage 0.34.0 -- CocoaPods 1.9.0 -- Homebrew 2.2.9 +- CocoaPods 1.9.1 +- Homebrew 2.2.10 - NPM 6.13.4 -- Yarn 1.22.1 +- Yarn 1.22.4 - NuGet 5.4.0.6315 - Pip 19.3.1 (python 2.7) -- Pip 19.3.1 (python 3.7) -- Miniconda 4.7.12 +- Pip 20.0.2 (python 3.7) +- Miniconda 4.8.2 - RubyGems 3.1.2 ### Project Management @@ -51,9 +52,10 @@ The following software is installed on machines with the 20200307.2 update. - Gradle 6.2.2 ### Utilities -- Curl 7.69.0 -- Git: 2.25.1 +- Curl 7.69.1 +- Git: 2.25.2 - Git LFS: 2.10.0 +- Hub CLI: 2.14.2 - GNU Wget 1.20.3 - Subversion (SVN) 1.13.0 - Packer 1.5.4 @@ -67,19 +69,23 @@ The following software is installed on machines with the 20200307.2 update. - zstd 1.4.4 - bazel 2.2.0 - bazelisk v1.3.0 +- helm v3.1.2+gd878d4d +- Docker 19.03.8 +- docker-machine 0.16.2 +- docker-compose 1.25.4 ### Tools - Fastlane 2.143.0 - Cmake 3.16.5 -- App Center CLI 2.3.3 -- Azure CLI 2.1.0 +- App Center CLI 2.3.4 +- Azure CLI 2.2.0 ### Browsers -- Google Chrome 80.0.3987.132 +- Google Chrome 80.0.3987.149 - ChromeDriver 80.0.3987.106 -- Microsoft Edge 80.0.361.66 +- Microsoft Edge 80.0.361.69 - MSEdgeDriver 80.0.361.66 -- Mozilla Firefox 73.0.1 +- Mozilla Firefox 74.0 - geckodriver 0.26.0 ### Toolcache