From 32a9b1e449663e913d1a12092117f22fbd975e4b Mon Sep 17 00:00:00 2001 From: Wei Ji Date: Mon, 14 Sep 2020 17:50:46 +1200 Subject: [PATCH 01/42] Update Miniconda version on Windows from 4.6.14 to latest --- images/win/Windows2016-Readme.md | 2 +- images/win/Windows2019-Readme.md | 2 +- images/win/scripts/Installers/Install-Miniconda.ps1 | 6 ++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index 67117884d..d527feba4 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -26,7 +26,7 @@ - NPM 6.14.6 - Yarn 1.22.4 - pip 20.2.2 (python 3.7) -- Miniconda 4.6.14 +- Miniconda 4.8.3 - RubyGems 3.1.4 - Helm 3.3.0 - Composer 1.10.10 diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md index c74d15f3b..241b4fca2 100644 --- a/images/win/Windows2019-Readme.md +++ b/images/win/Windows2019-Readme.md @@ -29,7 +29,7 @@ - NPM 6.14.6 - Yarn 1.22.4 - pip 20.2.2 (python 3.7) -- Miniconda 4.6.14 +- Miniconda 4.8.3 - RubyGems 3.1.4 - Helm 3.3.0 - Composer 1.10.10 diff --git a/images/win/scripts/Installers/Install-Miniconda.ps1 b/images/win/scripts/Installers/Install-Miniconda.ps1 index 6f716b509..a3b09e68a 100644 --- a/images/win/scripts/Installers/Install-Miniconda.ps1 +++ b/images/win/scripts/Installers/Install-Miniconda.ps1 @@ -7,10 +7,8 @@ Import-Module -Name ImageHelpers -Force $CondaDestination = "C:\Miniconda" -# Lock to Miniconda 4.6 until we do the work to run `conda init` for the vsts user -# Then we can go back to installing the latest Miniconda -# $url = "https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe" -$InstallerName = "Miniconda3-4.6.14-Windows-x86_64.exe" +# Install the latest Miniconda +$InstallerName = "Miniconda3-latest-Windows-x86_64.exe" $InstallerUrl = "https://repo.continuum.io/miniconda/${InstallerName}" $ArgumentList = ("/S", "/AddToPath=0", "/RegisterPython=0", "/D=$CondaDestination") From 7f9c626315ead3564f7749fea204a2691d0f466a Mon Sep 17 00:00:00 2001 From: Wei Ji Date: Mon, 14 Sep 2020 18:00:07 +1200 Subject: [PATCH 02/42] Revert Miniconda version change in Windows*-Readme.md --- images/win/Windows2016-Readme.md | 2 +- images/win/Windows2019-Readme.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index d527feba4..67117884d 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -26,7 +26,7 @@ - NPM 6.14.6 - Yarn 1.22.4 - pip 20.2.2 (python 3.7) -- Miniconda 4.8.3 +- Miniconda 4.6.14 - RubyGems 3.1.4 - Helm 3.3.0 - Composer 1.10.10 diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md index 241b4fca2..c74d15f3b 100644 --- a/images/win/Windows2019-Readme.md +++ b/images/win/Windows2019-Readme.md @@ -29,7 +29,7 @@ - NPM 6.14.6 - Yarn 1.22.4 - pip 20.2.2 (python 3.7) -- Miniconda 4.8.3 +- Miniconda 4.6.14 - RubyGems 3.1.4 - Helm 3.3.0 - Composer 1.10.10 From 5fc40a670aeca38d7eef6022c0c2ddf02fefac05 Mon Sep 17 00:00:00 2001 From: Drew Skwiers-Koballa Date: Fri, 25 Sep 2020 14:25:08 -0700 Subject: [PATCH 03/42] update dacfx to 18.6 --- images/win/scripts/Installers/Install-DACFx.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/win/scripts/Installers/Install-DACFx.ps1 b/images/win/scripts/Installers/Install-DACFx.ps1 index fb50af0d9..01c1c47f4 100644 --- a/images/win/scripts/Installers/Install-DACFx.ps1 +++ b/images/win/scripts/Installers/Install-DACFx.ps1 @@ -6,7 +6,7 @@ Import-Module -Name ImageHelpers -Force $InstallerName = "DacFramework.msi" -$InstallerUrl = "https://go.microsoft.com/fwlink/?linkid=2134206" +$InstallerUrl = "https://go.microsoft.com/fwlink/?linkid=2143544" Install-Binary -Url $InstallerUrl -Name $InstallerName From d7fcfc59799708fa1808d0c8e6e0fdab00e9ef72 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Tue, 29 Sep 2020 18:19:26 +0300 Subject: [PATCH 04/42] install dynamic for macOS --- .../macos/provision/core/android-toolsets.sh | 38 ++++++++++++------- .../SoftwareReport.Android.psm1 | 5 +++ images/macos/tests/Android.Tests.ps1 | 17 ++++++--- images/macos/toolsets/toolset-10.13.json | 8 +--- images/macos/toolsets/toolset-10.14.json | 8 +--- images/macos/toolsets/toolset-10.15.json | 16 +++----- images/macos/toolsets/toolset-11.0.json | 12 ++---- 7 files changed, 56 insertions(+), 48 deletions(-) diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh index a3b8aa97f..3fb0e2f97 100755 --- a/images/macos/provision/core/android-toolsets.sh +++ b/images/macos/provision/core/android-toolsets.sh @@ -1,8 +1,25 @@ #!/bin/bash -e source ~/utils/utils.sh -ANDROID_PLATFORM_LIST=($(get_toolset_value '.android."platform-list"[]')) -ANDROID_BUILD_TOOLS=($(get_toolset_value '.android."build-tools"[]')) +function install_android_packages { + minimumVersion=$( echo "$1" | sed 's/\.//g' ) + shift + toolsArr=("$@") + + for item in ${toolsArr[@]} + do + version=$(echo "${item##*[-;]}" | sed 's/\.//g') + echo "version is $version" + if (( $version >= $minimumVersion )) + then + echo "Start installing $item" + echo "y" | ${ANDROID_HOME}/tools/bin/sdkmanager $item + fi + done +} + +ANDROID_PLATFORM=($(get_toolset_value '.android.platform_min_version')) +ANDROID_BUILD_TOOL=($(get_toolset_value '.android.build_tools_min_version')) ANDROID_EXTRA_LIST=($(get_toolset_value '.android."extra-list"[]')) ANDROID_ADDON_LIST=($(get_toolset_value '.android."addon-list"[]')) @@ -47,18 +64,13 @@ echo y | $SDKMANAGER "cmake;3.6.4111459" echo "Installing latest ndk..." echo y | $SDKMANAGER "ndk-bundle" +platforms=$(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android" | sed -E "s/[[:space:]]+//g" | sed -E "s/\|.*//g") +platformsArr=(${platforms}) +install_android_packages $ANDROID_PLATFORM_LIST "${platformsArr[@]}" -for platform_name in "${ANDROID_PLATFORM_LIST[@]}" -do - echo "Installing platform $platform_name ..." - echo y | $SDKMANAGER "platforms;$platform_name" -done - -for build_tools_version in "${ANDROID_BUILD_TOOLS[@]}" -do - echo "Installing build tools $build_tools_version ..." - echo y | $SDKMANAGER "build-tools;$build_tools_version" -done +buildTools=$(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "build-tools;" | sed -E "s/[[:space:]]+//g" | sed -E "s/\|.*//g") +buildToolsArr=(${buildTools}) +install_android_packages $ANDROID_BUILD_TOOL "${buildToolsArr[@]}" for extra_name in "${ANDROID_EXTRA_LIST[@]}" do diff --git a/images/macos/software-report/SoftwareReport.Android.psm1 b/images/macos/software-report/SoftwareReport.Android.psm1 index 75f1d9f86..ca4fcc208 100644 --- a/images/macos/software-report/SoftwareReport.Android.psm1 +++ b/images/macos/software-report/SoftwareReport.Android.psm1 @@ -28,6 +28,11 @@ function Get-AndroidInstalledPackages { return $androidInstalledPackages } +function Get-AndroidPackages { + $androidSDKManagerPath = Get-AndroidSDKManagerPath + $androidPackages = & $androidSDKManagerPath --list --verbose + return $androidPackages +} function Build-AndroidTable { Write-Host "Build-AndroidTable" diff --git a/images/macos/tests/Android.Tests.ps1 b/images/macos/tests/Android.Tests.ps1 index a7420b23e..da905e8cb 100644 --- a/images/macos/tests/Android.Tests.ps1 +++ b/images/macos/tests/Android.Tests.ps1 @@ -5,6 +5,9 @@ $os = Get-OSVersion Describe "Android" { $androidNdkToolchains = @("mips64el-linux-android-4.9", "mipsel-linux-android-4.9") + $androidSdkManagerPackages = Get-AndroidPackages + [int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version" + [version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version" $androidPackages = @( "tools", @@ -12,8 +15,12 @@ Describe "Android" { "tools/proguard", "ndk-bundle", "cmake", - (Get-ToolsetValue "android.platform-list" | ForEach-Object { "platforms/${_}" }), - (Get-ToolsetValue "android.build-tools" | ForEach-Object { "build-tools/${_}" }), + ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") } | + Where-Object { [int]$_.Split("-")[1] -ge $platformMinVersion } | Sort-Object { [int]$_.Split("-")[1] } -Unique | + ForEach-Object { "platforms/${_}" }), + ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("build-tools;") } | + Where-Object { [version]$_.Split(";")[1] -ge $buildToolsMinVersion } | Sort-Object { [version]$_.Split(";")[1] } -Unique | + ForEach-Object { "build-tools/${_}" }), (Get-ToolsetValue "android.extra-list" | ForEach-Object { "extras/${_}" }), (Get-ToolsetValue "android.addon-list" | ForEach-Object { "add-ons/${_}" }) ) | ForEach-Object { $_ } @@ -26,7 +33,7 @@ Describe "Android" { [Parameter(Mandatory=$true)] [string]$PackageName ) - + # Convert 'm2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1' -> # 'm2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta1' $PackageName = $PackageName.Replace(";", "/") @@ -62,14 +69,14 @@ Describe "Android" { $rawContent = Get-Content $ndkBundlePath -Raw $rawContent | Should -BeLikeExactly "*Revision = 21.*" } - + It "Android NDK version r18b is installed" { $ndk18BundlePath = Join-Path $ANDROID_SDK_DIR "ndk" "18.1.5063045" "source.properties" $rawContent = Get-Content $ndk18BundlePath -Raw $rawContent | Should -BeLikeExactly "*Revision = 18.*" } } - + It "HAXM is installed" { $haxmPath = Join-Path $ANDROID_SDK_DIR "extras" "intel" "Hardware_Accelerated_Execution_Manager" "silent_install.sh" "$haxmPath -v" | Should -ReturnZeroExitCode diff --git a/images/macos/toolsets/toolset-10.13.json b/images/macos/toolsets/toolset-10.13.json index fdb14d084..6c12251b8 100644 --- a/images/macos/toolsets/toolset-10.13.json +++ b/images/macos/toolsets/toolset-10.13.json @@ -170,12 +170,8 @@ ] }, "android": { - "platform-list": [ - "android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-20", "android-19", "android-18", "android-17", "android-16", "android-15" - ], - "build-tools": [ - "30.0.1", "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "23.0.0", "22.0.1", "21.1.2", "20.0.0", "19.1.0", "17.0.0" - ], + "platform_min_version": "15", + "build_tools_min_version": "17.0.0", "extra-list": [ "android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout;1.0.0", "m2repository;com;android;support;constraint;constraint-layout;1.0.1", "m2repository;com;android;support;constraint;constraint-layout;1.0.2" ], diff --git a/images/macos/toolsets/toolset-10.14.json b/images/macos/toolsets/toolset-10.14.json index e868f7699..2cf67d719 100644 --- a/images/macos/toolsets/toolset-10.14.json +++ b/images/macos/toolsets/toolset-10.14.json @@ -191,12 +191,8 @@ ] }, "android": { - "platform-list": [ - "android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-20", "android-19", "android-18", "android-17", "android-16", "android-15" - ], - "build-tools": [ - "30.0.2", "30.0.1", "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "23.0.0", "22.0.1", "21.1.2", "20.0.0", "19.1.0", "17.0.0" - ], + "platform_min_version": "15", + "build_tools_min_version": "17.0.0", "extra-list": [ "android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout;1.0.0", "m2repository;com;android;support;constraint;constraint-layout;1.0.1", "m2repository;com;android;support;constraint;constraint-layout;1.0.2" ], diff --git a/images/macos/toolsets/toolset-10.15.json b/images/macos/toolsets/toolset-10.15.json index 8497a7100..d56d91777 100644 --- a/images/macos/toolsets/toolset-10.15.json +++ b/images/macos/toolsets/toolset-10.15.json @@ -26,28 +26,28 @@ "mono":"6.12", "ios": "14.0", "mac": "6.20", - "android": "11.0" + "android": "11.0" }, { "symlink": "6_12_0", "mono":"6.12", "ios": "13.20", "mac": "6.20", - "android": "11.0" + "android": "11.0" }, { "symlink": "6_10_0", "mono":"6.10", "ios": "13.18", "mac": "6.18", - "android": "10.3" + "android": "10.3" }, { "symlink": "6_8_1", "mono":"6.8", "ios": "13.16", "mac": "6.16", - "android": "10.2" + "android": "10.2" }, { "symlink": "6_8_0", @@ -100,12 +100,8 @@ ] }, "android": { - "platform-list": [ - "android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24" - ], - "build-tools": [ - "30.0.2", "30.0.1", "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0" - ], + "platform_min_version": "24", + "build_tools_min_version": "24.0.0", "extra-list": [ "android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout;1.0.0", "m2repository;com;android;support;constraint;constraint-layout;1.0.1", "m2repository;com;android;support;constraint;constraint-layout;1.0.2" ], diff --git a/images/macos/toolsets/toolset-11.0.json b/images/macos/toolsets/toolset-11.0.json index 725da2188..b50f03828 100644 --- a/images/macos/toolsets/toolset-11.0.json +++ b/images/macos/toolsets/toolset-11.0.json @@ -26,14 +26,14 @@ "mono":"6.12", "ios": "14.0", "mac": "6.20", - "android": "11.0" + "android": "11.0" }, { "symlink": "6_12_0", "mono":"6.12", "ios": "13.20", "mac": "6.20", - "android": "11.0" + "android": "11.0" } ] }, @@ -44,12 +44,8 @@ ] }, "android": { - "platform-list": [ - "android-30", "android-29", "android-28", "android-27" - ], - "build-tools": [ - "30.0.2", "30.0.1", "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0" - ], + "platform_min_version": "27", + "build_tools_min_version": "27.0.0", "extra-list": [ "android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager" ], From 28b4f38d98339e4a4c5d06a0ea079edb1956c01a Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Wed, 30 Sep 2020 11:56:42 +0300 Subject: [PATCH 05/42] fix pass variable --- images/macos/provision/core/android-toolsets.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh index 3fb0e2f97..f44b33f1f 100755 --- a/images/macos/provision/core/android-toolsets.sh +++ b/images/macos/provision/core/android-toolsets.sh @@ -9,7 +9,6 @@ function install_android_packages { for item in ${toolsArr[@]} do version=$(echo "${item##*[-;]}" | sed 's/\.//g') - echo "version is $version" if (( $version >= $minimumVersion )) then echo "Start installing $item" @@ -66,7 +65,7 @@ echo "Installing latest ndk..." echo y | $SDKMANAGER "ndk-bundle" platforms=$(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android" | sed -E "s/[[:space:]]+//g" | sed -E "s/\|.*//g") platformsArr=(${platforms}) -install_android_packages $ANDROID_PLATFORM_LIST "${platformsArr[@]}" +install_android_packages $ANDROID_PLATFORM "${platformsArr[@]}" buildTools=$(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "build-tools;" | sed -E "s/[[:space:]]+//g" | sed -E "s/\|.*//g") buildToolsArr=(${buildTools}) From c4a0c6a8eab7e9d5cdb7dc10c3cb0d825f789ae8 Mon Sep 17 00:00:00 2001 From: Drew Skwiers-Koballa Date: Wed, 30 Sep 2020 13:47:59 -0700 Subject: [PATCH 06/42] adds dacfx to win tools report --- images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 index 85c73c151..cf5c7b0b7 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 @@ -260,3 +260,9 @@ function Get-AZDSVersion { $azdsVersion = $(azds --version) | Select-String "(\d+\.\d+\.\d+.\d+)" return "Azure Dev Spaces CLI $azdsVersion" } + +function Get-DacFxVersion { + cd "C:\Program Files\Microsoft SQL Server\150\DAC\bin\" + $dacfxversion = (./sqlpackage.exe /version) + return "DacFx $dacfxversion" +} \ No newline at end of file From bae2994912d49b28e39e26d24b09bc0380cbecda Mon Sep 17 00:00:00 2001 From: Drew Skwiers-Koballa Date: Thu, 1 Oct 2020 07:55:23 -0700 Subject: [PATCH 07/42] adding function to actual report --- images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index 28a07dce9..efc773546 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -119,6 +119,7 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-AWSSessionManagerVersion), (Get-AlibabaCLIVersion), (Get-CloudFoundryVersion), + (Get-DacFxVersion), (Get-HubVersion), (Get-GHVersion) ) From 156764e42be145592912ed81feae3abdfda7acb6 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Mon, 5 Oct 2020 10:57:58 +0300 Subject: [PATCH 08/42] add functions --- .../macos/provision/core/android-toolsets.sh | 28 +++++++++++-------- images/macos/provision/utils/utils.sh | 5 ++++ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh index f44b33f1f..969d2e320 100755 --- a/images/macos/provision/core/android-toolsets.sh +++ b/images/macos/provision/core/android-toolsets.sh @@ -1,22 +1,24 @@ #!/bin/bash -e source ~/utils/utils.sh -function install_android_packages { - minimumVersion=$( echo "$1" | sed 's/\.//g' ) +function filter_components_by_version { + minimumVersion=$1 shift toolsArr=("$@") for item in ${toolsArr[@]} do - version=$(echo "${item##*[-;]}" | sed 's/\.//g') - if (( $version >= $minimumVersion )) + # take the last argument after spliting string by ';'' and '-'' + version=$(echo "${item##*[-;]}") + if verlte $minimumVersion $version then - echo "Start installing $item" - echo "y" | ${ANDROID_HOME}/tools/bin/sdkmanager $item + components+=($item) fi done } +components=() + ANDROID_PLATFORM=($(get_toolset_value '.android.platform_min_version')) ANDROID_BUILD_TOOL=($(get_toolset_value '.android.build_tools_min_version')) ANDROID_EXTRA_LIST=($(get_toolset_value '.android."extra-list"[]')) @@ -63,13 +65,15 @@ echo y | $SDKMANAGER "cmake;3.6.4111459" echo "Installing latest ndk..." echo y | $SDKMANAGER "ndk-bundle" -platforms=$(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android" | sed -E "s/[[:space:]]+//g" | sed -E "s/\|.*//g") -platformsArr=(${platforms}) -install_android_packages $ANDROID_PLATFORM "${platformsArr[@]}" -buildTools=$(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "build-tools;" | sed -E "s/[[:space:]]+//g" | sed -E "s/\|.*//g") -buildToolsArr=(${buildTools}) -install_android_packages $ANDROID_BUILD_TOOL "${buildToolsArr[@]}" +availablePlatforms=($(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android-" | cut -d"|" -f 1)) +filter_components_by_version $ANDROID_PLATFORM "${availablePlatforms[@]}" + +allBuildTools=($(${ANDROID_HOME}/tools/bin/sdkmanager --list --include_obsolete | grep "build-tools;" | cut -d"|" -f 1 | sort -u)) +availableBuildTools=$(echo ${allBuildTools[@]//*rc[0-9]/}) +filter_components_by_version $ANDROID_BUILD_TOOL "${availableBuildTools[@]}" + +echo "y" | ${ANDROID_HOME}/tools/bin/sdkmanager ${components[@]} for extra_name in "${ANDROID_EXTRA_LIST[@]}" do diff --git a/images/macos/provision/utils/utils.sh b/images/macos/provision/utils/utils.sh index 6a924e03d..85881c7e3 100755 --- a/images/macos/provision/utils/utils.sh +++ b/images/macos/provision/utils/utils.sh @@ -91,4 +91,9 @@ get_latest_xcode_from_toolset() { get_default_xcode_from_toolset() { echo $(get_toolset_value '.xcode.default') +} + +verlte() { + sortedVersion=$(echo -e "$1\n$2" | sort -V | head -n1) + [ "$1" = "$sortedVersion" ] } \ No newline at end of file From 1e8fd7a1087da3426c0fbebcb03753f7bcbe7770 Mon Sep 17 00:00:00 2001 From: Drew Skwiers-Koballa Date: Mon, 5 Oct 2020 08:11:58 -0700 Subject: [PATCH 09/42] moves dacfx to database tools in report --- images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index 65727f0ad..bcc74048d 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -117,7 +117,6 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-AWSSessionManagerVersion), (Get-AlibabaCLIVersion), (Get-CloudFoundryVersion), - (Get-DacFxVersion), (Get-HubVersion), (Get-GHVersion) ) @@ -168,6 +167,7 @@ $markdown += New-MDNewLine $markdown += New-MDHeader "Database tools" -Level 3 $markdown += New-MDList -Style Unordered -Lines @( (Get-AzCosmosDBEmulatorVersion), + (Get-DacFxVersion), (Get-SQLPSVersion), (Get-MySQLVersion) ) From cde29c1bc61bc9336f7810b3e81a22907369f097 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Tue, 6 Oct 2020 10:27:47 +0300 Subject: [PATCH 10/42] fix add import --- images/macos/tests/Android.Tests.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/images/macos/tests/Android.Tests.ps1 b/images/macos/tests/Android.Tests.ps1 index da905e8cb..7c96429ba 100644 --- a/images/macos/tests/Android.Tests.ps1 +++ b/images/macos/tests/Android.Tests.ps1 @@ -1,5 +1,6 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" +Import-Module "$PSScriptRoot/../software-report/SoftwareReport.Android.psm1" $os = Get-OSVersion From b6b4f9f36cad535aff5afef945cfe48f574ece63 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Tue, 6 Oct 2020 10:29:26 +0300 Subject: [PATCH 11/42] fix function for taking all platforms --- images/macos/provision/core/android-toolsets.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh index 969d2e320..093a133ce 100755 --- a/images/macos/provision/core/android-toolsets.sh +++ b/images/macos/provision/core/android-toolsets.sh @@ -66,7 +66,7 @@ echo y | $SDKMANAGER "cmake;3.6.4111459" echo "Installing latest ndk..." echo y | $SDKMANAGER "ndk-bundle" -availablePlatforms=($(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android-" | cut -d"|" -f 1)) +availablePlatforms=($(${ANDROID_HOME}/tools/bin/sdkmanager --list | grep "platforms;android-" | cut -d"|" -f 1 | sort -u)) filter_components_by_version $ANDROID_PLATFORM "${availablePlatforms[@]}" allBuildTools=($(${ANDROID_HOME}/tools/bin/sdkmanager --list --include_obsolete | grep "build-tools;" | cut -d"|" -f 1 | sort -u)) From b4a20707d8535473fcb2b9992d870a8a6192b440 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Tue, 6 Oct 2020 17:06:58 +0300 Subject: [PATCH 12/42] add 3.9.0 for windows --- images/win/toolsets/toolset-2016.json | 6 ++++-- images/win/toolsets/toolset-2019.json | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/images/win/toolsets/toolset-2016.json b/images/win/toolsets/toolset-2016.json index 5e0b23c6b..fef0a3fcb 100644 --- a/images/win/toolsets/toolset-2016.json +++ b/images/win/toolsets/toolset-2016.json @@ -10,7 +10,8 @@ "3.5.*", "3.6.*", "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ], "default": "3.7.*" }, @@ -24,7 +25,8 @@ "3.5.*", "3.6.*", "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ] }, { diff --git a/images/win/toolsets/toolset-2019.json b/images/win/toolsets/toolset-2019.json index bf1d0dff6..c76c9701b 100644 --- a/images/win/toolsets/toolset-2019.json +++ b/images/win/toolsets/toolset-2019.json @@ -10,7 +10,8 @@ "3.5.*", "3.6.*", "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ], "default": "3.7.*" }, @@ -24,7 +25,8 @@ "3.5.*", "3.6.*", "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ] }, { From 0a2873ae032e3171fb47bd0a643c3219526cf8c2 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Wed, 7 Oct 2020 00:19:13 +0300 Subject: [PATCH 13/42] fixing tests --- images/macos/tests/Android.Tests.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/images/macos/tests/Android.Tests.ps1 b/images/macos/tests/Android.Tests.ps1 index 7c96429ba..d7ef2ce07 100644 --- a/images/macos/tests/Android.Tests.ps1 +++ b/images/macos/tests/Android.Tests.ps1 @@ -16,11 +16,11 @@ Describe "Android" { "tools/proguard", "ndk-bundle", "cmake", - ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") } | + (($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") }) -replace 'platforms;', '' | Where-Object { [int]$_.Split("-")[1] -ge $platformMinVersion } | Sort-Object { [int]$_.Split("-")[1] } -Unique | ForEach-Object { "platforms/${_}" }), - ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("build-tools;") } | - Where-Object { [version]$_.Split(";")[1] -ge $buildToolsMinVersion } | Sort-Object { [version]$_.Split(";")[1] } -Unique | + (($androidSdkManagerPackages | Where-Object { "$_".StartsWith("build-tools;") }) -replace 'build-tools;', '' | + Where-Object { [version]$_ -ge $buildToolsMinVersion } | Sort-Object { [version]$_ } -Unique | ForEach-Object { "build-tools/${_}" }), (Get-ToolsetValue "android.extra-list" | ForEach-Object { "extras/${_}" }), (Get-ToolsetValue "android.addon-list" | ForEach-Object { "add-ons/${_}" }) From be156d1ec46df6d8d959833cfd219f8e7e4afa88 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Thu, 8 Oct 2020 13:20:08 +0300 Subject: [PATCH 14/42] change to seperate variables --- images/macos/tests/Android.Tests.ps1 | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/images/macos/tests/Android.Tests.ps1 b/images/macos/tests/Android.Tests.ps1 index d7ef2ce07..c14a02c5e 100644 --- a/images/macos/tests/Android.Tests.ps1 +++ b/images/macos/tests/Android.Tests.ps1 @@ -10,18 +10,22 @@ Describe "Android" { [int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version" [version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version" + $platforms = (($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") }) -replace 'platforms;', '' | + Where-Object { [int]$_.Split("-")[1] -ge $platformMinVersion } | Sort-Object { [int]$_.Split("-")[1] } -Unique | + ForEach-Object { "platforms/${_}" }) + + $buildTools = (($androidSdkManagerPackages | Where-Object { "$_".StartsWith("build-tools;") }) -replace 'build-tools;', '' | + Where-Object { [version]$_ -ge $buildToolsMinVersion } | Sort-Object { [version]$_ } -Unique | + ForEach-Object { "build-tools/${_}" }) + $androidPackages = @( "tools", "platform-tools", "tools/proguard", "ndk-bundle", "cmake", - (($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") }) -replace 'platforms;', '' | - Where-Object { [int]$_.Split("-")[1] -ge $platformMinVersion } | Sort-Object { [int]$_.Split("-")[1] } -Unique | - ForEach-Object { "platforms/${_}" }), - (($androidSdkManagerPackages | Where-Object { "$_".StartsWith("build-tools;") }) -replace 'build-tools;', '' | - Where-Object { [version]$_ -ge $buildToolsMinVersion } | Sort-Object { [version]$_ } -Unique | - ForEach-Object { "build-tools/${_}" }), + $platforms, + $buildTools, (Get-ToolsetValue "android.extra-list" | ForEach-Object { "extras/${_}" }), (Get-ToolsetValue "android.addon-list" | ForEach-Object { "add-ons/${_}" }) ) | ForEach-Object { $_ } From 63f0f08a9ae39734bff09fc70daa0cefc5d78fd3 Mon Sep 17 00:00:00 2001 From: Darii Nurgaleev Date: Sat, 10 Oct 2020 00:27:53 +0700 Subject: [PATCH 15/42] added choco upgrade chocolatey --- images/win/post-generation/VSConfiguration.ps1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/images/win/post-generation/VSConfiguration.ps1 b/images/win/post-generation/VSConfiguration.ps1 index 0ff9d7bfb..3561e6d11 100644 --- a/images/win/post-generation/VSConfiguration.ps1 +++ b/images/win/post-generation/VSConfiguration.ps1 @@ -1,4 +1,7 @@ $vsInstallRoot = Get-VisualStudioPath $devEnvPath = "$vsInstallRoot\Common7\IDE\devenv.exe" -cmd.exe /c "`"$devEnvPath`" /updateconfiguration" \ No newline at end of file +cmd.exe /c "`"$devEnvPath`" /updateconfiguration" + +# Step to avoid initial delay for choco scripts +choco upgrade chocolatey \ No newline at end of file From f655897714b85514c426a9459384241f2d1b12a5 Mon Sep 17 00:00:00 2001 From: Drew Skwiers-Koballa Date: Fri, 9 Oct 2020 10:49:45 -0700 Subject: [PATCH 16/42] update to rerun checks --- images/win/scripts/Installers/Install-DACFx.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/win/scripts/Installers/Install-DACFx.ps1 b/images/win/scripts/Installers/Install-DACFx.ps1 index 32d617f5a..a59466d71 100644 --- a/images/win/scripts/Installers/Install-DACFx.ps1 +++ b/images/win/scripts/Installers/Install-DACFx.ps1 @@ -1,6 +1,6 @@ #################################################################################### ## File: Install-DACFx.ps1 -## Desc: Install SQL ServerĀ® Data-Tier Application Framework (DACFx) for Windows +## Desc: Install SQL ServerĀ® Data-Tier Application Framework (DacFx) for Windows #################################################################################### $InstallerName = "DacFramework.msi" From d129c5563d9cd0fa2584ae49008a8feaf68a6500 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Mon, 12 Oct 2020 11:29:00 +0300 Subject: [PATCH 17/42] Fix pipx version --- .../linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 index f45496638..14d4a18e6 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 @@ -249,5 +249,7 @@ function Get-AptPackages { function Get-PipxVersion { $result = (Get-CommandResult "pipx --version").Output - return "Pipx $result" + $result -match "(?\d+\.\d+\.\d+\.?\d*)" | Out-Null + $pipxVersion = $Matches.Version + return "Pipx $pipxVersion" } \ No newline at end of file From 553c24e1246985bfba0385583ef45d44efa4ecb7 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Mon, 12 Oct 2020 11:46:40 +0300 Subject: [PATCH 18/42] fix bazelisk version output --- images/macos/software-report/SoftwareReport.Generator.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/macos/software-report/SoftwareReport.Generator.ps1 b/images/macos/software-report/SoftwareReport.Generator.ps1 index aaf4f6446..7818ba97e 100644 --- a/images/macos/software-report/SoftwareReport.Generator.ps1 +++ b/images/macos/software-report/SoftwareReport.Generator.ps1 @@ -141,7 +141,7 @@ $aria2Version = Run-Command "aria2c --version" | Select-Object -First 1 | Take-P $azcopyVersion = Run-Command "azcopy --version" | Take-Part -Part 2 $zstdVersion = Run-Command "zstd --version" | Take-Part -Part 1 -Delimiter "v" | Take-Part -Part 0 -Delimiter "," $bazelVersion = Run-Command "bazel --version" | Take-Part -Part 0 -Delimiter "-" -$bazeliskVersion = Run-Command "bazelisk version" | Select-String "Bazelisk version:" | Take-Part -Part 1 -Delimiter ":" +$bazeliskVersion = Run-Command "brew list bazelisk --versions" $packerVersion = Run-Command "packer --version" $helmVersion = Run-Command "helm version --short" $mongo = Run-Command "mongo --version" | Select-String "MongoDB shell version" | Take-Part -Part 3 From 1d4f281899a55fdf4481ac3f84f76e6c6e110e91 Mon Sep 17 00:00:00 2001 From: Sergey Dolin Date: Wed, 7 Oct 2020 13:49:40 +0500 Subject: [PATCH 19/42] Add -e to .sh scripts --- images/linux/scripts/base/limits.sh | 2 +- images/linux/scripts/base/reboot.sh | 4 ++-- images/linux/scripts/installers/7-zip.sh | 3 +-- images/linux/scripts/installers/aliyun-cli.sh | 3 +-- images/linux/scripts/installers/android.sh | 4 +--- images/linux/scripts/installers/ansible.sh | 2 +- images/linux/scripts/installers/aws-sam-cli.sh | 3 +-- images/linux/scripts/installers/aws.sh | 2 +- images/linux/scripts/installers/azcopy.sh | 3 +-- images/linux/scripts/installers/azpowershell.sh | 2 +- images/linux/scripts/installers/azure-cli.sh | 3 +-- images/linux/scripts/installers/azure-devops-cli.sh | 3 +-- images/linux/scripts/installers/basic.sh | 4 +--- images/linux/scripts/installers/bazel.sh | 3 +-- images/linux/scripts/installers/build-essential.sh | 3 +-- images/linux/scripts/installers/clang.sh | 3 +-- images/linux/scripts/installers/cleanup.sh | 4 ++-- images/linux/scripts/installers/cmake.sh | 3 +-- images/linux/scripts/installers/codeql-bundle.sh | 2 +- images/linux/scripts/installers/complete-snap-setup.sh | 2 +- images/linux/scripts/installers/configure-environment.sh | 4 +++- images/linux/scripts/installers/containers.sh | 3 +-- images/linux/scripts/installers/docker-compose.sh | 3 +-- images/linux/scripts/installers/docker-moby.sh | 3 +-- images/linux/scripts/installers/dotnetcore-sdk.sh | 5 +---- images/linux/scripts/installers/dpkg-config.sh | 2 +- images/linux/scripts/installers/erlang.sh | 3 +-- images/linux/scripts/installers/example.sh | 3 +-- images/linux/scripts/installers/firefox.sh | 3 +-- images/linux/scripts/installers/gcc.sh | 4 +--- images/linux/scripts/installers/gfortran.sh | 3 +-- images/linux/scripts/installers/git.sh | 3 +-- images/linux/scripts/installers/github-cli.sh | 3 +-- images/linux/scripts/installers/google-chrome.sh | 3 +-- images/linux/scripts/installers/google-cloud-sdk.sh | 3 +-- images/linux/scripts/installers/haskell.sh | 2 +- images/linux/scripts/installers/heroku.sh | 3 +-- images/linux/scripts/installers/hhvm.sh | 2 +- images/linux/scripts/installers/homebrew-validate.sh | 2 +- images/linux/scripts/installers/homebrew.sh | 2 +- images/linux/scripts/installers/hosted-tool-cache.sh | 6 +----- images/linux/scripts/installers/image-magick.sh | 3 +-- images/linux/scripts/installers/java-tools.sh | 4 +--- images/linux/scripts/installers/julia.sh | 3 +-- images/linux/scripts/installers/kind.sh | 3 +-- images/linux/scripts/installers/kubernetes-tools.sh | 3 +-- images/linux/scripts/installers/leiningen.sh | 5 +---- images/linux/scripts/installers/mercurial.sh | 2 +- images/linux/scripts/installers/miniconda.sh | 3 +-- images/linux/scripts/installers/mongodb.sh | 2 +- images/linux/scripts/installers/mono.sh | 3 +-- images/linux/scripts/installers/mysql.sh | 4 +--- images/linux/scripts/installers/netlify.sh | 3 +-- images/linux/scripts/installers/nodejs.sh | 3 +-- images/linux/scripts/installers/nvm.sh | 3 +-- images/linux/scripts/installers/oc.sh | 3 +-- images/linux/scripts/installers/oras-cli.sh | 2 +- images/linux/scripts/installers/packer.sh | 3 +-- images/linux/scripts/installers/phantomjs.sh | 4 +--- images/linux/scripts/installers/php.sh | 4 +--- images/linux/scripts/installers/pollinate.sh | 3 +-- images/linux/scripts/installers/post-deployment.sh | 2 +- images/linux/scripts/installers/postgresql.sh | 5 ++--- images/linux/scripts/installers/powershellcore.sh | 2 +- images/linux/scripts/installers/preimagedata.sh | 4 ++-- images/linux/scripts/installers/pulumi.sh | 2 +- images/linux/scripts/installers/pypy.sh | 6 ++---- images/linux/scripts/installers/python.sh | 2 +- images/linux/scripts/installers/r.sh | 2 +- images/linux/scripts/installers/rndgenerator.sh | 3 +-- images/linux/scripts/installers/ruby.sh | 3 +-- images/linux/scripts/installers/rust.sh | 2 +- images/linux/scripts/installers/sbt.sh | 3 +-- images/linux/scripts/installers/selenium.sh | 3 +-- images/linux/scripts/installers/sphinx.sh | 3 +-- images/linux/scripts/installers/subversion.sh | 3 +-- images/linux/scripts/installers/swift.sh | 6 +++--- images/linux/scripts/installers/swig.sh | 3 +-- images/linux/scripts/installers/terraform.sh | 3 +-- images/linux/scripts/installers/test-toolcache.sh | 5 +---- images/linux/scripts/installers/validate-disk-space.sh | 4 ++-- images/linux/scripts/installers/vcpkg.sh | 2 +- images/linux/scripts/installers/vercel.sh | 2 +- 83 files changed, 93 insertions(+), 163 deletions(-) diff --git a/images/linux/scripts/base/limits.sh b/images/linux/scripts/base/limits.sh index e3c43e336..24041bc99 100644 --- a/images/linux/scripts/base/limits.sh +++ b/images/linux/scripts/base/limits.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e echo '* soft nofile 65536' >> /etc/security/limits.conf echo '* hard nofile 65536' >> /etc/security/limits.conf diff --git a/images/linux/scripts/base/reboot.sh b/images/linux/scripts/base/reboot.sh index 23969fe80..d1bdf7eeb 100644 --- a/images/linux/scripts/base/reboot.sh +++ b/images/linux/scripts/base/reboot.sh @@ -1,8 +1,8 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: reboot.sh ## Desc: Reboot VM ################################################################################ echo "Reboot VM" -sudo reboot \ No newline at end of file +sudo reboot diff --git a/images/linux/scripts/installers/7-zip.sh b/images/linux/scripts/installers/7-zip.sh index 4b753de53..0fa61bb29 100644 --- a/images/linux/scripts/installers/7-zip.sh +++ b/images/linux/scripts/installers/7-zip.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: 7-zip.sh ## Desc: Installs 7-zip ################################################################################ - # Install 7-Zip apt-get update -y apt-get install -y p7zip p7zip-full p7zip-rar diff --git a/images/linux/scripts/installers/aliyun-cli.sh b/images/linux/scripts/installers/aliyun-cli.sh index af45bd07c..56a29e1eb 100644 --- a/images/linux/scripts/installers/aliyun-cli.sh +++ b/images/linux/scripts/installers/aliyun-cli.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: aliyun-cli.sh ## Desc: Installs Alibaba Cloud CLI ################################################################################ - # Install Alibaba Cloud CLI URL=$(curl -s https://api.github.com/repos/aliyun/aliyun-cli/releases/latest | jq -r '.assets[].browser_download_url | select(contains("aliyun-cli-linux"))') wget -P /tmp $URL diff --git a/images/linux/scripts/installers/android.sh b/images/linux/scripts/installers/android.sh index 90d2013ab..0f28d9c8e 100644 --- a/images/linux/scripts/installers/android.sh +++ b/images/linux/scripts/installers/android.sh @@ -1,11 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: android.sh ## Desc: Installs Android SDK ################################################################################ -set -e - # Source the helpers for use with the script source $HELPER_SCRIPTS/os.sh source $HELPER_SCRIPTS/install.sh diff --git a/images/linux/scripts/installers/ansible.sh b/images/linux/scripts/installers/ansible.sh index 9f41af7cb..0f123bbd9 100644 --- a/images/linux/scripts/installers/ansible.sh +++ b/images/linux/scripts/installers/ansible.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: ansible.sh ## Desc: Installs Ansible diff --git a/images/linux/scripts/installers/aws-sam-cli.sh b/images/linux/scripts/installers/aws-sam-cli.sh index ac56144b3..f75c3649b 100644 --- a/images/linux/scripts/installers/aws-sam-cli.sh +++ b/images/linux/scripts/installers/aws-sam-cli.sh @@ -1,11 +1,10 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: aws-sam-cli.sh ## Desc: Installs AWS SAM CLI ## Requires Python >=3.6, must be run as non-root user after toolset installation ################################################################################ - # Download latest aws sam cli sources TarballUrl=$(curl -s https://api.github.com/repos/aws/aws-sam-cli/releases/latest | jq -r '.tarball_url') TarballPath="/tmp/aws-sam-cli.tar.gz" diff --git a/images/linux/scripts/installers/aws.sh b/images/linux/scripts/installers/aws.sh index b2ab32fa1..0a34f1749 100644 --- a/images/linux/scripts/installers/aws.sh +++ b/images/linux/scripts/installers/aws.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: aws.sh ## Desc: Installs the AWS CLI diff --git a/images/linux/scripts/installers/azcopy.sh b/images/linux/scripts/installers/azcopy.sh index 9b57d2680..2d46bef95 100644 --- a/images/linux/scripts/installers/azcopy.sh +++ b/images/linux/scripts/installers/azcopy.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: azcopy.sh ## Desc: Installs AzCopy ################################################################################ - # Install AzCopy7 wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinux64 tar -xf azcopy.tar.gz diff --git a/images/linux/scripts/installers/azpowershell.sh b/images/linux/scripts/installers/azpowershell.sh index a4a159865..a8488af7f 100644 --- a/images/linux/scripts/installers/azpowershell.sh +++ b/images/linux/scripts/installers/azpowershell.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: azpowershell.sh ## Desc: Installed Azure PowerShell diff --git a/images/linux/scripts/installers/azure-cli.sh b/images/linux/scripts/installers/azure-cli.sh index a33ee2f64..f51e870b1 100644 --- a/images/linux/scripts/installers/azure-cli.sh +++ b/images/linux/scripts/installers/azure-cli.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: azure-cli.sh ## Desc: Installed Azure CLI (az) ################################################################################ - # Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash diff --git a/images/linux/scripts/installers/azure-devops-cli.sh b/images/linux/scripts/installers/azure-devops-cli.sh index d39761be6..2bedb19f7 100644 --- a/images/linux/scripts/installers/azure-devops-cli.sh +++ b/images/linux/scripts/installers/azure-devops-cli.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: azure-devops-cli.sh ## Desc: Installed Azure DevOps CLI (az devops) ################################################################################ - # AZURE_EXTENSION_DIR shell variable defines where modules are installed # https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview export AZURE_EXTENSION_DIR=/opt/az/azcliextensions diff --git a/images/linux/scripts/installers/basic.sh b/images/linux/scripts/installers/basic.sh index b8f3e10f6..df9aae08f 100644 --- a/images/linux/scripts/installers/basic.sh +++ b/images/linux/scripts/installers/basic.sh @@ -1,11 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: basic.sh ## Desc: Installs basic command line utilities and dev packages ################################################################################ -set -e - toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json" common_packages=$(jq -r ".apt.common_packages[]" $toolset) cmd_packages=$(jq -r ".apt.cmd_packages[]" $toolset) diff --git a/images/linux/scripts/installers/bazel.sh b/images/linux/scripts/installers/bazel.sh index 2735df10c..8a7c6bcb0 100644 --- a/images/linux/scripts/installers/bazel.sh +++ b/images/linux/scripts/installers/bazel.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: bazel.sh ## Desc: Installs Bazel and Bazelisk (A user-friendly launcher for Bazel) ################################################################################ - # Install bazel curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add - echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list diff --git a/images/linux/scripts/installers/build-essential.sh b/images/linux/scripts/installers/build-essential.sh index af711a1e9..e2c25290d 100644 --- a/images/linux/scripts/installers/build-essential.sh +++ b/images/linux/scripts/installers/build-essential.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: build-essential.sh ## Desc: Installs build-essential package ################################################################################ - source $HELPER_SCRIPTS/install.sh PACKAGE=build-essential diff --git a/images/linux/scripts/installers/clang.sh b/images/linux/scripts/installers/clang.sh index 4a3424fd4..e7261f0a1 100644 --- a/images/linux/scripts/installers/clang.sh +++ b/images/linux/scripts/installers/clang.sh @@ -1,9 +1,8 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: clang.sh ## Desc: Installs Clang compiler ################################################################################ -set -e # Source the helpers for use with the script source $HELPER_SCRIPTS/os.sh diff --git a/images/linux/scripts/installers/cleanup.sh b/images/linux/scripts/installers/cleanup.sh index 387a22402..32a083f9f 100644 --- a/images/linux/scripts/installers/cleanup.sh +++ b/images/linux/scripts/installers/cleanup.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e # before cleanup before=$(df / -Pm | awk 'NR==2{print $4}') @@ -27,4 +27,4 @@ after=$(df / -Pm | awk 'NR==2{print $4}') # display size echo "Before: $before MB" echo "After : $after MB" - echo "Delta : $(($after-$before)) MB" \ No newline at end of file + echo "Delta : $(($after-$before)) MB" diff --git a/images/linux/scripts/installers/cmake.sh b/images/linux/scripts/installers/cmake.sh index 2dbf4cf54..3e51f02f4 100644 --- a/images/linux/scripts/installers/cmake.sh +++ b/images/linux/scripts/installers/cmake.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: cmake.sh ## Desc: Installs CMake ################################################################################ - # Test to see if the software in question is already installed, if not install it echo "Checking to see if the installer script has already been run" if command -v cmake; then diff --git a/images/linux/scripts/installers/codeql-bundle.sh b/images/linux/scripts/installers/codeql-bundle.sh index 9de8a5e41..8d1ed80fa 100644 --- a/images/linux/scripts/installers/codeql-bundle.sh +++ b/images/linux/scripts/installers/codeql-bundle.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: codeql-bundle.sh ## Desc: Install the CodeQL CLI Bundle to the toolcache. diff --git a/images/linux/scripts/installers/complete-snap-setup.sh b/images/linux/scripts/installers/complete-snap-setup.sh index 51e631546..09cd8edd5 100644 --- a/images/linux/scripts/installers/complete-snap-setup.sh +++ b/images/linux/scripts/installers/complete-snap-setup.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: snap-environment.sh ## Desc: Update /etc/environment to include /snap/bin in PATH diff --git a/images/linux/scripts/installers/configure-environment.sh b/images/linux/scripts/installers/configure-environment.sh index fbac4275e..97d3c6068 100644 --- a/images/linux/scripts/installers/configure-environment.sh +++ b/images/linux/scripts/installers/configure-environment.sh @@ -1,3 +1,5 @@ +#!/bin/bash -e + #Set ImageVersion and ImageOS env variables echo ImageVersion=$IMAGE_VERSION | tee -a /etc/environment echo ImageOS=$IMAGE_OS | tee -a /etc/environment @@ -22,4 +24,4 @@ chmod -R 777 $AGENT_TOOLSDIRECTORY # https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html # https://www.suse.com/support/kb/doc/?id=000016692 -echo 'vm.max_map_count=262144' | tee -a /etc/sysctl.conf \ No newline at end of file +echo 'vm.max_map_count=262144' | tee -a /etc/sysctl.conf diff --git a/images/linux/scripts/installers/containers.sh b/images/linux/scripts/installers/containers.sh index a44d73fd7..682cdd131 100644 --- a/images/linux/scripts/installers/containers.sh +++ b/images/linux/scripts/installers/containers.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: containers.sh ## Desc: Installs container tools: podman, buildah and skopeo onto the image ################################################################################ - source /etc/os-release sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key diff --git a/images/linux/scripts/installers/docker-compose.sh b/images/linux/scripts/installers/docker-compose.sh index d2698d5c0..0fa74fc12 100644 --- a/images/linux/scripts/installers/docker-compose.sh +++ b/images/linux/scripts/installers/docker-compose.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: docker-compose.sh ## Desc: Installs Docker Compose ################################################################################ - URL=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r '.assets[].browser_download_url | select(contains("docker-compose-Linux-x86_64"))' | head -1) # Install latest docker-compose from releases diff --git a/images/linux/scripts/installers/docker-moby.sh b/images/linux/scripts/installers/docker-moby.sh index 9ae7f8c86..964fbc92c 100644 --- a/images/linux/scripts/installers/docker-moby.sh +++ b/images/linux/scripts/installers/docker-moby.sh @@ -1,9 +1,8 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: docker-moby.sh ## Desc: Installs docker onto the image ################################################################################ -set -e # Source the helpers for use with the script source $HELPER_SCRIPTS/install.sh diff --git a/images/linux/scripts/installers/dotnetcore-sdk.sh b/images/linux/scripts/installers/dotnetcore-sdk.sh index ee0a95b89..ff966cd28 100644 --- a/images/linux/scripts/installers/dotnetcore-sdk.sh +++ b/images/linux/scripts/installers/dotnetcore-sdk.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: dotnetcore-sdk.sh ## Desc: Installs .NET Core SDK @@ -25,7 +25,6 @@ mksamples() sample=$2 mkdir "$sdk" cd "$sdk" || exit - set -e dotnet help dotnet new globaljson --sdk-version "$sdk" dotnet new "$sample" @@ -36,8 +35,6 @@ mksamples() rm -rf "$sdk" } -set -e - # Disable telemetry export DOTNET_CLI_TELEMETRY_OPTOUT=1 diff --git a/images/linux/scripts/installers/dpkg-config.sh b/images/linux/scripts/installers/dpkg-config.sh index 67b200ed8..d8523b345 100644 --- a/images/linux/scripts/installers/dpkg-config.sh +++ b/images/linux/scripts/installers/dpkg-config.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e # This is the anti-frontend. It never interacts with you at all, # and makes the default answers be used for all questions. It diff --git a/images/linux/scripts/installers/erlang.sh b/images/linux/scripts/installers/erlang.sh index aa94e3a2b..c8ec5a1bc 100644 --- a/images/linux/scripts/installers/erlang.sh +++ b/images/linux/scripts/installers/erlang.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: erlang.sh ## Desc: Installs erlang ################################################################################ - source_list=/etc/apt/sources.list.d/eslerlang.list # Install Erlang diff --git a/images/linux/scripts/installers/example.sh b/images/linux/scripts/installers/example.sh index 895de5d35..58e71b06e 100644 --- a/images/linux/scripts/installers/example.sh +++ b/images/linux/scripts/installers/example.sh @@ -1,11 +1,10 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: example.sh ## Desc: This is an example script that can be copied to add a new software ## installer to the image ################################################################################ - # Test to see if the software in question is already installed, if not install it echo "Checking to see if the installer script has already been run" if [ -z $EXAMPLE_VAR ]; then diff --git a/images/linux/scripts/installers/firefox.sh b/images/linux/scripts/installers/firefox.sh index 3287bf168..a2cd8521f 100644 --- a/images/linux/scripts/installers/firefox.sh +++ b/images/linux/scripts/installers/firefox.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: firefox.sh ## Desc: Installs Firefox ################################################################################ - # Install Firefox apt-get install -y firefox diff --git a/images/linux/scripts/installers/gcc.sh b/images/linux/scripts/installers/gcc.sh index b59eae7f6..3b696e9ff 100644 --- a/images/linux/scripts/installers/gcc.sh +++ b/images/linux/scripts/installers/gcc.sh @@ -1,11 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: gcc.sh ## Desc: Installs GNU C++ ################################################################################ -set -e - # Source the helpers for use with the script source $HELPER_SCRIPTS/os.sh diff --git a/images/linux/scripts/installers/gfortran.sh b/images/linux/scripts/installers/gfortran.sh index c37fccf27..dc49cb446 100644 --- a/images/linux/scripts/installers/gfortran.sh +++ b/images/linux/scripts/installers/gfortran.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: gfortran.sh ## Desc: Installs GNU Fortran ################################################################################ - function InstallFortran { version=$1 diff --git a/images/linux/scripts/installers/git.sh b/images/linux/scripts/installers/git.sh index 331e5f813..0ba2611ff 100644 --- a/images/linux/scripts/installers/git.sh +++ b/images/linux/scripts/installers/git.sh @@ -1,9 +1,8 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: git.sh ## Desc: Installs Git ################################################################################ -set -e # Source the helpers for use with the script source "$HELPER_SCRIPTS"/install.sh diff --git a/images/linux/scripts/installers/github-cli.sh b/images/linux/scripts/installers/github-cli.sh index c9bec1fc6..d4eccb125 100644 --- a/images/linux/scripts/installers/github-cli.sh +++ b/images/linux/scripts/installers/github-cli.sh @@ -1,11 +1,10 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: github-cli.sh ## Desc: Installs GitHub CLI ## Must be run as non-root user after homebrew ################################################################################ - # Install GitHub CLI url=$(curl -s https://api.github.com/repos/cli/cli/releases/latest | jq -r '.assets[].browser_download_url|select(contains("linux") and contains("amd64") and contains(".deb"))') wget $url diff --git a/images/linux/scripts/installers/google-chrome.sh b/images/linux/scripts/installers/google-chrome.sh index a6ace2f38..44316ece5 100644 --- a/images/linux/scripts/installers/google-chrome.sh +++ b/images/linux/scripts/installers/google-chrome.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: google-chrome.sh ## Desc: Installs google-chrome and chromedriver ################################################################################ - LSB_RELEASE=$(lsb_release -rs) wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - diff --git a/images/linux/scripts/installers/google-cloud-sdk.sh b/images/linux/scripts/installers/google-cloud-sdk.sh index 147d8d4fb..a6d8227c8 100644 --- a/images/linux/scripts/installers/google-cloud-sdk.sh +++ b/images/linux/scripts/installers/google-cloud-sdk.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: google-cloud-sdk.sh ## Desc: Installs the Google Cloud SDK ################################################################################ - # Install the Google Cloud SDK echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - diff --git a/images/linux/scripts/installers/haskell.sh b/images/linux/scripts/installers/haskell.sh index b8bfa5efe..9b351cc31 100644 --- a/images/linux/scripts/installers/haskell.sh +++ b/images/linux/scripts/installers/haskell.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: haskell.sh ## Desc: Installs Haskell diff --git a/images/linux/scripts/installers/heroku.sh b/images/linux/scripts/installers/heroku.sh index c4c0e588c..86d537869 100644 --- a/images/linux/scripts/installers/heroku.sh +++ b/images/linux/scripts/installers/heroku.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: heroku.sh ## Desc: Installs Heroku CLI ################################################################################ - # Install Heroku CLI curl https://cli-assets.heroku.com/install-ubuntu.sh | sh diff --git a/images/linux/scripts/installers/hhvm.sh b/images/linux/scripts/installers/hhvm.sh index 3010db873..e44f4b3a5 100644 --- a/images/linux/scripts/installers/hhvm.sh +++ b/images/linux/scripts/installers/hhvm.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: hhvm.sh ## Desc: Installs hhvm diff --git a/images/linux/scripts/installers/homebrew-validate.sh b/images/linux/scripts/installers/homebrew-validate.sh index 88d61f946..0806838d7 100644 --- a/images/linux/scripts/installers/homebrew-validate.sh +++ b/images/linux/scripts/installers/homebrew-validate.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: homebrew-validate.sh ## Desc: Validate the Homebrew can run after reboot without extra configuring diff --git a/images/linux/scripts/installers/homebrew.sh b/images/linux/scripts/installers/homebrew.sh index 370d9d09d..865923f25 100644 --- a/images/linux/scripts/installers/homebrew.sh +++ b/images/linux/scripts/installers/homebrew.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: homebrew.sh ## Desc: Installs the Homebrew on Linux diff --git a/images/linux/scripts/installers/hosted-tool-cache.sh b/images/linux/scripts/installers/hosted-tool-cache.sh index d40a4922a..23c09be8d 100644 --- a/images/linux/scripts/installers/hosted-tool-cache.sh +++ b/images/linux/scripts/installers/hosted-tool-cache.sh @@ -1,13 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: hosted-tool-cache.sh ## Desc: Downloads and installs hosted tools cache ################################################################################ - -# Fail out if any setups fail -set -e - TOOLCACHE_REGISTRY="npm.pkg.github.com" echo "Configure npm to use github package registry for '@actions' scope" diff --git a/images/linux/scripts/installers/image-magick.sh b/images/linux/scripts/installers/image-magick.sh index e01c933a7..daf0d62b8 100644 --- a/images/linux/scripts/installers/image-magick.sh +++ b/images/linux/scripts/installers/image-magick.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: image-magick.sh ## Desc: Installs ImageMagick ################################################################################ - # Install ImageMagick apt-get install -y --no-install-recommends --fix-missing \ imagemagick \ diff --git a/images/linux/scripts/installers/java-tools.sh b/images/linux/scripts/installers/java-tools.sh index 46aa8b285..ea95a56ba 100644 --- a/images/linux/scripts/installers/java-tools.sh +++ b/images/linux/scripts/installers/java-tools.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: java-tools.sh ## Desc: Installs Java and related tooling (Ant, Gradle, Maven) @@ -6,8 +6,6 @@ source $HELPER_SCRIPTS/os.sh -set -e - function javaTool { if [[ "$2" =~ ([1]{0,1}.)?$DEFAULT_JDK_VERSION.* ]]; then echo "$1 $2 is equal to default one $DEFAULT_JDK_VERSION" diff --git a/images/linux/scripts/installers/julia.sh b/images/linux/scripts/installers/julia.sh index 079890a19..cd0ee0ed9 100644 --- a/images/linux/scripts/installers/julia.sh +++ b/images/linux/scripts/installers/julia.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: julia.sh ## Desc: Installs Julia, and adds Julia to the path ################################################################################ - # This function fetches the latest Julia release from the GitHub API # Based on https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c function GetLatestJuliaRelease () { diff --git a/images/linux/scripts/installers/kind.sh b/images/linux/scripts/installers/kind.sh index 3a312a2e3..419f4e60f 100644 --- a/images/linux/scripts/installers/kind.sh +++ b/images/linux/scripts/installers/kind.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: kind.sh ## Desc: Installs kind ################################################################################ - # Install KIND URL=$(curl -s https://api.github.com/repos/kubernetes-sigs/kind/releases/latest | jq -r '.assets[].browser_download_url | select(contains("kind-linux-amd64"))') curl -L -o /usr/local/bin/kind $URL diff --git a/images/linux/scripts/installers/kubernetes-tools.sh b/images/linux/scripts/installers/kubernetes-tools.sh index a25cb0f26..e74515ea2 100644 --- a/images/linux/scripts/installers/kubernetes-tools.sh +++ b/images/linux/scripts/installers/kubernetes-tools.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: kubernetes-tools.sh ## Desc: Installs kubectl, helm, kustomize ################################################################################ - ## Install kubectl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - touch /etc/apt/sources.list.d/kubernetes.list diff --git a/images/linux/scripts/installers/leiningen.sh b/images/linux/scripts/installers/leiningen.sh index 56079a34d..059dfdb56 100644 --- a/images/linux/scripts/installers/leiningen.sh +++ b/images/linux/scripts/installers/leiningen.sh @@ -1,12 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: leiningen.sh ## Desc: Installs Leiningen ################################################################################ - -set -e - LEIN_BIN=/usr/local/bin/lein curl -s https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein > $LEIN_BIN chmod 0755 $LEIN_BIN diff --git a/images/linux/scripts/installers/mercurial.sh b/images/linux/scripts/installers/mercurial.sh index ad972d74f..4c3493d8c 100644 --- a/images/linux/scripts/installers/mercurial.sh +++ b/images/linux/scripts/installers/mercurial.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: mercurial.sh ## Desc: Installs Mercurial diff --git a/images/linux/scripts/installers/miniconda.sh b/images/linux/scripts/installers/miniconda.sh index 29eebd0ca..3dae1e1bb 100644 --- a/images/linux/scripts/installers/miniconda.sh +++ b/images/linux/scripts/installers/miniconda.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: miniconda.sh ## Desc: Installs miniconda ################################################################################ - # Install Miniconda curl -sL https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh \ && chmod +x miniconda.sh \ diff --git a/images/linux/scripts/installers/mongodb.sh b/images/linux/scripts/installers/mongodb.sh index 2d012c61f..5fd1b36a0 100644 --- a/images/linux/scripts/installers/mongodb.sh +++ b/images/linux/scripts/installers/mongodb.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: homebrew.sh ## Desc: Installs Mongo DB diff --git a/images/linux/scripts/installers/mono.sh b/images/linux/scripts/installers/mono.sh index 9e4968f36..bdce62484 100644 --- a/images/linux/scripts/installers/mono.sh +++ b/images/linux/scripts/installers/mono.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: cmake.sh ## Desc: Installs Mono ################################################################################ - LSB_CODENAME=$(lsb_release -cs) # Test to see if the software in question is already installed, if not install it diff --git a/images/linux/scripts/installers/mysql.sh b/images/linux/scripts/installers/mysql.sh index 24cb5cf26..9abb97931 100644 --- a/images/linux/scripts/installers/mysql.sh +++ b/images/linux/scripts/installers/mysql.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: mysql.sh ## Desc: Installs MySQL Client ################################################################################ - export ACCEPT_EULA=Y if isUbuntu16 || isUbuntu18 ; then @@ -44,7 +43,6 @@ if ! command -v mysql; then exit 1 fi -set -e mysql -vvv -e 'CREATE DATABASE smoke_test' -uroot -proot mysql -vvv -e 'DROP DATABASE smoke_test' -uroot -proot set +e diff --git a/images/linux/scripts/installers/netlify.sh b/images/linux/scripts/installers/netlify.sh index b737d4759..42121ab7e 100644 --- a/images/linux/scripts/installers/netlify.sh +++ b/images/linux/scripts/installers/netlify.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: netlify.sh ## Desc: Installs the Netlify CLI ################################################################################ - # Install the Netlify CLI npm i -g netlify-cli diff --git a/images/linux/scripts/installers/nodejs.sh b/images/linux/scripts/installers/nodejs.sh index 378236a8b..e0bb6981c 100644 --- a/images/linux/scripts/installers/nodejs.sh +++ b/images/linux/scripts/installers/nodejs.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: nodejs.sh ## Desc: Installs Node.js LTS and related tooling (Gulp, Grunt) ################################################################################ - # Install LTS Node.js and related build tools curl -sL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s -- -ny - ~/n/bin/n lts diff --git a/images/linux/scripts/installers/nvm.sh b/images/linux/scripts/installers/nvm.sh index 619eade84..b0d995138 100644 --- a/images/linux/scripts/installers/nvm.sh +++ b/images/linux/scripts/installers/nvm.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: nvm.sh ## Desc: Installs Nvm ################################################################################ - export NVM_DIR="/etc/skel/.nvm" mkdir $NVM_DIR VERSION=$(curl -s https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name') diff --git a/images/linux/scripts/installers/oc.sh b/images/linux/scripts/installers/oc.sh index 88894e3f5..2310f33f0 100644 --- a/images/linux/scripts/installers/oc.sh +++ b/images/linux/scripts/installers/oc.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: oc.sh ## Desc: Installs the OC CLI ################################################################################ - # Install the oc CLI curl "https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/linux/oc.tar.gz" > oc.tar.gz tar xvzf oc.tar.gz diff --git a/images/linux/scripts/installers/oras-cli.sh b/images/linux/scripts/installers/oras-cli.sh index e615d25de..3c18865b2 100644 --- a/images/linux/scripts/installers/oras-cli.sh +++ b/images/linux/scripts/installers/oras-cli.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: oras-cli.sh ## Desc: Installs ORAS CLI diff --git a/images/linux/scripts/installers/packer.sh b/images/linux/scripts/installers/packer.sh index 25897a780..b45a87ac9 100644 --- a/images/linux/scripts/installers/packer.sh +++ b/images/linux/scripts/installers/packer.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: packer.sh ## Desc: Installs packer ################################################################################ - # Install Packer PACKER_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | jq -r .current_version) curl -LO "https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_amd64.zip" diff --git a/images/linux/scripts/installers/phantomjs.sh b/images/linux/scripts/installers/phantomjs.sh index 093056db2..a774b2d0a 100644 --- a/images/linux/scripts/installers/phantomjs.sh +++ b/images/linux/scripts/installers/phantomjs.sh @@ -1,11 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: phantomjs.sh ## Desc: Installs PhantomJS ################################################################################ -set -e - # Install PhantomJS apt-get install -y chrpath libssl-dev libxft-dev libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev PHANTOM_JS=phantomjs-2.1.1-linux-x86_64 diff --git a/images/linux/scripts/installers/php.sh b/images/linux/scripts/installers/php.sh index 35afa4a4f..b8e2b8ed1 100644 --- a/images/linux/scripts/installers/php.sh +++ b/images/linux/scripts/installers/php.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: php.sh ## Desc: Installs php @@ -8,8 +8,6 @@ source $HELPER_SCRIPTS/etc-environment.sh source $HELPER_SCRIPTS/os.sh -set -e - # add repository apt-add-repository ppa:ondrej/php -y apt-get update diff --git a/images/linux/scripts/installers/pollinate.sh b/images/linux/scripts/installers/pollinate.sh index bdb2ce36c..fe2350d94 100644 --- a/images/linux/scripts/installers/pollinate.sh +++ b/images/linux/scripts/installers/pollinate.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: pollinate.sh ## Desc: Installs Pollinate ################################################################################ - # Install Pollinate apt-get install -y --no-install-recommends pollinate diff --git a/images/linux/scripts/installers/post-deployment.sh b/images/linux/scripts/installers/post-deployment.sh index 2864dae4f..821294137 100644 --- a/images/linux/scripts/installers/post-deployment.sh +++ b/images/linux/scripts/installers/post-deployment.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: post-deployment.sh ## Desc: Post deployment actions diff --git a/images/linux/scripts/installers/postgresql.sh b/images/linux/scripts/installers/postgresql.sh index ae5ffbb25..4c652fdf2 100644 --- a/images/linux/scripts/installers/postgresql.sh +++ b/images/linux/scripts/installers/postgresql.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: postgresql.sh ## Desc: Installs Postgresql ################################################################################ - #Preparing repo for PostgreSQL 12. wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list @@ -25,4 +24,4 @@ pg_isready # Disable postgresql.service systemctl is-active --quiet postgresql.service && systemctl stop postgresql.service -systemctl disable postgresql.service \ No newline at end of file +systemctl disable postgresql.service diff --git a/images/linux/scripts/installers/powershellcore.sh b/images/linux/scripts/installers/powershellcore.sh index e0c19ba7c..0ac52072d 100644 --- a/images/linux/scripts/installers/powershellcore.sh +++ b/images/linux/scripts/installers/powershellcore.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: powershellcore.sh ## Desc: Installs powershellcore diff --git a/images/linux/scripts/installers/preimagedata.sh b/images/linux/scripts/installers/preimagedata.sh index 26be3bfa4..d9f7b22fe 100644 --- a/images/linux/scripts/installers/preimagedata.sh +++ b/images/linux/scripts/installers/preimagedata.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e imagedata_file=$IMAGEDATA_FILE image_version=$IMAGE_VERSION @@ -29,4 +29,4 @@ cat < $imagedata_file "detail": "Environment: ${image_label}\nVersion: ${image_version}\nIncluded Software: ${software_url}" } ] -EOF \ No newline at end of file +EOF diff --git a/images/linux/scripts/installers/pulumi.sh b/images/linux/scripts/installers/pulumi.sh index bfdad2d13..444a3e7f3 100644 --- a/images/linux/scripts/installers/pulumi.sh +++ b/images/linux/scripts/installers/pulumi.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: pulumi.sh ## Desc: Installs Pulumi diff --git a/images/linux/scripts/installers/pypy.sh b/images/linux/scripts/installers/pypy.sh index cc707a3e4..99dab0a77 100644 --- a/images/linux/scripts/installers/pypy.sh +++ b/images/linux/scripts/installers/pypy.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: pypy.sh ## Desc: Installs PyPy @@ -76,8 +76,6 @@ pypyVersions="$(cat /tmp/pypyUrls.html | grep 'linux64' | awk -v uri="$uri" -F'> toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json" toolsetVersions=$(jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]' $toolset) -# Fail out if any setups fail -set -e for toolsetVersion in $toolsetVersions; do latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1) @@ -90,4 +88,4 @@ for toolsetVersion in $toolsetVersions; do InstallPyPy $latestMajorPyPyVersion done -chown -R "$SUDO_USER:$SUDO_USER" "$AGENT_TOOLSDIRECTORY/PyPy" \ No newline at end of file +chown -R "$SUDO_USER:$SUDO_USER" "$AGENT_TOOLSDIRECTORY/PyPy" diff --git a/images/linux/scripts/installers/python.sh b/images/linux/scripts/installers/python.sh index 62dc8d359..8993e1d3a 100644 --- a/images/linux/scripts/installers/python.sh +++ b/images/linux/scripts/installers/python.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: python.sh ## Desc: Installs Python 2/3 diff --git a/images/linux/scripts/installers/r.sh b/images/linux/scripts/installers/r.sh index cca86e1bb..86ad96bd6 100644 --- a/images/linux/scripts/installers/r.sh +++ b/images/linux/scripts/installers/r.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e # Source the helpers for use with the script source $HELPER_SCRIPTS/os.sh diff --git a/images/linux/scripts/installers/rndgenerator.sh b/images/linux/scripts/installers/rndgenerator.sh index cdb78edf1..98f1dbaa1 100644 --- a/images/linux/scripts/installers/rndgenerator.sh +++ b/images/linux/scripts/installers/rndgenerator.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: rndgenerator.sh ## Desc: Install random number generator ################################################################################ - # Install haveged apt-get -y install haveged diff --git a/images/linux/scripts/installers/ruby.sh b/images/linux/scripts/installers/ruby.sh index 8be6d0fa9..bf2c757d9 100644 --- a/images/linux/scripts/installers/ruby.sh +++ b/images/linux/scripts/installers/ruby.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: ruby.sh ## Desc: Installs Ruby requirements ################################################################################ - sudo apt-get install ruby-full sudo gem update --system diff --git a/images/linux/scripts/installers/rust.sh b/images/linux/scripts/installers/rust.sh index a211e791b..c86f4d6ad 100644 --- a/images/linux/scripts/installers/rust.sh +++ b/images/linux/scripts/installers/rust.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: rust.sh ## Desc: Installs Rust diff --git a/images/linux/scripts/installers/sbt.sh b/images/linux/scripts/installers/sbt.sh index 166dc18b5..a43115083 100644 --- a/images/linux/scripts/installers/sbt.sh +++ b/images/linux/scripts/installers/sbt.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: scala.sh ## Desc: Installs sbt ################################################################################ - # Install sbt # https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Linux.html echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list diff --git a/images/linux/scripts/installers/selenium.sh b/images/linux/scripts/installers/selenium.sh index d9b5e2794..d662fa009 100644 --- a/images/linux/scripts/installers/selenium.sh +++ b/images/linux/scripts/installers/selenium.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: selenium.sh ## Desc: Installs selenium server ################################################################################ - # Determine latest selenium standalone server version SELENIUM_LATEST_VERSION_URL=https://api.github.com/repos/SeleniumHQ/selenium/releases/latest SELENIUM_VERSION=$(curl $SELENIUM_LATEST_VERSION_URL | jq '.name' | tr -d '"' | cut -d ' ' -f 2) diff --git a/images/linux/scripts/installers/sphinx.sh b/images/linux/scripts/installers/sphinx.sh index 425bb7fd3..2ef22f46d 100644 --- a/images/linux/scripts/installers/sphinx.sh +++ b/images/linux/scripts/installers/sphinx.sh @@ -1,9 +1,8 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: sphinx.sh ## Desc: Installs Sphinx ################################################################################ - # Install Sphinx apt-get install -y sphinxsearch diff --git a/images/linux/scripts/installers/subversion.sh b/images/linux/scripts/installers/subversion.sh index 3f51d46a0..77b2d0276 100644 --- a/images/linux/scripts/installers/subversion.sh +++ b/images/linux/scripts/installers/subversion.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: subversion.sh ## Desc: Installs Subversion client ################################################################################ - # Install Subversion apt-get install -y --no-install-recommends subversion diff --git a/images/linux/scripts/installers/swift.sh b/images/linux/scripts/installers/swift.sh index 318d3973f..73c8fd297 100644 --- a/images/linux/scripts/installers/swift.sh +++ b/images/linux/scripts/installers/swift.sh @@ -1,15 +1,15 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: swift.sh ## Desc: Installs Swift ################################################################################ - # Install image_label="$(lsb_release -rs)" -swift_version=$(curl -s https://swift.org/download/ | grep -m1 "id=\"swift-" | awk -F"[ <]" '{print $4}') +swift_version=$(curl -s -L -N https://swift.org/download|awk -F"[ <]" '/id="swift-/ {print $4; exit}') wget -P /tmp https://swift.org/builds/swift-$swift_version-release/ubuntu${image_label//./}/swift-$swift_version-RELEASE/swift-$swift_version-RELEASE-ubuntu$image_label.tar.gz + tar xzf /tmp/swift-$swift_version-RELEASE-ubuntu$image_label.tar.gz mv swift-$swift_version-RELEASE-ubuntu$image_label /usr/share/swift diff --git a/images/linux/scripts/installers/swig.sh b/images/linux/scripts/installers/swig.sh index 7972e8827..b2e5a202e 100644 --- a/images/linux/scripts/installers/swig.sh +++ b/images/linux/scripts/installers/swig.sh @@ -1,5 +1,4 @@ -#!/bin/bash - +#!/bin/bash -e # Install Swig sudo apt-get install -y swig diff --git a/images/linux/scripts/installers/terraform.sh b/images/linux/scripts/installers/terraform.sh index 4c7e6e762..90c25c65a 100644 --- a/images/linux/scripts/installers/terraform.sh +++ b/images/linux/scripts/installers/terraform.sh @@ -1,10 +1,9 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: terraform.sh ## Desc: Installs terraform ################################################################################ - # Install Terraform TERRAFORM_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r .current_version) curl -LO "https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip" diff --git a/images/linux/scripts/installers/test-toolcache.sh b/images/linux/scripts/installers/test-toolcache.sh index 455ddec09..84d93446e 100644 --- a/images/linux/scripts/installers/test-toolcache.sh +++ b/images/linux/scripts/installers/test-toolcache.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: test-toolcache.sh ## Desc: Test Python and Ruby versions in tools cache @@ -51,9 +51,6 @@ Test_Hostedtoolcache_Tool() { fi } -# Fail out if any tests fail -set -e - # define dictionary for key_alias and its values declare -A TOOLCACHE_KEY_VALUE diff --git a/images/linux/scripts/installers/validate-disk-space.sh b/images/linux/scripts/installers/validate-disk-space.sh index 49863064e..c81b9fa75 100644 --- a/images/linux/scripts/installers/validate-disk-space.sh +++ b/images/linux/scripts/installers/validate-disk-space.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: validate-disk-space.sh ## Desc: Validate free disk space @@ -17,4 +17,4 @@ fi if [ $availableSpaceMB -le $minimumFreeSpaceMB ]; then echo "Not enough disk space on the image (minimum available space: $minimumFreeSpaceMB MB)" exit 1 -fi \ No newline at end of file +fi diff --git a/images/linux/scripts/installers/vcpkg.sh b/images/linux/scripts/installers/vcpkg.sh index ba7cd01cf..e2d9688ce 100644 --- a/images/linux/scripts/installers/vcpkg.sh +++ b/images/linux/scripts/installers/vcpkg.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: vcpkg.sh ## Desc: Installs vcpkg diff --git a/images/linux/scripts/installers/vercel.sh b/images/linux/scripts/installers/vercel.sh index 4e0d41ae6..7f48d7c28 100644 --- a/images/linux/scripts/installers/vercel.sh +++ b/images/linux/scripts/installers/vercel.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: vercel.sh ## Desc: Installs the Vercel CLI From 69cfebc5fca7e2c4a64bd6163025b6212cb542a3 Mon Sep 17 00:00:00 2001 From: Darii Nurgaleev Date: Mon, 12 Oct 2020 21:42:27 +0700 Subject: [PATCH 20/42] added separate file for choco script. --- images/win/post-generation/ChocoFirstStart.ps1 | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 images/win/post-generation/ChocoFirstStart.ps1 diff --git a/images/win/post-generation/ChocoFirstStart.ps1 b/images/win/post-generation/ChocoFirstStart.ps1 new file mode 100644 index 000000000..3f8e7c8df --- /dev/null +++ b/images/win/post-generation/ChocoFirstStart.ps1 @@ -0,0 +1,2 @@ +# Step to avoid initial delay for choco scripts +choco upgrade chocolatey \ No newline at end of file From ed38c86cbb585a410e6c74d9d423752db2a47756 Mon Sep 17 00:00:00 2001 From: Leonid Lapshin Date: Mon, 12 Oct 2020 17:44:31 +0300 Subject: [PATCH 21/42] Move linux provision scripts to virtual-environments (#1714) * add linux-related scripts from MMS provisioner * removed EOL * removed Ubuntu condition * moved PATH checking to cleanup section * add clarification for cgroups names * names alignment * removed memory-configuration and agent specific scripts * renamed folder to psot-generation, added template instructions * moved key import to git installation * moved PATH check to post-deployment instead of cleanup script * add scripts * output tests file * add startup logic * add powershell module for furute helpers * removed unused modules * copy to tmp folder because of permissions, copy to opt on post-generation step * removed Pester test * change post-generation location * incorrect if statement Co-authored-by: Leonid Lapshin --- images/linux/post-generation/homebrew-permissions.sh | 11 +++++++++++ images/linux/post-generation/rust-permissions.sh | 11 +++++++++++ images/linux/scripts/installers/cleanup.sh | 2 +- images/linux/scripts/installers/git.sh | 4 ++++ images/linux/scripts/installers/post-deployment.sh | 10 ++++++++++ images/linux/ubuntu1604.json | 5 +++++ images/linux/ubuntu1804.json | 5 +++++ images/linux/ubuntu2004.json | 5 +++++ 8 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 images/linux/post-generation/homebrew-permissions.sh create mode 100644 images/linux/post-generation/rust-permissions.sh diff --git a/images/linux/post-generation/homebrew-permissions.sh b/images/linux/post-generation/homebrew-permissions.sh new file mode 100644 index 000000000..1dbd043e2 --- /dev/null +++ b/images/linux/post-generation/homebrew-permissions.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Fix permissions for Homebrew +# https://github.com/actions/virtual-environments/issues/1568 +brew_folder="/home/linuxbrew/" +if [ -d "$brew_folder" ]; then + brew_folder_owner=$(ls -ld $brew_folder | awk '{print $3}') + if [ "$USER" != "$brew_folder_owner" ]; then + chown "$USER":docker -R $brew_folder + fi +fi diff --git a/images/linux/post-generation/rust-permissions.sh b/images/linux/post-generation/rust-permissions.sh new file mode 100644 index 000000000..6673686bd --- /dev/null +++ b/images/linux/post-generation/rust-permissions.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Fix permissions for the Rust folder +# https://github.com/actions/virtual-environments/issues/572 +rust_folder="/usr/share/rust" +if [ -d "$rust_folder" ]; then + rust_folder_owner=$(ls -ld $rust_folder | awk '{print $3}') + if [ "$USER" != "$rust_folder_owner" ]; then + chown "$USER":docker -R $rust_folder + fi +fi diff --git a/images/linux/scripts/installers/cleanup.sh b/images/linux/scripts/installers/cleanup.sh index 387a22402..cb6468d67 100644 --- a/images/linux/scripts/installers/cleanup.sh +++ b/images/linux/scripts/installers/cleanup.sh @@ -27,4 +27,4 @@ after=$(df / -Pm | awk 'NR==2{print $4}') # display size echo "Before: $before MB" echo "After : $after MB" - echo "Delta : $(($after-$before)) MB" \ No newline at end of file + echo "Delta : $(($after-$before)) MB" diff --git a/images/linux/scripts/installers/git.sh b/images/linux/scripts/installers/git.sh index 331e5f813..b0cdb6a36 100644 --- a/images/linux/scripts/installers/git.sh +++ b/images/linux/scripts/installers/git.sh @@ -52,3 +52,7 @@ else echo "[!] Hub CLI was not installed" exit 1 fi + +# Add well-known SSH host keys to known_hosts +ssh-keyscan -t rsa github.com >> /etc/ssh/ssh_known_hosts +ssh-keyscan -t rsa ssh.dev.azure.com >> /etc/ssh/ssh_known_hosts diff --git a/images/linux/scripts/installers/post-deployment.sh b/images/linux/scripts/installers/post-deployment.sh index 2864dae4f..f094ca51d 100644 --- a/images/linux/scripts/installers/post-deployment.sh +++ b/images/linux/scripts/installers/post-deployment.sh @@ -4,6 +4,8 @@ ## Desc: Post deployment actions ################################################################################ +mv -f /imagegeneration/post-generation /opt + # set chmod -R 777 /opt if [[ -d "/opt" ]]; then echo "chmod -R 777 /opt" @@ -14,3 +16,11 @@ fi rm -rf $HELPER_SCRIPT_FOLDER rm -rf $INSTALLER_SCRIPT_FOLDER chmod 755 $IMAGE_FOLDER + +# Check PATH +if [[ $PATH == \"*\" ]] +then + echo "ERROR: PATH contains quotes" + echo "PATH = $PATH" + exit 1 +fi diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index 8a4255ec7..5e45fdedc 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -89,6 +89,11 @@ "source": "{{template_dir}}/scripts/installers", "destination": "{{user `installer_script_folder`}}" }, + { + "type": "file", + "source": "{{ template_dir }}/post-generation", + "destination": "{{user `image_folder`}}" + }, { "type": "file", "source": "{{ template_dir }}/scripts/SoftwareReport", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index daf40ce81..e6af0e41e 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -92,6 +92,11 @@ "source": "{{template_dir}}/scripts/installers", "destination": "{{user `installer_script_folder`}}" }, + { + "type": "file", + "source": "{{ template_dir }}/post-generation", + "destination": "{{user `image_folder`}}" + }, { "type": "file", "source": "{{ template_dir }}/scripts/SoftwareReport", diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index 740fe097f..9b4181ede 100644 --- a/images/linux/ubuntu2004.json +++ b/images/linux/ubuntu2004.json @@ -94,6 +94,11 @@ "source": "{{template_dir}}/scripts/installers", "destination": "{{user `installer_script_folder`}}" }, + { + "type": "file", + "source": "{{ template_dir }}/post-generation", + "destination": "{{user `installer_script_folder`}}" + }, { "type": "file", "source": "{{ template_dir }}/scripts/SoftwareReport", From f33118c5dc913db70d0712414e121acd803cb65e Mon Sep 17 00:00:00 2001 From: Darii Nurgaleev Date: Mon, 12 Oct 2020 21:46:49 +0700 Subject: [PATCH 22/42] removed from old file and renamed choco. --- images/win/post-generation/Choco.ps1 | 2 ++ images/win/post-generation/VSConfiguration.ps1 | 5 +---- 2 files changed, 3 insertions(+), 4 deletions(-) create mode 100644 images/win/post-generation/Choco.ps1 diff --git a/images/win/post-generation/Choco.ps1 b/images/win/post-generation/Choco.ps1 new file mode 100644 index 000000000..3f8e7c8df --- /dev/null +++ b/images/win/post-generation/Choco.ps1 @@ -0,0 +1,2 @@ +# Step to avoid initial delay for choco scripts +choco upgrade chocolatey \ No newline at end of file diff --git a/images/win/post-generation/VSConfiguration.ps1 b/images/win/post-generation/VSConfiguration.ps1 index 3561e6d11..0ff9d7bfb 100644 --- a/images/win/post-generation/VSConfiguration.ps1 +++ b/images/win/post-generation/VSConfiguration.ps1 @@ -1,7 +1,4 @@ $vsInstallRoot = Get-VisualStudioPath $devEnvPath = "$vsInstallRoot\Common7\IDE\devenv.exe" -cmd.exe /c "`"$devEnvPath`" /updateconfiguration" - -# Step to avoid initial delay for choco scripts -choco upgrade chocolatey \ No newline at end of file +cmd.exe /c "`"$devEnvPath`" /updateconfiguration" \ No newline at end of file From 164f12f9fcdb9a926a35201835dcff99e5c4de08 Mon Sep 17 00:00:00 2001 From: Darii Nurgaleev Date: Mon, 12 Oct 2020 21:46:57 +0700 Subject: [PATCH 23/42] removed old file --- images/win/post-generation/ChocoFirstStart.ps1 | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 images/win/post-generation/ChocoFirstStart.ps1 diff --git a/images/win/post-generation/ChocoFirstStart.ps1 b/images/win/post-generation/ChocoFirstStart.ps1 deleted file mode 100644 index 3f8e7c8df..000000000 --- a/images/win/post-generation/ChocoFirstStart.ps1 +++ /dev/null @@ -1,2 +0,0 @@ -# Step to avoid initial delay for choco scripts -choco upgrade chocolatey \ No newline at end of file From 671d82f3f340abd611eac1c43e6b68309079ede0 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Mon, 12 Oct 2020 18:50:08 +0300 Subject: [PATCH 24/42] remove word bazelisk --- images/macos/software-report/SoftwareReport.Generator.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/macos/software-report/SoftwareReport.Generator.ps1 b/images/macos/software-report/SoftwareReport.Generator.ps1 index 7818ba97e..9bcef14ce 100644 --- a/images/macos/software-report/SoftwareReport.Generator.ps1 +++ b/images/macos/software-report/SoftwareReport.Generator.ps1 @@ -167,7 +167,7 @@ $markdown += New-MDList -Style Unordered -NoNewLine -Lines @( "azcopy $azcopyVersion", "zstd $zstdVersion", $bazelVersion, - "bazelisk $($bazeliskVersion.Trim())", + $bazeliskVersion, "helm $helmVersion", "mongo $mongo", "mongod $mongod", From dbe01607a11cde64b995e42571d4597ec3112e22 Mon Sep 17 00:00:00 2001 From: Alena Sviridenko Date: Tue, 13 Oct 2020 13:48:58 +0300 Subject: [PATCH 25/42] fixed label case (#1802) --- .github/workflows/issue-triager.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/issue-triager.yml b/.github/workflows/issue-triager.yml index c7f4b9f88..c948a620a 100644 --- a/.github/workflows/issue-triager.yml +++ b/.github/workflows/issue-triager.yml @@ -32,7 +32,7 @@ jobs: const isAnnouncement = issueLabels.data && issueLabels.data .map(label => label.name) - .includes('announcement'); + .includes('Announcement'); if (!isAnnouncement) { github.issues.addLabels({ From d8857768e947b973cc9d04951e386dcccb2428e4 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com> Date: Tue, 13 Oct 2020 13:56:37 +0300 Subject: [PATCH 26/42] [macOS] Switch image generation to faster datastores (#1801) * select datastore script * add debug message * add move-vm and helpers * add error action * formatting the script * nits * add missing quotes * add synopsis --- .../azure-pipelines/image-generation.yml | 23 ++++++- images.CI/macos/destroy-vm.ps1 | 44 +++++++------ images.CI/macos/helpers.psm1 | 26 ++++++++ images.CI/macos/move-vm.ps1 | 59 +++++++++++++++++ images.CI/macos/select-datastore.ps1 | 64 +++++++++++++++++++ 5 files changed, 196 insertions(+), 20 deletions(-) create mode 100644 images.CI/macos/helpers.psm1 create mode 100644 images.CI/macos/move-vm.ps1 create mode 100644 images.CI/macos/select-datastore.ps1 diff --git a/images.CI/macos/azure-pipelines/image-generation.yml b/images.CI/macos/azure-pipelines/image-generation.yml index b70e42158..37b17b8a0 100644 --- a/images.CI/macos/azure-pipelines/image-generation.yml +++ b/images.CI/macos/azure-pipelines/image-generation.yml @@ -42,6 +42,15 @@ jobs: SourceFolder: 'images/macos/provision/log/' RemoveSourceFolder: true + - task: PowerShell@2 + displayName: 'Select datastore' + inputs: + targetType: 'filePath' + filePath: ./images.CI/macos/select-datastore.ps1 + arguments: -VIServer "$(vcenter-server-v2)" ` + -VIUserName "$(vcenter-username-v2)" ` + -VIPassword "$(vcenter-password-v2)" + - pwsh: | $SensitiveData = @( 'IP address:', @@ -54,7 +63,7 @@ jobs: -var="vcenter_password=$(vcenter-password-v2)" ` -var="vcenter_datacenter=$(vcenter-datacenter-v2)" ` -var="cluster_or_esxi_host=$(esxi-cluster-v2)" ` - -var="esxi_datastore=${{ parameters.target_datastore }}" ` + -var="esxi_datastore=$(buildDatastore)" ` -var="output_folder=$(output-folder)" ` -var="vm_username=$(vm-username)" ` -var="vm_password=$(vm-password)" ` @@ -106,6 +115,18 @@ jobs: displayName: Publish test results condition: always() + - task: PowerShell@2 + displayName: 'Move vm to cold storage' + condition: succeededOrFailed() + inputs: + targetType: 'filePath' + filePath: ./images.CI/macos/move-vm.ps1 + arguments: -VMName "${{ variables.VirtualMachineName }}" ` + -TargetDataStore "${{ parameters.target_datastore }}" ` + -VIServer "$(vcenter-server-v2)" ` + -VIUserName "$(vcenter-username-v2)" ` + -VIPassword "$(vcenter-password-v2)" + - task: PowerShell@2 displayName: 'Destroy VM (if build canceled only)' condition: eq(variables['Agent.JobStatus'], 'Canceled') diff --git a/images.CI/macos/destroy-vm.ps1 b/images.CI/macos/destroy-vm.ps1 index 0b8083703..f6ed1b1a8 100644 --- a/images.CI/macos/destroy-vm.ps1 +++ b/images.CI/macos/destroy-vm.ps1 @@ -1,3 +1,21 @@ +<# +.SYNOPSIS + +This script deletes vm from vCenter + +.PARAMETER VMName +VM name to delete (Example "macOS-10.15_20201012.4") + +.PARAMETER VIServer +vCenter address (Example "10.0.1.16") + +.PARAMETER VIUserName +vCenter username (Example "Administrator") + +.PARAMETER VIPassword +vCenter password (Example "12345678") +#> + [CmdletBinding()] param( [Parameter(Mandatory)] @@ -17,25 +35,13 @@ param( [string]$VIPassword ) -$ProgressPreference = "SilentlyContinue" -$WarningPreference = "SilentlyContinue" +# Import helpers module +Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking -# connection to a vCenter Server system -try -{ - $null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -ParticipateInCEIP $false -Confirm:$false -WebOperationTimeoutSeconds 600 - $securePassword = ConvertTo-SecureString -String $VIPassword -AsPlainText -Force - $cred = New-Object System.Management.Automation.PSCredential($VIUserName, $securePassword) - $null = Connect-VIServer -Server $VIServer -Credential $cred -ErrorAction Stop - Write-Host "Connection to the vSphere server has been established" -} -catch -{ - Write-Host "##vso[task.LogIssue type=error;]Failed to connect to the vSphere server" - exit 1 -} +# Connection to a vCenter Server system +Connect-VCServer -# check vm clone status +# Check vm clone status $chainId = (Get-VIEvent -Entity $VMName).ChainId if ($chainId) { @@ -45,7 +51,7 @@ if ($chainId) try { Stop-Task -Task $task -Confirm:$false -ErrorAction Stop - Write-Host "The vm '$VMName' clone task has been cancelled" + Write-Host "The vm '$VMName' clone task has been canceled" } catch { @@ -54,7 +60,7 @@ if ($chainId) } } -# remove a vm +# Remove a vm $vm = Get-VM -Name $VMName -ErrorAction SilentlyContinue if ($vm) diff --git a/images.CI/macos/helpers.psm1 b/images.CI/macos/helpers.psm1 new file mode 100644 index 000000000..a5be3fee1 --- /dev/null +++ b/images.CI/macos/helpers.psm1 @@ -0,0 +1,26 @@ +<# +.SYNOPSIS + +Helper functions to use in images.CI scripts +#> + +Function Connect-VCServer +{ + try + { + # Preference + $global:ProgressPreference = 'SilentlyContinue' + $global:WarningPreference = 'SilentlyContinue' + # Ignore SSL + $null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -ParticipateInCEIP $false -Confirm:$false -WebOperationTimeoutSeconds 600 + $securePassword = ConvertTo-SecureString -String $VIPassword -AsPlainText -Force + $cred = New-Object System.Management.Automation.PSCredential($VIUserName, $securePassword) + $null = Connect-VIServer -Server $VIServer -Credential $cred -ErrorAction Stop + Write-Host "Connection to the vSphere server has been established" + } + catch + { + Write-Host "##vso[task.LogIssue type=error;]Failed to connect to the vSphere server" + exit 1 + } +} \ No newline at end of file diff --git a/images.CI/macos/move-vm.ps1 b/images.CI/macos/move-vm.ps1 new file mode 100644 index 000000000..17e6faea3 --- /dev/null +++ b/images.CI/macos/move-vm.ps1 @@ -0,0 +1,59 @@ +<# +.SYNOPSIS + +This script migrates given VM to another datastore + +.PARAMETER VMName +VM name to migrate (Example "macOS-10.15_20201012.4") + +.PARAMETER TargetDataStore +Target datastore (Example "ds-image") + +.PARAMETER VIServer +vCenter address (Example "10.0.1.16") + +.PARAMETER VIUserName +vCenter username (Example "Administrator") + +.PARAMETER VIPassword +vCenter password (Example "12345678") +#> + +[CmdletBinding()] +param( + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string]$VMName, + + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string]$TargetDataStore, + + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string]$VIServer, + + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string]$VIUserName, + + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string]$VIPassword +) + +# Import helpers module +Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking + +# Connection to a vCenter Server system +Connect-VCServer + +try +{ + Get-VM $VMName | Move-VM -Datastore $TargetDataStore -ErrorAction Stop + Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'" +} +catch +{ + Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$VMName' to target datastore '$TargetDataStore'" +} \ No newline at end of file diff --git a/images.CI/macos/select-datastore.ps1 b/images.CI/macos/select-datastore.ps1 new file mode 100644 index 000000000..d6477700c --- /dev/null +++ b/images.CI/macos/select-datastore.ps1 @@ -0,0 +1,64 @@ +<# +.SYNOPSIS + +This script selects local datastore based on the following rules: + +- Name starts with ds-local-Datastore +- Datastore FreespaceGB > 400 Gb +- VM count on the datastore < 2 + +.PARAMETER VIServer +vCenter address (Example "10.0.1.16") + +.PARAMETER VIUserName +vCenter username (Example "Administrator") + +.PARAMETER VIPassword +vCenter password (Example "12345678") +#> + + +[CmdletBinding()] +param( + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string]$VIServer, + + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string]$VIUserName, + + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string]$VIPassword +) + +# Import helpers module +Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking + +# Connection to a vCenter Server system +Connect-VCServer + +# Get a target datastore for current deployment +# 1. Name starts with ds-local-Datastore +# 2. FreespaceGB > 400 Gb +# 3. VM count on a datastore < 2 +$templateDatastore = "ds-local-Datastore-*" +$thresholdInGb = 400 +$vmCount = 2 +$allDatastores = Get-Datastore -Name $templateDatastore | Where-Object { $_.State -eq "Available" } +$buildDatastore = $allDatastores | Where-Object { $_.FreeSpaceGB -ge $thresholdInGb } | Where-Object { + $vmOnDatastore = @((Get-ChildItem -Path $_.DatastoreBrowserPath).Name -notmatch "^\.").Count + $vmOnDatastore -lt $vmCount + } | Select-Object -ExpandProperty Name -First 1 + +if ($buildDatastore) +{ + Write-Host "Datastore selected successfully" + Write-Host "##vso[task.setvariable variable=buildDatastore;issecret=true]$buildDatastore" +} +else +{ + Write-Host "##vso[task.LogIssue type=error;]No datastores found for the condition" + exit 1 +} \ No newline at end of file From 6872e87c70cab65b282179ae54d3fc6abbce42e5 Mon Sep 17 00:00:00 2001 From: MaksimZhukov Date: Tue, 13 Oct 2020 14:39:09 +0300 Subject: [PATCH 27/42] Remove mobile-center-cli --- images/macos/provision/core/node.sh | 11 ++--------- images/macos/tests/Common.Tests.ps1 | 4 ---- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/images/macos/provision/core/node.sh b/images/macos/provision/core/node.sh index daf5ea408..393cb6588 100644 --- a/images/macos/provision/core/node.sh +++ b/images/macos/provision/core/node.sh @@ -1,10 +1,5 @@ source ~/utils/utils.sh -node_common_modules=( - node-gyp - mobile-center-cli -) - node_catalina_modules=( appcenter-cli newman @@ -40,8 +35,6 @@ echo Installing yarn... curl -o- -L https://yarnpkg.com/install.sh | bash if is_Less_BigSur; then - for module in ${node_common_modules[@]}; do - echo "Install $module" - npm install -g $module - done + echo "Install node-gyp" + npm install -g node-gyp fi diff --git a/images/macos/tests/Common.Tests.ps1 b/images/macos/tests/Common.Tests.ps1 index 72a657e6b..88d735bf1 100644 --- a/images/macos/tests/Common.Tests.ps1 +++ b/images/macos/tests/Common.Tests.ps1 @@ -102,10 +102,6 @@ Describe "Common utilities" { "aliyun --version" | Should -ReturnZeroExitCode } - It "Mobile Center CLI" -Skip:($os.IsBigSur) { - "mobile-center --version" | Should -ReturnZeroExitCode - } - Context "Nomad" -Skip:($os.IsBigSur) { It "Nomad CLI" { $result = Get-CommandResult "gem list" From 71c6294c4fcb41fc8e18d4ecde7bf2b3b5a55842 Mon Sep 17 00:00:00 2001 From: MaksimZhukov Date: Tue, 13 Oct 2020 15:08:07 +0300 Subject: [PATCH 28/42] Change name for the node modules --- images/macos/provision/core/node.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/macos/provision/core/node.sh b/images/macos/provision/core/node.sh index 393cb6588..d311b295e 100644 --- a/images/macos/provision/core/node.sh +++ b/images/macos/provision/core/node.sh @@ -1,6 +1,6 @@ source ~/utils/utils.sh -node_catalina_modules=( +node_modules=( appcenter-cli newman ) @@ -25,7 +25,7 @@ else brew install node@12 brew link node@12 --force - for module in ${node_catalina_modules[@]}; do + for module in ${node_modules[@]}; do echo "Install $module" npm install -g $module done From 327f7e2fe0dc44103275413bd9344e9eb27865b1 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Tue, 13 Oct 2020 23:06:11 +0300 Subject: [PATCH 29/42] Update xcode-utils.sh --- images/macos/provision/utils/xcode-utils.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/images/macos/provision/utils/xcode-utils.sh b/images/macos/provision/utils/xcode-utils.sh index 0f7855ec1..5153cbe85 100644 --- a/images/macos/provision/utils/xcode-utils.sh +++ b/images/macos/provision/utils/xcode-utils.sh @@ -12,6 +12,8 @@ getXcodeVersionToInstall() { if [[ ! $XCODE_VERSION =~ "_beta" ]]; then echo "${XCODE_VERSION//_/ }" + elif [[ $XCODE_VERSION == "12" ]]; then + echo "12.0.1" else local XCODE_BETA="${XCODE_VERSION/_/ }" echo "$(xcversion list | sort -r | grep -m 1 "$XCODE_BETA")" From 0aa67caa326b8b17d571b2d0bf8e99f6781df65c Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Wed, 14 Oct 2020 07:31:00 +0300 Subject: [PATCH 30/42] Update xcode-utils.sh --- images/macos/provision/utils/xcode-utils.sh | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/images/macos/provision/utils/xcode-utils.sh b/images/macos/provision/utils/xcode-utils.sh index 5153cbe85..4e18372ba 100644 --- a/images/macos/provision/utils/xcode-utils.sh +++ b/images/macos/provision/utils/xcode-utils.sh @@ -2,6 +2,11 @@ createXamarinProvisionatorSymlink() { local XCODE_VERSION="$1" local FULL_VERSION=$(echo "${XCODE_VERSION}.0.0" | cut -d'.' -f 1,2,3) + # temporary trick for 12.0.1 + if [[ $XCODE_VERSION == "12" ]]; then + FULL_VERSION="12.0.1" + fi + if [ $FULL_VERSION != $XCODE_VERSION ]; then ln -sf "/Applications/Xcode_${XCODE_VERSION}.app" "/Applications/Xcode_${FULL_VERSION}.app" fi @@ -10,10 +15,10 @@ createXamarinProvisionatorSymlink() { getXcodeVersionToInstall() { local XCODE_VERSION="$1" - if [[ ! $XCODE_VERSION =~ "_beta" ]]; then - echo "${XCODE_VERSION//_/ }" - elif [[ $XCODE_VERSION == "12" ]]; then + if [[ $XCODE_VERSION == "12" ]]; then echo "12.0.1" + elif [[ ! $XCODE_VERSION =~ "_beta" ]]; then + echo "${XCODE_VERSION//_/ }" else local XCODE_BETA="${XCODE_VERSION/_/ }" echo "$(xcversion list | sort -r | grep -m 1 "$XCODE_BETA")" From 2e283ae37fa0154b636790f0bdd78e7fe141f7a6 Mon Sep 17 00:00:00 2001 From: MaksimZhukov Date: Wed, 14 Oct 2020 12:40:01 +0300 Subject: [PATCH 31/42] Add Omelette installation --- images/macos/provision/core/node.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/images/macos/provision/core/node.sh b/images/macos/provision/core/node.sh index d311b295e..840b433f9 100644 --- a/images/macos/provision/core/node.sh +++ b/images/macos/provision/core/node.sh @@ -18,6 +18,10 @@ if is_Less_Catalina; then npm install -g npm@3 npm config set prefix /usr/local + # This step is required to install App Center CLI + echo Installing Omelette... + npm install -g omelette@0.4.14 + echo Installing App Center CLI... npm install -g appcenter-cli@^1.0.0 else From 4d80b7122570d91759792ae425ad690240978bd4 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Wed, 14 Oct 2020 15:03:11 +0300 Subject: [PATCH 32/42] do not install obsolete build-tools packages --- images/linux/scripts/installers/android.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/linux/scripts/installers/android.sh b/images/linux/scripts/installers/android.sh index 0f28d9c8e..2cfbdd8dd 100644 --- a/images/linux/scripts/installers/android.sh +++ b/images/linux/scripts/installers/android.sh @@ -67,7 +67,7 @@ additional=$(jq -r '.android.additional_tools[]' $toolset) components=( "${extras[@]}" "${addons[@]}" "${additional[@]}" ) availablePlatforms=($(${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android-" | cut -d"|" -f 1)) -allBuildTools=($(${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list --include_obsolete | grep "build-tools;" | cut -d"|" -f 1 | sort -u)) +allBuildTools=($(${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list | grep "build-tools;" | cut -d"|" -f 1 | sort -u)) availableBuildTools=$(echo ${allBuildTools[@]//*rc[0-9]/}) filter_components_by_version $minimumPlatformVersion "${availablePlatforms[@]}" From ad8f519477bea2c7e474e68a8063f00f193d17e0 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Wed, 14 Oct 2020 15:08:45 +0300 Subject: [PATCH 33/42] update mininal build_tools_min_version = 19.1.0 --- images/linux/toolsets/toolset-1604.json | 2 +- images/linux/toolsets/toolset-1804.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/images/linux/toolsets/toolset-1604.json b/images/linux/toolsets/toolset-1604.json index 4e93ee77b..1136ae921 100644 --- a/images/linux/toolsets/toolset-1604.json +++ b/images/linux/toolsets/toolset-1604.json @@ -64,7 +64,7 @@ ], "android": { "platform_min_version": "10", - "build_tools_min_version": "17.0.0", + "build_tools_min_version": "19.1.0", "extra_list": [ "android;m2repository", "google;m2repository", diff --git a/images/linux/toolsets/toolset-1804.json b/images/linux/toolsets/toolset-1804.json index 52357c3cf..de611ebc0 100644 --- a/images/linux/toolsets/toolset-1804.json +++ b/images/linux/toolsets/toolset-1804.json @@ -64,7 +64,7 @@ ], "android": { "platform_min_version": "17", - "build_tools_min_version": "17.0.0", + "build_tools_min_version": "19.1.0", "extra_list": [ "android;m2repository", "google;m2repository", From 8196a608de9467f88de6f8f490ea7cf558c2be2e Mon Sep 17 00:00:00 2001 From: Alena Sviridenko Date: Wed, 14 Oct 2020 15:17:13 +0300 Subject: [PATCH 34/42] [macOS] Add Xcode 12.1 GM seed (#1805) * added Xcode 12.1 GM * removed Xcode 12.1 from Big Sur * fixed Xcode dir setting --- images/macos/provision/utils/xcode-utils.sh | 1 + images/macos/toolsets/toolset-10.15.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/images/macos/provision/utils/xcode-utils.sh b/images/macos/provision/utils/xcode-utils.sh index 4e18372ba..fccde9efd 100644 --- a/images/macos/provision/utils/xcode-utils.sh +++ b/images/macos/provision/utils/xcode-utils.sh @@ -58,6 +58,7 @@ setXcodeDeveloperDirVariables() { for MAJOR_VERSION in "${major_versions[@]}" do LATEST_STABLE_VERSION=$(echo "${stable_xcode_versions[*]}" | grep "${MAJOR_VERSION}" | tail -n 1) + LATEST_STABLE_VERSION=$(echo $LATEST_STABLE_VERSION | cut -d"_" -f 1) echo "export XCODE_${MAJOR_VERSION}_DEVELOPER_DIR=/Applications/Xcode_${LATEST_STABLE_VERSION}.app/Contents/Developer" >> "$HOME/.bashrc" done } diff --git a/images/macos/toolsets/toolset-10.15.json b/images/macos/toolsets/toolset-10.15.json index 3e3833528..77c8ec2e2 100644 --- a/images/macos/toolsets/toolset-10.15.json +++ b/images/macos/toolsets/toolset-10.15.json @@ -2,7 +2,7 @@ "xcode": { "default": "11.7", "versions": [ - "12.2_beta", "12", "11.7", "11.6", "11.5", "11.4.1", "11.4", "11.3.1", "11.2.1", "11.1", "11", "10.3" + "12.2_beta", "12.1_GM_seed", "12", "11.7", "11.6", "11.5", "11.4.1", "11.4", "11.3.1", "11.2.1", "11.1", "11", "10.3" ] }, "xamarin": { From 6e05e471c7a3a77eb9f91512e70c969382204dbd Mon Sep 17 00:00:00 2001 From: Iain Rauch Date: Wed, 14 Oct 2020 11:09:58 +0100 Subject: [PATCH 35/42] Match ubuntu2004 with 16 & 18. --- images/linux/ubuntu2004.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index 9b4181ede..477f8c55a 100644 --- a/images/linux/ubuntu2004.json +++ b/images/linux/ubuntu2004.json @@ -97,7 +97,7 @@ { "type": "file", "source": "{{ template_dir }}/post-generation", - "destination": "{{user `installer_script_folder`}}" + "destination": "{{user `image_folder`}}" }, { "type": "file", From a223fd1b1bef53d1821ed3383462573b57f8c332 Mon Sep 17 00:00:00 2001 From: Alena Sviridenko Date: Wed, 14 Oct 2020 19:37:57 +0300 Subject: [PATCH 36/42] added macOS 11 readme (#1817) --- images/macos/macos-11.0-Readme.md | 217 ++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 images/macos/macos-11.0-Readme.md diff --git a/images/macos/macos-11.0-Readme.md b/images/macos/macos-11.0-Readme.md new file mode 100644 index 000000000..7363eefc8 --- /dev/null +++ b/images/macos/macos-11.0-Readme.md @@ -0,0 +1,217 @@ +| Announcements | +|-| +| [Default Xcode will be changed to Xcode 12.0 on October, 20](https://github.com/actions/virtual-environments/issues/1712) | +| [Xcode 11.0, 11.1, 11.4.0 will be deprecated on October, 20](https://github.com/actions/virtual-environments/issues/1688) | +| [Remove Xcode 12 beta 6 from MacOS Catalina image in favor of Xcode 12.2 beta 1 on October 13](https://github.com/actions/virtual-environments/issues/1646) | +*** +# macOS 11.0 info +- System Version: macOS 11.0 (20A5384c) +- Kernel Version: Darwin 20.1.0 +- Image Version: 20201002.1 + +## Installed Software +### Language and Runtime +- Clang/LLVM 10.0.1 +- gcc-8 (Homebrew GCC 8.4.0_1) 8.4.0 - available by `gcc-8` alias +- gcc-9 (Homebrew GCC 9.3.0) 9.3.0 - available by `gcc-9` alias +- GNU Fortran (Homebrew GCC 8.4.0_1) 8.4.0 - available by `gfortran-8` alias +- GNU Fortran (Homebrew GCC 9.3.0) 9.3.0 - available by `gfortran-9` alias +- Node.js v12.18.4 +- NVM 0.35.3 +- NVM - Cached node versions: v6.17.1 v8.17.0 v10.22.1 v12.18.4 v13.14.0 v14.13.0 +- Python 2.7.17 +- Python 3.8.5 +- Ruby 2.7.2p137 +- .NET SDK 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.602 2.1.603 2.1.604 2.1.607 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 3.1.100 3.1.101 3.1.200 3.1.201 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 +- Go 1.15.2 +- PHP 7.4.11 +- julia 1.5.2 + +### Package Management +- Vcpkg 2020.06.15 +- Pip 20.1.1 (python 3.8) +- Bundler version 2.1.4 +- Carthage 0.36.0 +- CocoaPods 1.9.3 +- Homebrew 2.5.2 +- NPM 6.14.6 +- Yarn 1.22.5 +- NuGet 5.6.0.6489 +- Miniconda 4.8.3 +- RubyGems 3.1.4 +- Composer 1.10.13 + +### Project Management +- Apache Maven 3.6.3 +- Gradle 6.6.1 +- Apache Ant(TM) 1.10.9 + +### Utilities +- Curl 7.72.0 +- Git: 2.28.0 +- Git LFS: 2.12.0 +- GitHub CLI: 1.0.0 +- Hub CLI: 2.14.2 +- GNU Wget 1.20.3 +- Subversion (SVN) 1.14.0 +- Packer 1.6.4 +- OpenSSL 1.0.2t 10 Sep 2019 `(/usr/local/opt/openssl -> /usr/local/Cellar/openssl@1.0.2t/1.0.2t)` +- jq 1.6 +- gpg (GnuPG) 2.2.23 +- psql (PostgreSQL) 12.4 +- PostgreSQL 12.4 +- aria2 1.35.0 +- azcopy 10.6.0 +- zstd 1.4.5 +- bazel 3.5.1 +- bazelisk 1.6.1 +- helm v3.3.4+ga61ce56 +- mongo v4.4.0 +- mongod v4.4.0 +- 7-Zip 16.02 +- Newman 5.2.0 + +### Tools +- Fastlane 2.162.0 +- Cmake 3.18.3 +- App Center CLI 2.7.1 +- Azure CLI 2.12.1 +- AWS CLI 2.0.54 +- AWS SAM CLI 1.4.0 +- AWS Session Manager CLI 1.1.61.0 +- Aliyun CLI 3.0.59 +- GHCup v0.1.11 +- GHC 8.8.4 +- Cabal 3.2.0.0 +- Stack 2.3.3 + +### Linters +- yamllint 1.24.2 +- SwiftLint 0.40.3 + +### Browsers +- Safari 14.0.1 (16610.2.6.1.6) +- SafariDriver 14.0.1 (16610.2.6.1.6) +- Google Chrome 85.0.4183.121 +- ChromeDriver 85.0.4183.87 +- Microsoft Edge 85.0.564.68 +- MSEdgeDriver 85.0.564.63 +- Mozilla Firefox 81.0.1 +- geckodriver 0.27.0 + +### Java +| Version | Vendor | Environment Variable | +| --------- | ------------ | -------------------- | +| 1.8.0_265 | AdoptOpenJDK | JAVA_HOME_8_X64 | +| 11.0.8 | AdoptOpenJDK | JAVA_HOME_11_X64 | +### Cached Tools +#### Ruby +- 2.4.10 +- 2.5.8 +- 2.6.6 +- 2.7.1 + +#### Python +- 3.7.9 +- 3.8.6 + +#### Node.js +- 10.22.1 +- 12.18.4 +- 14.13.0 + +#### Go +- 1.15.2 + +### Rust Tools +- Rust 1.46.0 +- Rustup 1.22.1 + +#### Packages +- Bindgen 0.55.1 +- Cbindgen 0.14.6 +- Cargo-outdated v0.9.11 +- Cargo-audit 0.12.1 + +### PowerShell Tools +- PowerShell 7.0.3 + +#### PowerShell Modules +| Module | Version | +| ---------- | ------- | +| Az | 4.7.0 | +| MarkdownPS | 1.9 | +| Pester | 5.0.4 | + +### Xamarin +#### Visual Studio for Mac +- 8.7.8.4 + +#### Mono +- 6.12.0.93 + +#### Xamarin.iOS +- 14.0.0.0 +- 13.20.2.2 + +#### Xamarin.Mac +- 6.20.2.2 + +#### Xamarin.Android +- 11.0.2 + +#### Unit Test Framework +- NUnit 3.6.1 + +### Xcode +| Version | Build | Path | +| -------------- | -------- | ---------------------------- | +| 12.2 | 12B5025f | /Applications/Xcode_12.2.app | +| 12.0 | 12A8189n | /Applications/Xcode_12.app | +| 11.7 (default) | 11E801a | /Applications/Xcode_11.7.app | + +#### Xcode Support Tools +- xcpretty 0.3.0 +- xcversion 2.6.6 + +#### Installed SDKs +| SDK | SDK Name | Xcode Version | +| ----------------------- | -------------------- | ------------- | +| macOS 10.15 | macosx10.15 | 11.7 | +| macOS 11.0 | macosx11.0 | 12.0, 12.2 | +| iOS 13.7 | iphoneos13.7 | 11.7 | +| iOS 14.0 | iphoneos14.0 | 12.0 | +| iOS 14.2 | iphoneos14.2 | 12.2 | +| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 | +| Simulator - iOS 14.0 | iphonesimulator14.0 | 12.0 | +| Simulator - iOS 14.2 | iphonesimulator14.2 | 12.2 | +| tvOS 13.4 | appletvos13.4 | 11.7 | +| tvOS 14.0 | appletvos14.0 | 12.0 | +| tvOS 14.2 | appletvos14.2 | 12.2 | +| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.7 | +| Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.0 | +| Simulator - tvOS 14.2 | appletvsimulator14.2 | 12.2 | +| watchOS 6.2 | watchos6.2 | 11.7 | +| watchOS 7.0 | watchos7.0 | 12.0 | +| watchOS 7.1 | watchos7.1 | 12.2 | +| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.7 | +| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.0 | +| Simulator - watchOS 7.1 | watchsimulator7.1 | 12.2 | +| DriverKit 19.0 | driverkit.macosx19.0 | 11.7 | +| DriverKit 20.0 | driverkit.macosx20.0 | 12.0, 12.2 | + +### Android +| Package Name | Version | +| -------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| Android SDK Tools | 26.1.1 | +| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3) | +| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3 | +| Android SDK Platform-Tools | 30.0.4 | +| Android Support Repository | 47.0.0 | +| Google Play services | 49 | +| Google Repository | 58 | +| SDK Patch Applier v4 | 1 | +| CMake | 3.6.4111459 | +| NDK | 21.3.6528147 | + + From a1f77c28f3d9ba53aa9993fed1e0b8f489aa4e8e Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com> Date: Thu, 15 Oct 2020 17:03:33 +0300 Subject: [PATCH 37/42] add workaround (#1824) --- images/macos/provision/core/python.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/images/macos/provision/core/python.sh b/images/macos/provision/core/python.sh index 41488642e..1565ced20 100755 --- a/images/macos/provision/core/python.sh +++ b/images/macos/provision/core/python.sh @@ -4,10 +4,15 @@ source ~/utils/utils.sh echo "Installing Python Tooling" echo "Brew Installing Python 3" -/usr/local/bin/brew install python3 +# Workaround to have both 3.8 & 3.9(which required by some brew formulas) in the system, but only 3.8 is linked +/usr/local/bin/brew install python@3.8 +/usr/local/bin/brew install python@3.9 +/usr/local/bin/brew unlink python@3.9 +/usr/local/bin/brew unlink python@3.8 +/usr/local/bin/brew link python@3.8 echo "Brew Installing Python 2" -# Create local tap with formula due to python2 formula depreciation +# Create local tap with formula due to python2 formula depreciation /usr/local/bin/brew tap-new local/python2 FORMULA_PATH=$(/usr/local/bin/brew extract python@2 local/python2 | grep "Homebrew/Library/Taps") /usr/local/bin/brew install $FORMULA_PATH From 169953b714180c3a6e631c59c100912203da1865 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com> Date: Thu, 15 Oct 2020 19:00:36 +0300 Subject: [PATCH 38/42] [macOS] Separate xcode command line tools installation & Xcode 12.1 for Big Sur (#1815) * add retry logic, remove separate macOS11 installation * move to separate file --- images/macos/provision/core/homebrew.sh | 16 ++++----- images/macos/provision/core/xcode-clt.sh | 43 ++++++++++++++++++++++++ images/macos/provision/core/xcode-ctl.sh | 19 ----------- images/macos/templates/macOS-10.13.json | 1 + images/macos/templates/macOS-10.14.json | 1 + images/macos/templates/macOS-10.15.json | 1 + images/macos/templates/macOS-11.0.json | 2 +- images/macos/toolsets/toolset-11.0.json | 2 +- 8 files changed, 54 insertions(+), 31 deletions(-) create mode 100644 images/macos/provision/core/xcode-clt.sh delete mode 100644 images/macos/provision/core/xcode-ctl.sh diff --git a/images/macos/provision/core/homebrew.sh b/images/macos/provision/core/homebrew.sh index 01b0fb0f3..201fc586a 100755 --- a/images/macos/provision/core/homebrew.sh +++ b/images/macos/provision/core/homebrew.sh @@ -1,23 +1,19 @@ -#!/bin/sh +#!/bin/bash -e -o pipefail + echo "Installing Homebrew..." - -source ~/utils/utils.sh - -echo Installing Homebrew... HOMEBREW_INSTALL_URL="https://raw.githubusercontent.com/Homebrew/install/master/install.sh" - /bin/bash -c "$(curl -fsSL ${HOMEBREW_INSTALL_URL})" -echo Disabling Homebrew analytics... +echo "Disabling Homebrew analytics..." brew analytics off -echo Installing the last version of curl +echo "Installing the latest curl..." brew install curl -echo Installing wget... +echo "Installing wget..." brew install wget -echo Installing jq +echo "Installing jq..." brew install jq # init brew bundle feature diff --git a/images/macos/provision/core/xcode-clt.sh b/images/macos/provision/core/xcode-clt.sh new file mode 100644 index 000000000..49693d33b --- /dev/null +++ b/images/macos/provision/core/xcode-clt.sh @@ -0,0 +1,43 @@ +#!/bin/bash -e -o pipefail + +is_clt_installed() { + clt_path=`xcode-select -p 2>&1` + [[ -d "$clt_path" ]] +} + +install_clt() { + echo "Searching online for the Command Line Tools" + # This temporary file prompts the 'softwareupdate' utility to list the Command Line Tools + clt_placeholder="/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress" + sudo touch $clt_placeholder + clt_label_command="/usr/sbin/softwareupdate -l | + grep -B 1 -E 'Command Line Tools' | + awk -F'*' '/^ *\\*/ {print \$2}' | + sed -e 's/^ *Label: //' -e 's/^ *//' | + sort -V | + tail -n1" + clt_label=$(eval $clt_label_command) || true + if [[ -n "$clt_label" ]]; then + echo "Installing $clt_label" + sudo "/usr/sbin/softwareupdate" "-i" "$clt_label" + fi + sudo "/bin/rm" "-f" "$clt_placeholder" +} + +echo "Installing Command Line Tools..." +install_clt + +# Retry the installation if tools are not installed from the first attempt +retries=30 +sleepInterval=60 +while ! is_clt_installed; do + if [[ $retries -eq 0 ]]; then + echo "Unable to find the Command Line Tools, all the attempts exhausted" + exit 1 + fi + echo "Command Line Tools not found, trying to install them via softwareupdates, $retries attempts left" + install_clt + ((retries--)) + echo "Wait $sleepInterval seconds before the next check for installed Command Line Tools" + sleep $sleepInterval +done \ No newline at end of file diff --git a/images/macos/provision/core/xcode-ctl.sh b/images/macos/provision/core/xcode-ctl.sh deleted file mode 100644 index cea7aa633..000000000 --- a/images/macos/provision/core/xcode-ctl.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# Homebrew doesn't support installation of command line tools on MacOS 11.0 -# https://github.com/Homebrew/install/blob/master/install.sh#L191 -# Copy-paste script from brew installation process -# https://github.com/Homebrew/install/blob/master/install.sh#L530 -# This temporary file prompts the 'softwareupdate' utility to list the Command Line Tools - -clt_placeholder="/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress" -touch $clt_placeholder -clt_label=`/usr/sbin/softwareupdate -l | - grep -B 1 -E 'Command Line Tools beta 5' | - awk -F'*' '/^ *\\*/ {print \$2}' | - sed -e 's/^ *Label: //' -e 's/^ *//' | - sort -V | - tail -n1` -/usr/sbin/softwareupdate -i "$clt_label" -rm -f $clt_placeholder -sudo xcode-select --switch "/Library/Developer/CommandLineTools/" \ No newline at end of file diff --git a/images/macos/templates/macOS-10.13.json b/images/macos/templates/macOS-10.13.json index 2190a6b4a..35c7ef3c7 100644 --- a/images/macos/templates/macOS-10.13.json +++ b/images/macos/templates/macOS-10.13.json @@ -128,6 +128,7 @@ "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}", "pause_before": "30s", "scripts": [ + "./provision/core/xcode-clt.sh", "./provision/core/homebrew.sh", "./provision/core/dotnet.sh", "./provision/core/python.sh", diff --git a/images/macos/templates/macOS-10.14.json b/images/macos/templates/macOS-10.14.json index 269ffa71f..2687302e0 100644 --- a/images/macos/templates/macOS-10.14.json +++ b/images/macos/templates/macOS-10.14.json @@ -128,6 +128,7 @@ "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}", "pause_before": "30s", "scripts": [ + "./provision/core/xcode-clt.sh", "./provision/core/homebrew.sh", "./provision/core/dotnet.sh", "./provision/core/python.sh", diff --git a/images/macos/templates/macOS-10.15.json b/images/macos/templates/macOS-10.15.json index 3dcc3d33e..a65bd72ac 100644 --- a/images/macos/templates/macOS-10.15.json +++ b/images/macos/templates/macOS-10.15.json @@ -129,6 +129,7 @@ "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}", "pause_before": "30s", "scripts": [ + "./provision/core/xcode-clt.sh", "./provision/core/homebrew.sh", "./provision/core/dotnet.sh", "./provision/core/python.sh", diff --git a/images/macos/templates/macOS-11.0.json b/images/macos/templates/macOS-11.0.json index 6da9df38d..27f39bfb0 100644 --- a/images/macos/templates/macOS-11.0.json +++ b/images/macos/templates/macOS-11.0.json @@ -129,7 +129,7 @@ "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}", "pause_before": "30s", "scripts": [ - "./provision/core/xcode-ctl.sh", + "./provision/core/xcode-clt.sh", "./provision/core/homebrew.sh", "./provision/core/dotnet.sh", "./provision/core/python.sh", diff --git a/images/macos/toolsets/toolset-11.0.json b/images/macos/toolsets/toolset-11.0.json index 5ff2280a2..18d72c23f 100644 --- a/images/macos/toolsets/toolset-11.0.json +++ b/images/macos/toolsets/toolset-11.0.json @@ -2,7 +2,7 @@ "xcode": { "default": "11.7", "versions": [ - "12.2_beta", "11.7" + "12.2_beta", "12.1_GM_seed", "11.7" ] }, "xamarin": { From c9f9d5bca23b796ba1027551863cfc7a68a1816d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2020 16:36:54 +0000 Subject: [PATCH 39/42] Ubuntu 2004 (20201012 update) (#1792) * Updating readme file for ubuntu20 version 20201012.1 * fix pipx version Co-authored-by: Image generation service account Co-authored-by: Alena Sviridenko Co-authored-by: Actions service account --- images/linux/Ubuntu2004-README.md | 97 ++++++++++++++++--------------- 1 file changed, 50 insertions(+), 47 deletions(-) diff --git a/images/linux/Ubuntu2004-README.md b/images/linux/Ubuntu2004-README.md index 4a59e7ca9..02045aceb 100644 --- a/images/linux/Ubuntu2004-README.md +++ b/images/linux/Ubuntu2004-README.md @@ -1,50 +1,51 @@ | Announcements | |-| -| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | +| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) | | [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) | *** # Ubuntu 20.04.1 LTS -- Image Version: 20201004.1 +- Image Version: 20201012.1 ## Installed Software ### Language and Runtime -- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.0.1 +- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.2.0 - GNU Fortran 8.4.0, 9.3.0 - Clang 8.0.1, 9.0.1, 10.0.0 - Erlang 11.1 - Mono 6.12.0.90 -- Node 12.18.4 -- Python 3.8.2 -- Python3 3.8.2 +- Node 12.19.0 +- Python 3.8.5 +- Python3 3.8.5 - PowerShell 7.0.3 - Ruby 2.7.0p0 - Swift 5.3 - Julia 1.5.2 ### Package Management -- Homebrew 2.5.2 - Gem 3.1.2 -- Miniconda 4.8.3 - Helm 3.3.4 +- Homebrew 2.5.5 +- Miniconda 4.8.3 - Npm 6.14.8 -- Yarn 1.22.5 - Pip 20.0.2 - Pip3 20.0.2 +- Pipx 0.15.5.1 - Vcpkg 2020.06.15 +- Yarn 1.22.5 ### Project Management - Ant 1.10.7 - Gradle 6.6.1 - Maven 3.6.3 -- Sbt 1.3.13 +- Sbt 1.4.0 ### Tools - 7-Zip 16.02 - Ansible 2.9.6 - AzCopy10 10.6.0 (available by `azcopy10` alias) - AzCopy7 7.3.0 (available by `azcopy` alias) -- Bazel 3.5.1 -- Bazelisk 1.6.1 +- Bazel 3.6.0 +- Bazelisk 1.7.1 - Buildah 1.16.4 - CMake 3.17.0 - CodeQL Action Bundle 2.2.5 @@ -55,25 +56,25 @@ - Git 2.28.0 - Git LFS 2.12.0 - Git-ftp 1.6.0 -- Google Cloud SDK 312.0.0 +- Google Cloud SDK 313.0.1 - Haveged 1.9.1 -- Heroku 7.44.0 -- HHVM (HipHop VM) 4.77.0 +- Heroku 7.45.0 +- HHVM (HipHop VM) 4.78.0 - jq 1.6 - Kind 0.9.0 - Kubectl 1.19.2 -- Kustomize 3.8.4 +- Kustomize 3.8.5 - Leiningen 2.9.4 - m4 1.4.18 - Mercurial 5.3.1 - Minikube 1.13.1 - Newman 5.2.0 -- nvm 0.35.3 +- nvm 0.36.0 - Packer 1.6.4 - PhantomJS 2.1.1 - Podman 2.1.1 - Pulumi 2.11.2 -- R 4.0.2 +- R 4.0.3 - Skopeo 1.2.0 - Sphinx Open Source Search Server 2.2.11 - SVN 1.13.0 @@ -81,22 +82,23 @@ - Terraform 0.13.4 - unzip 6.00 - wget 1.20.3 +- yamllint 1.25.0 - zip 3.0 - zstd 1.4.4 ### CLI Tools -- Alibaba Cloud CLI 3.0.59 -- AWS CLI 2.0.54 +- Alibaba Cloud CLI 3.0.60 +- AWS CLI 2.0.56 - AWS CLI Session manager plugin 1.1.61.0 -- AWS SAM CLI 1.4.0 +- AWS SAM CLI 1.6.2 - Azure CLI (azure-cli) 2.12.1 - Azure CLI (azure-devops) 0.18.0 -- GitHub CLI 1.0.0 +- GitHub CLI 1.1.0 - Hub CLI 2.14.2 -- Netlify CLI 2.64.1 +- Netlify CLI 2.65.5 - oc CLI 4.5.0 - ORAS CLI 0.8.1 -- Vercel CLI 20.1.1 +- Vercel CLI 20.1.2 ### Java | Version | Vendor | Environment Variable | @@ -107,7 +109,7 @@ ### PHP | Tool | Version | | -------- | ------- | -| PHP | 7.4.10 | +| PHP | 7.4.11 | | Composer | 1.10.13 | | PHPUnit | 7.5.20 | @@ -117,22 +119,22 @@ - Stack 2.3.3 ### Rust Tools -- Rust 1.46.0 +- Rust 1.47.0 - Rustup 1.22.1 -- Rustdoc 1.46.0 -- Cargo 1.46.0 +- Rustdoc 1.47.0 +- Cargo 1.47.0 #### Packages - Bindgen 0.55.1 - Cargo audit 0.12.1 - Cargo outdated 0.9.11 - Cargo clippy 0.0.212 -- Cbindgen 0.14.6 -- Rustfmt 1.4.18 +- Cbindgen 0.15.0 +- Rustfmt 1.4.20 ### Browsers and Drivers -- Google Chrome 85.0.4183.121 -- ChromeDriver 85.0.4183.87 +- Google Chrome 86.0.4240.75 +- ChromeDriver 86.0.4240.22 - Mozilla Firefox 81.0 - Geckodriver 0.27.0 @@ -167,6 +169,7 @@ - 3.6.12 - 3.7.9 - 3.8.6 +- 3.9.0 #### PyPy - 2.7.13 [PyPy 7.3.2] @@ -175,26 +178,26 @@ #### Node.js - 8.17.0 - 10.22.1 -- 12.18.4 -- 14.13.0 +- 12.19.0 +- 14.13.1 #### Go - 1.14.9 - 1.15.2 ### Android -| Package Name | Version | -| -------------------------- | ---------------------------------------------------------------------------------------------------------- | -| Android SDK Platform-Tools | 30.0.4 | -| Android SDK Tools | 26.1.1 | -| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3) | -| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3 | -| NDK | 21.3.6528147 | -| Android Support Repository | 47.0.0 | -| Google Play services | 49 | -| Google Repository | 58 | -| SDK Patch Applier v4 | 1 | -| CMake | 3.10.2 | +| Package Name | Version | +| -------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| Android SDK Platform-Tools | 30.0.4 | +| Android SDK Tools | 26.1.1 | +| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3) | +| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3 | +| NDK | 21.3.6528147 | +| Android Support Repository | 47.0.0 | +| Google Play services | 49 | +| Google Repository | 58 | +| SDK Patch Applier v4 | 1 | +| CMake | 3.10.2 | ### Cached Docker images - alpine:3.7 @@ -214,6 +217,6 @@ - ubuntu:14.04 ### Installed apt packages -- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl4, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, python-is-python3, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, yamllint, zip, zstd, zsync +- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl4, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, python-is-python3, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, zip, zstd, zsync From 2ede18e76029e9c19f7c2e78aeda6e7ff627aa80 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2020 18:25:26 +0000 Subject: [PATCH 40/42] Updating readme file for ubuntu16 version 20201012.1 (#1793) Co-authored-by: Image generation service account Co-authored-by: Actions service account --- images/linux/Ubuntu1604-README.md | 90 ++++++++++++++++--------------- 1 file changed, 46 insertions(+), 44 deletions(-) diff --git a/images/linux/Ubuntu1604-README.md b/images/linux/Ubuntu1604-README.md index 5e3c8ef26..e5cbce80f 100644 --- a/images/linux/Ubuntu1604-README.md +++ b/images/linux/Ubuntu1604-README.md @@ -1,10 +1,10 @@ | Announcements | |-| -| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | +| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) | | [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) | *** # Ubuntu 16.04.7 LTS -- Image Version: 20201004.1 +- Image Version: 20201012.1 ## Installed Software ### Language and Runtime @@ -13,7 +13,7 @@ - Clang 6.0.0, 8.0.0, 9.0.1 - Erlang 11.1 - Mono 6.12.0.90 -- Node 12.18.4 +- Node 12.19.0 - Python 2.7.12 - Python3 3.5.2 - PowerShell 7.0.3 @@ -22,29 +22,29 @@ - Julia 1.5.2 ### Package Management -- Homebrew 2.5.2 - Gem 3.1.4 +- Helm 3.3.4 +- Homebrew 2.5.5 - Miniconda 4.8.3 -- Helm - Npm 6.14.8 -- Yarn - Pip 8.1.1 - Pip3 8.1.1 - Vcpkg 2020.06.15 +- Yarn 1.22.5 ### Project Management - Ant 1.9.6 - Gradle 6.6.1 - Maven 3.6.3 -- Sbt 1.3.13 +- Sbt 1.4.0 ### Tools - 7-Zip 9.20 -- Ansible 2.9.13 +- Ansible 2.9.14 - AzCopy10 10.6.0 (available by `azcopy10` alias) - AzCopy7 7.3.0 (available by `azcopy` alias) -- Bazel 3.5.1 -- Bazelisk 1.6.1 +- Bazel 3.6.0 +- Bazelisk 1.7.1 - CMake 3.17.0 - CodeQL Action Bundle 2.2.5 - curl 7.47.0 @@ -54,46 +54,47 @@ - Git 2.28.0 - Git LFS 2.12.0 - Git-ftp 1.0.2 -- Google Cloud SDK 312.0.0 +- Google Cloud SDK 313.0.1 - Haveged 1.9.1 -- Heroku 7.44.0 +- Heroku 7.45.0 - HHVM (HipHop VM) 4.56.1 - jq 1.5 - Kind 0.9.0 - Kubectl 1.19.2 -- Kustomize 3.8.4 +- Kustomize 3.8.5 - Leiningen 2.9.4 - m4 1.4.17 - Mercurial 4.4.1 - Minikube 1.13.1 - Newman 5.2.0 -- nvm 0.35.3 +- nvm 0.36.0 - Packer 1.6.4 - PhantomJS 2.1.1 - Pulumi 2.11.2 -- R 4.0.2 +- R 4.0.3 - Sphinx Open Source Search Server 2.2.9 - SVN 1.9.3 - Swig 3.0.8 - Terraform 0.13.4 - unzip 6.00 - wget 1.17.1 +- yamllint 1.2.1 - zip 3.0 - zstd 1.3.1 ### CLI Tools -- Alibaba Cloud CLI 3.0.59 -- AWS CLI 1.18.152 +- Alibaba Cloud CLI 3.0.60 +- AWS CLI 1.18.157 - AWS CLI Session manager plugin 1.1.61.0 -- AWS SAM CLI 1.4.0 +- AWS SAM CLI 1.6.2 - Azure CLI (azure-cli) 2.12.1 - Azure CLI (azure-devops) 0.18.0 -- GitHub CLI +- GitHub CLI 1.1.0 - Hub CLI 2.14.2 -- Netlify CLI 2.64.1 +- Netlify CLI 2.65.5 - oc CLI 4.5.0 - ORAS CLI 0.8.1 -- Vercel CLI 20.1.1 +- Vercel CLI 20.1.2 ### Java | Version | Vendor | Environment Variable | @@ -106,7 +107,7 @@ ### PHP | Tool | Version | | -------- | ----------------------------------------- | -| PHP | 5.6.40 7.0.33 7.1.33 7.2.33 7.3.22 7.4.10 | +| PHP | 5.6.40 7.0.33 7.1.33 7.2.34 7.3.23 7.4.11 | | Composer | 1.10.13 | | PHPUnit | 7.5.20 | @@ -116,22 +117,22 @@ - Stack 2.3.3 ### Rust Tools -- Rust 1.46.0 +- Rust 1.47.0 - Rustup 1.22.1 -- Rustdoc 1.46.0 -- Cargo 1.46.0 +- Rustdoc 1.47.0 +- Cargo 1.47.0 #### Packages - Bindgen 0.55.1 - Cargo audit 0.12.1 - Cargo outdated 0.9.11 - Cargo clippy 0.0.212 -- Cbindgen 0.14.6 -- Rustfmt 1.4.18 +- Cbindgen 0.15.0 +- Rustfmt 1.4.20 ### Browsers and Drivers -- Google Chrome 85.0.4183.121 -- ChromeDriver 85.0.4183.87 +- Google Chrome 86.0.4240.75 +- ChromeDriver 86.0.4240.22 - Mozilla Firefox 81.0 - Geckodriver 0.27.0 @@ -167,6 +168,7 @@ - 3.6.12 - 3.7.9 - 3.8.6 +- 3.9.0 #### PyPy - 2.7.13 [PyPy 7.3.2] @@ -175,8 +177,8 @@ #### Node.js - 8.17.0 - 10.22.1 -- 12.18.4 -- 14.13.0 +- 12.19.0 +- 14.13.1 #### Go - 1.11.13 @@ -190,19 +192,19 @@ - 1.72.0 ### Android -| Package Name | Version | -| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Android SDK Platform-Tools | 30.0.4 | -| Android SDK Tools | 26.1.1 | -| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3)
android-22 (rev 2)
android-21 (rev 2)
android-19 (rev 4)
android-17 (rev 3)
android-15 (rev 5)
android-10 (rev 2) | -| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3
22.0.1
21.1.2
20.0.0
19.1.0
17.0.0 | -| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 | -| NDK | 21.3.6528147 | -| Android Support Repository | 47.0.0 | -| Google Play services | 49 | -| Google Repository | 58 | -| SDK Patch Applier v4 | 1 | -| CMake | 3.10.2
3.6.4111459 | +| Package Name | Version | +| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Android SDK Platform-Tools | 30.0.4 | +| Android SDK Tools | 26.1.1 | +| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3)
android-22 (rev 2)
android-21 (rev 2)
android-20 (rev 2)
android-19 (rev 4)
android-18 (rev 3)
android-17 (rev 3)
android-16 (rev 5)
android-15 (rev 5)
android-14 (rev 4)
android-13 (rev 1)
android-12 (rev 3)
android-11 (rev 2)
android-10 (rev 2) | +| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3 23.0.0
22.0.1 22.0.0
21.1.2 21.0.0 21.0.1 21.0.2 21.1.0 21.1.1
20.0.0
19.1.0 19.0.0 19.0.1 19.0.2 19.0.3
18.0.1 18.1.0 18.1.1
17.0.0 | +| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 | +| NDK | 21.3.6528147 | +| Android Support Repository | 47.0.0 | +| Google Play services | 49 | +| Google Repository | 58 | +| SDK Patch Applier v4 | 1 | +| CMake | 3.10.2
3.6.4111459 | ### Cached Docker images - alpine:3.7 From 14b4cec214c5a521821055add04699f48e72bf75 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2020 22:56:14 +0000 Subject: [PATCH 41/42] Ubuntu 1804 (20201012 update) (#1791) * Updating readme file for ubuntu18 version 20201012.1 * fix pipx version Co-authored-by: Image generation service account Co-authored-by: Alena Sviridenko Co-authored-by: Actions service account --- images/linux/Ubuntu1804-README.md | 99 ++++++++++++++++--------------- 1 file changed, 51 insertions(+), 48 deletions(-) diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md index da48be720..86137c039 100644 --- a/images/linux/Ubuntu1804-README.md +++ b/images/linux/Ubuntu1804-README.md @@ -1,10 +1,10 @@ | Announcements | |-| -| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | +| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) | | [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) | *** # Ubuntu 18.04.5 LTS -- Image Version: 20201004.1 +- Image Version: 20201012.1 ## Installed Software ### Language and Runtime @@ -13,7 +13,7 @@ - Clang 6.0.0, 8.0.0, 9.0.0 - Erlang 11.1 - Mono 6.12.0.90 -- Node 12.18.4 +- Node 12.19.0 - Python 2.7.17 - Python3 3.6.9 - PowerShell 7.0.3 @@ -22,30 +22,31 @@ - Julia 1.5.2 ### Package Management -- Homebrew 2.5.2 - Gem 3.1.4 +- Helm 3.3.4 +- Homebrew 2.5.5 - Miniconda 4.8.3 -- Helm - Npm 6.14.8 -- Yarn - Pip 9.0.1 - Pip3 9.0.1 +- Pipx 0.15.5.1 - Vcpkg 2020.06.15 +- Yarn 1.22.5 ### Project Management - Ant 1.10.5 - Gradle 6.6.1 - Maven 3.6.3 -- Sbt 1.3.13 +- Sbt 1.4.0 ### Tools - 7-Zip 16.02 -- Ansible 2.9.13 +- Ansible 2.9.14 - AzCopy10 10.6.0 (available by `azcopy10` alias) - AzCopy7 7.3.0 (available by `azcopy` alias) -- Bazel 3.5.1 -- Bazelisk 1.6.1 -- Buildah +- Bazel 3.6.0 +- Bazelisk 1.7.1 +- Buildah 1.16.4 - CMake 3.17.0 - CodeQL Action Bundle 2.2.5 - curl 7.58.0 @@ -55,25 +56,25 @@ - Git 2.28.0 - Git LFS 2.12.0 - Git-ftp 1.3.1 -- Google Cloud SDK 312.0.0 +- Google Cloud SDK 313.0.1 - Haveged 1.9.1 -- Heroku 7.44.0 -- HHVM (HipHop VM) 4.77.0 +- Heroku 7.45.0 +- HHVM (HipHop VM) 4.78.0 - jq 1.5 - Kind 0.9.0 - Kubectl 1.19.2 -- Kustomize 3.8.4 +- Kustomize 3.8.5 - Leiningen 2.9.4 - m4 1.4.18 - Mercurial 4.5.3 - Minikube 1.13.1 - Newman 5.2.0 -- nvm 0.35.3 +- nvm 0.36.0 - Packer 1.6.4 - PhantomJS 2.1.1 -- Podman +- Podman 2.1.1 - Pulumi 2.11.2 -- R 4.0.2 +- R 4.0.3 - Skopeo 1.2.0 - Sphinx Open Source Search Server 2.2.11 - SVN 1.9.7 @@ -81,22 +82,23 @@ - Terraform 0.13.4 - unzip 6.00 - wget 1.19.4 +- yamllint 1.25.0 - zip 3.0 - zstd 1.3.3 ### CLI Tools -- Alibaba Cloud CLI 3.0.59 -- AWS CLI 1.18.152 +- Alibaba Cloud CLI 3.0.60 +- AWS CLI 1.18.157 - AWS CLI Session manager plugin 1.1.61.0 -- AWS SAM CLI 1.4.0 +- AWS SAM CLI 1.6.2 - Azure CLI (azure-cli) 2.12.1 - Azure CLI (azure-devops) 0.18.0 -- GitHub CLI +- GitHub CLI 1.1.0 - Hub CLI 2.14.2 -- Netlify CLI 2.64.1 +- Netlify CLI 2.65.5 - oc CLI 4.5.0 - ORAS CLI 0.8.1 -- Vercel CLI 20.1.1 +- Vercel CLI 20.1.2 ### Java | Version | Vendor | Environment Variable | @@ -109,7 +111,7 @@ ### PHP | Tool | Version | | -------- | --------------------------- | -| PHP | 7.1.33 7.2.33 7.3.22 7.4.10 | +| PHP | 7.1.33 7.2.34 7.3.23 7.4.11 | | Composer | 1.10.13 | | PHPUnit | 7.5.20 | @@ -119,22 +121,22 @@ - Stack 2.3.3 ### Rust Tools -- Rust 1.46.0 +- Rust 1.47.0 - Rustup 1.22.1 -- Rustdoc 1.46.0 -- Cargo 1.46.0 +- Rustdoc 1.47.0 +- Cargo 1.47.0 #### Packages - Bindgen 0.55.1 - Cargo audit 0.12.1 - Cargo outdated 0.9.11 - Cargo clippy 0.0.212 -- Cbindgen 0.14.6 -- Rustfmt 1.4.18 +- Cbindgen 0.15.0 +- Rustfmt 1.4.20 ### Browsers and Drivers -- Google Chrome 85.0.4183.121 -- ChromeDriver 85.0.4183.87 +- Google Chrome 86.0.4240.75 +- ChromeDriver 86.0.4240.22 - Mozilla Firefox 81.0 - Geckodriver 0.27.0 @@ -170,6 +172,7 @@ - 3.6.12 - 3.7.9 - 3.8.6 +- 3.9.0 #### PyPy - 2.7.13 [PyPy 7.3.2] @@ -178,8 +181,8 @@ #### Node.js - 8.17.0 - 10.22.1 -- 12.18.4 -- 14.13.0 +- 12.19.0 +- 14.13.1 #### Go - 1.11.13 @@ -193,19 +196,19 @@ - 1.72.0 ### Android -| Package Name | Version | -| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Android SDK Platform-Tools | 30.0.4 | -| Android SDK Tools | 26.1.1 | -| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3)
android-22 (rev 2)
android-21 (rev 2)
android-19 (rev 4)
android-17 (rev 3) | -| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3
22.0.1
21.1.2
20.0.0
19.1.0
17.0.0 | -| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 | -| NDK | 21.3.6528147 | -| Android Support Repository | 47.0.0 | -| Google Play services | 49 | -| Google Repository | 58 | -| SDK Patch Applier v4 | 1 | -| CMake | 3.10.2
3.6.4111459 | +| Package Name | Version | +| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Android SDK Platform-Tools | 30.0.4 | +| Android SDK Tools | 26.1.1 | +| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3)
android-22 (rev 2)
android-21 (rev 2)
android-20 (rev 2)
android-19 (rev 4)
android-18 (rev 3)
android-17 (rev 3) | +| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3 23.0.0
22.0.1 22.0.0
21.1.2 21.0.0 21.0.1 21.0.2 21.1.0 21.1.1
20.0.0
19.1.0 19.0.0 19.0.1 19.0.2 19.0.3
18.0.1 18.1.0 18.1.1
17.0.0 | +| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 | +| NDK | 21.3.6528147 | +| Android Support Repository | 47.0.0 | +| Google Play services | 49 | +| Google Repository | 58 | +| SDK Patch Applier v4 | 1 | +| CMake | 3.10.2
3.6.4111459 | ### Cached Docker images - alpine:3.7 @@ -225,6 +228,6 @@ - ubuntu:14.04 ### Installed apt packages -- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl3, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, yamllint, zip, zstd, zsync +- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl3, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, zip, zstd, zsync From 0b6973e0d0f02c7cd5700a9697088b43ace54426 Mon Sep 17 00:00:00 2001 From: Darii Nurgaleev <50947177+Darleev@users.noreply.github.com> Date: Fri, 16 Oct 2020 15:34:35 +0700 Subject: [PATCH 42/42] change post generation folder. (#1825) --- images/win/windows2016.json | 2 +- images/win/windows2019.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/images/win/windows2016.json b/images/win/windows2016.json index d65286497..3c4b65663 100644 --- a/images/win/windows2016.json +++ b/images/win/windows2016.json @@ -85,7 +85,7 @@ { "type": "file", "source": "{{ template_dir }}/post-generation", - "destination": "C:/post-generation" + "destination": "C:/" }, { "type": "file", diff --git a/images/win/windows2019.json b/images/win/windows2019.json index 6e0ba8669..6609b5b38 100644 --- a/images/win/windows2019.json +++ b/images/win/windows2019.json @@ -85,7 +85,7 @@ { "type": "file", "source": "{{ template_dir }}/post-generation", - "destination": "C:/post-generation" + "destination": "C:/" }, { "type": "file",