From 6a1710a597d7e0e7f8c86f0cccd163316579694f Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 8 Oct 2020 13:16:57 +0200 Subject: [PATCH 01/15] Update gh windows install script to use official release assets --- images/win/scripts/Installers/Install-GitHub-CLI.ps1 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/images/win/scripts/Installers/Install-GitHub-CLI.ps1 b/images/win/scripts/Installers/Install-GitHub-CLI.ps1 index 7891991d4..b708508ad 100644 --- a/images/win/scripts/Installers/Install-GitHub-CLI.ps1 +++ b/images/win/scripts/Installers/Install-GitHub-CLI.ps1 @@ -3,8 +3,15 @@ ## Desc: Install GitHub CLI ################################################################################ -Choco-Install -PackageName gh +Write-Host "Get the latest gh version..." +$GhReleasesJson = Invoke-RestMethod "https://api.github.com/repos/cli/cli/releases/latest" +$WindowsMsiAssetNamePattern = "windows_amd64.msi" +$WindowsMsiAsset = $GhReleasesJson.assets | Where-Object { $_.name.EndsWith($WindowsMsiAssetNamePattern) } | Select-Object -First 1 +$Name = $WindowsMsiAsset.name +$DownloadUrl = $WindowsMsiAsset.browser_download_url + +Install-Binary -Url $DownloadUrl -Name $Name Add-MachinePathItem "C:\Program Files (x86)\GitHub CLI" -Invoke-PesterTests -TestFile "CLI.Tools" -TestName "GitHub CLI" \ No newline at end of file +Invoke-PesterTests -TestFile "CLI.Tools" -TestName "GitHub CLI" From a36457dc3b58fa01e2fb3412dbd13e045d624f21 Mon Sep 17 00:00:00 2001 From: Sam Coe Date: Mon, 12 Oct 2020 17:03:50 +0200 Subject: [PATCH 02/15] Address PR comments --- images/win/scripts/Installers/Install-GitHub-CLI.ps1 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/images/win/scripts/Installers/Install-GitHub-CLI.ps1 b/images/win/scripts/Installers/Install-GitHub-CLI.ps1 index b708508ad..6e9a2e624 100644 --- a/images/win/scripts/Installers/Install-GitHub-CLI.ps1 +++ b/images/win/scripts/Installers/Install-GitHub-CLI.ps1 @@ -4,11 +4,9 @@ ################################################################################ Write-Host "Get the latest gh version..." -$GhReleasesJson = Invoke-RestMethod "https://api.github.com/repos/cli/cli/releases/latest" -$WindowsMsiAssetNamePattern = "windows_amd64.msi" -$WindowsMsiAsset = $GhReleasesJson.assets | Where-Object { $_.name.EndsWith($WindowsMsiAssetNamePattern) } | Select-Object -First 1 -$Name = $WindowsMsiAsset.name -$DownloadUrl = $WindowsMsiAsset.browser_download_url + +$Name = "gh_windows_amd64.msi" +$DownloadUrl = (Invoke-RestMethod -Uri "https://api.github.com/repos/cli/cli/releases/latest").assets.browser_download_url -match "windows_amd64.msi" Install-Binary -Url $DownloadUrl -Name $Name From 915cb891a9c59acd5b225e2dde2a9ef179dc8f83 Mon Sep 17 00:00:00 2001 From: Sam Coe Date: Tue, 13 Oct 2020 23:07:01 +0200 Subject: [PATCH 03/15] Select first browser_download_url from array --- images/win/scripts/Installers/Install-GitHub-CLI.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/images/win/scripts/Installers/Install-GitHub-CLI.ps1 b/images/win/scripts/Installers/Install-GitHub-CLI.ps1 index 6e9a2e624..1efb2f74e 100644 --- a/images/win/scripts/Installers/Install-GitHub-CLI.ps1 +++ b/images/win/scripts/Installers/Install-GitHub-CLI.ps1 @@ -6,7 +6,8 @@ Write-Host "Get the latest gh version..." $Name = "gh_windows_amd64.msi" -$DownloadUrl = (Invoke-RestMethod -Uri "https://api.github.com/repos/cli/cli/releases/latest").assets.browser_download_url -match "windows_amd64.msi" +$Assets = (Invoke-RestMethod -Uri "https://api.github.com/repos/cli/cli/releases/latest").assets +$DownloadUrl = ($Assets.browser_download_url -match "windows_amd64.msi") | Select-Object -First 1 Install-Binary -Url $DownloadUrl -Name $Name From 52ce3618d5d0f6c53ac25721d392eaef5e8a60d8 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Mon, 19 Oct 2020 09:18:41 +0300 Subject: [PATCH 04/15] fix build number --- images.CI/macos/azure-pipelines/image-generation.yml | 2 +- images.CI/macos/azure-pipelines/macos1013.yml | 3 +-- images.CI/macos/azure-pipelines/macos1014.yml | 3 +-- images.CI/macos/azure-pipelines/macos1015.yml | 3 +-- images.CI/macos/azure-pipelines/macos110.yml | 3 +-- 5 files changed, 5 insertions(+), 9 deletions(-) diff --git a/images.CI/macos/azure-pipelines/image-generation.yml b/images.CI/macos/azure-pipelines/image-generation.yml index f38d2fdcb..2b0f9fa81 100644 --- a/images.CI/macos/azure-pipelines/image-generation.yml +++ b/images.CI/macos/azure-pipelines/image-generation.yml @@ -8,7 +8,7 @@ jobs: - group: Mac-Cloud Image Generation - group: Mac-Cloud Image Generation Key Vault - name: VirtualMachineName - value: $(Build.BuildNumber).$(System.JobAttempt) + value: ${{ parameters.image_label }}_$(date:yyyyMMdd)$(rev:.r)_unstable.$(System.JobAttempt) steps: - bash: | diff --git a/images.CI/macos/azure-pipelines/macos1013.yml b/images.CI/macos/azure-pipelines/macos1013.yml index a7b9a4a19..a61d69ac7 100644 --- a/images.CI/macos/azure-pipelines/macos1013.yml +++ b/images.CI/macos/azure-pipelines/macos1013.yml @@ -1,4 +1,3 @@ -name: macOS-10.13_$(date:yyyyMMdd)$(rev:.r)_unstable schedules: - cron: "0 0 * * *" displayName: Daily @@ -17,7 +16,7 @@ pr: jobs: - template: image-generation.yml parameters: - image_label: 'macOS High Sierra' + image_label: 'macOS-10.13' base_image_name: 'clean-macOS-10.13.6-380Gb-SIPoff_runner' template_path: 'templates/macOS-10.13.json' target_datastore: 'ds-image' diff --git a/images.CI/macos/azure-pipelines/macos1014.yml b/images.CI/macos/azure-pipelines/macos1014.yml index 21f7e48c1..3b801624e 100644 --- a/images.CI/macos/azure-pipelines/macos1014.yml +++ b/images.CI/macos/azure-pipelines/macos1014.yml @@ -1,4 +1,3 @@ -name: macOS-10.14_$(date:yyyyMMdd)$(rev:.r)_unstable schedules: - cron: "0 0 * * *" displayName: Daily @@ -17,7 +16,7 @@ pr: jobs: - template: image-generation.yml parameters: - image_label: 'macOS Mojave' + image_label: 'macOS-10.14' base_image_name: 'clean-macOS-10.14-380Gb_runner' template_path: 'templates/macOS-10.14.json' target_datastore: 'ds-image' diff --git a/images.CI/macos/azure-pipelines/macos1015.yml b/images.CI/macos/azure-pipelines/macos1015.yml index f42980cc4..1d86512ff 100644 --- a/images.CI/macos/azure-pipelines/macos1015.yml +++ b/images.CI/macos/azure-pipelines/macos1015.yml @@ -1,4 +1,3 @@ -name: macOS-10.15_$(date:yyyyMMdd)$(rev:.r)_unstable schedules: - cron: "0 0 * * *" displayName: Daily @@ -17,7 +16,7 @@ pr: jobs: - template: image-generation.yml parameters: - image_label: 'macOS Catalina' + image_label: 'macOS-10.15' base_image_name: 'clean-macOS-10.15-380Gb-runner' template_path: 'templates/macOS-10.15.json' target_datastore: 'ds-image' diff --git a/images.CI/macos/azure-pipelines/macos110.yml b/images.CI/macos/azure-pipelines/macos110.yml index ada6dcfe1..19f9725a8 100644 --- a/images.CI/macos/azure-pipelines/macos110.yml +++ b/images.CI/macos/azure-pipelines/macos110.yml @@ -1,4 +1,3 @@ -name: macOS-11.0_$(date:yyyyMMdd)$(rev:.r)_unstable schedules: - cron: "0 0 * * *" displayName: Daily @@ -17,7 +16,7 @@ pr: jobs: - template: image-generation.yml parameters: - image_label: 'macOS Big Sur' + image_label: 'macOS-11.0' base_image_name: 'clean-macOS-11.0-380Gb-runner' template_path: 'templates/macOS-11.0.json' target_datastore: 'ds-image' From 9229296dd2c6bde98f99f499524d00abf50a5749 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Mon, 19 Oct 2020 09:39:11 +0300 Subject: [PATCH 05/15] fix build number --- images.CI/macos/azure-pipelines/image-generation.yml | 9 +++++---- images.CI/macos/azure-pipelines/macos1013.yml | 3 ++- images.CI/macos/azure-pipelines/macos1014.yml | 3 ++- images.CI/macos/azure-pipelines/macos1015.yml | 3 ++- images.CI/macos/azure-pipelines/macos110.yml | 3 ++- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/images.CI/macos/azure-pipelines/image-generation.yml b/images.CI/macos/azure-pipelines/image-generation.yml index 2b0f9fa81..3fa3ba606 100644 --- a/images.CI/macos/azure-pipelines/image-generation.yml +++ b/images.CI/macos/azure-pipelines/image-generation.yml @@ -7,12 +7,13 @@ jobs: variables: - group: Mac-Cloud Image Generation - group: Mac-Cloud Image Generation Key Vault - - name: VirtualMachineName - value: ${{ parameters.image_label }}_$(date:yyyyMMdd)$(rev:.r)_unstable.$(System.JobAttempt) steps: - - bash: | - echo "##vso[build.updatebuildnumber]${{ variables.VirtualMachineName }}" + - pwsh: | + $cleanBuildNumber = "$(Build.BuildNumber)" -replace "(.+_unstable\.)(\d+)", '$1' + $virtualMachineName = "${cleanBuildNumber}.$(System.JobAttempt)" + echo "##vso[task.setvariable variable=VirtualMachineName;]$virtualMachineName" + echo "##vso[build.updatebuildnumber]$virtualMachineName" displayName: Update BuildNumber - checkout: self diff --git a/images.CI/macos/azure-pipelines/macos1013.yml b/images.CI/macos/azure-pipelines/macos1013.yml index a61d69ac7..a7b9a4a19 100644 --- a/images.CI/macos/azure-pipelines/macos1013.yml +++ b/images.CI/macos/azure-pipelines/macos1013.yml @@ -1,3 +1,4 @@ +name: macOS-10.13_$(date:yyyyMMdd)$(rev:.r)_unstable schedules: - cron: "0 0 * * *" displayName: Daily @@ -16,7 +17,7 @@ pr: jobs: - template: image-generation.yml parameters: - image_label: 'macOS-10.13' + image_label: 'macOS High Sierra' base_image_name: 'clean-macOS-10.13.6-380Gb-SIPoff_runner' template_path: 'templates/macOS-10.13.json' target_datastore: 'ds-image' diff --git a/images.CI/macos/azure-pipelines/macos1014.yml b/images.CI/macos/azure-pipelines/macos1014.yml index 3b801624e..21f7e48c1 100644 --- a/images.CI/macos/azure-pipelines/macos1014.yml +++ b/images.CI/macos/azure-pipelines/macos1014.yml @@ -1,3 +1,4 @@ +name: macOS-10.14_$(date:yyyyMMdd)$(rev:.r)_unstable schedules: - cron: "0 0 * * *" displayName: Daily @@ -16,7 +17,7 @@ pr: jobs: - template: image-generation.yml parameters: - image_label: 'macOS-10.14' + image_label: 'macOS Mojave' base_image_name: 'clean-macOS-10.14-380Gb_runner' template_path: 'templates/macOS-10.14.json' target_datastore: 'ds-image' diff --git a/images.CI/macos/azure-pipelines/macos1015.yml b/images.CI/macos/azure-pipelines/macos1015.yml index 1d86512ff..f42980cc4 100644 --- a/images.CI/macos/azure-pipelines/macos1015.yml +++ b/images.CI/macos/azure-pipelines/macos1015.yml @@ -1,3 +1,4 @@ +name: macOS-10.15_$(date:yyyyMMdd)$(rev:.r)_unstable schedules: - cron: "0 0 * * *" displayName: Daily @@ -16,7 +17,7 @@ pr: jobs: - template: image-generation.yml parameters: - image_label: 'macOS-10.15' + image_label: 'macOS Catalina' base_image_name: 'clean-macOS-10.15-380Gb-runner' template_path: 'templates/macOS-10.15.json' target_datastore: 'ds-image' diff --git a/images.CI/macos/azure-pipelines/macos110.yml b/images.CI/macos/azure-pipelines/macos110.yml index 19f9725a8..ada6dcfe1 100644 --- a/images.CI/macos/azure-pipelines/macos110.yml +++ b/images.CI/macos/azure-pipelines/macos110.yml @@ -1,3 +1,4 @@ +name: macOS-11.0_$(date:yyyyMMdd)$(rev:.r)_unstable schedules: - cron: "0 0 * * *" displayName: Daily @@ -16,7 +17,7 @@ pr: jobs: - template: image-generation.yml parameters: - image_label: 'macOS-11.0' + image_label: 'macOS Big Sur' base_image_name: 'clean-macOS-11.0-380Gb-runner' template_path: 'templates/macOS-11.0.json' target_datastore: 'ds-image' From 3a355831822a9df382f6ccef772922d09a0e5edd Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Mon, 19 Oct 2020 09:47:10 +0300 Subject: [PATCH 06/15] Update image-generation.yml --- images.CI/macos/azure-pipelines/image-generation.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/images.CI/macos/azure-pipelines/image-generation.yml b/images.CI/macos/azure-pipelines/image-generation.yml index 3fa3ba606..71cad9237 100644 --- a/images.CI/macos/azure-pipelines/image-generation.yml +++ b/images.CI/macos/azure-pipelines/image-generation.yml @@ -72,7 +72,7 @@ jobs: -var="output_folder=$(output-folder)" ` -var="vm_username=$(vm-username)" ` -var="vm_password=$(vm-password)" ` - -var="build_id=${{ variables.VirtualMachineName }}" ` + -var="build_id=$(VirtualMachineName)" ` -var="baseimage_name=${{ parameters.base_image_name }}" ` -var="github_feed_token=$(github-feed-token)" ` -var="xcode_install_user=$(xcode-installation-user)" ` @@ -99,7 +99,7 @@ jobs: ls $(Common.TestResultsDirectory) echo "Put VM name to 'VM_Done_Name' file" - echo "${{ variables.VirtualMachineName }}" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name" + echo "$(VirtualMachineName)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name" displayName: Prepare artifact - bash: | @@ -126,7 +126,7 @@ jobs: inputs: targetType: 'filePath' filePath: ./images.CI/macos/move-vm.ps1 - arguments: -VMName "${{ variables.VirtualMachineName }}" ` + arguments: -VMName "$(VirtualMachineName)" ` -TargetDataStore "${{ parameters.target_datastore }}" ` -VIServer "$(vcenter-server-v2)" ` -VIUserName "$(vcenter-username-v2)" ` @@ -138,7 +138,7 @@ jobs: inputs: targetType: 'filePath' filePath: ./images.CI/macos/destroy-vm.ps1 - arguments: -VMName "${{ variables.VirtualMachineName }}" ` + arguments: -VMName "$(VirtualMachineName)" ` -VIServer "$(vcenter-server-v2)" ` -VIUserName "$(vcenter-username-v2)" ` -VIPassword "$(vcenter-password-v2)" From 478e20cb4a445602595b706ef306d15d1bf75827 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Mon, 19 Oct 2020 10:28:59 +0300 Subject: [PATCH 07/15] Update image-generation.yml --- images.CI/macos/azure-pipelines/image-generation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images.CI/macos/azure-pipelines/image-generation.yml b/images.CI/macos/azure-pipelines/image-generation.yml index 71cad9237..89216e216 100644 --- a/images.CI/macos/azure-pipelines/image-generation.yml +++ b/images.CI/macos/azure-pipelines/image-generation.yml @@ -10,7 +10,7 @@ jobs: steps: - pwsh: | - $cleanBuildNumber = "$(Build.BuildNumber)" -replace "(.+_unstable\.)(\d+)", '$1' + $cleanBuildNumber = "$(Build.BuildNumber)" -replace "(.+_unstable)(\.\d+)", '$1' $virtualMachineName = "${cleanBuildNumber}.$(System.JobAttempt)" echo "##vso[task.setvariable variable=VirtualMachineName;]$virtualMachineName" echo "##vso[build.updatebuildnumber]$virtualMachineName" From c5e468893d9843a69725cf78b8263ab8e2aadcc5 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Mon, 19 Oct 2020 13:28:53 +0300 Subject: [PATCH 08/15] [macOS] Add retry for toolcache assets (#1798) * Add retry for toolset manifest downloading * Add common helper * Minor fix * Fix helper module path * Fix helper module path --- images/macos/helpers/Common.Helpers.psm1 | 17 +++++++++++++---- images/macos/provision/core/toolset.ps1 | 4 +++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/images/macos/helpers/Common.Helpers.psm1 b/images/macos/helpers/Common.Helpers.psm1 index aa2ffdc5c..dd8a2184b 100644 --- a/images/macos/helpers/Common.Helpers.psm1 +++ b/images/macos/helpers/Common.Helpers.psm1 @@ -24,7 +24,7 @@ function Get-EnvironmentVariable($variable) { } # Returns the object with information about current OS -# It can be used for OS-specific tests +# It can be used for OS-specific tests function Get-OSVersion { $osVersion = [Environment]::OSVersion return [PSCustomObject]@{ @@ -36,7 +36,7 @@ function Get-OSVersion { IsBigSur = $osVersion.Version.Major -eq 20 IsLessThanCatalina = $osVersion.Version.Major -lt 19 IsLessThanBigSur = $osVersion.Version.Major -lt 20 - IsHigherThanMojave = $osVersion.Version.Major -gt 18 + IsHigherThanMojave = $osVersion.Version.Major -gt 18 } } @@ -63,7 +63,7 @@ function Get-ToolsetValue { $jsonNode = Get-Content -Raw $toolsetPath | ConvertFrom-Json $pathParts = $KeyPath.Split(".") - # try to walk through all arguments consequentially to resolve specific json node + # try to walk through all arguments consequentially to resolve specific json node $pathParts | ForEach-Object { $jsonNode = $jsonNode.$_ } @@ -73,4 +73,13 @@ function Get-ToolsetValue { function Get-ToolcachePackages { $toolcachePath = Join-Path $env:HOME "image-generation" "toolcache.json" return Get-Content -Raw $toolcachePath | ConvertFrom-Json -} \ No newline at end of file +} + +function Invoke-RestMethodWithRetry { + param ( + [Parameter()] + [string] + $Url + ) + Invoke-RestMethod $Url -MaximumRetryCount 10 -RetryIntervalSec 30 +} diff --git a/images/macos/provision/core/toolset.ps1 b/images/macos/provision/core/toolset.ps1 index bc016c4b3..9238b9ff4 100644 --- a/images/macos/provision/core/toolset.ps1 +++ b/images/macos/provision/core/toolset.ps1 @@ -4,6 +4,8 @@ ## Desc: Install toolset ################################################################################ +Import-Module "~/image-generation/helpers/Common.Helpers.psm1" + Function Get-ToolcacheFromToolset { $toolsetPath = Join-Path $env:HOME "image-generation" "toolset.json" $toolsetJson = Get-Content -Raw $toolsetPath | ConvertFrom-Json @@ -38,7 +40,7 @@ $tools = Get-ToolcacheFromToolset | Where-Object {$ToolsToInstall -contains $_. foreach ($tool in $tools) { # Get versions manifest for current tool - $assets = Invoke-RestMethod $tool.url + $assets = Invoke-RestMethodWithRetry -Url $tool.url # Get github release asset for each version foreach ($version in $tool.versions) { From dd4f43be9df75302c8fba87020d26040a1582c03 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 Oct 2020 11:34:39 +0000 Subject: [PATCH 09/15] Updating readme file for win19 version 20201011.1 (#1800) Co-authored-by: Image generation service account Co-authored-by: Actions service account --- images/win/Windows2019-Readme.md | 58 +++++++++++++++++--------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md index 1c8c72c61..a153b8d4d 100644 --- a/images/win/Windows2019-Readme.md +++ b/images/win/Windows2019-Readme.md @@ -1,10 +1,10 @@ | Announcements | |-| -| [[In Discussion] Git internal tools will be removed from PATH Windows images](https://github.com/actions/virtual-environments/issues/1525) | +| [[In Discussion] Git internal tools will be removed from PATH Windows images and replaced with MSYS2 tools](https://github.com/actions/virtual-environments/issues/1525) | *** # Microsoft Windows Server 2019 Datacenter - OS Version: 10.0.17763 Build 1457 -- Image Version: 20201004.1 +- Image Version: 20201011.1 ## Enabled windows optional features - Windows Subsystem for Linux @@ -21,12 +21,12 @@ - PHP 7.4.11 - Julia 1.5.2 - Perl 5.32.0 -- Node 12.18.4 +- Node 12.19.0 ### Package Management - Chocolatey 0.10.15 - Vcpkg 2020.06.15 -- NPM 6.14.6 +- NPM 6.14.8 - Yarn 1.22.10 - pip 20.2.3 (python 3.7) - Miniconda 4.6.14 @@ -39,35 +39,31 @@ - Ant 1.10.9 - Maven 3.6.3 - Gradle 6.6 -- sbt 1.3.13 +- sbt 1.4.0 ### Tools -- Azure CosmosDb Emulator 2.11.5.0 - azcopy 10.6.0 -- Bazel 3.5.1 -- Bazelisk 1.6.1 -- CMake 3.18.3 +- Bazel 3.6.0 +- Bazelisk 1.7.1 +- CMake 3.18.4 - CodeQL Action Bundle 2.2.5 -- R 4.0.2 +- R 4.0.3 - Docker 19.03.12 - Docker-compose 1.27.2 - Git 2.28.0 - Git LFS 2.11.0 -- Google Cloud SDK 312.0.0 +- Google Cloud SDK 313.0.1 - InnoSetup 6.0.5 - jq 1.6 - Kubectl 1.19.1 - Kind 0.9.0 - Mingw-w64 8.1.0 -- MySQL 5.7.21.0 - Mercurial 5.0 - NSIS v3.06.1 - Newman 5.2.0 - OpenSSL 1.1.1 - Packer 1.6.3 - Pulumi v2.11.2 -- SQLPS 1.0 -- SQLServer PS 21.1.18228 - Subversion (SVN) 1.14.0 - ghc 8.10.2 - Cabal 3.2.0.0 @@ -82,28 +78,28 @@ - Azure CLI 2.12.1 - Azure DevOps CLI extension 0.18.0 - Azure Dev Spaces CLI 1.0.20200921.3 -- AWS CLI 2.0.54 -- AWS SAM CLI 1.4.0 +- AWS CLI 2.0.56 +- AWS SAM CLI 1.6.2 - AWS Session Manager CLI 1.1.61.0 -- Alibaba Cloud CLI 3.0.59 +- Alibaba Cloud CLI 3.0.60 - Cloud Foundry CLI 6.53.0 - Hub CLI 2.14.2 -- GitHub CLI 1.0.0 +- GitHub CLI 1.1.0 ### Rust Tools -- Rust 1.46.0 +- Rust 1.47.0 #### Packages - bindgen 0.55.1 -- cbindgen 0.14.6 +- cbindgen 0.15.0 - cargo-audit 0.12.1 - cargo-outdated v0.9.11 ### Browsers and webdrivers -- Google Chrome 85.0.4183.121 -- Chrome Driver 85.0.4183.87 -- Microsoft Edge 85.0.564.68 -- Microsoft Edge Driver 85.0.564.68 +- Google Chrome 86.0.4240.75 +- Chrome Driver 86.0.4240.22 +- Microsoft Edge 86.0.622.38 +- Microsoft Edge Driver 86.0.622.38 - Mozilla Firefox 81.0.1 - Gecko Driver 0.27.0 - IE Driver 3.150.1.0 @@ -153,8 +149,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | ------- | ------------ | | 8.17.0 | x64 | | 10.22.1 | x64 | -| 12.18.4 | x64 | -| 14.13.0 | x64 | +| 12.19.0 | x64 | +| 14.13.1 | x64 | #### Python @@ -205,6 +201,12 @@ Note: MSYS2 is pre-installed on image but not added to PATH. +### Database tools +- Azure CosmosDb Emulator 2.11.6.0 +- SQLPS 1.0 +- MySQL 5.7.21.0 + + ### Visual Studio Enterprise 2019 | Name | Version | Path | | ----------------------------- | -------------- | -------------------------------------------------------------- | @@ -428,7 +430,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | Microsoft.VisualStudio.Workload.Python | 16.0.28621.142 | | Microsoft.VisualStudio.Workload.Universal | 16.7.30310.162 | | Microsoft.VisualStudio.Workload.VisualStudioExtension | 16.4.29409.204 | -| SSDT Microsoft Analysis Services Projects | 2.9.13 | +| SSDT Microsoft Analysis Services Projects | 2.9.14 | | SSDT SQL Server Integration Services Projects | 3.10 | | SSDT Microsoft Reporting Services Projects | 2.6.7 | | Windows Driver Kit | 3.11.4516 | @@ -523,3 +525,5 @@ All other versions are saved but not installed. - mcr.microsoft.com/windows/servercore:ltsc2019 - mcr.microsoft.com/windows/nanoserver:1809 - microsoft/aspnetcore-build:1.0-2.0 + + From b8548a8943fd4c982c2bef6e1867ea714893d791 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov Date: Mon, 19 Oct 2020 17:39:28 +0300 Subject: [PATCH 10/15] provide additional error log message --- images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 index 0fd6bc8b6..d5a5d59dc 100644 --- a/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 +++ b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 @@ -49,6 +49,13 @@ Function Install-VisualStudio } else { + $setupErrorLogPath = "$env:TEMP\dd_setup_*_errors.log" + if (Test-Path -Path $setupErrorLogPath) + { + $logErrors = Get-Content -Path $setupErrorLogPath -Raw + Write-Host "$logErrors" + } + Write-Host "Non zero exit code returned by the installation process : $exitCode" exit $exitCode } From af562625fc7b77ba4edf64b9be33de7d5746b541 Mon Sep 17 00:00:00 2001 From: Leonid Lapshin Date: Tue, 20 Oct 2020 11:45:08 +0300 Subject: [PATCH 11/15] added a swiftc symlink [Ubuntu] (#1832) * added a swiftc symlink * swiftc points to swiftc Co-authored-by: Leonid Lapshin --- images/linux/scripts/installers/swift.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/images/linux/scripts/installers/swift.sh b/images/linux/scripts/installers/swift.sh index 73c8fd297..e4666a7c8 100644 --- a/images/linux/scripts/installers/swift.sh +++ b/images/linux/scripts/installers/swift.sh @@ -15,7 +15,9 @@ mv swift-$swift_version-RELEASE-ubuntu$image_label /usr/share/swift SWIFT_PATH="/usr/share/swift/usr/bin" SWIFT_BIN="$SWIFT_PATH/swift" +SWIFTC_BIN="$SWIFT_PATH/swiftc" ln -s "$SWIFT_BIN" /usr/local/bin/swift +ln -s "$SWIFTC_BIN" /usr/local/bin/swiftc echo "SWIFT_PATH=$SWIFT_PATH" | tee -a /etc/environment # Run tests to determine that the software installed as expected @@ -24,3 +26,8 @@ if ! command -v swift; then echo "Swift was not installed" exit 1 fi + +if ! command -v swiftc; then + echo "Swiftc is not linked to swift binary" + exit 1 +fi From 2a0836a763beca66e9c7685677e8423e99222499 Mon Sep 17 00:00:00 2001 From: Leonid Lapshin Date: Tue, 20 Oct 2020 11:45:21 +0300 Subject: [PATCH 12/15] Change "open" tool to "xip" on XCode archive extraction (#1840) * change open tool to xip * cd change to pushd and popd Co-authored-by: Leonid Lapshin --- images/macos/provision/utils/xcode-utils.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/images/macos/provision/utils/xcode-utils.sh b/images/macos/provision/utils/xcode-utils.sh index fccde9efd..7cd63b2fc 100644 --- a/images/macos/provision/utils/xcode-utils.sh +++ b/images/macos/provision/utils/xcode-utils.sh @@ -68,7 +68,9 @@ extractXcodeXip() { local XCODE_VERSION="$2" XCODE_XIP="${WORKING_DIR}/Xcode_${XCODE_VERSION// /_}.xip" - open -W $XCODE_XIP + pushd $WORKING_DIR + xip -x "${XCODE_XIP}" + popd if [[ -d "${WORKING_DIR}/Xcode-beta.app" ]]; then mv -f "${WORKING_DIR}/Xcode-beta.app" "${WORKING_DIR}/Xcode.app" From a5ef7bd7ef7795eff7f34b5df6c21a36c3f92c72 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com> Date: Tue, 20 Oct 2020 12:38:05 +0300 Subject: [PATCH 13/15] [Ubuntu] Add apt-fast version to readme (#1846) * add apt-fast * change to apt list * simplify the function --- .../scripts/SoftwareReport/SoftwareReport.Generator.ps1 | 1 + .../linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index 4a341b53e..df77ea23b 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -87,6 +87,7 @@ $markdown += New-MDHeader "Tools" -Level 3 $toolsList = @( (Get-7zipVersion), (Get-AnsibleVersion), + (Get-AptFastVersion), (Get-AzCopy7Version), (Get-AzCopy10Version), (Get-BazelVersion), diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 index f10cb8baa..ba676b0a5 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 @@ -8,6 +8,11 @@ function Get-AnsibleVersion { return "Ansible $ansibleVersion" } +function Get-AptFastVersion { + $aptFastVersion = (dpkg-query --showformat='${Version}' --show apt-fast).Split('-')[0] + return "apt-fast $aptFastVersion" +} + function Get-AzCopy7Version { $azcopy7Version = azcopy --version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-" return "AzCopy7 $azcopy7Version (available by ``azcopy`` alias)" From 7258903cdc376630716a774e27b6e5af4e66ab39 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com> Date: Tue, 20 Oct 2020 17:24:44 +0300 Subject: [PATCH 14/15] [macOS] Fix openssl on Big Sur (#1853) * add symlink to opt * get back 1.0.2t --- images/macos/provision/core/openssl.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/images/macos/provision/core/openssl.sh b/images/macos/provision/core/openssl.sh index a1976e7f9..a058673a6 100755 --- a/images/macos/provision/core/openssl.sh +++ b/images/macos/provision/core/openssl.sh @@ -8,11 +8,6 @@ export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH" echo Installing OpenSSL... /usr/local/bin/brew install openssl -if is_BigSur; then - ln -sf $(brew --prefix openssl)/bin/openssl /usr/local/bin/openssl - exit 0 -fi - # Install OpenSSL 1.0.2t # https://www.openssl.org/policies/releasestrat.html - Version 1.0.2 will be supported until 2019-12-31 (LTS) # To preserve backward compatibility with ruby-toolcache From 6c3597d5dc1bb458d4f0da2be31f52d5703d4e61 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2020 18:04:00 +0000 Subject: [PATCH 15/15] Updating readme file for win16 version 20201012.1 (#1799) Co-authored-by: Image generation service account Co-authored-by: Actions service account --- images/win/Windows2016-Readme.md | 212 ++++++++++++------------------- 1 file changed, 81 insertions(+), 131 deletions(-) diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index ffbdfab3f..f184b50ab 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -1,10 +1,10 @@ | Announcements | |-| -| [[In Discussion] Git internal tools will be removed from PATH Windows images](https://github.com/actions/virtual-environments/issues/1525) | +| [[In Discussion] Git internal tools will be removed from PATH Windows images and replaced with MSYS2 tools](https://github.com/actions/virtual-environments/issues/1525) | *** # Microsoft Windows Server 2016 Datacenter - OS Version: 10.0.14393 Build 3930 -- Image Version: 20200920.1 +- Image Version: 20201012.1 ## Installed Software ### Language and Runtime @@ -15,55 +15,52 @@ - Python 3.7.9 - Ruby 2.5.8p224 - Go 1.14.9 -- PHP 7.4.9 -- Julia 1.5.1 +- PHP 7.4.11 +- Julia 1.5.2 - Perl 5.32.0 -- Node 12.18.4 +- Node 12.19.0 ### Package Management - Chocolatey 0.10.15 - Vcpkg 2020.06.15 -- NPM 6.14.6 -- Yarn 1.22.5 +- NPM 6.14.8 +- Yarn 1.22.10 - pip 20.2.3 (python 3.7) - Miniconda 4.6.14 - RubyGems 3.1.4 -- Helm 3.3.3 +- Helm 3.3.4 - Composer 1.10.13 - NuGet 5.7.0.6726 ### Project Management -- Ant 1.10.8 +- Ant 1.10.9 - Maven 3.6.3 - Gradle 6.6 -- sbt 1.3.13 +- sbt 1.4.0 ### Tools -- Azure CosmosDb Emulator 2.11.5.0 - azcopy 10.6.0 -- Bazel 3.5.0 -- Bazelisk 1.6.1 -- CMake 3.18.2 -- R 4.0.2 +- Bazel 3.6.0 +- Bazelisk 1.7.1 +- CMake 3.18.4 +- CodeQL Action Bundle 2.2.5 +- R 4.0.3 - Docker 19.03.12 - Docker-compose 1.27.2 - Git 2.28.0 - Git LFS 2.11.0 -- Google Cloud SDK 310.0.0 +- Google Cloud SDK 313.0.1 - InnoSetup 6.0.5 - jq 1.6 - Kubectl 1.19.1 - Kind 0.9.0 - Mingw-w64 8.1.0 -- MySQL 5.7.21.0 - Mercurial 5.0 - NSIS v3.06.1 - Newman 5.2.0 - OpenSSL 1.1.1 -- Packer 1.6.2 -- Pulumi v2.10.1 -- SQLPS 1.0 -- SQLServer PS 21.1.18226 +- Packer 1.6.3 +- Pulumi v2.11.2 - Subversion (SVN) 1.14.0 - ghc 8.10.2 - Cabal 3.2.0.0 @@ -72,34 +69,35 @@ - zstd 1.4.5 - VSWhere 2.8.4 - 7zip 19.00 -- yamllint 1.24.2 +- yamllint 1.25.0 ### CLI Tools -- Azure CLI 2.11.1 +- Azure CLI 2.12.1 - Azure DevOps CLI extension 0.18.0 -- AWS CLI 2.0.50 -- AWS SAM CLI 1.2.0 +- Azure Dev Spaces CLI 1.0.20200921.3 +- AWS CLI 2.0.56 +- AWS SAM CLI 1.6.2 - AWS Session Manager CLI 1.1.61.0 -- Alibaba Cloud CLI 3.0.59 -- Cloud Foundry CLI 6.52.0 +- Alibaba Cloud CLI 3.0.60 +- Cloud Foundry CLI 6.53.0 - Hub CLI 2.14.2 -- GitHub CLI 1.0.0 +- GitHub CLI 1.1.0 ### Rust Tools -- Rust 1.46.0 +- Rust 1.47.0 #### Packages - bindgen 0.55.1 -- cbindgen 0.14.5 -- cargo-audit 0.12.0 +- cbindgen 0.15.0 +- cargo-audit 0.12.1 - cargo-outdated v0.9.11 ### Browsers and webdrivers -- Google Chrome 85.0.4183.102 -- Chrome Driver 85.0.4183.87 -- Microsoft Edge 85.0.564.51 -- Microsoft Edge Driver 85.0.564.51 -- Mozilla Firefox 80.0.1 +- Google Chrome 86.0.4240.75 +- Chrome Driver 86.0.4240.22 +- Microsoft Edge 86.0.622.38 +- Microsoft Edge Driver 86.0.622.38 +- Mozilla Firefox 81.0.1 - Gecko Driver 0.27.0 - IE Driver 3.150.1.0 @@ -148,8 +146,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | ------- | ------------ | | 8.17.0 | x64 | | 10.22.1 | x64 | -| 12.18.4 | x64 | -| 14.11.0 | x64 | +| 12.19.0 | x64 | +| 14.13.1 | x64 | #### Python @@ -159,7 +157,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | 3.5.4 | x64, x86 | | 3.6.8 | x64, x86 | | 3.7.9 (Default) | x64, x86 | -| 3.8.5 | x64, x86 | +| 3.8.6 | x64, x86 | #### Ruby @@ -174,8 +172,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH. #### PyPy | Python Version | Architecture | PyPy Version | | -------------- | ------------ | ------------ | -| 2.7.13 | x86 | PyPy 7.3.1 with MSC v.1912 32 bit | -| 3.6.9 | x86 | PyPy 7.3.1 with MSC v.1912 32 bit | +| 2.7.13 | x86 | PyPy 7.3.2 with MSC v.1927 32 bit | +| 3.6.9 | x86 | PyPy 7.3.2 with MSC v.1927 32 bit | @@ -183,12 +181,12 @@ Note: MSYS2 is pre-installed on image but not added to PATH. #### PostgreSQL | Property | Value | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| ServiceName | postgresql-x64-12 | -| Version | 12.4 | +| ServiceName | postgresql-x64-13 | +| Version | 13.0 | | ServiceStatus | Stopped | | ServiceStartType | Disabled | -| EnvironmentVariables | PGBIN=C:\Program Files\PostgreSQL\12\bin
PGDATA=C:\Program Files\PostgreSQL\12\data
PGROOT=C:\Program Files\PostgreSQL\12 | -| Path | C:\Program Files\PostgreSQL\12 | +| EnvironmentVariables | PGBIN=C:\Program Files\PostgreSQL\13\bin
PGDATA=C:\Program Files\PostgreSQL\13\data
PGROOT=C:\Program Files\PostgreSQL\13 | +| Path | C:\Program Files\PostgreSQL\13 | | UserName | postgres | | Password | root | @@ -200,6 +198,12 @@ Note: MSYS2 is pre-installed on image but not added to PATH. +### Database tools +- Azure CosmosDb Emulator 2.11.6.0 +- SQLPS 1.0 +- MySQL 5.7.21.0 + + ### Visual Studio Enterprise 2017 | Name | Version | Path | | ----------------------------- | --------------- | -------------------------------------------------------------- | @@ -465,10 +469,10 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | Microsoft Visual C++ 2013 Minimum Runtime | x86 | 12.0.21005 | | Microsoft Visual C++ 2017 Debug Runtime | x64 | 14.16.27033 | | Microsoft Visual C++ 2017 Debug Runtime | x86 | 14.16.27033 | -| Microsoft Visual C++ 2019 Additional Runtime | x64 | 14.26.28720 | -| Microsoft Visual C++ 2019 Minimum Runtime | x64 | 14.26.28720 | -| Microsoft Visual C++ 2019 Additional Runtime | x86 | 14.26.28720 | -| Microsoft Visual C++ 2019 Minimum Runtime | x86 | 14.26.28720 | +| Microsoft Visual C++ 2019 Additional Runtime | x64 | 14.27.29112 | +| Microsoft Visual C++ 2019 Minimum Runtime | x64 | 14.27.29112 | +| Microsoft Visual C++ 2019 Additional Runtime | x86 | 14.27.29112 | +| Microsoft Visual C++ 2019 Minimum Runtime | x86 | 14.27.29112 | ### .NET Core SDK `Location C:\Program Files\dotnet\sdk` @@ -496,95 +500,41 @@ Note: MSYS2 is pre-installed on image but not added to PATH. - PowerShell 7.0.3 #### Azure Powershell Modules -| Module | Version | Path | -| ------- | -------------------------------------------------------------------------------------- | ------------------------------ | -| Az | 1.0.0
1.6.0
2.3.2
2.6.0
3.1.0
3.5.0
3.8.0
4.3.0
4.4.0
4.6.0 | C:\Modules\az_\ | -| Azure | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
5.3.0 | C:\Modules\azure_\ | -| AzureRM | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
6.7.0
6.13.1 | C:\Modules\azurerm_\ | +| Module | Version | Path | +| ------- | ----------------------------------------------------------------------------------------------- | ------------------------------ | +| Az | 1.0.0
1.6.0
2.3.2
2.6.0
3.1.0
3.5.0
3.8.0
4.3.0
4.4.0
4.6.0
4.7.0 | C:\Modules\az_\ | +| Azure | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
5.3.0 | C:\Modules\azure_\ | +| AzureRM | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
6.7.0
6.13.1 | C:\Modules\azurerm_\ | ``` Azure PowerShell module 2.1.0 and AzureRM PowerShell module 2.1.0 are installed and are available via 'Get-Module -ListAvailable'. All other versions are saved but not installed. ``` #### Powershell Modules -| Module | Version | -| ------------------ | ------------------ | -| DockerMsftProvider | 1.0.0.8 | -| MarkdownPS | 1.9 | -| Pester | 3.4.0
5.0.4 | -| PowerShellGet | 1.0.0.1
2.2.4.1 | -| PSWindowsUpdate | 2.2.0.2 | -| SqlServer | 21.1.18226 | -| VSSetup | 2.2.16 | +| Module | Version | +| ------------------ | --------------------------- | +| DockerMsftProvider | 1.0.0.8 | +| MarkdownPS | 1.9 | +| Pester | 3.4.0
5.0.4 | +| PowerShellGet | 1.0.0.1
2.2.4.1
2.2.5 | +| PSWindowsUpdate | 2.2.0.2 | +| SqlServer | 21.1.18228 | +| VSSetup | 2.2.16 | -### Android SDK Tools -| Package Name | Description | -| -------------- | ------------------------------------------- | -| platform-tools | Android SDK Platform-Tools, Revision 30.0.4 | -| tools | Android SDK Tools 25.2.5, Revision 25.2.5 | - -### Android SDK Platforms -`Location C:\Program Files (x86)\Android\android-sdk\platforms` -| Package Name | Description | -| ------------ | ------------------------------------------ | -| android-19 | Android SDK Platform 19, Revision 4 | -| android-21 | Android SDK Platform 21, Revision 2 | -| android-22 | Android SDK Platform 22, Revision 2 | -| android-23 | Android SDK Platform 23, rev 3, Revision 3 | -| android-24 | Android SDK Platform 24, Revision 2 | -| android-25 | Android SDK Platform 25, Revision 3 | -| android-26 | Android SDK Platform 26, Revision 2 | -| android-27 | Android SDK Platform 27, Revision 3 | -| android-28 | Android SDK Platform 28, Revision 6 | -| android-29 | Android SDK Platform 29, Revision 5 | -| android-30 | Android SDK Platform 30, Revision 3 | - -### Android SDK Build-Tools -`Location C:\Program Files (x86)\Android\android-sdk\build-tools` -| Package Name | Description | -| ------------------ | ---------------------------------------- | -| build-tools-19.1.0 | Android SDK Build-Tools, Revision 19.1.0 | -| build-tools-20.0.0 | Android SDK Build-Tools, Revision 20.0.0 | -| build-tools-21.1.2 | Android SDK Build-Tools, Revision 21.1.2 | -| build-tools-22.0.1 | Android SDK Build-Tools, Revision 22.0.1 | -| build-tools-23.0.1 | Android SDK Build-Tools, Revision 23.0.1 | -| build-tools-23.0.2 | Android SDK Build-Tools, Revision 23.0.2 | -| build-tools-23.0.3 | Android SDK Build-Tools, Revision 23.0.3 | -| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 | -| build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 | -| build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 | -| build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 | -| build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 | -| build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 | -| build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 | -| build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 | -| build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 | -| build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 | -| build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 | -| build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 | -| build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 | -| build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 | -| build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 | -| build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 | -| build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 | -| build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 | -| build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 | -| build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 | -| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 | -| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 | -| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 | -| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 | -| build-tools-30.0.0 | Android SDK Build-Tools, Revision 30.0.0 | -| build-tools-30.0.1 | Android SDK Build-Tools, Revision 30.0.1 | -| build-tools-30.0.2 | Android SDK Build-Tools, Revision 30.0.2 | - -### Android Extra Packages -| Package Name | Version | -| -------------------------- | ------------ | -| Android Support Repository | 47.0.0 | -| Google Play services | 49 | -| Google Repository | 58 | -| NDK | 21.3.6528147 | +### Android +| Package Name | Version | +| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Android SDK Platform-Tools | 30.0.4 | +| Android SDK Tools | 25.2.5 | +| 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 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
22.0.1
21.1.2
20.0.0
19.1.0 | +| NDK | 21.3.6528147 | +| Android Support Repository | 47.0.0 | +| Google APIs | addon-g..._apis-google-21
addon-g..._apis-google-22
addon-g..._apis-google-23
addon-g..._apis-google-24
a...google_apis | +| Google Play services | 49 | +| Google Repository | 58 | +| SDK Patch Applier v4 | 1 | +| CMake | 3.10.2
3.6.4111459 | ### Cached Docker images - mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016