diff --git a/.gitattributes b/.gitattributes index 957a75d08..2adc20264 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1 @@ -# Do not normalize line endings -* -text \ No newline at end of file +* text=auto eol=lf \ No newline at end of file diff --git a/.github/workflows/issue-triager.yml b/.github/workflows/issue-triager.yml index 12d04db5a..c948a620a 100644 --- a/.github/workflows/issue-triager.yml +++ b/.github/workflows/issue-triager.yml @@ -24,9 +24,21 @@ jobs: with: github-token: ${{secrets.GITHUB_TOKEN}} script: | - github.issues.addLabels({ + const issueLabels = await github.issues.listLabelsOnIssue({ issue_number: context.issue.number, owner: context.repo.owner, - repo: context.repo.repo, - labels: ['needs triage'] - }) \ No newline at end of file + repo: context.repo.repo + }); + + const isAnnouncement = issueLabels.data && issueLabels.data + .map(label => label.name) + .includes('Announcement'); + + if (!isAnnouncement) { + github.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['needs triage'] + }) + } \ No newline at end of file diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml new file mode 100644 index 000000000..42eb7cad8 --- /dev/null +++ b/.github/workflows/linter.yml @@ -0,0 +1,25 @@ +# CI Validation + +name: CI + +on: + pull_request: + branches: [$default-branch] + +jobs: + build: + name: Lint JSON & MD files + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + + - name: Lint Code Base + uses: github/super-linter@v3 + env: + VALIDATE_ALL_CODEBASE: false + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VALIDATE_JSON: true + VALIDATE_MD: true + DEFAULT_BRANCH: ${{ github.base_ref }} diff --git a/helpers/GenerateResourcesAndImage.ps1 b/helpers/GenerateResourcesAndImage.ps1 index 9718bc35a..67858841f 100644 --- a/helpers/GenerateResourcesAndImage.ps1 +++ b/helpers/GenerateResourcesAndImage.ps1 @@ -16,27 +16,32 @@ Function Get-PackerTemplatePath { [ImageType] $ImageType ) - $relativePath = "N/A" - switch ($ImageType) { ([ImageType]::Windows2016) { - $relativePath = "\images\win\Windows2016-Azure.json" + $relativeTemplatePath = Join-Path "win" "windows2016.json" } ([ImageType]::Windows2019) { - $relativePath = "\images\win\Windows2019-Azure.json" + $relativeTemplatePath = Join-Path "win" "windows2019.json" } ([ImageType]::Ubuntu1604) { - $relativePath = "\images\linux\ubuntu1604.json" + $relativeTemplatePath = Join-Path "linux" "ubuntu1604.json" } ([ImageType]::Ubuntu1804) { - $relativePath = "\images\linux\ubuntu1804.json" + $relativeTemplatePath = Join-Path "linux" "ubuntu1804.json" } ([ImageType]::Ubuntu2004) { - $relativePath = "\images\linux\ubuntu2004.json" + $relativeTemplatePath = Join-Path "linux" "ubuntu2004.json" } + default { throw "Unknown type of image" } } - return $RepositoryRoot + $relativePath; + $imageTemplatePath = [IO.Path]::Combine($RepositoryRoot, "images", $relativeTemplatePath) + + if (-not (Test-Path $imageTemplatePath)) { + throw "Template for image '$ImageType' doesn't exist on path '$imageTemplatePath'" + } + + return $imageTemplatePath; } Function Get-LatestCommit { @@ -45,7 +50,7 @@ Function Get-LatestCommit { process { Write-Host "Latest commit:" - git log --pretty=format:"Date: %cd; Commit: %H - %s; Author: %an <%ae>" -1 + git --no-pager log --pretty=format:"Date: %cd; Commit: %H - %s; Author: %an <%ae>" -1 } } @@ -87,12 +92,12 @@ Function GenerateResourcesAndImage { [Parameter(Mandatory = $True)] [string] $ResourceGroupName, [Parameter(Mandatory = $True)] - [string] $ImageGenerationRepositoryRoot, - [Parameter(Mandatory = $True)] [ImageType] $ImageType, [Parameter(Mandatory = $True)] [string] $AzureLocation, [Parameter(Mandatory = $False)] + [string] $ImageGenerationRepositoryRoot = $pwd, + [Parameter(Mandatory = $False)] [int] $SecondsToWaitForServicePrincipalSetup = 30, [Parameter(Mandatory = $False)] [string] $GithubFeedToken, @@ -184,7 +189,12 @@ Function GenerateResourcesAndImage { Get-LatestCommit -ErrorAction SilentlyContinue - packer.exe build -on-error=ask ` + $packerBinary = Get-Command "packer" + if (-not ($packerBinary)) { + throw "'packer' binary is not found on PATH" + } + + & $packerBinary build -on-error=ask ` -var "client_id=$($spClientId)" ` -var "client_secret=$($ServicePrincipalClientSecret)" ` -var "subscription_id=$($SubscriptionId)" ` diff --git a/images.CI/linux-and-win/azure-pipelines/windows2016.yml b/images.CI/linux-and-win/azure-pipelines/windows2016.yml index 39d013f99..0220a38f2 100644 --- a/images.CI/linux-and-win/azure-pipelines/windows2016.yml +++ b/images.CI/linux-and-win/azure-pipelines/windows2016.yml @@ -16,5 +16,5 @@ pr: jobs: - template: image-generation.yml parameters: - image_type: Windows2016-Azure + image_type: windows2016 image_readme_name: Windows2016-Readme.md \ No newline at end of file diff --git a/images.CI/linux-and-win/azure-pipelines/windows2019.yml b/images.CI/linux-and-win/azure-pipelines/windows2019.yml index 01f65c0ec..ccad8f882 100644 --- a/images.CI/linux-and-win/azure-pipelines/windows2019.yml +++ b/images.CI/linux-and-win/azure-pipelines/windows2019.yml @@ -16,5 +16,5 @@ pr: jobs: - template: image-generation.yml parameters: - image_type: Windows2019-Azure + image_type: windows2019 image_readme_name: Windows2019-Readme.md \ No newline at end of file diff --git a/images.CI/macos/azure-pipelines/image-generation.yml b/images.CI/macos/azure-pipelines/image-generation.yml index 7f02d90f9..89216e216 100644 --- a/images.CI/macos/azure-pipelines/image-generation.yml +++ b/images.CI/macos/azure-pipelines/image-generation.yml @@ -7,10 +7,15 @@ jobs: variables: - group: Mac-Cloud Image Generation - group: Mac-Cloud Image Generation Key Vault - - name: VirtualMachineName - value: $(Build.BuildNumber).$(System.JobAttempt) steps: + - 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 clean: true fetchDepth: 1 @@ -42,6 +47,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,11 +68,11 @@ 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)" ` - -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)" ` @@ -85,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: | @@ -105,3 +119,26 @@ jobs: failTaskOnFailedTests: true 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 "$(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') + inputs: + targetType: 'filePath' + filePath: ./images.CI/macos/destroy-vm.ps1 + arguments: -VMName "$(VirtualMachineName)" ` + -VIServer "$(vcenter-server-v2)" ` + -VIUserName "$(vcenter-username-v2)" ` + -VIPassword "$(vcenter-password-v2)" diff --git a/images.CI/macos/destroy-vm.ps1 b/images.CI/macos/destroy-vm.ps1 new file mode 100644 index 000000000..f6ed1b1a8 --- /dev/null +++ b/images.CI/macos/destroy-vm.ps1 @@ -0,0 +1,95 @@ +<# +.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)] + [ValidateNotNullOrEmpty()] + [string]$VMName, + + [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 + +# Check vm clone status +$chainId = (Get-VIEvent -Entity $VMName).ChainId +if ($chainId) +{ + $task = Get-Task -Status Running | Where-Object { ($_.Name -eq 'CloneVM_Task') -and ($_.ExtensionData.Info.EventChainId -in $chainId) } + if ($task) + { + try + { + Stop-Task -Task $task -Confirm:$false -ErrorAction Stop + Write-Host "The vm '$VMName' clone task has been canceled" + } + catch + { + Write-Host "##vso[task.LogIssue type=error;]Failed to cancel the task" + } + } +} + +# Remove a vm +$vm = Get-VM -Name $VMName -ErrorAction SilentlyContinue + +if ($vm) +{ + $vmState = $vm.PowerState + if ($vmState -ne "PoweredOff") + { + try + { + $null = Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop + Write-Host "The vm '$VMName' has been powered off" + } + catch + { + Write-Host "##vso[task.LogIssue type=error;]Failed to shutdown '$VMName'" + } + } + + try + { + Remove-VM -VM $vm -DeletePermanently -Confirm:$false -ErrorAction Stop + Write-Host "The vm '$VMName' has been removed" + } + catch + { + Write-Host "##vso[task.LogIssue type=error;]Failed to remove '$VMName'" + } +} +else +{ + Write-Host "VM '$VMName' not found" +} \ No newline at end of file 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..698721409 --- /dev/null +++ b/images.CI/macos/move-vm.ps1 @@ -0,0 +1,70 @@ +<# +.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 + +$vm = Get-VM $VMName + +if ($env:AGENT_JOBSTATUS -eq 'Failed') { + try { + if($vm.PowerState -ne "PoweredOff") { + Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop + } + Set-VM -VM $vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop + Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]" + } catch { + Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$VMName'" + } +} + +try { + Move-VM -Vm $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 diff --git a/images/linux/Ubuntu1604-README.md b/images/linux/Ubuntu1604-README.md index be5b36b92..b4513e8b3 100644 --- a/images/linux/Ubuntu1604-README.md +++ b/images/linux/Ubuntu1604-README.md @@ -1,95 +1,100 @@ -| Announcements | -|-| -| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | -| [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) | +| Announcements | +|-| +| [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) | +| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) | *** # Ubuntu 16.04.7 LTS -- Image Version: 20200920.1 +- Image Version: 20201015.1 ## Installed Software ### Language and Runtime - GNU C++ 5.5.0, 7.5.0, 8.4.0, 9.3.0 - GNU Fortran 5.5.0, 8.4.0, 9.3.0 - Clang 6.0.0, 8.0.0, 9.0.1 -- Erlang 11.0.3 +- 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 - Ruby 2.3.1p112 - Swift 5.3 -- Julia 1.5.1 +- Julia 1.5.2 ### Package Management -- Homebrew 2.5.1 - Gem 3.1.4 +- Helm 3.3.4 +- Homebrew 2.5.6 - 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 +- Gradle 6.7 - 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.0 -- Bazelisk 1.6.1 +- Bazel 3.6.0 +- Bazelisk 1.7.2 - CMake 3.17.0 +- CodeQL Action Bundle 2.3.0 - curl 7.47.0 -- Docker Compose 1.27.3 +- Docker Compose 1.27.4 - Docker-Buildx 0.4.2 -- Docker-Moby 19.03.12 +- Docker-Moby 19.03.13 - Git 2.28.0 - Git LFS 2.12.0 - Git-ftp 1.0.2 -- Google Cloud SDK 310.0.0 +- Google Cloud SDK 314.0.0 - Haveged 1.9.1 -- Heroku 7.43.0 +- Heroku 7.46.0 - HHVM (HipHop VM) 4.56.1 - jq 1.5 - Kind 0.9.0 -- Kubectl 1.19.2 -- Kustomize 3.8.4 +- Kubectl 1.19.3 +- Kustomize 3.8.5 - Leiningen 2.9.4 - m4 1.4.17 - Mercurial 4.4.1 -- Minikube 1.13.0 +- Minikube 1.14.0 - Newman 5.2.0 -- nvm 0.35.3 -- Packer 1.6.2 +- nvm 0.36.0 +- Packer 1.6.4 - PhantomJS 2.1.1 +- Pulumi 2.12.0 +- R 4.0.3 +- Sphinx Open Source Search Server 2.2.9 - SVN 1.9.3 - Swig 3.0.8 -- Terraform 0.13.3 +- 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.142 -- AWS CLI Session manager plugin 1.1.61.0 -- AWS SAM CLI 1.2.0 -- Azure CLI (azure-cli) 2.11.1 +- Alibaba Cloud CLI 3.0.60 +- AWS CLI 1.18.158 +- AWS CLI Session manager plugin 1.2.7.0 +- AWS SAM CLI 1.6.2 +- Azure CLI (azure-cli) 2.13.0 - Azure CLI (azure-devops) 0.18.0 -- GitHub CLI +- GitHub CLI 1.1.0 - Hub CLI 2.14.2 -- Netlify CLI 2.63.2 +- Netlify CLI 2.65.6 - oc CLI 4.5.0 - ORAS CLI 0.8.1 -- Vercel CLI 20.1.0 +- Vercel CLI 20.1.2 ### Java | Version | Vendor | Environment Variable | @@ -102,43 +107,43 @@ ### PHP | Tool | Version | | -------- | ----------------------------------------- | -| PHP | 5.6.40 7.0.33 7.1.33 7.2.33 7.3.22 7.4.10 | -| Composer | 1.10.13 | +| PHP | 5.6.40 7.0.33 7.1.33 7.2.34 7.3.23 7.4.11 | +| Composer | 1.10.15 | | PHPUnit | 7.5.20 | ### Haskell - GHC 8.10.2 - Cabal 3.4.0.0 -- Stack 2.3.3 +- Stack 2.5.1 ### 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.0 +- Cargo audit 0.12.1 - Cargo outdated 0.9.11 - Cargo clippy 0.0.212 -- Cbindgen 0.14.5 -- Rustfmt 1.4.18 +- Cbindgen 0.15.0 +- Rustfmt 1.4.20 ### Browsers and Drivers -- Google Chrome 85.0.4183.102 -- ChromeDriver 85.0.4183.87 -- Mozilla Firefox 80.0.1 +- Google Chrome 86.0.4240.75 +- ChromeDriver 86.0.4240.22 +- Mozilla Firefox 81.0.2 - Geckodriver 0.27.0 ### .NET Core 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 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.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 +- 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.519 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.616 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 2.1.811 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.109 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403 ### Az Module -- 1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0 4.3.0 4.4.0 4.6.0 +- 1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0 4.3.0 4.4.0 4.6.0 4.7.0 ### Databases -- Postgre SQL 12.4 +- Postgre SQL 13.0 - MongoDB 4.4.1 - sqlite3 3.11.0 @@ -162,43 +167,44 @@ - 3.5.10 - 3.6.12 - 3.7.9 -- 3.8.5 +- 3.8.6 +- 3.9.0 #### PyPy -- 2.7.13 [PyPy 7.3.1] -- 3.6.9 [PyPy 7.3.1] +- 2.7.13 [PyPy 7.3.2] +- 3.6.9 [PyPy 7.3.2] #### Node.js - 8.17.0 - 10.22.1 -- 12.18.4 -- 14.11.0 +- 12.19.0 +- 14.13.1 #### Go - 1.11.13 - 1.12.17 - 1.13.15 -- 1.14.9 -- 1.15.2 +- 1.14.10 +- 1.15.3 #### Boost - 1.69.0 - 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
22.0.1
21.1.2
20.0.0
19.1.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 diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md index f72a52ca0..0029ea31d 100644 --- a/images/linux/Ubuntu1804-README.md +++ b/images/linux/Ubuntu1804-README.md @@ -1,98 +1,104 @@ -| Announcements | -|-| -| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | -| [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) | +| Announcements | +|-| +| [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) | +| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) | *** # Ubuntu 18.04.5 LTS -- Image Version: 20200920.1 +- Image Version: 20201015.1 ## Installed Software ### Language and Runtime -- GNU C++ 7.5.0, 8.4.0, 9.3.0 +- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.1.0 - GNU Fortran 7.5.0, 8.4.0, 9.3.0 - Clang 6.0.0, 8.0.0, 9.0.0 -- Erlang 11.0.3 +- 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 - Ruby 2.5.1p57 - Swift 5.3 -- Julia 1.5.1 +- Julia 1.5.2 ### Package Management -- Homebrew 2.5.1 - Gem 3.1.4 +- Helm 3.3.4 +- Homebrew 2.5.6 - 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 +- Gradle 6.7 - 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.0 -- Bazelisk 1.6.1 -- Buildah +- Bazel 3.6.0 +- Bazelisk 1.7.2 +- Buildah 1.16.4 - CMake 3.17.0 +- CodeQL Action Bundle 2.3.0 - curl 7.58.0 -- Docker Compose 1.27.3 +- Docker Compose 1.27.4 - Docker-Buildx 0.4.2 -- Docker-Moby 19.03.12 +- Docker-Moby 19.03.13 - Git 2.28.0 - Git LFS 2.12.0 - Git-ftp 1.3.1 -- Google Cloud SDK 310.0.0 +- Google Cloud SDK 314.0.0 - Haveged 1.9.1 -- Heroku 7.43.0 -- HHVM (HipHop VM) 4.75.0 +- Heroku 7.46.0 +- HHVM (HipHop VM) 4.79.0 - jq 1.5 - Kind 0.9.0 -- Kubectl 1.19.2 -- Kustomize 3.8.4 +- Kubectl 1.19.3 +- Kustomize 3.8.5 - Leiningen 2.9.4 - m4 1.4.18 - Mercurial 4.5.3 -- Minikube 1.13.0 +- Minikube 1.14.0 - Newman 5.2.0 -- nvm 0.35.3 -- Packer 1.6.2 +- nvm 0.36.0 +- Packer 1.6.4 - PhantomJS 2.1.1 -- Podman -- Skopeo 1.1.1 +- Podman 2.1.1 +- Pulumi 2.12.0 +- R 4.0.3 +- Skopeo 1.2.0 +- Sphinx Open Source Search Server 2.2.11 - SVN 1.9.7 - Swig 3.0.12 -- Terraform 0.13.3 +- 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.142 +- Alibaba Cloud CLI 3.0.60 +- AWS CLI 1.18.157 - AWS CLI Session manager plugin 1.1.61.0 -- AWS SAM CLI 1.2.0 -- Azure CLI (azure-cli) 2.11.1 +- AWS SAM CLI 1.6.2 +- Azure CLI (azure-cli) 2.13.0 - Azure CLI (azure-devops) 0.18.0 -- GitHub CLI +- GitHub CLI 1.1.0 - Hub CLI 2.14.2 -- Netlify CLI 2.63.2 +- Netlify CLI 2.65.5 - oc CLI 4.5.0 - ORAS CLI 0.8.1 -- Vercel CLI 20.1.0 +- Vercel CLI 20.1.2 ### Java | Version | Vendor | Environment Variable | @@ -105,8 +111,8 @@ ### PHP | Tool | Version | | -------- | --------------------------- | -| PHP | 7.1.33 7.2.33 7.3.22 7.4.10 | -| Composer | 1.10.13 | +| PHP | 7.1.33 7.2.34 7.3.23 7.4.11 | +| Composer | 1.10.15 | | PHPUnit | 7.5.20 | ### Haskell @@ -115,33 +121,33 @@ - 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.0 +- Cargo audit 0.12.1 - Cargo outdated 0.9.11 - Cargo clippy 0.0.212 -- Cbindgen 0.14.5 -- Rustfmt 1.4.18 +- Cbindgen 0.15.0 +- Rustfmt 1.4.20 ### Browsers and Drivers -- Google Chrome 85.0.4183.102 -- ChromeDriver 85.0.4183.87 -- Mozilla Firefox 80.0.1 +- Google Chrome 86.0.4240.75 +- ChromeDriver 86.0.4240.22 +- Mozilla Firefox 81.0 - Geckodriver 0.27.0 ### .NET Core 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 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.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 +- 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.519 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.616 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 2.1.811 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.109 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403 ### Az Module -- 1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0 4.3.0 4.4.0 4.6.0 +- 1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0 4.3.0 4.4.0 4.6.0 4.7.0 ### Databases -- Postgre SQL 12.4 +- Postgre SQL 13.0 - MongoDB 4.4.1 - sqlite3 3.22.0 @@ -165,43 +171,44 @@ - 3.5.10 - 3.6.12 - 3.7.9 -- 3.8.5 +- 3.8.6 +- 3.9.0 #### PyPy -- 2.7.13 [PyPy 7.3.1] -- 3.6.9 [PyPy 7.3.1] +- 2.7.13 [PyPy 7.3.2] +- 3.6.9 [PyPy 7.3.2] #### Node.js - 8.17.0 - 10.22.1 -- 12.18.4 -- 14.11.0 +- 12.19.0 +- 14.13.1 #### Go - 1.11.13 - 1.12.17 - 1.13.15 -- 1.14.9 -- 1.15.2 +- 1.14.10 +- 1.15.3 #### Boost - 1.69.0 - 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
22.0.1
21.1.2
20.0.0
19.1.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 @@ -221,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 diff --git a/images/linux/Ubuntu2004-README.md b/images/linux/Ubuntu2004-README.md index 2776b988a..b192a23ac 100644 --- a/images/linux/Ubuntu2004-README.md +++ b/images/linux/Ubuntu2004-README.md @@ -1,98 +1,104 @@ -| Announcements | -|-| -| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | -| [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) | +| Announcements | +|-| +| [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) | +| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) | *** # Ubuntu 20.04.1 LTS -- Image Version: 20200920.1 +- Image Version: 20201015.1 ## Installed Software ### Language and Runtime -- GNU C++ 7.5.0, 8.4.0, 9.3.0 +- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.2.0 - GNU Fortran 8.4.0, 9.3.0 -- Clang 10.0.1, 8.0.1, 9.0.1 -- Erlang 11.0.3 +- Clang 8.0.1, 9.0.1, 10.0.0 +- Erlang 11.1 - Mono 6.12.0.90 -- Node 12.18.4 -- Python 2.7.18rc1 -- 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.1 +- Julia 1.5.2 ### Package Management -- Homebrew 2.5.1 - Gem 3.1.2 +- Helm 3.3.4 +- Homebrew 2.5.6 - Miniconda 4.8.3 -- Helm 3.3.3 - Npm 6.14.8 -- Yarn 1.22.5 -- Pip 20.2.3 +- 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 +- Gradle 6.7 - 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.0 -- Bazelisk 1.6.1 -- Buildah 1.16.1 +- Bazel 3.6.0 +- Bazelisk 1.7.2 +- Buildah 1.16.4 - CMake 3.17.0 +- CodeQL Action Bundle 2.3.0 - curl 7.68.0 -- Docker Compose 1.27.3 +- Docker Compose 1.27.4 - Docker-Buildx 0.4.2 -- Docker-Moby 19.03.12 +- Docker-Moby 19.03.13 - Git 2.28.0 - Git LFS 2.12.0 - Git-ftp 1.6.0 -- Google Cloud SDK 310.0.0 +- Google Cloud SDK 314.0.0 - Haveged 1.9.1 -- Heroku 7.43.0 -- HHVM (HipHop VM) 4.75.0 +- Heroku 7.46.0 +- HHVM (HipHop VM) 4.79.0 - jq 1.6 - Kind 0.9.0 -- Kubectl 1.19.2 -- Kustomize 3.8.4 +- Kubectl 1.19.3 +- Kustomize 3.8.5 - Leiningen 2.9.4 - m4 1.4.18 - Mercurial 5.3.1 -- Minikube 1.13.0 +- Minikube 1.14.0 - Newman 5.2.0 -- nvm 0.35.3 -- Packer 1.6.2 +- nvm 0.36.0 +- Packer 1.6.4 - PhantomJS 2.1.1 -- Podman 2.0.6 -- Skopeo 1.1.1 +- Podman 2.1.1 +- Pulumi 2.12.0 +- R 4.0.3 +- Skopeo 1.2.0 +- Sphinx Open Source Search Server 2.2.11 - SVN 1.13.0 - Swig 4.0.1 -- Terraform 0.13.3 +- 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.50 +- Alibaba Cloud CLI 3.0.60 +- AWS CLI 2.0.56 - AWS CLI Session manager plugin 1.1.61.0 -- AWS SAM CLI 1.2.0 -- Azure CLI (azure-cli) 2.11.1 +- AWS SAM CLI 1.6.2 +- Azure CLI (azure-cli) 2.13.0 - 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.63.2 +- Netlify CLI 2.65.5 - oc CLI 4.5.0 - ORAS CLI 0.8.1 -- Vercel CLI 20.1.0 +- Vercel CLI 20.1.2 ### Java | Version | Vendor | Environment Variable | @@ -103,8 +109,8 @@ ### PHP | Tool | Version | | -------- | ------- | -| PHP | 7.4.10 | -| Composer | 1.10.13 | +| PHP | 7.4.11 | +| Composer | 1.10.15 | | PHPUnit | 7.5.20 | ### Haskell @@ -113,33 +119,33 @@ - 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.0 +- Cargo audit 0.12.1 - Cargo outdated 0.9.11 - Cargo clippy 0.0.212 -- Cbindgen 0.14.5 -- Rustfmt 1.4.18 +- Cbindgen 0.15.0 +- Rustfmt 1.4.20 ### Browsers and Drivers -- Google Chrome 85.0.4183.102 -- ChromeDriver 85.0.4183.87 -- Mozilla Firefox 80.0.1 +- Google Chrome 86.0.4240.75 +- ChromeDriver 86.0.4240.22 +- Mozilla Firefox 81.0 - Geckodriver 0.27.0 ### .NET Core 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 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.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 +- 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.519 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.616 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 2.1.811 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.109 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403 ### Az Module -- 4.6.1 +- 4.8.0 ### Databases -- Postgre SQL 12.4 +- Postgre SQL 13.0 - MongoDB 4.4.1 - sqlite3 3.31.1 @@ -162,35 +168,36 @@ - 3.5.10 - 3.6.12 - 3.7.9 -- 3.8.5 +- 3.8.6 +- 3.9.0 #### PyPy -- 2.7.13 [PyPy 7.3.1] -- 3.6.9 [PyPy 7.3.1] +- 2.7.13 [PyPy 7.3.2] +- 3.6.9 [PyPy 7.3.2] #### Node.js - 8.17.0 - 10.22.1 -- 12.18.4 -- 14.11.0 +- 12.19.0 +- 14.13.1 #### Go -- 1.14.9 -- 1.15.2 +- 1.14.10 +- 1.15.3 ### 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 @@ -210,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-python2, 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 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/SoftwareReport/SoftwareReport.Common.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 index c9257407f..1989caf4b 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 @@ -5,14 +5,16 @@ function Get-OSName { } function Get-CPPVersions { - $cppVersions = apt list --installed 2>&1 | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object { + $result = Get-CommandResult "apt list --installed" -Multiline + $cppVersions = $result.Output | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object { & $_.Split("/")[0] --version | Select-Object -First 1 | Take-OutputPart -Part 3 } | Sort-Object {[Version]$_} return "GNU C++ " + ($cppVersions -Join ", ") } function Get-FortranVersions { - $fortranVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^gfortran-\d+"} | ForEach-Object { + $result = Get-CommandResult "apt list --installed" -Multiline + $fortranVersions = $result.Output | Where-Object { $_ -match "^gfortran-\d+"} | ForEach-Object { $_ -match "now (?\d+\.\d+\.\d+)-" | Out-Null $Matches.version } | Sort-Object {[Version]$_} @@ -21,7 +23,8 @@ function Get-FortranVersions { function Get-ClangVersions { $clangVersions = @() - $clangVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^clang-\d+"} | ForEach-Object { + $result = Get-CommandResult "apt list --installed" -Multiline + $clangVersions = $result.Output | Where-Object { $_ -match "^clang-\d+"} | ForEach-Object { $clangCommand = ($_ -Split "/")[0] Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "clang version" } | ForEach-Object { $_ -match "clang version (?\d+\.\d+\.\d+)-" | Out-Null @@ -32,9 +35,7 @@ function Get-ClangVersions { } function Get-ErlangVersion { - $result = Get-CommandResult "erl -version" - $result.Output -match "version (?\d+\.\d+\.\d+)" | Out-Null - $version = $Matches.version + $version = (erl -eval 'erlang:display(erlang:system_info(version)), halt().' -noshell).Trim('"') return "Erlang $version" } @@ -143,26 +144,27 @@ function Get-AntVersion { } function Get-GradleVersion { - $result = gradle -v | Out-String - $result -match "Gradle (?\d+\.\d+\.\d+)" | Out-Null - $gradleVersion = $Matches.version + $gradleVersion = (gradle -v) -match "^Gradle \d" | Take-OutputPart -Part 1 return "Gradle $gradleVersion" } + function Get-MavenVersion { $result = mvn -version | Out-String $result -match "Apache Maven (?\d+\.\d+\.\d+)" | Out-Null $mavenVersion = $Matches.version return "Maven $mavenVersion" } + function Get-SbtVersion { - $result = sbt -version 2>&1 | Out-String - $result -match "sbt script version: (?\d+\.\d+\.\d+)" | Out-Null + $result = Get-CommandResult "sbt -version" + $result.Output -match "sbt script version: (?\d+\.\d+\.\d+)" | Out-Null $sbtVersion = $Matches.version return "Sbt $sbtVersion" } function Get-PHPVersions { - return $(apt list --installed 2>&1) | Where-Object { $_ -match "^php\d+\.\d+/"} | ForEach-Object { + $result = Get-CommandResult "apt list --installed" -Multiline + return $result.Output | Where-Object { $_ -match "^php\d+\.\d+/"} | ForEach-Object { $_ -match "now (?\d+\.\d+\.\d+)-" | Out-Null $Matches.version } @@ -243,4 +245,11 @@ function Get-AptPackages { $apt = $toolsetJson.apt $pkgs = ($apt.common_packages + $apt.cmd_packages | Sort-Object) -join ", " return $pkgs +} + +function Get-PipxVersion { + $result = (Get-CommandResult "pipx --version").Output + $result -match "(?\d+\.\d+\.\d+\.?\d*)" | Out-Null + $pipxVersion = $Matches.Version + return "Pipx $pipxVersion" } \ No newline at end of file diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index ff03ba846..df77ea23b 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -3,6 +3,8 @@ param ( $OutputDirectory ) +$ErrorActionPreference = "Stop" + Import-Module MarkdownPS Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking @@ -14,6 +16,9 @@ Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Java.psm1") -DisableNameC Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Rust.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking +# Restore file owner in user profile +Restore-UserOwner + $markdown = "" if ($env:ANNOUNCEMENTS) { @@ -49,7 +54,8 @@ $markdown += New-MDList -Style Unordered -Lines @( ) $markdown += New-MDHeader "Package Management" -Level 3 -$markdown += New-MDList -Style Unordered -Lines @( + +$packageManagementList = @( (Get-HomebrewVersion), (Get-GemVersion), (Get-MinicondaVersion), @@ -61,6 +67,14 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-VcpkgVersion) ) +if (-not (Test-IsUbuntu16)) { + $packageManagementList += @( + (Get-PipxVersion) + ) +} + +$markdown += New-MDList -Style Unordered -Lines ($packageManagementList | Sort-Object) + $markdown += New-MDHeader "Project Management" -Level 3 $markdown += New-MDList -Style Unordered -Lines @( (Get-AntVersion), @@ -73,6 +87,7 @@ $markdown += New-MDHeader "Tools" -Level 3 $toolsList = @( (Get-7zipVersion), (Get-AnsibleVersion), + (Get-AptFastVersion), (Get-AzCopy7Version), (Get-AzCopy10Version), (Get-BazelVersion), @@ -110,6 +125,7 @@ $toolsList = @( (Get-TerraformVersion), (Get-UnZipVersion), (Get-WgetVersion), + (Get-YamllintVersion), (Get-ZipVersion), (Get-ZstdVersion) ) diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Helpers.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Helpers.psm1 index 45ab44948..9ef761d78 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Helpers.psm1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Helpers.psm1 @@ -49,3 +49,7 @@ function New-MDNewLine { $newLineSymbol = [System.Environment]::NewLine return $newLineSymbol * $Count } + +function Restore-UserOwner { + sudo chown -R ${env:USER}: $env:HOME +} \ No newline at end of file diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 index d1984b2ac..ba676b0a5 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 @@ -4,10 +4,15 @@ function Get-7zipVersion { } function Get-AnsibleVersion { - $ansibleVersion = sudo ansible --version | Select-Object -First 1 | Take-OutputPart -Part 1 + $ansibleVersion = ansible --version | Select-Object -First 1 | Take-OutputPart -Part 1 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)" @@ -19,17 +24,18 @@ function Get-AzCopy10Version { } function Get-BazelVersion { - $bazelVersion = sudo bazel --version | Select-String "bazel" | Take-OutputPart -Part 1 + $bazelVersion = bazel --version | Select-String "bazel" | Take-OutputPart -Part 1 return "Bazel $bazelVersion" } function Get-BazeliskVersion { - $bazeliskVersion = sudo bazelisk version 2>&1 | Select-String "Bazelisk version:" | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v" + $result = Get-CommandResult "bazelisk version" -Multiline + $bazeliskVersion = $result.Output | Select-String "Bazelisk version:" | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v" return "Bazelisk $bazeliskVersion" } function Get-CodeQLBundleVersion { - $CodeQLVersionsWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "codeql" | Join-Path -ChildPath "*" + $CodeQLVersionsWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*" $CodeQLVersionPath = Get-ChildItem $CodeQLVersionsWildcard | Select-Object -First 1 -Expand FullName $CodeQLPath = Join-Path $CodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql" $CodeQLVersion = & $CodeQLPath version --quiet @@ -77,12 +83,14 @@ function Get-DockerBuildxVersion { } function Get-GitVersion { - $gitVersion = git --version 2>&1 | Take-OutputPart -Part 2 + $result = Get-CommandResult "git --version" + $gitVersion = $result.Output | Take-OutputPart -Part 2 return "Git $gitVersion" } function Get-GitLFSVersion { - $gitlfsversion = git-lfs --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" + $result = Get-CommandResult "git-lfs --version" + $gitlfsversion = $result.Output | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" return "Git LFS $gitlfsversion" } @@ -92,7 +100,7 @@ function Get-GitFTPVersion { } function Get-GoogleCloudSDKVersion { - return "$(sudo gcloud --version | Select-Object -First 1)" + return "$(gcloud --version | Select-Object -First 1)" } function Get-HavegedVersion { @@ -101,7 +109,7 @@ function Get-HavegedVersion { } function Get-HerokuVersion { - $herokuVersion = sudo heroku version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" + $herokuVersion = heroku version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" return "Heroku $herokuVersion" } @@ -201,12 +209,12 @@ function Get-JqVersion { } function Get-AzureCliVersion { - $azcliVersion = sudo az -v | Select-String "azure-cli" | Take-OutputPart -Part -1 + $azcliVersion = az -v | Select-String "azure-cli" | Take-OutputPart -Part -1 return "Azure CLI (azure-cli) $azcliVersion" } function Get-AzureDevopsVersion { - $azdevopsVersion = sudo az -v | Select-String "azure-devops" | Take-OutputPart -Part -1 + $azdevopsVersion = az -v | Select-String "azure-devops" | Take-OutputPart -Part -1 return "Azure CLI (azure-devops) $azdevopsVersion" } @@ -215,12 +223,14 @@ function Get-AlibabaCloudCliVersion { } function Get-AWSCliVersion { - $awsVersion = aws --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" + $result = Get-CommandResult "aws --version" + $awsVersion = $result.Output | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" return "AWS CLI $awsVersion" } function Get-AWSCliSessionManagerPluginVersion { - return "AWS CLI Session manager plugin $(session-manager-plugin --version 2>&1)" + $result = (Get-CommandResult "session-manager-plugin --version").Output + return "AWS CLI Session manager plugin $result" } function Get-AWSSAMVersion { @@ -238,7 +248,7 @@ function Get-GitHubCliVersion { } function Get-NetlifyCliVersion { - $netlifyVersion = sudo netlify --version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" + $netlifyVersion = netlify --version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" return "Netlify CLI $netlifyVersion" } @@ -253,7 +263,8 @@ function Get-ORASCliVersion { } function Get-VerselCliversion { - return "$(vercel --version 2>&1 | Select-Object -First 1)" + $result = Get-CommandResult "vercel --version" -Multiline + return $result.Output | Select-Object -First 1 } function Get-PulumiVersion { @@ -269,4 +280,8 @@ function Get-RVersion { function Get-SphinxVersion { $sphinxVersion = searchd -h | Select-Object -First 1 | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-" return "Sphinx Open Source Search Server $sphinxVersion" +} + +function Get-YamllintVersion { + return "$(yamllint --version)" } \ No newline at end of file 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/helpers/install.sh b/images/linux/scripts/helpers/install.sh index 414980bb2..bb1befe22 100644 --- a/images/linux/scripts/helpers/install.sh +++ b/images/linux/scripts/helpers/install.sh @@ -42,4 +42,9 @@ download_with_retries() { ## fi function IsPackageInstalled { dpkg -S $1 &> /dev/null +} + +verlte() { + sortedVersion=$(echo -e "$1\n$2" | sort -V | head -n1) + [ "$1" = "$sortedVersion" ] } \ No newline at end of file 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 81f28ff7a..2cfbdd8dd 100644 --- a/images/linux/scripts/installers/android.sh +++ b/images/linux/scripts/installers/android.sh @@ -1,13 +1,28 @@ -#!/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 + +function filter_components_by_version { + minimumVersion=$1 + shift + toolsArr=("$@") + + for item in ${toolsArr[@]} + do + # take the last argument after spliting string by ';'' and '-'' + version=$(echo "${item##*[-;]}") + if verlte $minimumVersion $version + then + components+=($item) + fi + done +} # Set env variable for SDK Root (https://developer.android.com/studio/command-line/variables) ANDROID_ROOT=/usr/local/lib/android @@ -42,22 +57,23 @@ else fi toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json" -platforms=$(jq -r '.android.platform_list[]|"platforms;" + .' $toolset) -buildtools=$(jq -r '.android.build_tools[]|"build-tools;" + .' $toolset) +minimumBuildToolVersion=$(jq -r '.android.build_tools_min_version' $toolset) +minimumPlatformVersion=$(jq -r '.android.platform_min_version' $toolset) extras=$(jq -r '.android.extra_list[]|"extras;" + .' $toolset) addons=$(jq -r '.android.addon_list[]|"add-ons;" + .' $toolset) additional=$(jq -r '.android.additional_tools[]' $toolset) # Install the following SDKs and build tools, passing in "y" to accept licenses. -echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager $platforms $buildtools $extras $google_api_list $addons $additional +components=( "${extras[@]}" "${addons[@]}" "${additional[@]}" ) -# Document what was added to the image +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 | grep "build-tools;" | cut -d"|" -f 1 | sort -u)) +availableBuildTools=$(echo ${allBuildTools[@]//*rc[0-9]/}) -google_api_versions_list=$(echo "$addons"|awk -F- '/addon-google_apis-google/ {print $5}') -constraint_layout_versions_list=$(echo "$extras"|awk -F';' '/constraint-layout;/ {print $8}') -constraint_layout_solver_versions_list=$(echo "$extras"|awk -F';' '/constraint-layout-solver;/ {print $8}') -platform_versions_list=$(echo "$platforms"|awk -F- '{print $2}') -buildtools_versions_list=$(echo "$buildtools"|awk -F';' '{print $2}') +filter_components_by_version $minimumPlatformVersion "${availablePlatforms[@]}" +filter_components_by_version $minimumBuildToolVersion "${availableBuildTools[@]}" + +echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager ${components[@]} # Add required permissions chmod -R a+rwx ${ANDROID_SDK_ROOT} 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 49ef6a563..964fbc92c 100644 --- a/images/linux/scripts/installers/docker-moby.sh +++ b/images/linux/scripts/installers/docker-moby.sh @@ -1,18 +1,11 @@ -#!/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 -source $HELPER_SCRIPTS/os.sh - -# There is no stable docker-moby for Ubuntu 20 at the moment -if isUbuntu20 ; then - add-apt-repository "deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/prod testing main" -fi # Check to see if docker is already installed docker_package=moby 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..90b0f10ec 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 @@ -52,3 +51,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/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 74fed1f2a..b0d995138 100644 --- a/images/linux/scripts/installers/nvm.sh +++ b/images/linux/scripts/installers/nvm.sh @@ -1,13 +1,13 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: nvm.sh ## Desc: Installs Nvm ################################################################################ - export NVM_DIR="/etc/skel/.nvm" mkdir $NVM_DIR -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash +VERSION=$(curl -s https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name') +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$VERSION/install.sh | bash echo 'export NVM_DIR=$HOME/.nvm' | tee -a /etc/skel/.bash_profile echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' | tee -a /etc/skel/.bash_profile [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" 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/pipx-packages.sh b/images/linux/scripts/installers/pipx-packages.sh new file mode 100644 index 000000000..07e1427e3 --- /dev/null +++ b/images/linux/scripts/installers/pipx-packages.sh @@ -0,0 +1,30 @@ +#!/bin/bash +################################################################################ +## File: pipx-packages.sh +## Desc: Install tools via pipx +################################################################################ + + +export PATH="$PATH:/opt/pipx_bin" + +toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json" +pipx_packages=$(jq -r ".pipx[] .package" $toolset) + +for package in $pipx_packages; do + python_version=$(jq -r ".pipx[] | select(.package == \"$package\") .python" $toolset) + if [ "$python_version" != "null" ]; then + python_path="/opt/hostedtoolcache/Python/$python_version*/x64/bin/python$python_version" + echo "Install $package into python $python_path" + pipx install $package --python $python_path + else + echo "Install $package into default python" + pipx install $package + fi + + # Run tests to determine that the software installed as expected + cmd=$(jq -r ".pipx[] | select(.package == \"$package\") .cmd" $toolset) + if ! command -v $cmd; then + echo "$package was not installed" + exit 1 + fi +done 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..95a2e2fa9 100644 --- a/images/linux/scripts/installers/post-deployment.sh +++ b/images/linux/scripts/installers/post-deployment.sh @@ -1,9 +1,11 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: post-deployment.sh ## 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/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 3f6361e16..8993e1d3a 100644 --- a/images/linux/scripts/installers/python.sh +++ b/images/linux/scripts/installers/python.sh @@ -1,22 +1,43 @@ -#!/bin/bash +#!/bin/bash -e ################################################################################ ## File: python.sh ## Desc: Installs Python 2/3 ################################################################################ +set -e # Source the helpers for use with the script +source $HELPER_SCRIPTS/etc-environment.sh source $HELPER_SCRIPTS/os.sh # Install Python, Python 3, pip, pip3 -if isUbuntu20 ; then - apt-get install -y --no-install-recommends python3 python3-dev python3-pip - - curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py - python2 get-pip.py +if isUbuntu16 || isUbuntu18; then + apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip python3-venv fi -if isUbuntu16 || isUbuntu18 ; then - apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip +if isUbuntu20; then + apt-get install -y --no-install-recommends python3 python3-dev python3-pip python3-venv + ln -s /usr/bin/pip3 /usr/bin/pip +fi + +if isUbuntu18 || isUbuntu20 ; then + # Install pipx + # Set pipx custom directory + export PIPX_BIN_DIR=/opt/pipx_bin + export PIPX_HOME=/opt/pipx + + python3 -m pip install pipx + python3 -m pipx ensurepath + + # Update /etc/environment + setEtcEnvironmentVariable "PIPX_BIN_DIR" $PIPX_BIN_DIR + setEtcEnvironmentVariable "PIPX_HOME" $PIPX_HOME + prependEtcEnvironmentPath $PIPX_BIN_DIR + + # Test pipx + if ! command -v pipx; then + echo "pipx was not installed or not found on PATH" + exit 1 + fi fi # Run tests to determine that the software installed as expected 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..e4666a7c8 100644 --- a/images/linux/scripts/installers/swift.sh +++ b/images/linux/scripts/installers/swift.sh @@ -1,21 +1,23 @@ -#!/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 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 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 diff --git a/images/linux/toolsets/toolset-1604.json b/images/linux/toolsets/toolset-1604.json index 46aad66ad..1136ae921 100644 --- a/images/linux/toolsets/toolset-1604.json +++ b/images/linux/toolsets/toolset-1604.json @@ -11,7 +11,8 @@ "3.5.*", "3.6.*", "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ] }, { @@ -62,12 +63,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-19","android-17","android-15","android-10" - ], - "build_tools": [ - "30.0.2", "30.0.1", "30.0.0", "29.0.3", "29.0.2", "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", "22.0.1", "21.1.2", "20.0.0", "19.1.0", "17.0.0" - ], + "platform_min_version": "10", + "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 2670b4cf3..de611ebc0 100644 --- a/images/linux/toolsets/toolset-1804.json +++ b/images/linux/toolsets/toolset-1804.json @@ -11,7 +11,8 @@ "3.5.*", "3.6.*", "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ] }, { @@ -62,12 +63,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-19","android-17" - ], - "build_tools": [ - "30.0.2", "30.0.1", "30.0.0", "29.0.3", "29.0.2", "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", "22.0.1", "21.1.2", "20.0.0", "19.1.0", "17.0.0" - ], + "platform_min_version": "17", + "build_tools_min_version": "19.1.0", "extra_list": [ "android;m2repository", "google;m2repository", @@ -167,7 +164,6 @@ "time", "unzip", "wget", - "yamllint", "zip" ] }, @@ -189,5 +185,15 @@ "node:12-alpine", "ubuntu:14.04" ] - } + }, + "pipx": [ + { + "package": "yamllint", + "cmd": "yamllint" + }, + { + "package": "aws-sam-cli", + "cmd": "sam" + } + ] } diff --git a/images/linux/toolsets/toolset-2004.json b/images/linux/toolsets/toolset-2004.json index 5ac230255..c52fcb406 100644 --- a/images/linux/toolsets/toolset-2004.json +++ b/images/linux/toolsets/toolset-2004.json @@ -11,7 +11,8 @@ "3.5.*", "3.6.*", "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ] }, { @@ -48,12 +49,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.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", @@ -96,7 +93,7 @@ "locales", "openssh-client", "pkg-config", - "python-is-python2", + "python-is-python3", "rpm", "texinfo", "tk", @@ -130,7 +127,6 @@ "time", "unzip", "wget", - "yamllint", "zip" ] }, @@ -152,5 +148,15 @@ "node:12-alpine", "ubuntu:14.04" ] - } + }, + "pipx": [ + { + "package": "yamllint", + "cmd": "yamllint" + }, + { + "package": "aws-sam-cli", + "cmd": "sam" + } + ] } 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 12ef6d0c0..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", @@ -238,10 +243,10 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/aws-sam-cli.sh" + "{{template_dir}}/scripts/installers/pipx-packages.sh" ], "environment_vars": [ - "HELPER_SCRIPTS={{user `helper_script_folder`}}" + "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index 24c1f17e9..477f8c55a 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 `image_folder`}}" + }, { "type": "file", "source": "{{ template_dir }}/scripts/SoftwareReport", @@ -240,10 +245,10 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/aws-sam-cli.sh" + "{{template_dir}}/scripts/installers/pipx-packages.sh" ], "environment_vars": [ - "HELPER_SCRIPTS={{user `helper_script_folder`}}" + "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, 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/helpers/Xcode.Helpers.psm1 b/images/macos/helpers/Xcode.Helpers.psm1 index dbc4803c2..52a182d57 100644 --- a/images/macos/helpers/Xcode.Helpers.psm1 +++ b/images/macos/helpers/Xcode.Helpers.psm1 @@ -45,6 +45,23 @@ function Switch-Xcode { Invoke-Expression "sudo xcode-select --switch ${XcodeRootPath}" } +function Test-XcodeStableRelease { + param ( + [Parameter(ParameterSetName = 'Version')] + [string] $Version, + [Parameter(ParameterSetName = 'Path')] + [string] $XcodeRootPath + ) + + if ($PSCmdlet.ParameterSetName -eq "Version") { + $XcodeRootPath = Get-XcodeRootPath $Version + } + + $licenseInfoPlistPath = Join-Path $XcodeRootPath "Contents" "Resources" "LicenseInfo.plist" + $releaseType = & defaults read $licenseInfoPlistPath "licenseType" + return -not ($releaseType -match "beta") +} + function Get-XcodeSimulatorsInfo { param( [string] $Filter @@ -91,17 +108,4 @@ function Get-XcodePairsList { $result += "$watchName $phoneName" } return $result -} - -function Test-XcodeStableVersion { - param([Parameter(Mandatory)][string]$Version) - - if ($Version -match "beta") { - return $false - } - if ($Version -match "GM") { - return $false - } - - return $true } \ No newline at end of file diff --git a/images/macos/macos-10.15-Readme.md b/images/macos/macos-10.15-Readme.md index 26492d8e6..415b41ba6 100644 --- a/images/macos/macos-10.15-Readme.md +++ b/images/macos/macos-10.15-Readme.md @@ -1,102 +1,109 @@ +| Announcements | +|-| +| [macOS 11.0 (Big Sur) is available as a preview šŸš€](https://github.com/actions/virtual-environments/issues/1814) | +| [[macOS] Default Ruby version will be changed to 2.7 on October, 26](https://github.com/actions/virtual-environments/issues/1775) | +| [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 November, 5](https://github.com/actions/virtual-environments/issues/1688) | +*** # macOS 10.15 info -- System Version: macOS 10.15.6 (19G2021) +- System Version: macOS 10.15.7 (19H2) - Kernel Version: Darwin 19.6.0 -- Image Version: 20200916.1 +- Image Version: 20201017.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.3 -- NVM 0.35.3 -- NVM - Cached node versions: v6.17.1 v8.17.0 v10.22.1 v12.18.4 v13.14.0 v14.11.0 +- 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 +- R 4.0.3 +- Node.js v12.19.0 +- NVM 0.36.0 +- NVM - Cached node versions: v6.17.1 v8.17.0 v10.22.1 v12.19.0 v13.14.0 v14.14.0 - Python 2.7.17 -- Python 3.8.5 +- Python 3.8.6 - Ruby 2.6.6p146 -- .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.0.100 3.0.101 3.0.102 3.0.103 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 -- R 4.0.2 +- .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 2.1.811 3.0.100 3.0.101 3.0.102 3.0.103 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 3.1.403 - Go 1.15.2 -- PHP 7.4.10 -- julia 1.5.1 +- PHP 7.4.11 +- julia 1.5.2 ### Package Management - Vcpkg 2020.06.15 +- Pip 19.3.1 (python 2.7) +- Pip 20.2.3 (python 3.8) - Bundler version 2.1.4 -- Carthage 0.35.0 +- Carthage 0.36.0 - CocoaPods 1.9.3 -- Homebrew 2.5.1 -- NPM 6.14.6 +- Homebrew 2.5.6 +- NPM 6.14.8 - Yarn 1.22.5 - NuGet 5.6.0.6489 -- Pip 19.3.1 (python 2.7) -- Pip 20.1.1 (python 3.8) - Miniconda 4.8.3 - RubyGems 3.1.4 -- Composer 1.10.13 +- Composer 1.10.15 ### Project Management - Apache Maven 3.6.3 -- Gradle 6.6.1 -- Apache Ant(TM) 1.10.8 +- Gradle 6.7 +- Apache Ant(TM) 1.10.9 ### Utilities -- Curl 7.72.0 +- Curl 7.73.0 - Git: 2.28.0 - Git LFS: 2.12.0 -- GitHub CLI: 0.12.0 +- GitHub CLI: 1.1.0 - Hub CLI: 2.14.2 - GNU Wget 1.20.3 - Subversion (SVN) 1.14.0 -- Packer 1.6.2 -- GNU parallel 20200722 +- 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 +- psql (PostgreSQL) 13.0 +- PostgreSQL 13.0 - aria2 1.35.0 - azcopy 10.6.0 - zstd 1.4.5 -- bazel 3.5.0 -- bazelisk 1.6.1 -- helm v3.3.1+g249e521 -- virtualbox 6.1.14r140239 -- mongo v4.4.0 -- mongod v4.4.0 -- Vagrant 2.2.10 +- bazel 3.6.0 +- bazelisk 1.7.2 +- helm v3.3.4+ga61ce56 +- mongo v4.4.1 +- mongod v4.4.1 - 7-Zip 16.02 - Newman 5.2.0 +- virtualbox 6.1.14r140239 +- Vagrant 2.2.10 +- GNU parallel 20200722 ### Tools -- Fastlane 2.159.0 -- Cmake 3.18.2 -- App Center CLI 2.7.0 -- Azure CLI 2.11.1 -- AWS CLI 2.0.48 -- AWS SAM CLI 1.2.0 +- Fastlane 2.163.0 +- Cmake 3.18.4 +- App Center CLI 2.7.2 +- Azure CLI 2.13.0 +- AWS CLI 2.0.57 +- AWS SAM CLI 1.6.2 - AWS Session Manager CLI 1.1.61.0 -- Aliyun CLI 3.0.56 -- GHCup v0.1.10 +- Aliyun CLI 3.0.60 +- GHCup v0.1.11 - GHC 8.10.2 - Cabal 3.2.0.0 -- Stack 2.3.3 +- Stack 2.5.1 ### Linters -- yamllint 1.24.2 -- SwiftLint 0.40.2 +- yamllint 1.25.0 +- SwiftLint 0.40.3 ### Browsers -- Safari 13.1.2 (15609.3.5.1.3) -- SafariDriver 13.1.2 (15609.3.5.1.3) -- Google Chrome 85.0.4183.102 -- ChromeDriver 85.0.4183.87 -- Microsoft Edge 85.0.564.51 -- MSEdgeDriver 85.0.564.51 -- Mozilla Firefox 80.0.1 +- Safari 14.0 (15610.1.28.1.9) +- SafariDriver 14.0 (15610.1.28.1.9) +- Google Chrome 86.0.4240.80 +- ChromeDriver 86.0.4240.22 +- Microsoft Edge 85.0.564.70 +- MSEdgeDriver 85.0.564.70 +- Mozilla Firefox 81.0.2 - geckodriver 0.27.0 ### Java @@ -120,34 +127,35 @@ - 3.5.10 - 3.6.12 - 3.7.9 -- 3.8.5 +- 3.8.6 +- 3.9.0 #### PyPy -- 2.7.13 [PyPy 7.3.1] -- 3.6.9 [PyPy 7.3.1] +- 2.7.13 [PyPy 7.3.2] +- 3.6.9 [PyPy 7.3.2] #### Node.js - 8.17.0 - 10.22.1 -- 12.18.4 -- 14.11.0 +- 12.19.0 +- 14.14.0 #### Go - 1.11.13 - 1.12.17 - 1.13.15 -- 1.14.9 -- 1.15.2 +- 1.14.10 +- 1.15.3 ### Rust Tools -- Rust 1.46.0 +- Rust 1.47.0 - Rustup 1.22.1 #### Packages - Bindgen 0.55.1 -- Cbindgen 0.14.4 +- Cbindgen 0.15.0 - Cargo-outdated v0.9.11 -- Cargo-audit 0.12.0 +- Cargo-audit 0.12.1 ### PowerShell Tools - PowerShell 7.0.3 @@ -155,13 +163,13 @@ #### PowerShell Modules | Module | Version | | ---------- | ------- | -| Az | 4.6.1 | +| Az | 4.8.0 | | MarkdownPS | 1.9 | | Pester | 5.0.4 | ### Xamarin #### Visual Studio for Mac -- 8.7.5.19 +- 8.7.8.4 #### Mono - 6.12.0.93 @@ -171,6 +179,7 @@ - 6.4.0.208 #### Xamarin.iOS +- 14.0.0.0 - 13.20.2.2 - 13.18.2.1 - 13.16.0.13 @@ -203,180 +212,126 @@ - NUnit 3.6.1 ### Xcode -| Version | Build | Path | -| -------------- | -------- | ------------------------------- | -| 12.0 | 12A8189n | /Applications/Xcode_12_beta.app | -| 12.0 | 12A7209 | /Applications/Xcode_12.app | -| 11.7 (default) | 11E801a | /Applications/Xcode_11.7.app | -| 11.6 | 11E708 | /Applications/Xcode_11.6.app | -| 11.5 | 11E608c | /Applications/Xcode_11.5.app | -| 11.4.1 | 11E503a | /Applications/Xcode_11.4.1.app | -| 11.4 | 11E146 | /Applications/Xcode_11.4.app | -| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app | -| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app | -| 11.1 | 11A1027 | /Applications/Xcode_11.1.app | -| 11.0 | 11A420a | /Applications/Xcode_11.app | -| 10.3 | 10G8 | /Applications/Xcode_10.3.app | +| Version | Build | Path | +| -------------- | -------- | ------------------------------ | +| 12.2 (beta) | 12B5035g | /Applications/Xcode_12.2.app | +| 12.1 | 12A7403 | /Applications/Xcode_12.1.app | +| 12.0.1 | 12A7300 | /Applications/Xcode_12.app | +| 11.7 (default) | 11E801a | /Applications/Xcode_11.7.app | +| 11.6 | 11E708 | /Applications/Xcode_11.6.app | +| 11.5 | 11E608c | /Applications/Xcode_11.5.app | +| 11.4.1 | 11E503a | /Applications/Xcode_11.4.1.app | +| 11.4 | 11E146 | /Applications/Xcode_11.4.app | +| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app | +| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app | +| 11.1 | 11A1027 | /Applications/Xcode_11.1.app | +| 11.0 | 11A420a | /Applications/Xcode_11.app | +| 10.3 | 10G8 | /Applications/Xcode_10.3.app | #### Xcode Support Tools +- xcpretty 0.3.0 +- xcversion 2.6.6 - Nomad CLI 3.1.4 - Nomad CLI IPA ipa 0.14.3 -- xcpretty 0.3.0 - xctool 0.3.7 -- xcversion 2.6.6 #### Installed SDKs -| SDK | SDK Name | Xcode Version | -| ----------------------- | -------------------- | ---------------------------------------------------------------- | -| macOS 10.14 | macosx10.14 | 10.3 | -| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6, 11.7, 12.0 | -| macOS 11.0 | macosx11.0 | 12.0 | -| iOS 12.4 | iphoneos12.4 | 10.3 | -| iOS 13.0 | iphoneos13.0 | 11.0 | -| iOS 13.1 | iphoneos13.1 | 11.1 | -| iOS 13.2 | iphoneos13.2 | 11.2.1, 11.3.1 | -| iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 | -| iOS 13.5 | iphoneos13.5 | 11.5 | -| iOS 13.6 | iphoneos13.6 | 11.6 | -| iOS 13.7 | iphoneos13.7 | 11.7 | -| iOS 14.0 | iphoneos14.0 | 12.0, 12.0 | -| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 | -| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 | -| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 | -| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2.1, 11.3.1 | -| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 | -| Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 | -| Simulator - iOS 13.6 | iphonesimulator13.6 | 11.6 | -| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 | -| Simulator - iOS 14.0 | iphonesimulator14.0 | 12.0, 12.0 | -| tvOS 12.4 | appletvos12.4 | 10.3 | -| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 | -| tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.1 | -| tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5, 11.6, 11.7 | -| tvOS 14.0 | appletvos14.0 | 12.0, 12.0 | -| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 | -| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 | -| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2.1, 11.3.1 | -| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5, 11.6, 11.7 | -| Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.0, 12.0 | -| watchOS 5.3 | watchos5.3 | 10.3 | -| watchOS 6.0 | watchos6.0 | 11.0, 11.1 | -| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.1 | -| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5, 11.6, 11.7 | -| watchOS 7.0 | watchos7.0 | 12.0, 12.0 | -| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 | -| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 | -| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2.1, 11.3.1 | -| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5, 11.6, 11.7 | -| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.0, 12.0 | -| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6, 11.7, 12.0 | -| DriverKit 20.0 | driverkit.macosx20.0 | 12.0 | +| SDK | SDK Name | Xcode Version | +| ----------------------- | -------------------- | ------------------------------------------------------------------------ | +| macOS 10.14 | macosx10.14 | 10.3 | +| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6, 11.7, 12.0.1, 12.1 | +| macOS 11.0 | macosx11.0 | 12.2 | +| iOS 12.4 | iphoneos12.4 | 10.3 | +| iOS 13.0 | iphoneos13.0 | 11.0 | +| iOS 13.1 | iphoneos13.1 | 11.1 | +| iOS 13.2 | iphoneos13.2 | 11.2.1, 11.3.1 | +| iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 | +| iOS 13.5 | iphoneos13.5 | 11.5 | +| iOS 13.6 | iphoneos13.6 | 11.6 | +| iOS 13.7 | iphoneos13.7 | 11.7 | +| iOS 14.0 | iphoneos14.0 | 12.0.1 | +| iOS 14.1 | iphoneos14.1 | 12.1 | +| iOS 14.2 | iphoneos14.2 | 12.2 | +| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 | +| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 | +| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 | +| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2.1, 11.3.1 | +| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 | +| Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 | +| Simulator - iOS 13.6 | iphonesimulator13.6 | 11.6 | +| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 | +| Simulator - iOS 14.0 | iphonesimulator14.0 | 12.0.1 | +| Simulator - iOS 14.1 | iphonesimulator14.1 | 12.1 | +| Simulator - iOS 14.2 | iphonesimulator14.2 | 12.2 | +| tvOS 12.4 | appletvos12.4 | 10.3 | +| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 | +| tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.1 | +| tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5, 11.6, 11.7 | +| tvOS 14.0 | appletvos14.0 | 12.0.1, 12.1 | +| tvOS 14.2 | appletvos14.2 | 12.2 | +| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 | +| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 | +| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2.1, 11.3.1 | +| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5, 11.6, 11.7 | +| Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.0.1, 12.1 | +| Simulator - tvOS 14.2 | appletvsimulator14.2 | 12.2 | +| watchOS 5.3 | watchos5.3 | 10.3 | +| watchOS 6.0 | watchos6.0 | 11.0, 11.1 | +| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.1 | +| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5, 11.6, 11.7 | +| watchOS 7.0 | watchos7.0 | 12.0.1, 12.1 | +| watchOS 7.1 | watchos7.1 | 12.2 | +| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 | +| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 | +| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2.1, 11.3.1 | +| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5, 11.6, 11.7 | +| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.0.1, 12.1 | +| Simulator - watchOS 7.1 | watchsimulator7.1 | 12.2 | +| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6, 11.7, 12.0.1, 12.1 | +| DriverKit 20.0 | driverkit.macosx20.0 | 12.2 | #### Installed Simulators -| OS | Xcode Version | Simulators | -| ----------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| iOS 12.4 | 10.3 | iPhone 5s
iPhone 6
iPhone 6 Plus
iPhone 6s
iPhone 6s Plus
iPhone 7
iPhone 7 Plus
iPhone 8
iPhone 8 Plus
iPhone SE
iPhone X
iPhone XR
iPhone Xs
iPhone Xs Max
iPad (5th generation)
iPad (6th generation)
iPad Air
iPad Air (3rd generation)
iPad Air 2
iPad Pro (10.5-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch)
iPad Pro (12.9-inch) (2nd generation)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | -| iOS 13.0 | 11.0 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPad Air (3rd generation)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | -| iOS 13.1 | 11.1 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPad Air (3rd generation)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | -| iOS 13.2 | 11.2.1 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPad Air (3rd generation)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | -| iOS 13.3 | 11.3.1 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPad Air (3rd generation)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | -| iOS 13.4 | 11.4
11.4.1 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | -| iOS 13.5 | 11.5 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | -| iOS 13.6 | 11.6 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | -| iOS 13.7 | 11.7 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | -| iOS 14.0 | 12.0 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | -| tvOS 12.4 | 10.3 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| tvOS 13.0 | 11.0
11.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| tvOS 13.2 | 11.2.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| tvOS 13.3 | 11.3.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| tvOS 13.4 | 11.4
11.4.1
11.5
11.6
11.7 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| tvOS 14.0 | 12.0 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm
Apple Watch Series 2 - 42mm
Apple Watch Series 3 - 38mm
Apple Watch Series 3 - 42mm
Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm | -| watchOS 6.0 | 11.0
11.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | -| watchOS 6.1 | 11.2.1
11.3.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | -| watchOS 6.2 | 11.4
11.4.1
11.5
11.6
11.7 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | -| watchOS 7.0 | 12.0 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | +| OS | Xcode Version | Simulators | +| ----------- | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| iOS 12.4 | 10.3 | iPhone 5s
iPhone 6
iPhone 6 Plus
iPhone 6s
iPhone 6s Plus
iPhone 7
iPhone 7 Plus
iPhone 8
iPhone 8 Plus
iPhone SE
iPhone X
iPhone XR
iPhone Xs
iPhone Xs Max
iPad (5th generation)
iPad (6th generation)
iPad Air
iPad Air (3rd generation)
iPad Air 2
iPad Pro (10.5-inch)
iPad Pro (11-inch)
iPad Pro (11-inch) (1st generation)
iPad Pro (12.9-inch)
iPad Pro (12.9-inch) (2nd generation)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | +| iOS 13.0 | 11.0 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPad Air (3rd generation)
iPad Pro (11-inch)
iPad Pro (11-inch) (1st generation)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | +| iOS 13.1 | 11.1 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPad Air (3rd generation)
iPad Pro (11-inch)
iPad Pro (11-inch) (1st generation)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | +| iOS 13.2 | 11.2.1 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch)
iPad Pro (11-inch) (1st generation)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | +| iOS 13.3 | 11.3.1 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch)
iPad Pro (11-inch) (1st generation)
iPad Pro (12.9-inch) (3rd generation)
iPad Pro (9.7-inch) | +| iOS 13.4 | 11.4
11.4.1 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| iOS 13.5 | 11.5 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| iOS 13.6 | 11.6 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| iOS 13.7 | 11.7 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| iOS 14.0 | 12.0.1 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| iOS 14.1 | 12.1 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| iOS 14.2 | 12.2 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| tvOS 12.4 | 10.3 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 13.0 | 11.0
11.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 13.2 | 11.2.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 13.3 | 11.3.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 13.4 | 11.4
11.4.1
11.5
11.6
11.7 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 14.0 | 12.0.1
12.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 14.2 | 12.2 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm
Apple Watch Series 2 - 42mm
Apple Watch Series 3 - 38mm
Apple Watch Series 3 - 42mm
Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm | +| watchOS 6.0 | 11.0
11.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | +| watchOS 6.1 | 11.2.1
11.3.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | +| watchOS 6.2 | 11.4
11.4.1
11.5
11.6
11.7 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | +| watchOS 7.0 | 12.0.1
12.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm | +| watchOS 7.1 | 12.2 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm | ### Android -#### Android SDK Tools -| Package Name | Description | -| ------------ | ---------------------------------- | -| tools | Android SDK Tools, Revision 26.1.1 | - -#### Android SDK Platform-Tools -| Package Name | Description | -| -------------- | ------------------------------------------- | -| platform-tools | Android SDK Platform-Tools, Revision 30.0.4 | - -#### Android SDK Platforms -| Package Name | Description | -| ------------ | ----------------------------------- | -| 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 -| Package Name | Description | -| ------------------ | ---------------------------------------- | -| 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 NDKs -| Version | Path | -| ------------ | ------------------------------------------ | -| 15.2.4203891 | $HOME/Library/Android/sdk/android-ndk-r15c | -| 18.1.5063045 | $HOME/Library/Android/sdk/ndk/18.1.5063045 | -| 21.3.6528147 | $HOME/Library/Android/sdk/ndk-bundle | - -#### Android Utils -| Package Name | Version | -| ---------------- | ----------- | -| cmake | 3.6.4111459 | -| Android Emulator | 30.0.26 | - -#### Android Google APIs -| Package Name | Description | -| --------------------------- | ----------------------- | -| addon-google_apis-google-21 | Google APIs, Revision 1 | -| addon-google_apis-google-22 | Google APIs, Revision 1 | -| addon-google_apis-google-23 | Google APIs, Revision 1 | -| addon-google_apis-google-24 | Google APIs, Revision 1 | - -#### Extra Packages -| Package Name | Version | -| ----------------------------------------------- | ------- | -| Android Support Repository | 47.0.0 | -| Google Play services | 49 | -| Google Repository | 58 | -| Intel x86 Emulator Accelerator (HAXM installer) | 7.5.1 | +| 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-26 (rev 2)
android-25 (rev 3)
android-24 (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 | +| Android SDK Platform-Tools | 30.0.4 | +| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 | +| Android Support Repository | 47.0.0 | +| Google Play services | 49 | +| Google Repository | 58 | +| SDK Patch Applier v4 | 1 | +| CMake | 3.6.4111459 | +| NDK | 15.2.4203891
18.1.5063045
21.3.6528147 | diff --git a/images/macos/macos-11.0-Readme.md b/images/macos/macos-11.0-Readme.md new file mode 100644 index 000000000..b4776beb0 --- /dev/null +++ b/images/macos/macos-11.0-Readme.md @@ -0,0 +1,233 @@ +| Announcements | +|-| +| [[macOS] Built-in Python 2.7 will be used on macOS instead of Homebrew formula on November, 3rd.](https://github.com/actions/virtual-environments/issues/1848) | +| [macOS 11.0 (Big Sur) is available as a preview šŸš€](https://github.com/actions/virtual-environments/issues/1814) | +| [[macOS] Default Ruby version will be changed to 2.7 on October, 26](https://github.com/actions/virtual-environments/issues/1775) | +| [Default Xcode will be changed to Xcode 12.0.1 on October, 20](https://github.com/actions/virtual-environments/issues/1712) | +| [Xcode 11.0, 11.1, 11.4.0 will be deprecated on November, 5](https://github.com/actions/virtual-environments/issues/1688) | +*** +# macOS 11.0 info +- System Version: macOS 11.0 (20A5395g) +- Kernel Version: Darwin 20.1.0 +- Image Version: 20201020.1 + +## Installed Software +### Language and Runtime +- Clang/LLVM 11.0.0 +- 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.19.0 +- NVM 0.36.0 +- NVM - Cached node versions: v6.17.1 v8.17.0 v10.22.1 v12.19.0 v13.14.0 v14.14.0 +- Python 2.7.17 +- Python 3.8.6 +- 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 2.1.811 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 3.1.403 +- Go 1.15.3 +- PHP 7.4.11 +- julia 1.5.2 + +### Package Management +- Vcpkg 2020.06.15 +- Pip 20.2.3 (python 3.8) +- Bundler version 2.1.4 +- Carthage 0.36.0 +- CocoaPods 1.9.3 +- Homebrew 2.5.6 +- NPM 6.14.8 +- Yarn 1.22.5 +- NuGet 5.6.0.6489 +- Miniconda 4.8.3 +- RubyGems 3.1.4 +- Composer 1.10.15 + +### Project Management +- Apache Maven 3.6.3 +- Gradle 6.7 +- Apache Ant(TM) 1.10.9 + +### Utilities +- Curl 7.73.0 +- Git: 2.29.0 +- Git LFS: 2.12.0 +- GitHub CLI: 1.1.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) 13.0 +- PostgreSQL 13.0 +- aria2 1.35.0 +- azcopy 10.6.0 +- zstd 1.4.5 +- bazel 3.7.0 +- bazelisk 1.7.3 +- helm v3.3.4+ga61ce56 +- mongo v4.4.1 +- mongod v4.4.1 +- 7-Zip 16.02 +- Newman 5.2.0 + +### Tools +- Fastlane 2.164.0 +- Cmake 3.18.4 +- App Center CLI 2.7.2 +- Azure CLI 2.13.0 +- AWS CLI 2.0.57 +- AWS SAM CLI 1.6.2 +- AWS Session Manager CLI 1.1.61.0 +- Aliyun CLI 3.0.60 +- GHCup v0.1.11 +- GHC 8.10.2 +- Cabal 3.2.0.0 +- Stack 2.5.1 + +### Linters +- yamllint 1.25.0 +- SwiftLint 0.40.3 + +### Browsers +- Safari 14.0.1 (16610.2.8.1.1) +- SafariDriver 14.0.1 (16610.2.8.1.1) +- Google Chrome 86.0.4240.80 +- ChromeDriver 86.0.4240.22 +- Microsoft Edge 85.0.564.70 +- MSEdgeDriver 85.0.564.70 +- Mozilla Firefox 81.0.2 +- 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 +- 3.9.0 + +#### Node.js +- 10.22.1 +- 12.19.0 +- 14.14.0 + +#### Go +- 1.15.3 + +### Rust Tools +- Rust 1.47.0 +- Rustup 1.22.1 + +#### Packages +- Bindgen 0.55.1 +- Cbindgen 0.15.0 +- Cargo-outdated v0.9.11 +- Cargo-audit 0.12.1 + +### PowerShell Tools +- PowerShell 7.0.3 + +#### PowerShell Modules +| Module | Version | +| ---------- | ------- | +| Az | 4.8.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 (beta) | 12B5035g | /Applications/Xcode_12.2.app | +| 12.1 | 12A7403 | /Applications/Xcode_12.1.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, 12.1 | +| macOS 11.0 | macosx11.0 | 12.2 | +| iOS 13.7 | iphoneos13.7 | 11.7 | +| iOS 14.1 | iphoneos14.1 | 12.1 | +| iOS 14.2 | iphoneos14.2 | 12.2 | +| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 | +| Simulator - iOS 14.1 | iphonesimulator14.1 | 12.1 | +| Simulator - iOS 14.2 | iphonesimulator14.2 | 12.2 | +| tvOS 13.4 | appletvos13.4 | 11.7 | +| tvOS 14.0 | appletvos14.0 | 12.1 | +| tvOS 14.2 | appletvos14.2 | 12.2 | +| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.7 | +| Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.1 | +| Simulator - tvOS 14.2 | appletvsimulator14.2 | 12.2 | +| watchOS 6.2 | watchos6.2 | 11.7 | +| watchOS 7.0 | watchos7.0 | 12.1 | +| watchOS 7.1 | watchos7.1 | 12.2 | +| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.7 | +| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.1 | +| Simulator - watchOS 7.1 | watchsimulator7.1 | 12.2 | +| DriverKit 19.0 | driverkit.macosx19.0 | 11.7, 12.1 | +| DriverKit 20.0 | driverkit.macosx20.0 | 12.2 | + +#### Installed Simulators +| OS | Xcode Version | Simulators | +| ----------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| iOS 13.7 | 11.7 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| iOS 14.1 | 12.1 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| iOS 14.2 | 12.2 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) | +| tvOS 13.4 | 11.7 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 14.0 | 12.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 14.2 | 12.2 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| watchOS 6.2 | 11.7 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | +| watchOS 7.0 | 12.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm | +| watchOS 7.1 | 12.2 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm | + +### 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 | + + diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh index a3b8aa97f..093a133ce 100755 --- a/images/macos/provision/core/android-toolsets.sh +++ b/images/macos/provision/core/android-toolsets.sh @@ -1,8 +1,26 @@ #!/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 filter_components_by_version { + minimumVersion=$1 + shift + toolsArr=("$@") + + for item in ${toolsArr[@]} + do + # take the last argument after spliting string by ';'' and '-'' + version=$(echo "${item##*[-;]}") + if verlte $minimumVersion $version + then + 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"[]')) ANDROID_ADDON_LIST=($(get_toolset_value '.android."addon-list"[]')) @@ -48,17 +66,14 @@ echo y | $SDKMANAGER "cmake;3.6.4111459" echo "Installing latest ndk..." echo y | $SDKMANAGER "ndk-bundle" -for platform_name in "${ANDROID_PLATFORM_LIST[@]}" -do - echo "Installing platform $platform_name ..." - echo y | $SDKMANAGER "platforms;$platform_name" -done +availablePlatforms=($(${ANDROID_HOME}/tools/bin/sdkmanager --list | grep "platforms;android-" | cut -d"|" -f 1 | sort -u)) +filter_components_by_version $ANDROID_PLATFORM "${availablePlatforms[@]}" -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 +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/core/audiodevice.sh b/images/macos/provision/core/audiodevice.sh index 705490de2..4a151e3f9 100644 --- a/images/macos/provision/core/audiodevice.sh +++ b/images/macos/provision/core/audiodevice.sh @@ -12,8 +12,3 @@ brew install sox echo "set Soundflower (2ch) as input/output device" SwitchAudioSource -s "Soundflower (2ch)" -t input SwitchAudioSource -s "Soundflower (2ch)" -t output - -echo "grant microphone permission for simulators" -sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "insert into access values('kTCCServiceMicrophone','com.apple.CoreSimulator.SimulatorTrampoline', 0,1,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576347152)" -sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db "insert into access values('kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh', 1,1,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342)" -sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "insert into access values('kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh', 1,1,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342)" diff --git a/images/macos/provision/core/aws.sh b/images/macos/provision/core/aws.sh index 9e0063be1..4d98d5122 100644 --- a/images/macos/provision/core/aws.sh +++ b/images/macos/provision/core/aws.sh @@ -1,7 +1,9 @@ #!/bin/bash echo Installing aws... -brew install awscli +curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" +sudo installer -pkg AWSCLIV2.pkg -target / +rm -rf AWSCLIV2.pkg echo Installing aws sam cli... brew tap aws/tap diff --git a/images/macos/provision/core/commonutils.sh b/images/macos/provision/core/commonutils.sh index 9b32d5c2c..5a98f004f 100644 --- a/images/macos/provision/core/commonutils.sh +++ b/images/macos/provision/core/commonutils.sh @@ -19,7 +19,7 @@ binst_common_utils=( helm aliyun-cli bazelisk - github/gh/gh + gh p7zip ant yamllint diff --git a/images/macos/provision/core/edge.sh b/images/macos/provision/core/edge.sh index 81219f680..bc19a5666 100644 --- a/images/macos/provision/core/edge.sh +++ b/images/macos/provision/core/edge.sh @@ -1,7 +1,11 @@ source ~/utils/utils.sh echo "Installing Microsoft Edge..." +# Workaround to install version 85 since webdriver is broken for 86 +cd "$(brew --repo homebrew/homebrew-cask)" +git checkout 81f9d08d2b9b7557c0178621078cf59d2c5db2bc brew cask install microsoft-edge +git checkout master EDGE_INSTALLATION_PATH="/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge" EDGE_VERSION=$("$EDGE_INSTALLATION_PATH" --version | cut -d' ' -f 3) @@ -39,7 +43,7 @@ AUTOUPDATE_START="$HOME/Library/Preferences/com.microsoft.autoupdate2.plist" while [ ! -f "$AUTOUPDATE_START" ] do echo "Wait for MS update automatic installation" - sleep 30 + sleep 30 done echo "kill autoupdate process" diff --git a/images/macos/provision/core/haskell.sh b/images/macos/provision/core/haskell.sh index 33fa38dbb..1bc11d915 100644 --- a/images/macos/provision/core/haskell.sh +++ b/images/macos/provision/core/haskell.sh @@ -4,7 +4,10 @@ curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh export PATH="$HOME/.ghcup/bin:$PATH" echo 'export PATH="$PATH:$HOME/.ghcup/bin"' >> "$HOME/.bashrc" -availableVersions=$(ghcup list | grep -v "prerelease" | grep "ghc " | awk '{print $3}') +# ghcup output looks like this "ghc 8.6.4 base-4.12.0.0 hls-powered", need to take all the first versions only(8.6.4 in that case) and avoid pre-release ones +availableVersions=$(ghcup list -t ghc -r | grep -v "prerelease" | awk '{print $2}') + +# Install 3 latest major versions(For instance 8.6.5, 8.8.4, 8.10.2) minorMajorVersions=$(echo "$availableVersions" | cut -d"." -f 1,2 | uniq | tail -n3) for majorMinorVersion in $minorMajorVersions; do fullVersion=$(echo "$availableVersions" | grep "$majorMinorVersion." | tail -n1) 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/node.sh b/images/macos/provision/core/node.sh index daf5ea408..840b433f9 100644 --- a/images/macos/provision/core/node.sh +++ b/images/macos/provision/core/node.sh @@ -1,11 +1,6 @@ source ~/utils/utils.sh -node_common_modules=( - node-gyp - mobile-center-cli -) - -node_catalina_modules=( +node_modules=( appcenter-cli newman ) @@ -23,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 @@ -30,7 +29,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 @@ -40,8 +39,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/provision/core/nvm.sh b/images/macos/provision/core/nvm.sh index 544bf2a32..527bd4c62 100755 --- a/images/macos/provision/core/nvm.sh +++ b/images/macos/provision/core/nvm.sh @@ -6,7 +6,8 @@ ########################################################################### source ~/utils/utils.sh -curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash +VERSION=$(curl -s https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name') +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$VERSION/install.sh | bash if [ $? -eq 0 ]; then . ~/.bashrc @@ -23,13 +24,13 @@ if [ $? -eq 0 ]; then nvm alias node12 lts/erbium nvm alias node13 v13 nvm alias node14 v14 - + if is_Catalina || is_BigSur; then # set system node as default nvm alias default system fi else - echo error + echo error fi echo "Node version manager has been installed successfully" diff --git a/images/macos/provision/core/openssl.sh b/images/macos/provision/core/openssl.sh index 0638dccf8..a058673a6 100755 --- a/images/macos/provision/core/openssl.sh +++ b/images/macos/provision/core/openssl.sh @@ -1,15 +1,13 @@ #!/bin/sh + +source ~/utils/utils.sh + echo "Installing OpenSSL..." 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 diff --git a/images/macos/provision/core/pypy.sh b/images/macos/provision/core/pypy.sh index a57f0ebb0..5f24cd5f5 100644 --- a/images/macos/provision/core/pypy.sh +++ b/images/macos/provision/core/pypy.sh @@ -66,16 +66,20 @@ function InstallPyPy rm -f $PACKAGE_TAR_TEMP_PATH } -# PyPy 7.3.1 relies on system libffi.6.dylib, which is not existed in in libffi 3.3 release. As a workaround symlink can be created -ln -s libffi.7.dylib /usr/local/opt/libffi/lib/libffi.6.dylib - uri="https://downloads.python.org/pypy/" pypyVersions=$(curl -4 -s --compressed $uri | grep 'osx64' | awk -v uri="$uri" -F'>|<' '{print uri$5}') - toolsetVersions=$(get_toolset_value '.toolcache[] | select(.name | contains("PyPy")) | .versions[]') +versionPattern="v[0-9]+\.[0-9]+\.[0-9]+-" + +# PyPy 7.3.2 for High Sierra is broken, use 7.3.1 instead https://foss.heptapod.net/pypy/pypy/-/issues/3311 +if is_HighSierra; then + versionPattern="v7.3.1-" + # PyPy 7.3.1 relies on system libffi.6.dylib, which is not existed in in libffi 3.3 release. As a workaround symlink can be created + ln -s libffi.7.dylib /usr/local/opt/libffi/lib/libffi.6.dylib +fi for toolsetVersion in $toolsetVersions; do - latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1) + latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-${versionPattern}" | head -1) if [[ -z "$latestMajorPyPyVersion" ]]; then echo "Failed to get PyPy version '$toolsetVersion'" exit 1 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 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) { diff --git a/images/macos/provision/core/vsmac.sh b/images/macos/provision/core/vsmac.sh index 9774e486f..20a8efd46 100644 --- a/images/macos/provision/core/vsmac.sh +++ b/images/macos/provision/core/vsmac.sh @@ -3,6 +3,9 @@ source ~/utils/utils.sh source ~/utils/xamarin-utils.sh VSMAC_VERSION=$(get_toolset_value '.xamarin.vsmac') +if [ $VSMAC_VERSION == "latest" ]; then + VSMAC_VERSION=$(curl https://formulae.brew.sh/api/cask/visual-studio.json 2>/dev/null | jq .version | tr -d \") +fi VSMAC_DOWNLOAD_URL=$(buildVSMacDownloadUrl $VSMAC_VERSION) TMPMOUNT=`/usr/bin/mktemp -d /tmp/visualstudio.XXXX` diff --git a/images/macos/provision/core/xcode-clt.sh b/images/macos/provision/core/xcode-clt.sh new file mode 100644 index 000000000..84e4a9e58 --- /dev/null +++ b/images/macos/provision/core/xcode-clt.sh @@ -0,0 +1,51 @@ +#!/bin/bash -e -o pipefail +source ~/utils/utils.sh + +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 + # The only working tools for Big Sur are 12.2 + if is_Less_BigSur; then + cltPattern="Command Line Tools" + else + cltPattern="Command Line Tools.*Xcode-12.2" + fi + + clt_label_command="/usr/sbin/softwareupdate -l | + grep -B 1 -E '${cltPattern}' | + 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/provision/core/xcode-tools.sh b/images/macos/provision/core/xcode-tools.sh index ef9bf648c..643dc2932 100755 --- a/images/macos/provision/core/xcode-tools.sh +++ b/images/macos/provision/core/xcode-tools.sh @@ -35,13 +35,7 @@ do echo "Extracting Xcode.app ($VERSION_TO_INSTALL) to ${WORK_DIR} ..." extractXcodeXip $WORK_DIR "$VERSION_TO_INSTALL" - # Remove "beta" postfix from version - if [[ $XCODE_VERSION == "12_beta" ]] && is_Catalina ; then - # trick to install Xcode 12 GM and Xcode 12 beta 6 side by side - XCODE_VERSION="12_beta" - else - XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1) - fi + XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1) echo "Checking if unpacked Xcode ${XCODE_VERSION} is valid" validateXcodeIntegrity "$WORK_DIR" @@ -55,9 +49,7 @@ do # Creating a symlink for all Xcode 10* and Xcode 9.3, 9.4 to stay backwards compatible with consumers of the Xcode beta version createBetaSymlink $XCODE_VERSION - if [ ! $(echo $XCODE_VERSION | grep "beta") ]; then - createXamarinProvisionatorSymlink "$XCODE_VERSION" - fi + createXamarinProvisionatorSymlink "$XCODE_VERSION" find $WORK_DIR -mindepth 1 -delete done @@ -74,12 +66,7 @@ do continue fi - if [[ $XCODE_VERSION == "12_beta" ]] && is_Catalina ; then - # trick to install Xcode 12 GM and Xcode 12 beta 6 side by side - XCODE_VERSION="12_beta" - else - XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1) - fi + XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1) echo "Running 'runFirstLaunch' for Xcode ${XCODE_VERSION}..." runFirstLaunch $XCODE_VERSION diff --git a/images/macos/provision/utils/utils.sh b/images/macos/provision/utils/utils.sh index 6a924e03d..a15f8d2ec 100755 --- a/images/macos/provision/utils/utils.sh +++ b/images/macos/provision/utils/utils.sh @@ -12,7 +12,7 @@ download_with_retries() { --wait 30 \ --retry-connrefused \ --retry-on-host-error \ - --retry-on-http-error=429,500,502,503 \ + --retry-on-http-error=404,429,500,502,503 \ --no-verbose if [ $? != 0 ]; then @@ -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 diff --git a/images/macos/provision/utils/xcode-utils.sh b/images/macos/provision/utils/xcode-utils.sh index 0f7855ec1..7cd63b2fc 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,7 +15,9 @@ createXamarinProvisionatorSymlink() { getXcodeVersionToInstall() { local XCODE_VERSION="$1" - if [[ ! $XCODE_VERSION =~ "_beta" ]]; then + if [[ $XCODE_VERSION == "12" ]]; then + echo "12.0.1" + elif [[ ! $XCODE_VERSION =~ "_beta" ]]; then echo "${XCODE_VERSION//_/ }" else local XCODE_BETA="${XCODE_VERSION/_/ }" @@ -51,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 } @@ -60,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" 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/software-report/SoftwareReport.Generator.ps1 b/images/macos/software-report/SoftwareReport.Generator.ps1 index 87c944598..9bcef14ce 100644 --- a/images/macos/software-report/SoftwareReport.Generator.ps1 +++ b/images/macos/software-report/SoftwareReport.Generator.ps1 @@ -4,6 +4,8 @@ param ( $ImageName ) +$ErrorActionPreference = "Stop" + Import-Module MarkdownPS Import-Module "$PSScriptRoot/SoftwareReport.Common.psm1" -DisableNameChecking Import-Module "$PSScriptRoot/SoftwareReport.Xcode.psm1" -DisableNameChecking @@ -139,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 @@ -165,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", @@ -289,6 +291,8 @@ $markdown += New-MDList -Lines (Build-XamarinAndroidList) -Style Unordered $markdown += New-MDHeader "Unit Test Framework" -Level 4 $markdown += New-MDList -Lines @(Get-NUnitVersion) -Style Unordered +# First run doesn't provide full data about devices and runtimes +Get-XcodeInfoList | Out-Null # Xcode section $xcodeInfo = Get-XcodeInfoList $markdown += New-MDHeader "Xcode" -Level 3 @@ -301,12 +305,9 @@ $markdown += New-MDHeader "Installed SDKs" -Level 4 $markdown += Build-XcodeSDKTable $xcodeInfo | New-MDTable $markdown += New-MDNewLine -# Disable simulators table on 11.0 beta for now since "simctl" tool doesn't work properly -if (-not $os.IsBigSur) { - $markdown += New-MDHeader "Installed Simulators" -Level 4 - $markdown += Build-XcodeSimulatorsTable $xcodeInfo | New-MDTable - $markdown += New-MDNewLine -} +$markdown += New-MDHeader "Installed Simulators" -Level 4 +$markdown += Build-XcodeSimulatorsTable $xcodeInfo | New-MDTable +$markdown += New-MDNewLine # Android section $markdown += New-MDHeader "Android" -Level 3 diff --git a/images/macos/software-report/SoftwareReport.Xcode.psm1 b/images/macos/software-report/SoftwareReport.Xcode.psm1 index 59754d583..3d4cfa52d 100644 --- a/images/macos/software-report/SoftwareReport.Xcode.psm1 +++ b/images/macos/software-report/SoftwareReport.Xcode.psm1 @@ -46,7 +46,8 @@ function Get-XcodeInfoList { $versionInfo = Get-XcodeVersionInfo $versionInfo.Path = $xcodeRootPath $versionInfo.IsDefault = ($xcodeRootPath -eq $defaultXcodeRootPath) - + $versionInfo.IsStable = Test-XcodeStableRelease -XcodeRootPath $xcodeRootPath + $xcodeInfo.Add($xcodeRootPath, [PSCustomObject] @{ VersionInfo = $versionInfo SDKInfo = Get-XcodeSDKList @@ -91,6 +92,7 @@ function Build-XcodeTable { $xcodeList = $xcodeInfo.Values | ForEach-Object { $_.VersionInfo } | Sort-Object $sortRules return $xcodeList | ForEach-Object { $defaultPostfix = If ($_.IsDefault) { " (default)" } else { "" } + $betaPostfix = If ($_.IsStable) { "" } else { " (beta)" } return [PSCustomObject] @{ "Version" = $_.Version.ToString() + $betaPostfix + $defaultPostfix "Build" = $_.Build 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/tests/Android.Tests.ps1 b/images/macos/tests/Android.Tests.ps1 index a7420b23e..c14a02c5e 100644 --- a/images/macos/tests/Android.Tests.ps1 +++ b/images/macos/tests/Android.Tests.ps1 @@ -1,10 +1,22 @@ 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 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" + + $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", @@ -12,8 +24,8 @@ Describe "Android" { "tools/proguard", "ndk-bundle", "cmake", - (Get-ToolsetValue "android.platform-list" | ForEach-Object { "platforms/${_}" }), - (Get-ToolsetValue "android.build-tools" | 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 { $_ } @@ -26,7 +38,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 +74,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/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" diff --git a/images/macos/tests/Python.Tests.ps1 b/images/macos/tests/Python.Tests.ps1 index 76cd8941b..624609994 100644 --- a/images/macos/tests/Python.Tests.ps1 +++ b/images/macos/tests/Python.Tests.ps1 @@ -31,4 +31,10 @@ Describe "Python" { It "Pip 3 is available" { "pip3 --version" | Should -ReturnZeroExitCode } + + It "Pip 3 and Python 3 came from the same brew formula" { + $pip3Path = Split-Path (readlink (which pip3)) + $python3Path = Split-Path (readlink (which python3)) + $pip3Path | Should -BeExactly $python3Path + } } \ No newline at end of file diff --git a/images/macos/tests/Xcode.Tests.ps1 b/images/macos/tests/Xcode.Tests.ps1 index ff8d5e932..250c8d8a6 100644 --- a/images/macos/tests/Xcode.Tests.ps1 +++ b/images/macos/tests/Xcode.Tests.ps1 @@ -40,7 +40,7 @@ Describe "Xcode" { It "Xcode has correct beta symlink" -TestCases $testCases { param ( [string] $XcodeVersion ) - $xcodesWithBetaSymlink = @("12", "12_beta", "9.3", "9.4") + $xcodesWithBetaSymlink = @("12", "9.3", "9.4") $shouldBetaSymlinkExists = $XcodeVersion.StartsWith("10") -or $XcodeVersion.StartsWith("11") -or ($XcodeVersion -in $xcodesWithBetaSymlink) $betaSymlinkPath = Get-XcodeRootPath -Version "${XcodeVersion}_beta" @@ -56,7 +56,7 @@ Describe "Xcode" { } Context "XCODE_DEVELOPER_DIR" { - $stableXcodeVersions = $XCODE_VERSIONS | Where-Object { Test-XcodeStableVersion $_ } + $stableXcodeVersions = $XCODE_VERSIONS | ForEach-Object { $_.Split("_")[0] } | Where-Object { Test-XcodeStableRelease -Version $_ } $majorXcodeVersions = $stableXcodeVersions | ForEach-Object { $_.Split(".")[0] } | Select-Object -Unique $testCases = $majorXcodeVersions | ForEach-Object { $majorXcodeVersion = $_ @@ -76,7 +76,7 @@ Describe "Xcode" { $variableName = "XCODE_${MajorXcodeVersion}_DEVELOPER_DIR" $actualPath = Get-EnvironmentVariable $variableName $expectedPath = Join-Path (Get-XcodeRootPath -Version $ExpectedVersion) "Contents/Developer" - + $actualPath | Should -Exist $actualPath | Should -Be $expectedPath } @@ -84,15 +84,15 @@ Describe "Xcode" { } Describe "Xcode simulators" { - $XCODE_VERSIONS | Where-Object { Test-XcodeStableVersion $_ } | ForEach-Object { + $XCODE_VERSIONS | Where-Object { Test-XcodeStableRelease -Version $_ } | ForEach-Object { Switch-Xcode -Version $_ - + Context "$_" { It "No duplicates in devices" { [array]$devicesList = @(Get-XcodeDevicesList | Where-Object { $_ }) Validate-ArrayWithoutDuplicates $devicesList -Because "Found duplicate device simulators" } - + It "No duplicates in pairs" { [array]$pairsList = @(Get-XcodePairsList | Where-Object { $_ }) Validate-ArrayWithoutDuplicates $pairsList -Because "Found duplicate pairs simulators" 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..2abe98036 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" ], @@ -220,7 +216,8 @@ "3.5.*", "3.6.*", "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ] }, { diff --git a/images/macos/toolsets/toolset-10.15.json b/images/macos/toolsets/toolset-10.15.json index 587da9613..fc0bf7983 100644 --- a/images/macos/toolsets/toolset-10.15.json +++ b/images/macos/toolsets/toolset-10.15.json @@ -1,12 +1,12 @@ { "xcode": { - "default": "11.7", + "default": "12", "versions": [ - "12.2_beta", "12", "12_beta", "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": { - "vsmac": "8.7.8.4", + "vsmac": "latest", "mono-versions": [ "6.12.0.93", "6.10.0.106", "6.8.0.123", "6.6.0.166", "6.4.0.208" ], @@ -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" ], @@ -129,7 +125,8 @@ "3.5.*", "3.6.*", "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ] }, { diff --git a/images/macos/toolsets/toolset-11.0.json b/images/macos/toolsets/toolset-11.0.json index c8988a4bc..5ff2280a2 100644 --- a/images/macos/toolsets/toolset-11.0.json +++ b/images/macos/toolsets/toolset-11.0.json @@ -2,11 +2,11 @@ "xcode": { "default": "11.7", "versions": [ - "12.2_beta", "12_beta", "11.7" + "12.2_beta", "11.7" ] }, "xamarin": { - "vsmac": "8.7.8.4", + "vsmac": "latest", "mono-versions": [ "6.12.0.93" ], @@ -19,21 +19,21 @@ "android-versions": [ "11.0.2.0" ], - "bundle-default": "latest", + "bundle-default": "6_12_0", "bundles": [ { "symlink": "6_12_1", "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" ], @@ -68,7 +64,8 @@ "platform" : "darwin", "versions": [ "3.7.*", - "3.8.*" + "3.8.*", + "3.9.*" ] }, { diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index ed74bc3a5..f184b50ab 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -1,122 +1,120 @@ -| Announcements | -|-| -| [[In Discussion] Git internal tools will be removed from PATH Windows images](https://github.com/actions/virtual-environments/issues/1525) | -*** -# Microsoft Windows Server 2016 Datacenter -- OS Version: 10.0.14393 Build 3930 -- Image Version: 20200920.1 - -## Installed Software -### Language and Runtime -- Java 1.7.0_232 -- Java 1.8.0_265 (default) -- Java 11.0.8 -- Java 13.0.2 -- Python 3.7.9 -- Ruby 2.5.8p224 -- Go 1.14.9 -- PHP 7.4.9 -- Julia 1.5.1 -- Perl 5.32.0 -- Node 12.18.4 - -### Package Management -- Chocolatey 0.10.15 -- Vcpkg 2020.06.15 -- NPM 6.14.6 -- Yarn 1.22.5 -- pip 20.2.3 (python 3.7) -- Miniconda 4.6.14 -- RubyGems 3.1.4 -- Helm 3.3.3 -- Composer 1.10.13 -- NuGet 5.7.0.6726 - -### Project Management -- Ant 1.10.8 -- Maven 3.6.3 -- Gradle 6.6 -- sbt 1.3.13 - -### 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 -- Docker 19.03.12 -- Docker-compose 1.27.2 -- Git 2.28.0 -- Git LFS 2.11.0 -- Google Cloud SDK 310.0.0 -- 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 -- Subversion (SVN) 1.14.0 -- ghc 8.10.2 -- Cabal 3.2.0.0 -- Stack 2.3.3 -- WinAppDriver 1.1.1809.18001 -- zstd 1.4.5 -- VSWhere 2.8.4 -- 7zip 19.00 -- yamllint 1.24.2 - -### CLI Tools -- Azure CLI 2.11.1 -- Azure DevOps CLI extension 0.18.0 -- AWS CLI 2.0.50 -- AWS SAM CLI 1.2.0 -- AWS Session Manager CLI 1.1.61.0 -- Alibaba Cloud CLI 3.0.59 -- Cloud Foundry CLI 6.52.0 -- Hub CLI 2.14.2 -- GitHub CLI 1.0.0 - -### Rust Tools -- Rust 1.46.0 - -#### Packages -- bindgen 0.55.1 -- cbindgen 0.14.5 -- cargo-audit 0.12.0 -- 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 -- Gecko Driver 0.27.0 -- IE Driver 3.150.1.0 - -### MSYS2 -- Pacman 5.2.2 +| Announcements | +|-| +| [[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: 20201012.1 + +## Installed Software +### Language and Runtime +- Java 1.7.0_232 +- Java 1.8.0_265 (default) +- Java 11.0.8 +- Java 13.0.2 +- Python 3.7.9 +- Ruby 2.5.8p224 +- Go 1.14.9 +- PHP 7.4.11 +- Julia 1.5.2 +- Perl 5.32.0 +- Node 12.19.0 + +### Package Management +- Chocolatey 0.10.15 +- Vcpkg 2020.06.15 +- 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.4 +- Composer 1.10.13 +- NuGet 5.7.0.6726 + +### Project Management +- Ant 1.10.9 +- Maven 3.6.3 +- Gradle 6.6 +- sbt 1.4.0 + +### Tools +- azcopy 10.6.0 +- 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 313.0.1 +- InnoSetup 6.0.5 +- jq 1.6 +- Kubectl 1.19.1 +- Kind 0.9.0 +- Mingw-w64 8.1.0 +- Mercurial 5.0 +- NSIS v3.06.1 +- Newman 5.2.0 +- OpenSSL 1.1.1 +- Packer 1.6.3 +- Pulumi v2.11.2 +- Subversion (SVN) 1.14.0 +- ghc 8.10.2 +- Cabal 3.2.0.0 +- Stack 2.3.3 +- WinAppDriver 1.1.1809.18001 +- zstd 1.4.5 +- VSWhere 2.8.4 +- 7zip 19.00 +- yamllint 1.25.0 + +### CLI Tools +- Azure CLI 2.12.1 +- Azure DevOps CLI extension 0.18.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.60 +- Cloud Foundry CLI 6.53.0 +- Hub CLI 2.14.2 +- GitHub CLI 1.1.0 + +### Rust Tools +- Rust 1.47.0 + +#### Packages +- bindgen 0.55.1 +- cbindgen 0.15.0 +- cargo-audit 0.12.1 +- cargo-outdated v0.9.11 + +### Browsers and webdrivers +- 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 + +### MSYS2 +- Pacman 5.2.2 ``` Location: C:\msys64 Note: MSYS2 is pre-installed on image but not added to PATH. -``` -### Cached Tools -#### Boost -| Version | Architecture | Environment Variable | -| ------- | ------------ | -------------------- | -| 1.69.0 | x64, x86 | BOOST_ROOT_1_69_0 | -| 1.72.0 | x64, x86 | BOOST_ROOT_1_72_0 | -##### Notes: +``` +### Cached Tools +#### Boost +| Version | Architecture | Environment Variable | +| ------- | ------------ | -------------------- | +| 1.69.0 | x64, x86 | BOOST_ROOT_1_69_0 | +| 1.72.0 | x64, x86 | BOOST_ROOT_1_72_0 | +##### Notes: ``` 1. Environment variable "BOOST_ROOT" is not set by default. Please make sure you set this variable value to proper value @@ -129,468 +127,420 @@ Note: MSYS2 is pre-installed on image but not added to PATH. See documentation of the Boost CMake package configuration for details on what it provides. Set Boost_NO_BOOST_CMAKE to ON, to disable the search for boost-cmake. Link: https://cmake.org/cmake/help/latest/module/FindBoost.html -``` - -#### Go -| Version | Architecture | Environment Variable | -| ------- | ------------ | -------------------- | -| 1.9.7 | x64 | GOROOT_1_9_X64 | -| 1.10.8 | x64 | GOROOT_1_10_X64 | -| 1.11.13 | x64 | GOROOT_1_11_X64 | -| 1.12.17 | x64 | GOROOT_1_12_X64 | -| 1.13.15 | x64 | GOROOT_1_13_X64 | -| 1.14.9 (Default) | x64 | GOROOT_1_14_X64 | -| 1.15.2 | x64 | GOROOT_1_15_X64 | - - -#### Node -| Version | Architecture | -| ------- | ------------ | -| 8.17.0 | x64 | -| 10.22.1 | x64 | -| 12.18.4 | x64 | -| 14.11.0 | x64 | - - -#### Python -| Version | Architecture | -| ------- | ------------ | -| 2.7.18 | x64, x86 | -| 3.5.4 | x64, x86 | -| 3.6.8 | x64, x86 | -| 3.7.9 (Default) | x64, x86 | -| 3.8.5 | x64, x86 | - - -#### Ruby -| Version | Architecture | -| ------- | ------------ | -| 2.4.10 | x64 | -| 2.5.8 (Default) | x64 | -| 2.6.6 | x64 | -| 2.7.1 | x64 | - - -#### 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 | - - - -### Databases -#### PostgreSQL -| Property | Value | -| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| ServiceName | postgresql-x64-12 | -| Version | 12.4 | -| 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 | -| UserName | postgres | -| Password | root | - - -#### MongoDB -| Version | ServiceName | ServiceStatus | ServiceStartType | -| ------- | ----------- | ------------- | ---------------- | -| 4.4.1.0 | MongoDB | Running | Automatic | - - - -### Visual Studio Enterprise 2017 -| Name | Version | Path | -| ----------------------------- | --------------- | -------------------------------------------------------------- | -| Visual Studio Enterprise 2017 | 15.9.28307.1259 | C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise | - -#### Workloads, components and extensions: - -| Package | Version | -| ------------------------------------------------------------------------- | ---------------- | -| Component.Anaconda3.x64 | 5.2.0 | -| Component.Android.NDK.R12B | 12.1.10 | -| Component.Android.NDK.R15C | 15.2.1 | -| Component.Android.SDK19.Private | 15.9.28107.0 | -| Component.Android.SDK21.Private | 15.9.28016.0 | -| Component.Android.SDK22.Private | 15.9.28016.0 | -| Component.Android.SDK23 | 15.9.28107.0 | -| Component.Android.SDK23.Private | 15.9.28016.0 | -| Component.Android.SDK25.Private | 15.9.28016.0 | -| Component.Android.SDK27 | 15.9.28016.0 | -| Component.Ant | 1.9.3.8 | -| Component.CordovaToolset.6.3.1 | 15.7.27625.0 | -| Component.Dotfuscator | 15.0.26208.0 | -| Component.Google.Android.Emulator.API27 | 15.9.28307.421 | -| Component.HAXM | 15.9.28307.421 | -| Component.Linux.CMake | 15.9.28307.102 | -| Component.MDD.Android | 15.0.26606.0 | -| Component.MDD.Linux | 15.6.27406.0 | -| Component.Microsoft.VisualStudio.RazorExtension | 15.0.26720.2 | -| Component.Microsoft.VisualStudio.Tools.Applications | 15.0.27520.3 | -| Component.Microsoft.VisualStudio.Web.AzureFunctions | 15.7.27617.1 | -| Component.Microsoft.Web.LibraryManager | 15.8.27705.0 | -| Component.Microsoft.Windows.DriverKit | 10.0.17740.0 | -| Component.OpenJDK | 15.9.28307.443 | -| Component.Redgate.ReadyRoll | 1.17.18155.10346 | -| Component.Redgate.SQLPrompt.VsPackage | 9.2.0.5601 | -| Component.Redgate.SQLSearch.VSExtension | 3.1.7.2062 | -| Component.UnityEngine.x64 | 15.9.28307.616 | -| Component.Unreal | 15.8.27729.1 | -| Component.Unreal.Android | 15.9.28307.341 | -| Component.WixToolset.VisualStudioExtension.Dev15 | 0.9.21.62588 | -| Component.Xamarin | 15.9.28307.1177 | -| Component.Xamarin.Profiler | 15.0.27005.2 | -| Component.Xamarin.RemotedSimulator | 15.6.27323.2 | -| Microsoft.Component.Azure.DataLake.Tools | 15.9.28107.0 | -| Microsoft.Component.Blend.SDK.WPF | 15.6.27406.0 | -| Microsoft.Component.ClickOnce | 15.8.27825.0 | -| Microsoft.Component.CookiecutterTools | 15.0.26621.2 | -| Microsoft.Component.MSBuild | 15.7.27520.0 | -| Microsoft.Component.NetFX.Core.Runtime | 15.0.26208.0 | -| Microsoft.Component.NetFX.Native | 15.0.26208.0 | -| Microsoft.Component.PythonTools | 15.0.26823.1 | -| Microsoft.Component.PythonTools.UWP | 15.0.26606.0 | -| Microsoft.Component.PythonTools.Web | 15.9.28107.0 | -| Microsoft.Component.VC.Runtime.OSSupport | 15.6.27406.0 | -| Microsoft.Component.VC.Runtime.UCRTSDK | 15.6.27309.0 | -| Microsoft.ComponentGroup.Blend | 15.6.27406.0 | -| Microsoft.Net.Component.3.5.DeveloperTools | 15.6.27406.0 | -| Microsoft.Net.Component.4.5.1.TargetingPack | 15.6.27406.0 | -| Microsoft.Net.Component.4.5.2.TargetingPack | 15.6.27406.0 | -| Microsoft.Net.Component.4.5.TargetingPack | 15.6.27406.0 | -| Microsoft.Net.Component.4.6.1.SDK | 15.6.27406.0 | -| Microsoft.Net.Component.4.6.1.TargetingPack | 15.6.27406.0 | -| Microsoft.Net.Component.4.6.2.SDK | 15.6.27406.0 | -| Microsoft.Net.Component.4.6.2.TargetingPack | 15.6.27406.0 | -| Microsoft.Net.Component.4.6.TargetingPack | 15.6.27406.0 | -| Microsoft.Net.Component.4.7.1.SDK | 15.6.27406.0 | -| Microsoft.Net.Component.4.7.1.TargetingPack | 15.6.27406.0 | -| Microsoft.Net.Component.4.7.2.SDK | 15.8.27825.0 | -| Microsoft.Net.Component.4.7.2.TargetingPack | 15.8.27825.0 | -| Microsoft.Net.Component.4.7.SDK | 15.6.27406.0 | -| Microsoft.Net.Component.4.7.TargetingPack | 15.6.27406.0 | -| Microsoft.Net.Component.4.TargetingPack | 15.6.27406.0 | -| Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools | 15.6.27406.0 | -| Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools | 15.6.27406.0 | -| Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools | 15.8.27825.0 | -| Microsoft.Net.ComponentGroup.4.7.DeveloperTools | 15.6.27406.0 | -| Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 15.8.27825.0 | -| Microsoft.Net.ComponentGroup.TargetingPacks.Common | 15.6.27406.0 | -| Microsoft.Net.Core.Component.SDK.1x | 15.9.28307.1259 | -| Microsoft.Net.Core.Component.SDK.2.1 | 15.8.27924.0 | -| Microsoft.NetCore.1x.ComponentGroup.Web | 15.9.28307.1259 | -| Microsoft.NetCore.ComponentGroup.DevelopmentTools.2.1 | 15.8.27924.0 | -| Microsoft.NetCore.ComponentGroup.Web.2.1 | 15.8.27924.0 | -| Microsoft.VisualStudio.Component.AppInsights.Tools | 15.8.27825.0 | -| Microsoft.VisualStudio.Component.AspNet45 | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.Azure.AuthoringTools | 15.9.28307.421 | -| Microsoft.VisualStudio.Component.Azure.ClientLibs | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.Azure.Compute.Emulator | 15.9.28307.421 | -| Microsoft.VisualStudio.Component.Azure.MobileAppsSdk | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.Azure.ResourceManager.Tools | 15.9.28107.0 | -| Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools | 15.8.27825.0 | -| Microsoft.VisualStudio.Component.Azure.Storage.AzCopy | 15.0.26906.1 | -| Microsoft.VisualStudio.Component.Azure.Storage.Emulator | 15.9.28125.51 | -| Microsoft.VisualStudio.Component.Azure.Waverton | 15.9.28107.0 | -| Microsoft.VisualStudio.Component.Azure.Waverton.BuildTools | 15.7.27617.1 | -| Microsoft.VisualStudio.Component.ClassDesigner | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.CloudExplorer | 15.9.28230.55 | -| Microsoft.VisualStudio.Component.CodeClone | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.CodeMap | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.Common.Azure.Tools | 15.9.28107.0 | -| Microsoft.VisualStudio.Component.Cordova | 15.0.26606.0 | -| Microsoft.VisualStudio.Component.CoreEditor | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.Debugger.JustInTime | 15.0.27005.2 | -| Microsoft.VisualStudio.Component.Debugger.Snapshot | 15.8.28010.0 | -| Microsoft.VisualStudio.Component.DependencyValidation.Enterprise | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.DiagnosticTools | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.DockerTools | 15.8.27906.1 | -| Microsoft.VisualStudio.Component.DockerTools.BuildTools | 15.7.27617.1 | -| Microsoft.VisualStudio.Component.DslTools | 15.0.27005.2 | -| Microsoft.VisualStudio.Component.EntityFramework | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.FSharp | 15.8.27825.0 | -| Microsoft.VisualStudio.Component.FSharp.Desktop | 15.8.27825.0 | -| Microsoft.VisualStudio.Component.FSharp.WebTemplates | 15.9.28307.421 | -| Microsoft.VisualStudio.Component.GraphDocument | 15.0.27005.2 | -| Microsoft.VisualStudio.Component.Graphics | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Graphics.Tools | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Graphics.Win81 | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.IISExpress | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.JavaScript.Diagnostics | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.JavaScript.ProjectSystem | 15.0.26606.0 | -| Microsoft.VisualStudio.Component.JavaScript.TypeScript | 15.9.28125.51 | -| Microsoft.VisualStudio.Component.LinqToSql | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.LiveUnitTesting | 15.0.26720.2 | -| Microsoft.VisualStudio.Component.ManagedDesktop.Core | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.Merq | 15.8.27924.0 | -| Microsoft.VisualStudio.Component.MonoDebugger | 15.0.26720.2 | -| Microsoft.VisualStudio.Component.Node.Build | 15.8.27825.0 | -| Microsoft.VisualStudio.Component.Node.Tools | 15.8.27825.0 | -| Microsoft.VisualStudio.Component.NuGet | 15.9.28016.0 | -| Microsoft.VisualStudio.Component.NuGet.BuildTools | 15.9.28016.0 | -| Microsoft.VisualStudio.Component.PortableLibrary | 15.6.27309.0 | -| Microsoft.VisualStudio.Component.R.Open | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.RHost | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Roslyn.Compiler | 15.6.27309.0 | -| Microsoft.VisualStudio.Component.Roslyn.LanguageServices | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.RTools | 15.0.26919.1 | -| Microsoft.VisualStudio.Component.Sharepoint.Tools | 15.8.27924.0 | -| Microsoft.VisualStudio.Component.SQL.ADAL | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.SQL.CLR | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.SQL.CMDUtils | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.SQL.DataSources | 15.0.26621.2 | -| Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime | 15.7.27617.1 | -| Microsoft.VisualStudio.Component.SQL.NCLI | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.SQL.SSDT | 15.9.28107.0 | -| Microsoft.VisualStudio.Component.Static.Analysis.Tools | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.TeamOffice | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.TestTools.CodedUITest | 15.0.26606.0 | -| Microsoft.VisualStudio.Component.TestTools.Core | 15.7.27520.0 | -| Microsoft.VisualStudio.Component.TestTools.WebLoadTest | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.TextTemplating | 15.0.26208.0 | -| Microsoft.VisualStudio.Component.TypeScript.2.0 | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.TypeScript.2.1 | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.TypeScript.2.2 | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.TypeScript.2.3 | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.TypeScript.3.1 | 15.0.28218.60 | -| Microsoft.VisualStudio.Component.Unity | 15.7.27617.1 | -| Microsoft.VisualStudio.Component.UWP.Support | 15.9.28119.51 | -| Microsoft.VisualStudio.Component.UWP.VC.ARM64 | 15.0.28125.51 | -| Microsoft.VisualStudio.Component.VC.140 | 15.7.27617.1 | -| Microsoft.VisualStudio.Component.VC.ATL | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.VC.ATL.ARM | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.VC.ATL.ARM64 | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.VC.ATL.Spectre | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.VC.ATLMFC | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre | 15.7.27625.0 | -| Microsoft.VisualStudio.Component.VC.ClangC2 | 15.7.27520.0 | -| Microsoft.VisualStudio.Component.VC.CLI.Support | 15.6.27309.0 | -| Microsoft.VisualStudio.Component.VC.CMake.Project | 15.9.28307.102 | -| Microsoft.VisualStudio.Component.VC.CoreIde | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.VC.DiagnosticTools | 15.0.26823.1 | -| Microsoft.VisualStudio.Component.VC.Modules.x86.x64 | 15.6.27309.0 | -| Microsoft.VisualStudio.Component.VC.Redist.14.Latest | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre | 15.9.28230.55 | -| Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre | 15.9.28230.55 | -| Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre | 15.9.28230.55 | -| Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest | 15.9.28307.616 | -| Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest | 15.8.27906.1 | -| Microsoft.VisualStudio.Component.VC.Tools.ARM | 15.8.27825.0 | -| Microsoft.VisualStudio.Component.VC.Tools.ARM64 | 15.9.28230.55 | -| Microsoft.VisualStudio.Component.VC.Tools.x86.x64 | 15.9.28230.55 | -| Microsoft.VisualStudio.Component.VisualStudioData | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.VSSDK | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.Wcf.Tooling | 15.8.27924.0 | -| Microsoft.VisualStudio.Component.Web | 15.8.27825.0 | -| Microsoft.VisualStudio.Component.WebDeploy | 15.8.27729.1 | -| Microsoft.VisualStudio.Component.Windows10SDK | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.10240 | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.10586 | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.14393 | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP.Native | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP.Native | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.Windows10SDK.17134 | 15.9.28307.102 | -| Microsoft.VisualStudio.Component.Windows10SDK.17763 | 15.9.28307.102 | -| Microsoft.VisualStudio.Component.Windows81SDK | 15.6.27406.0 | -| Microsoft.VisualStudio.Component.WinXP | 15.8.27924.0 | -| Microsoft.VisualStudio.Component.Workflow | 15.8.27825.0 | -| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Managed | 15.0.26208.0 | -| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native | 15.0.26208.0 | -| Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices | 15.0.26504.0 | -| Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites | 15.9.28107.0 | -| Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools | 15.0.27005.2 | -| Microsoft.VisualStudio.ComponentGroup.AzureFunctions | 15.7.27617.1 | -| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core | 15.8.27729.1 | -| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81 | 15.6.27406.0 | -| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP | 15.8.27705.0 | -| Microsoft.VisualStudio.ComponentGroup.UWP.Cordova | 15.9.28307.102 | -| Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard | 15.8.27906.1 | -| Microsoft.VisualStudio.ComponentGroup.UWP.VC | 15.9.28307.102 | -| Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin | 15.9.28307.102 | -| Microsoft.VisualStudio.ComponentGroup.VisualStudioExtension.Prerequisites | 15.7.27625.0 | -| Microsoft.VisualStudio.ComponentGroup.Web | 15.9.28219.51 | -| Microsoft.VisualStudio.ComponentGroup.Web.CloudTools | 15.8.27729.1 | -| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions | 15.8.27825.0 | -| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine | 15.8.27729.1 | -| Microsoft.VisualStudio.Web.Mvc4.ComponentGroup | 15.6.27406.0 | -| Microsoft.VisualStudio.Workload.Azure | 15.8.27906.1 | -| Microsoft.VisualStudio.Workload.CoreEditor | 15.0.27205.0 | -| Microsoft.VisualStudio.Workload.Data | 15.6.27309.0 | -| Microsoft.VisualStudio.Workload.DataScience | 15.9.28307.421 | -| Microsoft.VisualStudio.Workload.ManagedDesktop | 15.9.28307.1062 | -| Microsoft.VisualStudio.Workload.ManagedGame | 15.0.27005.2 | -| Microsoft.VisualStudio.Workload.NativeCrossPlat | 15.0.27205.0 | -| Microsoft.VisualStudio.Workload.NativeDesktop | 15.9.28307.102 | -| Microsoft.VisualStudio.Workload.NativeGame | 15.9.28307.102 | -| Microsoft.VisualStudio.Workload.NativeMobile | 15.9.28107.0 | -| Microsoft.VisualStudio.Workload.NetCoreTools | 15.8.27906.1 | -| Microsoft.VisualStudio.Workload.NetCrossPlat | 15.9.28107.0 | -| Microsoft.VisualStudio.Workload.NetWeb | 15.8.27906.1 | -| Microsoft.VisualStudio.Workload.Node | 15.9.28107.0 | -| Microsoft.VisualStudio.Workload.Office | 15.8.27924.0 | -| Microsoft.VisualStudio.Workload.Python | 15.8.27825.0 | -| Microsoft.VisualStudio.Workload.Universal | 15.9.28307.102 | -| Microsoft.VisualStudio.Workload.VisualStudioExtension | 15.7.27625.0 | -| Microsoft.VisualStudio.Workload.WebCrossPlat | 15.9.28307.341 | -| SSDT Microsoft Analysis Services Projects | 2.9.6 | -| SSDT SQL Server Integration Services Projects | 2.6 | -| SSDT Microsoft Reporting Services Projects | 2.6.3 | -| Windows Driver Kit | 3.11.4516 | -| Windows Driver Kit Visual Studio Extension | 10.1.17763.1 | -| WIX Toolset | 3.11.4516 | -| WIX Toolset Studio 2017 Extension | 0.9.21.62588 | - -#### Microsoft Visual C++: - -| Name | Architecture | Version | -| -------------------------------------------- | ------------ | ----------- | -| Microsoft Visual C++ 2010 Redistributable | x64 | 10.0.30319 | -| Microsoft Visual C++ 2010 Redistributable | x86 | 10.0.40219 | -| Microsoft Visual C++ 2012 Additional Runtime | x64 | 11.0.61030 | -| Microsoft Visual C++ 2012 Minimum Runtime | x64 | 11.0.61030 | -| Microsoft Visual C++ 2013 Additional Runtime | x64 | 12.0.40660 | -| Microsoft Visual C++ 2013 Minimum Runtime | x64 | 12.0.40660 | -| Microsoft Visual C++ 2013 Additional Runtime | x86 | 12.0.21005 | -| 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 | - -### .NET Core SDK -`Location C:\Program Files\dotnet\sdk` -- 1.1.14 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 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.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 - -### .NET Core Runtime -`Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 - -`Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 - -`Location: C:\Program Files\dotnet\shared\Microsoft.NETCore.App` -- 1.0.16 1.1.13 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 - -`Location: C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App` -- 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 - -### .NET Framework -`Type: Developer Pack` -`Location C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX Tools` -- 4.6.1 4.6.2 4.7 4.7.1 4.7.2 4.8 - -### PowerShell Tools -- 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_\ | +``` + +#### Go +| Version | Architecture | Environment Variable | +| ------- | ------------ | -------------------- | +| 1.9.7 | x64 | GOROOT_1_9_X64 | +| 1.10.8 | x64 | GOROOT_1_10_X64 | +| 1.11.13 | x64 | GOROOT_1_11_X64 | +| 1.12.17 | x64 | GOROOT_1_12_X64 | +| 1.13.15 | x64 | GOROOT_1_13_X64 | +| 1.14.9 (Default) | x64 | GOROOT_1_14_X64 | +| 1.15.2 | x64 | GOROOT_1_15_X64 | + + +#### Node +| Version | Architecture | +| ------- | ------------ | +| 8.17.0 | x64 | +| 10.22.1 | x64 | +| 12.19.0 | x64 | +| 14.13.1 | x64 | + + +#### Python +| Version | Architecture | +| ------- | ------------ | +| 2.7.18 | x64, x86 | +| 3.5.4 | x64, x86 | +| 3.6.8 | x64, x86 | +| 3.7.9 (Default) | x64, x86 | +| 3.8.6 | x64, x86 | + + +#### Ruby +| Version | Architecture | +| ------- | ------------ | +| 2.4.10 | x64 | +| 2.5.8 (Default) | x64 | +| 2.6.6 | x64 | +| 2.7.1 | x64 | + + +#### PyPy +| Python Version | Architecture | PyPy Version | +| -------------- | ------------ | ------------ | +| 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 | + + + +### Databases +#### PostgreSQL +| Property | Value | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| ServiceName | postgresql-x64-13 | +| Version | 13.0 | +| ServiceStatus | Stopped | +| ServiceStartType | Disabled | +| 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 | + + +#### MongoDB +| Version | ServiceName | ServiceStatus | ServiceStartType | +| ------- | ----------- | ------------- | ---------------- | +| 4.4.1.0 | MongoDB | Running | Automatic | + + + +### Database tools +- Azure CosmosDb Emulator 2.11.6.0 +- SQLPS 1.0 +- MySQL 5.7.21.0 + + +### Visual Studio Enterprise 2017 +| Name | Version | Path | +| ----------------------------- | --------------- | -------------------------------------------------------------- | +| Visual Studio Enterprise 2017 | 15.9.28307.1259 | C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise | + +#### Workloads, components and extensions: + +| Package | Version | +| ------------------------------------------------------------------------- | ---------------- | +| Component.Anaconda3.x64 | 5.2.0 | +| Component.Android.NDK.R12B | 12.1.10 | +| Component.Android.NDK.R15C | 15.2.1 | +| Component.Android.SDK19.Private | 15.9.28107.0 | +| Component.Android.SDK21.Private | 15.9.28016.0 | +| Component.Android.SDK22.Private | 15.9.28016.0 | +| Component.Android.SDK23 | 15.9.28107.0 | +| Component.Android.SDK23.Private | 15.9.28016.0 | +| Component.Android.SDK25.Private | 15.9.28016.0 | +| Component.Android.SDK27 | 15.9.28016.0 | +| Component.Ant | 1.9.3.8 | +| Component.CordovaToolset.6.3.1 | 15.7.27625.0 | +| Component.Dotfuscator | 15.0.26208.0 | +| Component.Google.Android.Emulator.API27 | 15.9.28307.421 | +| Component.HAXM | 15.9.28307.421 | +| Component.Linux.CMake | 15.9.28307.102 | +| Component.MDD.Android | 15.0.26606.0 | +| Component.MDD.Linux | 15.6.27406.0 | +| Component.Microsoft.VisualStudio.RazorExtension | 15.0.26720.2 | +| Component.Microsoft.VisualStudio.Tools.Applications | 15.0.27520.3 | +| Component.Microsoft.VisualStudio.Web.AzureFunctions | 15.7.27617.1 | +| Component.Microsoft.Web.LibraryManager | 15.8.27705.0 | +| Component.Microsoft.Windows.DriverKit | 10.0.17740.0 | +| Component.OpenJDK | 15.9.28307.443 | +| Component.Redgate.ReadyRoll | 1.17.18155.10346 | +| Component.Redgate.SQLPrompt.VsPackage | 9.2.0.5601 | +| Component.Redgate.SQLSearch.VSExtension | 3.1.7.2062 | +| Component.UnityEngine.x64 | 15.9.28307.616 | +| Component.Unreal | 15.8.27729.1 | +| Component.Unreal.Android | 15.9.28307.341 | +| Component.WixToolset.VisualStudioExtension.Dev15 | 0.9.21.62588 | +| Component.Xamarin | 15.9.28307.1177 | +| Component.Xamarin.Profiler | 15.0.27005.2 | +| Component.Xamarin.RemotedSimulator | 15.6.27323.2 | +| Microsoft.Component.Azure.DataLake.Tools | 15.9.28107.0 | +| Microsoft.Component.Blend.SDK.WPF | 15.6.27406.0 | +| Microsoft.Component.ClickOnce | 15.8.27825.0 | +| Microsoft.Component.CookiecutterTools | 15.0.26621.2 | +| Microsoft.Component.MSBuild | 15.7.27520.0 | +| Microsoft.Component.NetFX.Core.Runtime | 15.0.26208.0 | +| Microsoft.Component.NetFX.Native | 15.0.26208.0 | +| Microsoft.Component.PythonTools | 15.0.26823.1 | +| Microsoft.Component.PythonTools.UWP | 15.0.26606.0 | +| Microsoft.Component.PythonTools.Web | 15.9.28107.0 | +| Microsoft.Component.VC.Runtime.OSSupport | 15.6.27406.0 | +| Microsoft.Component.VC.Runtime.UCRTSDK | 15.6.27309.0 | +| Microsoft.ComponentGroup.Blend | 15.6.27406.0 | +| Microsoft.Net.Component.3.5.DeveloperTools | 15.6.27406.0 | +| Microsoft.Net.Component.4.5.1.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.5.2.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.5.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.1.SDK | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.1.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.2.SDK | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.2.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.7.1.SDK | 15.6.27406.0 | +| Microsoft.Net.Component.4.7.1.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.7.2.SDK | 15.8.27825.0 | +| Microsoft.Net.Component.4.7.2.TargetingPack | 15.8.27825.0 | +| Microsoft.Net.Component.4.7.SDK | 15.6.27406.0 | +| Microsoft.Net.Component.4.7.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools | 15.6.27406.0 | +| Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools | 15.6.27406.0 | +| Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools | 15.8.27825.0 | +| Microsoft.Net.ComponentGroup.4.7.DeveloperTools | 15.6.27406.0 | +| Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 15.8.27825.0 | +| Microsoft.Net.ComponentGroup.TargetingPacks.Common | 15.6.27406.0 | +| Microsoft.Net.Core.Component.SDK.1x | 15.9.28307.1259 | +| Microsoft.Net.Core.Component.SDK.2.1 | 15.8.27924.0 | +| Microsoft.NetCore.1x.ComponentGroup.Web | 15.9.28307.1259 | +| Microsoft.NetCore.ComponentGroup.DevelopmentTools.2.1 | 15.8.27924.0 | +| Microsoft.NetCore.ComponentGroup.Web.2.1 | 15.8.27924.0 | +| Microsoft.VisualStudio.Component.AppInsights.Tools | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.AspNet45 | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.Azure.AuthoringTools | 15.9.28307.421 | +| Microsoft.VisualStudio.Component.Azure.ClientLibs | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.Azure.Compute.Emulator | 15.9.28307.421 | +| Microsoft.VisualStudio.Component.Azure.MobileAppsSdk | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.Azure.ResourceManager.Tools | 15.9.28107.0 | +| Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.Azure.Storage.AzCopy | 15.0.26906.1 | +| Microsoft.VisualStudio.Component.Azure.Storage.Emulator | 15.9.28125.51 | +| Microsoft.VisualStudio.Component.Azure.Waverton | 15.9.28107.0 | +| Microsoft.VisualStudio.Component.Azure.Waverton.BuildTools | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.ClassDesigner | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.CloudExplorer | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.CodeClone | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.CodeMap | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.Common.Azure.Tools | 15.9.28107.0 | +| Microsoft.VisualStudio.Component.Cordova | 15.0.26606.0 | +| Microsoft.VisualStudio.Component.CoreEditor | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.Debugger.JustInTime | 15.0.27005.2 | +| Microsoft.VisualStudio.Component.Debugger.Snapshot | 15.8.28010.0 | +| Microsoft.VisualStudio.Component.DependencyValidation.Enterprise | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.DiagnosticTools | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.DockerTools | 15.8.27906.1 | +| Microsoft.VisualStudio.Component.DockerTools.BuildTools | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.DslTools | 15.0.27005.2 | +| Microsoft.VisualStudio.Component.EntityFramework | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.FSharp | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.FSharp.Desktop | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.FSharp.WebTemplates | 15.9.28307.421 | +| Microsoft.VisualStudio.Component.GraphDocument | 15.0.27005.2 | +| Microsoft.VisualStudio.Component.Graphics | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Graphics.Tools | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Graphics.Win81 | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.IISExpress | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.JavaScript.Diagnostics | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.JavaScript.ProjectSystem | 15.0.26606.0 | +| Microsoft.VisualStudio.Component.JavaScript.TypeScript | 15.9.28125.51 | +| Microsoft.VisualStudio.Component.LinqToSql | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.LiveUnitTesting | 15.0.26720.2 | +| Microsoft.VisualStudio.Component.ManagedDesktop.Core | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.Merq | 15.8.27924.0 | +| Microsoft.VisualStudio.Component.MonoDebugger | 15.0.26720.2 | +| Microsoft.VisualStudio.Component.Node.Build | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.Node.Tools | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.NuGet | 15.9.28016.0 | +| Microsoft.VisualStudio.Component.NuGet.BuildTools | 15.9.28016.0 | +| Microsoft.VisualStudio.Component.PortableLibrary | 15.6.27309.0 | +| Microsoft.VisualStudio.Component.R.Open | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.RHost | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Roslyn.Compiler | 15.6.27309.0 | +| Microsoft.VisualStudio.Component.Roslyn.LanguageServices | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.RTools | 15.0.26919.1 | +| Microsoft.VisualStudio.Component.Sharepoint.Tools | 15.8.27924.0 | +| Microsoft.VisualStudio.Component.SQL.ADAL | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.SQL.CLR | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.SQL.CMDUtils | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.SQL.DataSources | 15.0.26621.2 | +| Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.SQL.NCLI | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.SQL.SSDT | 15.9.28107.0 | +| Microsoft.VisualStudio.Component.Static.Analysis.Tools | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.TeamOffice | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.TestTools.CodedUITest | 15.0.26606.0 | +| Microsoft.VisualStudio.Component.TestTools.Core | 15.7.27520.0 | +| Microsoft.VisualStudio.Component.TestTools.WebLoadTest | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TextTemplating | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.TypeScript.2.0 | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TypeScript.2.1 | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TypeScript.2.2 | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TypeScript.2.3 | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TypeScript.3.1 | 15.0.28218.60 | +| Microsoft.VisualStudio.Component.Unity | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.UWP.Support | 15.9.28119.51 | +| Microsoft.VisualStudio.Component.UWP.VC.ARM64 | 15.0.28125.51 | +| Microsoft.VisualStudio.Component.VC.140 | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.VC.ATL | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM64 | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.Spectre | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATLMFC | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ClangC2 | 15.7.27520.0 | +| Microsoft.VisualStudio.Component.VC.CLI.Support | 15.6.27309.0 | +| Microsoft.VisualStudio.Component.VC.CMake.Project | 15.9.28307.102 | +| Microsoft.VisualStudio.Component.VC.CoreIde | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.VC.DiagnosticTools | 15.0.26823.1 | +| Microsoft.VisualStudio.Component.VC.Modules.x86.x64 | 15.6.27309.0 | +| Microsoft.VisualStudio.Component.VC.Redist.14.Latest | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest | 15.9.28307.616 | +| Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest | 15.8.27906.1 | +| Microsoft.VisualStudio.Component.VC.Tools.ARM | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.VC.Tools.ARM64 | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VC.Tools.x86.x64 | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VisualStudioData | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.VSSDK | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.Wcf.Tooling | 15.8.27924.0 | +| Microsoft.VisualStudio.Component.Web | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.WebDeploy | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.Windows10SDK | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.10240 | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.10586 | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.14393 | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP.Native | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP.Native | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.17134 | 15.9.28307.102 | +| Microsoft.VisualStudio.Component.Windows10SDK.17763 | 15.9.28307.102 | +| Microsoft.VisualStudio.Component.Windows81SDK | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.WinXP | 15.8.27924.0 | +| Microsoft.VisualStudio.Component.Workflow | 15.8.27825.0 | +| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Managed | 15.0.26208.0 | +| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native | 15.0.26208.0 | +| Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices | 15.0.26504.0 | +| Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites | 15.9.28107.0 | +| Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools | 15.0.27005.2 | +| Microsoft.VisualStudio.ComponentGroup.AzureFunctions | 15.7.27617.1 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core | 15.8.27729.1 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81 | 15.6.27406.0 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP | 15.8.27705.0 | +| Microsoft.VisualStudio.ComponentGroup.UWP.Cordova | 15.9.28307.102 | +| Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard | 15.8.27906.1 | +| Microsoft.VisualStudio.ComponentGroup.UWP.VC | 15.9.28307.102 | +| Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin | 15.9.28307.102 | +| Microsoft.VisualStudio.ComponentGroup.VisualStudioExtension.Prerequisites | 15.7.27625.0 | +| Microsoft.VisualStudio.ComponentGroup.Web | 15.9.28219.51 | +| Microsoft.VisualStudio.ComponentGroup.Web.CloudTools | 15.8.27729.1 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions | 15.8.27825.0 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine | 15.8.27729.1 | +| Microsoft.VisualStudio.Web.Mvc4.ComponentGroup | 15.6.27406.0 | +| Microsoft.VisualStudio.Workload.Azure | 15.8.27906.1 | +| Microsoft.VisualStudio.Workload.CoreEditor | 15.0.27205.0 | +| Microsoft.VisualStudio.Workload.Data | 15.6.27309.0 | +| Microsoft.VisualStudio.Workload.DataScience | 15.9.28307.421 | +| Microsoft.VisualStudio.Workload.ManagedDesktop | 15.9.28307.1062 | +| Microsoft.VisualStudio.Workload.ManagedGame | 15.0.27005.2 | +| Microsoft.VisualStudio.Workload.NativeCrossPlat | 15.0.27205.0 | +| Microsoft.VisualStudio.Workload.NativeDesktop | 15.9.28307.102 | +| Microsoft.VisualStudio.Workload.NativeGame | 15.9.28307.102 | +| Microsoft.VisualStudio.Workload.NativeMobile | 15.9.28107.0 | +| Microsoft.VisualStudio.Workload.NetCoreTools | 15.8.27906.1 | +| Microsoft.VisualStudio.Workload.NetCrossPlat | 15.9.28107.0 | +| Microsoft.VisualStudio.Workload.NetWeb | 15.8.27906.1 | +| Microsoft.VisualStudio.Workload.Node | 15.9.28107.0 | +| Microsoft.VisualStudio.Workload.Office | 15.8.27924.0 | +| Microsoft.VisualStudio.Workload.Python | 15.8.27825.0 | +| Microsoft.VisualStudio.Workload.Universal | 15.9.28307.102 | +| Microsoft.VisualStudio.Workload.VisualStudioExtension | 15.7.27625.0 | +| Microsoft.VisualStudio.Workload.WebCrossPlat | 15.9.28307.341 | +| SSDT Microsoft Analysis Services Projects | 2.9.6 | +| SSDT SQL Server Integration Services Projects | 2.6 | +| SSDT Microsoft Reporting Services Projects | 2.6.3 | +| Windows Driver Kit | 3.11.4516 | +| Windows Driver Kit Visual Studio Extension | 10.1.17763.1 | +| WIX Toolset | 3.11.4516 | +| WIX Toolset Studio 2017 Extension | 0.9.21.62588 | + +#### Microsoft Visual C++: + +| Name | Architecture | Version | +| -------------------------------------------- | ------------ | ----------- | +| Microsoft Visual C++ 2010 Redistributable | x64 | 10.0.30319 | +| Microsoft Visual C++ 2010 Redistributable | x86 | 10.0.40219 | +| Microsoft Visual C++ 2012 Additional Runtime | x64 | 11.0.61030 | +| Microsoft Visual C++ 2012 Minimum Runtime | x64 | 11.0.61030 | +| Microsoft Visual C++ 2013 Additional Runtime | x64 | 12.0.40660 | +| Microsoft Visual C++ 2013 Minimum Runtime | x64 | 12.0.40660 | +| Microsoft Visual C++ 2013 Additional Runtime | x86 | 12.0.21005 | +| 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.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` +- 1.1.14 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 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.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 + +### .NET Core Runtime +`Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All` +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 + +`Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App` +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 + +`Location: C:\Program Files\dotnet\shared\Microsoft.NETCore.App` +- 1.0.16 1.1.13 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 + +`Location: C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App` +- 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 + +### .NET Framework +`Type: Developer Pack` +`Location C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX Tools` +- 4.6.1 4.6.2 4.7 4.7.1 4.7.2 4.8 + +### PowerShell Tools +- 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
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 | - -### 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 | - -### Cached Docker images -- mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 -- mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 -- mcr.microsoft.com/windows/servercore:ltsc2016 -- microsoft/aspnetcore-build:1.0-2.0 -- mcr.microsoft.com/windows/nanoserver:10.0.14393.953 - - +``` +#### 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
2.2.5 | +| PSWindowsUpdate | 2.2.0.2 | +| SqlServer | 21.1.18228 | +| VSSetup | 2.2.16 | + +### 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 +- mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 +- mcr.microsoft.com/windows/servercore:ltsc2016 +- microsoft/aspnetcore-build:1.0-2.0 +- mcr.microsoft.com/windows/nanoserver:10.0.14393.953 + + diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md index 50f161d2b..a153b8d4d 100644 --- a/images/win/Windows2019-Readme.md +++ b/images/win/Windows2019-Readme.md @@ -1,125 +1,123 @@ -| Announcements | -|-| -| [[In Discussion] Git internal tools will be removed from PATH Windows images](https://github.com/actions/virtual-environments/issues/1525) | -*** -# Microsoft Windows Server 2019 Datacenter -- OS Version: 10.0.17763 Build 1457 -- Image Version: 20200920.1 - -## Enabled windows optional features -- Windows Subsystem for Linux - -## Installed Software -### Language and Runtime -- Java 1.7.0_232 -- Java 1.8.0_265 (default) -- Java 11.0.8 -- Java 13.0.2 -- Python 3.7.9 -- Ruby 2.5.8p224 -- Go 1.14.9 -- PHP 7.4.9 -- Julia 1.5.1 -- Perl 5.32.0 -- Node 12.18.4 - -### Package Management -- Chocolatey 0.10.15 -- Vcpkg 2020.06.15 -- NPM 6.14.6 -- Yarn 1.22.5 -- pip 20.2.3 (python 3.7) -- Miniconda 4.6.14 -- RubyGems 3.1.4 -- Helm 3.3.3 -- Composer 1.10.13 -- NuGet 5.7.0.6726 - -### Project Management -- Ant 1.10.8 -- Maven 3.6.3 -- Gradle 6.6 -- sbt 1.3.13 - -### 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 -- Docker 19.03.12 -- Docker-compose 1.27.2 -- Git 2.28.0 -- Git LFS 2.11.0 -- Google Cloud SDK 310.0.0 -- 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 -- Subversion (SVN) 1.14.0 -- ghc 8.10.2 -- Cabal 3.2.0.0 -- Stack 2.3.3 -- WinAppDriver 1.1.1809.18001 -- zstd 1.4.5 -- VSWhere 2.8.4 -- 7zip 19.00 -- yamllint 1.24.2 - -### CLI Tools -- Azure CLI 2.11.1 -- Azure DevOps CLI extension 0.18.0 -- AWS CLI 2.0.50 -- AWS SAM CLI 1.2.0 -- AWS Session Manager CLI 1.1.61.0 -- Alibaba Cloud CLI 3.0.59 -- Cloud Foundry CLI 6.52.0 -- Hub CLI 2.14.2 -- GitHub CLI 1.0.0 - -### Rust Tools -- Rust 1.46.0 - -#### Packages -- bindgen 0.55.1 -- cbindgen 0.14.5 -- cargo-audit 0.12.0 -- 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 -- Gecko Driver 0.27.0 -- IE Driver 3.150.1.0 - -### MSYS2 -- Pacman 5.2.2 +| Announcements | +|-| +| [[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: 20201011.1 + +## Enabled windows optional features +- Windows Subsystem for Linux + +## Installed Software +### Language and Runtime +- Java 1.7.0_232 +- Java 1.8.0_265 (default) +- Java 11.0.8 +- Java 13.0.2 +- Python 3.7.9 +- Ruby 2.5.8p224 +- Go 1.14.9 +- PHP 7.4.11 +- Julia 1.5.2 +- Perl 5.32.0 +- Node 12.19.0 + +### Package Management +- Chocolatey 0.10.15 +- Vcpkg 2020.06.15 +- 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.4 +- Composer 1.10.13 +- NuGet 5.7.0.6726 + +### Project Management +- Ant 1.10.9 +- Maven 3.6.3 +- Gradle 6.6 +- sbt 1.4.0 + +### Tools +- azcopy 10.6.0 +- 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 313.0.1 +- InnoSetup 6.0.5 +- jq 1.6 +- Kubectl 1.19.1 +- Kind 0.9.0 +- Mingw-w64 8.1.0 +- Mercurial 5.0 +- NSIS v3.06.1 +- Newman 5.2.0 +- OpenSSL 1.1.1 +- Packer 1.6.3 +- Pulumi v2.11.2 +- Subversion (SVN) 1.14.0 +- ghc 8.10.2 +- Cabal 3.2.0.0 +- Stack 2.3.3 +- WinAppDriver 1.1.1809.18001 +- zstd 1.4.5 +- VSWhere 2.8.4 +- 7zip 19.00 +- yamllint 1.25.0 + +### CLI Tools +- Azure CLI 2.12.1 +- Azure DevOps CLI extension 0.18.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.60 +- Cloud Foundry CLI 6.53.0 +- Hub CLI 2.14.2 +- GitHub CLI 1.1.0 + +### Rust Tools +- Rust 1.47.0 + +#### Packages +- bindgen 0.55.1 +- cbindgen 0.15.0 +- cargo-audit 0.12.1 +- cargo-outdated v0.9.11 + +### Browsers and webdrivers +- 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 + +### MSYS2 +- Pacman 5.2.2 ``` Location: C:\msys64 Note: MSYS2 is pre-installed on image but not added to PATH. -``` -### Cached Tools -#### Boost -| Version | Architecture | Environment Variable | -| ------- | ------------ | -------------------- | -| 1.69.0 | x64, x86 | BOOST_ROOT_1_69_0 | -| 1.72.0 | x64, x86 | BOOST_ROOT_1_72_0 | -##### Notes: +``` +### Cached Tools +#### Boost +| Version | Architecture | Environment Variable | +| ------- | ------------ | -------------------- | +| 1.69.0 | x64, x86 | BOOST_ROOT_1_69_0 | +| 1.72.0 | x64, x86 | BOOST_ROOT_1_72_0 | +##### Notes: ``` 1. Environment variable "BOOST_ROOT" is not set by default. Please make sure you set this variable value to proper value @@ -132,448 +130,400 @@ Note: MSYS2 is pre-installed on image but not added to PATH. See documentation of the Boost CMake package configuration for details on what it provides. Set Boost_NO_BOOST_CMAKE to ON, to disable the search for boost-cmake. Link: https://cmake.org/cmake/help/latest/module/FindBoost.html -``` - -#### Go -| Version | Architecture | Environment Variable | -| ------- | ------------ | -------------------- | -| 1.9.7 | x64 | GOROOT_1_9_X64 | -| 1.10.8 | x64 | GOROOT_1_10_X64 | -| 1.11.13 | x64 | GOROOT_1_11_X64 | -| 1.12.17 | x64 | GOROOT_1_12_X64 | -| 1.13.15 | x64 | GOROOT_1_13_X64 | -| 1.14.9 (Default) | x64 | GOROOT_1_14_X64 | -| 1.15.2 | x64 | GOROOT_1_15_X64 | - - -#### Node -| Version | Architecture | -| ------- | ------------ | -| 8.17.0 | x64 | -| 10.22.1 | x64 | -| 12.18.4 | x64 | -| 14.11.0 | x64 | - - -#### Python -| Version | Architecture | -| ------- | ------------ | -| 2.7.18 | x64, x86 | -| 3.5.4 | x64, x86 | -| 3.6.8 | x64, x86 | -| 3.7.9 (Default) | x64, x86 | -| 3.8.5 | x64, x86 | - - -#### Ruby -| Version | Architecture | -| ------- | ------------ | -| 2.4.10 | x64 | -| 2.5.8 (Default) | x64 | -| 2.6.6 | x64 | -| 2.7.1 | x64 | - - -#### 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 | - - - -### Databases -#### PostgreSQL -| Property | Value | -| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| ServiceName | postgresql-x64-12 | -| Version | 12.4 | -| 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 | -| UserName | postgres | -| Password | root | - - -#### MongoDB -| Version | ServiceName | ServiceStatus | ServiceStartType | -| ------- | ----------- | ------------- | ---------------- | -| 4.4.1.0 | MongoDB | Running | Automatic | - - - -### Visual Studio Enterprise 2019 -| Name | Version | Path | -| ----------------------------- | -------------- | -------------------------------------------------------------- | -| Visual Studio Enterprise 2019 | 16.7.30503.244 | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise | - -#### Workloads, components and extensions: - -| Package | Version | -| ------------------------------------------------------------------------- | -------------- | -| Component.Android.NDK.R16B | 16.7.30427.251 | -| Component.Android.SDK25.Private | 16.0.28625.61 | -| Component.Android.SDK28 | 16.2.29003.222 | -| Component.Ant | 1.9.3.8 | -| Component.Dotfuscator | 16.0.28528.71 | -| Component.Linux.CMake | 16.2.29003.222 | -| Component.MDD.Android | 16.0.28517.75 | -| Component.MDD.Linux | 16.5.29515.121 | -| Component.MDD.Linux.GCC.arm | 16.5.29515.121 | -| Component.Microsoft.VisualStudio.LiveShare | 1.0.2518 | -| Component.Microsoft.VisualStudio.RazorExtension | 16.0.28714.129 | -| Component.Microsoft.VisualStudio.Tools.Applications | 16.0.29425.2 | -| Component.Microsoft.VisualStudio.Web.AzureFunctions | 16.0.28714.129 | -| Component.Microsoft.Web.LibraryManager | 16.0.28315.86 | -| Component.Microsoft.Windows.DriverKit | 10.0.19030.0 | -| Component.OpenJDK | 16.1.28811.260 | -| Component.UnityEngine.x64 | 16.7.30310.162 | -| Component.Unreal | 16.1.28810.153 | -| Component.Unreal.Android | 16.1.28810.153 | -| Component.VSInstallerProjects | 0.9.9 | -| Component.WixToolset.VisualStudioExtension.Dev16 | 1.0.0.4 | -| Component.WixToolset.VisualStudioExtension.Schemas3 | 1.0.0.4 | -| Component.WixToolset.VisualStudioExtension.Schemas4 | 1.0.0.4 | -| Component.Xamarin | 16.7.30310.162 | -| Component.Xamarin.RemotedSimulator | 16.0.28315.86 | -| Microsoft.Component.Azure.DataLake.Tools | 16.7.30310.162 | -| Microsoft.Component.ClickOnce | 16.4.29409.204 | -| Microsoft.Component.MSBuild | 16.5.29515.121 | -| Microsoft.Component.NetFX.Native | 16.5.29515.121 | -| Microsoft.Component.PythonTools | 16.5.29515.121 | -| Microsoft.Component.PythonTools.Miniconda | 16.2.29003.222 | -| Microsoft.Component.PythonTools.Web | 16.0.28517.75 | -| Microsoft.Component.VC.Runtime.UCRTSDK | 16.0.28625.61 | -| Microsoft.ComponentGroup.Blend | 16.0.28315.86 | -| Microsoft.Net.Component.3.5.DeveloperTools | 16.0.28517.75 | -| Microsoft.Net.Component.4.5.1.TargetingPack | 16.0.28517.75 | -| Microsoft.Net.Component.4.5.2.TargetingPack | 16.0.28517.75 | -| Microsoft.Net.Component.4.5.TargetingPack | 16.0.28517.75 | -| Microsoft.Net.Component.4.6.1.TargetingPack | 16.0.28517.75 | -| Microsoft.Net.Component.4.6.2.TargetingPack | 16.0.28517.75 | -| Microsoft.Net.Component.4.6.TargetingPack | 16.0.28517.75 | -| Microsoft.Net.Component.4.7.1.TargetingPack | 16.7.30310.162 | -| Microsoft.Net.Component.4.7.2.SDK | 16.4.29409.204 | -| Microsoft.Net.Component.4.7.2.TargetingPack | 16.7.30310.162 | -| Microsoft.Net.Component.4.7.TargetingPack | 16.7.30310.162 | -| Microsoft.Net.Component.4.8.SDK | 16.4.29313.120 | -| Microsoft.Net.Component.4.TargetingPack | 16.0.28517.75 | -| Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools | 16.3.29207.166 | -| Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools | 16.3.29207.166 | -| Microsoft.Net.ComponentGroup.4.7.DeveloperTools | 16.3.29207.166 | -| Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 16.3.29207.166 | -| Microsoft.Net.ComponentGroup.TargetingPacks.Common | 16.0.28516.191 | -| Microsoft.Net.Core.Component.SDK.2.1 | 16.7.30428.286 | -| Microsoft.NetCore.Component.DevelopmentTools | 16.5.29721.120 | -| Microsoft.NetCore.Component.Runtime.3.1 | 16.7.30428.286 | -| Microsoft.NetCore.Component.SDK | 16.7.30428.286 | -| Microsoft.NetCore.Component.Web | 16.5.29721.120 | -| Microsoft.VisualStudio.Component.AppInsights.Tools | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.AspNet45 | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.Azure.AuthoringTools | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.Azure.ClientLibs | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.Azure.Compute.Emulator | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.Azure.Powershell | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.Azure.ResourceManager.Tools | 16.4.29409.204 | -| Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools | 16.4.29313.120 | -| Microsoft.VisualStudio.Component.Azure.Storage.AzCopy | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.Azure.Storage.Emulator | 16.4.29313.120 | -| Microsoft.VisualStudio.Component.Azure.Waverton | 16.4.29409.204 | -| Microsoft.VisualStudio.Component.Azure.Waverton.BuildTools | 16.3.29207.166 | -| Microsoft.VisualStudio.Component.ClassDesigner | 16.0.28528.71 | -| Microsoft.VisualStudio.Component.CloudExplorer | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.CodeMap | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.Common.Azure.Tools | 16.4.29409.204 | -| Microsoft.VisualStudio.Component.CoreEditor | 16.1.28811.260 | -| Microsoft.VisualStudio.Component.Debugger.JustInTime | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.Debugger.Snapshot | 16.5.29813.82 | -| Microsoft.VisualStudio.Component.Debugger.TimeTravel | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.DiagnosticTools | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.DockerTools | 16.4.29409.204 | -| Microsoft.VisualStudio.Component.DotNetModelBuilder | 16.7.30322.227 | -| Microsoft.VisualStudio.Component.DslTools | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.EntityFramework | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.FSharp | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.FSharp.Desktop | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.FSharp.WebTemplates | 16.3.29207.166 | -| Microsoft.VisualStudio.Component.GraphDocument | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.Graphics | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.Graphics.Tools | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.IISExpress | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.IntelliCode | 0.2 | -| Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.JavaScript.Diagnostics | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.JavaScript.TypeScript | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.LinqToSql | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.LiveUnitTesting | 16.1.28811.260 | -| Microsoft.VisualStudio.Component.ManagedDesktop.Core | 16.4.29318.151 | -| Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.Merq | 16.2.29012.281 | -| Microsoft.VisualStudio.Component.MonoDebugger | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.MSODBC.SQL | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.MSSQL.CMDLnUtils | 16.0.28707.177 | -| Microsoft.VisualStudio.Component.Node.Tools | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.NuGet | 16.1.28829.92 | -| Microsoft.VisualStudio.Component.NuGet.BuildTools | 16.1.28829.92 | -| Microsoft.VisualStudio.Component.PortableLibrary | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.Roslyn.Compiler | 16.0.28714.129 | -| Microsoft.VisualStudio.Component.Roslyn.LanguageServices | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.Sharepoint.Tools | 16.4.29409.204 | -| Microsoft.VisualStudio.Component.SQL.ADAL | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.SQL.CLR | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.SQL.DataSources | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.SQL.SSDT | 16.3.29207.166 | -| Microsoft.VisualStudio.Component.TeamOffice | 16.4.29409.204 | -| Microsoft.VisualStudio.Component.TestTools.CodedUITest | 16.0.28327.66 | -| Microsoft.VisualStudio.Component.TestTools.WebLoadTest | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.TextTemplating | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.TypeScript.3.9 | 16.0.30322.227 | -| Microsoft.VisualStudio.Component.Unity | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.UWP.VC.ARM64 | 16.3.29207.166 | -| Microsoft.VisualStudio.Component.VC.14.25.x86.x64 | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.140 | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.ASAN | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.VC.ATL | 16.4.29313.120 | -| Microsoft.VisualStudio.Component.VC.ATL.ARM | 16.4.29313.120 | -| Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre | 16.5.29721.120 | -| Microsoft.VisualStudio.Component.VC.ATL.ARM64 | 16.4.29313.120 | -| Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.VC.ATL.Spectre | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.VC.ATLMFC | 16.4.29313.120 | -| Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre | 16.5.29721.120 | -| Microsoft.VisualStudio.Component.VC.CLI.Support | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.CMake.Project | 16.3.29103.31 | -| Microsoft.VisualStudio.Component.VC.CoreIde | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.DiagnosticTools | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.VC.Llvm.Clang | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset | 16.3.29207.166 | -| Microsoft.VisualStudio.Component.VC.MFC.ARM | 16.4.29313.120 | -| Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre | 16.5.29721.120 | -| Microsoft.VisualStudio.Component.VC.MFC.ARM64 | 16.4.29313.120 | -| Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre | 16.5.29721.120 | -| Microsoft.VisualStudio.Component.VC.Redist.14.Latest | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.VC.Redist.MSM | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.VC.Tools.ARM | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.Tools.ARM64 | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.Tools.x86.x64 | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.v141.ARM | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.VC.v141.ARM64 | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.VC.v141.ATL | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre | 16.5.29721.120 | -| Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.VC.v141.MFC | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.VC.v141.x86.x64 | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre | 16.5.29515.121 | -| Microsoft.VisualStudio.Component.VSSDK | 16.0.28315.86 | -| Microsoft.VisualStudio.Component.Wcf.Tooling | 16.0.28625.61 | -| Microsoft.VisualStudio.Component.Web | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.WebDeploy | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.Windows10SDK | 16.4.29409.204 | -| Microsoft.VisualStudio.Component.Windows10SDK.16299 | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.Windows10SDK.17134 | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.Windows10SDK.17763 | 16.0.28517.75 | -| Microsoft.VisualStudio.Component.Windows10SDK.18362 | 16.1.28829.92 | -| Microsoft.VisualStudio.Component.Windows10SDK.19041 | 16.7.30310.162 | -| Microsoft.VisualStudio.Component.WinXP | 16.1.28811.260 | -| Microsoft.VisualStudio.Component.Workflow | 16.0.28315.86 | -| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native | 16.0.28621.142 | -| Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices | 16.4.29409.204 | -| Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites | 16.7.30310.162 | -| Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools | 16.0.28528.71 | -| Microsoft.VisualStudio.ComponentGroup.AzureFunctions | 16.0.28621.142 | -| Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging | 16.7.30310.162 | -| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core | 16.2.29012.281 | -| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang | 16.7.30310.162 | -| Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard | 16.3.29102.218 | -| Microsoft.VisualStudio.ComponentGroup.UWP.Support | 16.4.29409.204 | -| Microsoft.VisualStudio.ComponentGroup.UWP.VC | 16.7.30310.162 | -| Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin | 16.5.29514.35 | -| Microsoft.VisualStudio.ComponentGroup.VisualStudioExtension.Prerequisites | 16.4.29318.151 | -| Microsoft.VisualStudio.ComponentGroup.Web | 16.4.29318.151 | -| Microsoft.VisualStudio.ComponentGroup.Web.CloudTools | 16.2.29003.222 | -| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions | 16.7.30310.162 | -| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake | 16.3.29207.166 | -| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine | 16.0.28315.86 | -| Microsoft.VisualStudio.Workload.Azure | 16.4.29409.204 | -| Microsoft.VisualStudio.Workload.CoreEditor | 16.0.28315.86 | -| Microsoft.VisualStudio.Workload.Data | 16.0.28720.110 | -| Microsoft.VisualStudio.Workload.DataScience | 16.0.28720.110 | -| Microsoft.VisualStudio.Workload.ManagedDesktop | 16.7.30310.162 | -| Microsoft.VisualStudio.Workload.ManagedGame | 16.5.29514.35 | -| Microsoft.VisualStudio.Workload.NativeCrossPlat | 16.4.29409.204 | -| Microsoft.VisualStudio.Workload.NativeDesktop | 16.5.29514.35 | -| Microsoft.VisualStudio.Workload.NativeGame | 16.5.29514.35 | -| Microsoft.VisualStudio.Workload.NativeMobile | 16.5.29514.35 | -| Microsoft.VisualStudio.Workload.NetCoreTools | 16.7.30310.162 | -| Microsoft.VisualStudio.Workload.NetCrossPlat | 16.5.29514.35 | -| Microsoft.VisualStudio.Workload.NetWeb | 16.4.29409.204 | -| Microsoft.VisualStudio.Workload.Node | 16.1.28825.262 | -| Microsoft.VisualStudio.Workload.Office | 16.3.29207.166 | -| 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 SQL Server Integration Services Projects | 3.9 | -| SSDT Microsoft Reporting Services Projects | 2.6.7 | -| Windows Driver Kit | 3.11.4516 | -| Windows Driver Kit Visual Studio Extension | 10.1.19041.1 | -| WIX Toolset | 3.11.4516 | -| WIX Toolset Studio 2019 Extension | 1.0.0.4 | - -#### Microsoft Visual C++: - -| Name | Architecture | Version | -| -------------------------------------------- | ------------ | ----------- | -| Microsoft Visual C++ 2010 Redistributable | x64 | 10.0.40219 | -| Microsoft Visual C++ 2010 Redistributable | x86 | 10.0.40219 | -| Microsoft Visual C++ 2012 Additional Runtime | x64 | 11.0.61030 | -| Microsoft Visual C++ 2012 Minimum Runtime | x64 | 11.0.61030 | -| Microsoft Visual C++ 2013 Additional Runtime | x64 | 12.0.40660 | -| Microsoft Visual C++ 2013 Minimum Runtime | x64 | 12.0.40660 | -| Microsoft Visual C++ 2013 Additional Runtime | x86 | 12.0.21005 | -| Microsoft Visual C++ 2013 Minimum Runtime | x86 | 12.0.21005 | -| Microsoft Visual C++ 2019 Additional Runtime | x64 | 14.27.29016 | -| Microsoft Visual C++ 2019 Debug Runtime | x64 | 14.27.29016 | -| Microsoft Visual C++ 2019 Minimum Runtime | x64 | 14.27.29016 | -| Microsoft Visual C++ 2019 Additional Runtime | x86 | 14.27.29016 | -| Microsoft Visual C++ 2019 Debug Runtime | x86 | 14.27.29016 | -| Microsoft Visual C++ 2019 Minimum Runtime | x86 | 14.27.29016 | - -### .NET Core SDK -`Location C:\Program Files\dotnet\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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 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.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 - -### .NET Core Runtime -`Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 - -`Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 - -`Location: C:\Program Files\dotnet\shared\Microsoft.NETCore.App` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 - -`Location: C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App` -- 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 - -### .NET Framework -`Type: Developer Pack` -`Location C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX Tools` -- 4.7.2 4.8 - -### PowerShell Tools -- 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_\ | +``` + +#### Go +| Version | Architecture | Environment Variable | +| ------- | ------------ | -------------------- | +| 1.9.7 | x64 | GOROOT_1_9_X64 | +| 1.10.8 | x64 | GOROOT_1_10_X64 | +| 1.11.13 | x64 | GOROOT_1_11_X64 | +| 1.12.17 | x64 | GOROOT_1_12_X64 | +| 1.13.15 | x64 | GOROOT_1_13_X64 | +| 1.14.9 (Default) | x64 | GOROOT_1_14_X64 | +| 1.15.2 | x64 | GOROOT_1_15_X64 | + + +#### Node +| Version | Architecture | +| ------- | ------------ | +| 8.17.0 | x64 | +| 10.22.1 | x64 | +| 12.19.0 | x64 | +| 14.13.1 | x64 | + + +#### Python +| Version | Architecture | +| ------- | ------------ | +| 2.7.18 | x64, x86 | +| 3.5.4 | x64, x86 | +| 3.6.8 | x64, x86 | +| 3.7.9 (Default) | x64, x86 | +| 3.8.6 | x64, x86 | + + +#### Ruby +| Version | Architecture | +| ------- | ------------ | +| 2.4.10 | x64 | +| 2.5.8 (Default) | x64 | +| 2.6.6 | x64 | +| 2.7.1 | x64 | + + +#### PyPy +| Python Version | Architecture | PyPy Version | +| -------------- | ------------ | ------------ | +| 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 | + + + +### Databases +#### PostgreSQL +| Property | Value | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| ServiceName | postgresql-x64-13 | +| Version | 13.0 | +| ServiceStatus | Stopped | +| ServiceStartType | Disabled | +| 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 | + + +#### MongoDB +| Version | ServiceName | ServiceStatus | ServiceStartType | +| ------- | ----------- | ------------- | ---------------- | +| 4.4.1.0 | MongoDB | Running | Automatic | + + + +### Database tools +- Azure CosmosDb Emulator 2.11.6.0 +- SQLPS 1.0 +- MySQL 5.7.21.0 + + +### Visual Studio Enterprise 2019 +| Name | Version | Path | +| ----------------------------- | -------------- | -------------------------------------------------------------- | +| Visual Studio Enterprise 2019 | 16.7.30523.141 | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise | + +#### Workloads, components and extensions: + +| Package | Version | +| ------------------------------------------------------------------------- | -------------- | +| Component.Android.NDK.R16B | 16.7.30521.138 | +| Component.Android.SDK25.Private | 16.0.28625.61 | +| Component.Android.SDK28 | 16.2.29003.222 | +| Component.Ant | 1.9.3.8 | +| Component.Dotfuscator | 16.0.28528.71 | +| Component.Linux.CMake | 16.2.29003.222 | +| Component.MDD.Android | 16.0.28517.75 | +| Component.MDD.Linux | 16.5.29515.121 | +| Component.MDD.Linux.GCC.arm | 16.5.29515.121 | +| Component.Microsoft.VisualStudio.LiveShare | 1.0.2518 | +| Component.Microsoft.VisualStudio.RazorExtension | 16.0.28714.129 | +| Component.Microsoft.VisualStudio.Tools.Applications | 16.0.29425.2 | +| Component.Microsoft.VisualStudio.Web.AzureFunctions | 16.0.28714.129 | +| Component.Microsoft.Web.LibraryManager | 16.0.28315.86 | +| Component.Microsoft.Windows.DriverKit | 10.0.19030.0 | +| Component.OpenJDK | 16.1.28811.260 | +| Component.UnityEngine.x64 | 16.7.30310.162 | +| Component.Unreal | 16.1.28810.153 | +| Component.Unreal.Android | 16.1.28810.153 | +| Component.VSInstallerProjects | 0.9.9 | +| Component.WixToolset.VisualStudioExtension.Dev16 | 1.0.0.4 | +| Component.WixToolset.VisualStudioExtension.Schemas3 | 1.0.0.4 | +| Component.WixToolset.VisualStudioExtension.Schemas4 | 1.0.0.4 | +| Component.Xamarin | 16.7.30310.162 | +| Component.Xamarin.RemotedSimulator | 16.0.28315.86 | +| Microsoft.Component.Azure.DataLake.Tools | 16.7.30310.162 | +| Microsoft.Component.ClickOnce | 16.4.29409.204 | +| Microsoft.Component.MSBuild | 16.5.29515.121 | +| Microsoft.Component.NetFX.Native | 16.5.29515.121 | +| Microsoft.Component.PythonTools | 16.5.29515.121 | +| Microsoft.Component.PythonTools.Miniconda | 16.2.29003.222 | +| Microsoft.Component.PythonTools.Web | 16.0.28517.75 | +| Microsoft.Component.VC.Runtime.UCRTSDK | 16.0.28625.61 | +| Microsoft.ComponentGroup.Blend | 16.0.28315.86 | +| Microsoft.Net.Component.3.5.DeveloperTools | 16.0.28517.75 | +| Microsoft.Net.Component.4.5.1.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.5.2.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.5.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.6.1.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.6.2.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.6.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.7.1.TargetingPack | 16.7.30310.162 | +| Microsoft.Net.Component.4.7.2.SDK | 16.4.29409.204 | +| Microsoft.Net.Component.4.7.2.TargetingPack | 16.7.30310.162 | +| Microsoft.Net.Component.4.7.TargetingPack | 16.7.30310.162 | +| Microsoft.Net.Component.4.8.SDK | 16.4.29313.120 | +| Microsoft.Net.Component.4.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools | 16.3.29207.166 | +| Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools | 16.3.29207.166 | +| Microsoft.Net.ComponentGroup.4.7.DeveloperTools | 16.3.29207.166 | +| Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 16.3.29207.166 | +| Microsoft.Net.ComponentGroup.TargetingPacks.Common | 16.0.28516.191 | +| Microsoft.Net.Core.Component.SDK.2.1 | 16.7.30428.286 | +| Microsoft.NetCore.Component.DevelopmentTools | 16.5.29721.120 | +| Microsoft.NetCore.Component.Runtime.3.1 | 16.7.30428.286 | +| Microsoft.NetCore.Component.SDK | 16.7.30428.286 | +| Microsoft.NetCore.Component.Web | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.AppInsights.Tools | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.AspNet45 | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.Azure.AuthoringTools | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.Azure.ClientLibs | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.Azure.Compute.Emulator | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.Azure.Powershell | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.Azure.ResourceManager.Tools | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.Azure.Storage.AzCopy | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Azure.Storage.Emulator | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.Azure.Waverton | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.Azure.Waverton.BuildTools | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.ClassDesigner | 16.0.28528.71 | +| Microsoft.VisualStudio.Component.CloudExplorer | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.CodeMap | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.Common.Azure.Tools | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.CoreEditor | 16.1.28811.260 | +| Microsoft.VisualStudio.Component.Debugger.JustInTime | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Debugger.Snapshot | 16.5.29813.82 | +| Microsoft.VisualStudio.Component.Debugger.TimeTravel | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.DiagnosticTools | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.DockerTools | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.DotNetModelBuilder | 16.7.30322.227 | +| Microsoft.VisualStudio.Component.DslTools | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.EntityFramework | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.FSharp | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.FSharp.Desktop | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.FSharp.WebTemplates | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.GraphDocument | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.Graphics | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Graphics.Tools | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.IISExpress | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.IntelliCode | 0.2 | +| Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.JavaScript.Diagnostics | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.JavaScript.TypeScript | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.LinqToSql | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.LiveUnitTesting | 16.1.28811.260 | +| Microsoft.VisualStudio.Component.ManagedDesktop.Core | 16.4.29318.151 | +| Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.Merq | 16.2.29012.281 | +| Microsoft.VisualStudio.Component.MonoDebugger | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.MSODBC.SQL | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.MSSQL.CMDLnUtils | 16.0.28707.177 | +| Microsoft.VisualStudio.Component.Node.Tools | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.NuGet | 16.1.28829.92 | +| Microsoft.VisualStudio.Component.NuGet.BuildTools | 16.1.28829.92 | +| Microsoft.VisualStudio.Component.PortableLibrary | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.Roslyn.Compiler | 16.0.28714.129 | +| Microsoft.VisualStudio.Component.Roslyn.LanguageServices | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.Sharepoint.Tools | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.SQL.ADAL | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.SQL.CLR | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.SQL.DataSources | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.SQL.SSDT | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.TeamOffice | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.TestTools.CodedUITest | 16.0.28327.66 | +| Microsoft.VisualStudio.Component.TestTools.WebLoadTest | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.TextTemplating | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.TypeScript.3.9 | 16.0.30322.227 | +| Microsoft.VisualStudio.Component.Unity | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.UWP.VC.ARM64 | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.VC.14.25.x86.x64 | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.140 | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.ASAN | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.ATL | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM64 | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.ATL.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.ATLMFC | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.CLI.Support | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.CMake.Project | 16.3.29103.31 | +| Microsoft.VisualStudio.Component.VC.CoreIde | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.DiagnosticTools | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.Llvm.Clang | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.VC.MFC.ARM | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.MFC.ARM64 | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.Redist.14.Latest | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.Redist.MSM | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.VC.Tools.ARM | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.Tools.ARM64 | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.Tools.x86.x64 | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.v141.ARM | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.v141.ARM64 | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.v141.ATL | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.MFC | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.x86.x64 | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VSSDK | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.Wcf.Tooling | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.Web | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.WebDeploy | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Windows10SDK | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299 | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.Windows10SDK.17134 | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.Windows10SDK.17763 | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Windows10SDK.18362 | 16.1.28829.92 | +| Microsoft.VisualStudio.Component.Windows10SDK.19041 | 16.7.30310.162 | +| Microsoft.VisualStudio.Component.WinXP | 16.1.28811.260 | +| Microsoft.VisualStudio.Component.Workflow | 16.0.28315.86 | +| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native | 16.0.28621.142 | +| Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices | 16.4.29409.204 | +| Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites | 16.7.30310.162 | +| Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools | 16.0.28528.71 | +| Microsoft.VisualStudio.ComponentGroup.AzureFunctions | 16.0.28621.142 | +| Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging | 16.7.30310.162 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core | 16.2.29012.281 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang | 16.7.30310.162 | +| Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard | 16.3.29102.218 | +| Microsoft.VisualStudio.ComponentGroup.UWP.Support | 16.4.29409.204 | +| Microsoft.VisualStudio.ComponentGroup.UWP.VC | 16.7.30310.162 | +| Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin | 16.5.29514.35 | +| Microsoft.VisualStudio.ComponentGroup.VisualStudioExtension.Prerequisites | 16.4.29318.151 | +| Microsoft.VisualStudio.ComponentGroup.Web | 16.4.29318.151 | +| Microsoft.VisualStudio.ComponentGroup.Web.CloudTools | 16.2.29003.222 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions | 16.7.30310.162 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake | 16.3.29207.166 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine | 16.0.28315.86 | +| Microsoft.VisualStudio.Workload.Azure | 16.4.29409.204 | +| Microsoft.VisualStudio.Workload.CoreEditor | 16.0.28315.86 | +| Microsoft.VisualStudio.Workload.Data | 16.0.28720.110 | +| Microsoft.VisualStudio.Workload.DataScience | 16.0.28720.110 | +| Microsoft.VisualStudio.Workload.ManagedDesktop | 16.7.30310.162 | +| Microsoft.VisualStudio.Workload.ManagedGame | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NativeCrossPlat | 16.4.29409.204 | +| Microsoft.VisualStudio.Workload.NativeDesktop | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NativeGame | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NativeMobile | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NetCoreTools | 16.7.30310.162 | +| Microsoft.VisualStudio.Workload.NetCrossPlat | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NetWeb | 16.4.29409.204 | +| Microsoft.VisualStudio.Workload.Node | 16.1.28825.262 | +| Microsoft.VisualStudio.Workload.Office | 16.3.29207.166 | +| 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.14 | +| SSDT SQL Server Integration Services Projects | 3.10 | +| SSDT Microsoft Reporting Services Projects | 2.6.7 | +| Windows Driver Kit | 3.11.4516 | +| Windows Driver Kit Visual Studio Extension | 10.1.19041.1 | +| WIX Toolset | 3.11.4516 | +| WIX Toolset Studio 2019 Extension | 1.0.0.4 | + +#### Microsoft Visual C++: + +| Name | Architecture | Version | +| -------------------------------------------- | ------------ | ----------- | +| Microsoft Visual C++ 2010 Redistributable | x64 | 10.0.40219 | +| Microsoft Visual C++ 2010 Redistributable | x86 | 10.0.40219 | +| Microsoft Visual C++ 2012 Additional Runtime | x64 | 11.0.61030 | +| Microsoft Visual C++ 2012 Minimum Runtime | x64 | 11.0.61030 | +| Microsoft Visual C++ 2013 Additional Runtime | x64 | 12.0.40660 | +| Microsoft Visual C++ 2013 Minimum Runtime | x64 | 12.0.40660 | +| Microsoft Visual C++ 2013 Additional Runtime | x86 | 12.0.21005 | +| Microsoft Visual C++ 2013 Minimum Runtime | x86 | 12.0.21005 | +| Microsoft Visual C++ 2019 Additional Runtime | x64 | 14.27.29112 | +| Microsoft Visual C++ 2019 Debug 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 Debug Runtime | x86 | 14.27.29112 | +| Microsoft Visual C++ 2019 Minimum Runtime | x86 | 14.27.29112 | + +### .NET Core SDK +`Location C:\Program Files\dotnet\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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 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.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 + +### .NET Core Runtime +`Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All` +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 + +`Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App` +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 + +`Location: C:\Program Files\dotnet\shared\Microsoft.NETCore.App` +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 2.1.21 2.1.22 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 + +`Location: C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App` +- 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 + +### .NET Framework +`Type: Developer Pack` +`Location C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX Tools` +- 4.7.2 4.8 + +### PowerShell Tools +- 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
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 | - -### Android SDK Tools -| Package Name | Description | -| -------------- | ------------------------------------------- | -| platform-tools | Android SDK Platform-Tools, Revision 30.0.4 | -| tools | Android SDK Tools 26.1.1, Revision 26.1.1 | - -### 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, 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, rev 6, 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 | - -### Cached Docker images -- mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 -- mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 -- mcr.microsoft.com/windows/servercore:ltsc2019 -- mcr.microsoft.com/windows/nanoserver:1809 -- microsoft/aspnetcore-build:1.0-2.0 - - +``` +#### 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
2.2.5 | +| PSWindowsUpdate | 2.2.0.2 | +| SqlServer | 21.1.18228 | +| VSSetup | 2.2.16 | + +### 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-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-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 | +| 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-ltsc2019 +- mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 +- mcr.microsoft.com/windows/servercore:ltsc2019 +- mcr.microsoft.com/windows/nanoserver:1809 +- microsoft/aspnetcore-build:1.0-2.0 + + 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/Dotnet.ps1 b/images/win/post-generation/Dotnet.ps1 new file mode 100644 index 000000000..fd43757a6 --- /dev/null +++ b/images/win/post-generation/Dotnet.ps1 @@ -0,0 +1,8 @@ +$latestPath = [System.Environment]::GetEnvironmentVariable('PATH', [System.EnvironmentVariableTarget]::Machine) +$dotnetPath = "$env:USERPROFILE\.dotnet\tools" + +if (-not $latestPath.Contains($dotnetPath)) +{ + $latestPath = "$dotnetPath;$latestPath" + [System.Environment]::SetEnvironmentVariable('PATH', $latestPath, [System.EnvironmentVariableTarget]::Machine) +} \ No newline at end of file diff --git a/images/win/post-generation/RustJunction.ps1 b/images/win/post-generation/RustJunction.ps1 new file mode 100644 index 000000000..86f3fc106 --- /dev/null +++ b/images/win/post-generation/RustJunction.ps1 @@ -0,0 +1,12 @@ +# Create Rust junction points to cargo and rustup folder +$cargoTarget = "$env:USERPROFILE\.cargo" +if (-not (Test-Path $cargoTarget)) +{ + New-Item -ItemType Junction -Path $cargoTarget -Target "C:\Rust\.cargo" +} + +$rustupTarget = "$env:USERPROFILE\.rustup" +if (-not (Test-Path $rustupTarget)) +{ + New-Item -ItemType Junction -Path $rustupTarget -Target "C:\Rust\.rustup" +} \ No newline at end of file diff --git a/images/win/post-generation/VSConfiguration.ps1 b/images/win/post-generation/VSConfiguration.ps1 new file mode 100644 index 000000000..0ff9d7bfb --- /dev/null +++ b/images/win/post-generation/VSConfiguration.ps1 @@ -0,0 +1,4 @@ +$vsInstallRoot = Get-VisualStudioPath +$devEnvPath = "$vsInstallRoot\Common7\IDE\devenv.exe" + +cmd.exe /c "`"$devEnvPath`" /updateconfiguration" \ No newline at end of file diff --git a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 index e150e1a12..1f52d22e6 100644 --- a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 +++ b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 @@ -37,6 +37,9 @@ Export-ModuleMember -Function @( 'Get-VsCatalogJsonPath' 'Get-VisualStudioPath' 'Install-AndroidSDKPackages' + 'Get-AndroidPackages' + 'Get-AndroidPackagesByName' + 'Get-AndroidPackagesByVersion' 'Get-VisualStudioPackages' 'Get-VisualStudioComponents' ) diff --git a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 index 282c03762..aed13b999 100644 --- a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 +++ b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 @@ -418,3 +418,41 @@ function Install-AndroidSDKPackages { & $AndroidSDKManagerPath --sdk_root=$AndroidSDKRootPath "$PrefixPackageName$package" } } + +function Get-AndroidPackages { + Param + ( + [Parameter(Mandatory=$true)] + [string]$AndroidSDKManagerPath + ) + + return (& $AndroidSDKManagerPath --list --verbose).Trim() | Foreach-Object { $_.Split()[0] } | Where-Object {$_} +} + +function Get-AndroidPackagesByName { + Param ( + [Parameter(Mandatory=$true)] + [string[]]$AndroidPackages, + [Parameter(Mandatory=$true)] + [string]$PrefixPackageName + ) + + return $AndroidPackages | Where-Object { "$_".StartsWith($PrefixPackageName) } +} + +function Get-AndroidPackagesByVersion { + Param ( + [Parameter(Mandatory=$true)] + [string[]]$AndroidPackages, + [Parameter(Mandatory=$true)] + [string]$PrefixPackageName, + [object]$MinimumVersion, + [char]$Delimiter, + [int]$Index = 0 + ) + + $Type = $MinimumVersion.GetType() + $packagesByName = Get-AndroidPackagesByName -AndroidPackages $AndroidPackages -PrefixPackageName $PrefixPackageName + $packagesByVersion = $packagesByName | Where-Object { ($_.Split($Delimiter)[$Index] -as $Type) -ge $MinimumVersion } + return $packagesByVersion | Sort-Object { $_.Split($Delimiter)[$Index] -as $Type} -Unique +} 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 } diff --git a/images/win/scripts/Installers/Configure-Toolset.ps1 b/images/win/scripts/Installers/Configure-Toolset.ps1 index a4fdba1f0..9e067ade2 100644 --- a/images/win/scripts/Installers/Configure-Toolset.ps1 +++ b/images/win/scripts/Installers/Configure-Toolset.ps1 @@ -27,10 +27,6 @@ Function Set-DefaultVariables } } -$ErrorActionPreference = "Stop" - -Import-Module -Name ImageHelpers -Force -DisableNameChecking - # Define executables for cached tools $toolsEnvironmentVariables = @{ Python = @{ diff --git a/images/win/scripts/Installers/Download-ToolCache.ps1 b/images/win/scripts/Installers/Download-ToolCache.ps1 index 6c93e3804..8656fb6a7 100644 --- a/images/win/scripts/Installers/Download-ToolCache.ps1 +++ b/images/win/scripts/Installers/Download-ToolCache.ps1 @@ -62,8 +62,6 @@ Function Set-DefaultRubyVersion { Invoke-Expression "gem update --system" } -Import-Module -Name ImageHelpers -Force - $FeedPrefix = "https://npm.pkg.github.com" $AccessToken = $env:GITHUB_FEED_TOKEN diff --git a/images/win/scripts/Installers/Finalize-VM.ps1 b/images/win/scripts/Installers/Finalize-VM.ps1 index ab9e7080b..4e7a260c4 100644 --- a/images/win/scripts/Installers/Finalize-VM.ps1 +++ b/images/win/scripts/Installers/Finalize-VM.ps1 @@ -6,8 +6,6 @@ Write-Host "Cleanup WinSxS" Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase -$ErrorActionPreference = 'silentlycontinue' - Write-Host "Clean up various directories" @( "C:\\Recovery", @@ -30,4 +28,5 @@ Write-Host "Clean up various directories" $winInstallDir = "$env:windir\\Installer" New-Item -Path $winInstallDir -ItemType Directory -Force -$ErrorActionPreference = 'Continue' +# Remove AllUsersAllHosts profile +Remove-Item $profile.AllUsersAllHosts -Force diff --git a/images/win/scripts/Installers/Initialize-VM.ps1 b/images/win/scripts/Installers/Initialize-VM.ps1 index bd4619caa..ad853bb74 100644 --- a/images/win/scripts/Installers/Initialize-VM.ps1 +++ b/images/win/scripts/Installers/Initialize-VM.ps1 @@ -30,6 +30,9 @@ function Disable-UserAccessControl { Write-Host "User Access Control (UAC) has been disabled." } +# Enable $ErrorActionPreference='Stop' for AllUsersAllHosts +Add-Content -Path $profile.AllUsersAllHosts -Value '$ErrorActionPreference="Stop"' + # Set TLS1.2 [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" diff --git a/images/win/scripts/Installers/Install-AzureCosmosDbEmulator.ps1 b/images/win/scripts/Installers/Install-AzureCosmosDbEmulator.ps1 index 52c99f267..ba7922a73 100644 --- a/images/win/scripts/Installers/Install-AzureCosmosDbEmulator.ps1 +++ b/images/win/scripts/Installers/Install-AzureCosmosDbEmulator.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Azure CosmosDb Emulator #################################################################################### -Import-Module -Name ImageHelpers -Force - $InstallerName = "AzureCosmosDBEmulator.msi" $InstallerUrl = "https://aka.ms/cosmosdb-emulator" diff --git a/images/win/scripts/Installers/Install-AzureModules.ps1 b/images/win/scripts/Installers/Install-AzureModules.ps1 index d03100bd3..a12dec60c 100644 --- a/images/win/scripts/Installers/Install-AzureModules.ps1 +++ b/images/win/scripts/Installers/Install-AzureModules.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Azure PowerShell modules ################################################################################ -$ErrorActionPreference = "Stop" - # The correct Modules need to be saved in C:\Modules $installPSModulePath = $env:PSMODULES_ROOT_FOLDER if (-not (Test-Path -LiteralPath $installPSModulePath)) diff --git a/images/win/scripts/Installers/Install-Chrome.ps1 b/images/win/scripts/Installers/Install-Chrome.ps1 index 5e1d6ae48..790ec09f0 100644 --- a/images/win/scripts/Installers/Install-Chrome.ps1 +++ b/images/win/scripts/Installers/Install-Chrome.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Google Chrome ################################################################################ -Import-Module -Name ImageHelpers -Force - # Download and install latest Chrome browser $ChromeInstallerFile = "chrome_installer.exe" $ChromeInstallerUrl = "https://dl.google.com/chrome/install/375.126/${ChromeInstallerFile}" diff --git a/images/win/scripts/Installers/Install-CloudFoundryCli.ps1 b/images/win/scripts/Installers/Install-CloudFoundryCli.ps1 index 65831bd7d..2bc7e4b0d 100644 --- a/images/win/scripts/Installers/Install-CloudFoundryCli.ps1 +++ b/images/win/scripts/Installers/Install-CloudFoundryCli.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Cloud Foundry CLI ################################################################################ -Import-Module -Name ImageHelpers - # Download the latest cf cli exe $CloudFoundryCliName = "cf-cli.zip" $CloudFoundryCliUrl = "https://packages.cloudfoundry.org/stable?release=windows64-exe&source=github" diff --git a/images/win/scripts/Installers/Install-DACFx.ps1 b/images/win/scripts/Installers/Install-DACFx.ps1 index fb50af0d9..a59466d71 100644 --- a/images/win/scripts/Installers/Install-DACFx.ps1 +++ b/images/win/scripts/Installers/Install-DACFx.ps1 @@ -1,12 +1,10 @@ #################################################################################### ## 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 #################################################################################### -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 diff --git a/images/win/scripts/Installers/Install-Firefox.ps1 b/images/win/scripts/Installers/Install-Firefox.ps1 index 979a7b4b4..f66a72e1b 100644 --- a/images/win/scripts/Installers/Install-Firefox.ps1 +++ b/images/win/scripts/Installers/Install-Firefox.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Mozilla Firefox ################################################################################ -Import-Module -Name ImageHelpers -Force - # Install and configure Firefox browser Write-Host "Install latest Firefox browser..." $VersionsManifest = Invoke-RestMethod "https://product-details.mozilla.org/1.0/firefox_versions.json" diff --git a/images/win/scripts/Installers/Install-Git.ps1 b/images/win/scripts/Installers/Install-Git.ps1 index 701cf6c4f..2a5eb546b 100644 --- a/images/win/scripts/Installers/Install-Git.ps1 +++ b/images/win/scripts/Installers/Install-Git.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Git for Windows ################################################################################ -Import-Module -Name ImageHelpers - function getSimpleValue([string] $url, [string] $filename ) { $fullpath = "${env:Temp}\$filename" Invoke-WebRequest -Uri $url -OutFile $fullpath @@ -38,5 +36,13 @@ Choco-Install -PackageName hub # Disable GCM machine-wide [Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine) +if (Test-IsWin16) { + $env:Path += ";$env:ProgramFiles\OpenSSH-Win64" +} + +# Add well-known SSH host keys to ssh_known_hosts +ssh-keyscan -t rsa github.com >> "C:\Program Files\Git\etc\ssh\ssh_known_hosts" +ssh-keyscan -t rsa ssh.dev.azure.com >> "C:\Program Files\Git\etc\ssh\ssh_known_hosts" + Invoke-PesterTests -TestFile "Git" -TestName "Git" Invoke-PesterTests -TestFile "CLI.Tools" -TestName "Hub CLI" diff --git a/images/win/scripts/Installers/Install-GitHub-CLI.ps1 b/images/win/scripts/Installers/Install-GitHub-CLI.ps1 index 7891991d4..1efb2f74e 100644 --- a/images/win/scripts/Installers/Install-GitHub-CLI.ps1 +++ b/images/win/scripts/Installers/Install-GitHub-CLI.ps1 @@ -3,8 +3,14 @@ ## Desc: Install GitHub CLI ################################################################################ -Choco-Install -PackageName gh +Write-Host "Get the latest gh version..." + +$Name = "gh_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 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" diff --git a/images/win/scripts/Installers/Install-Haskell.ps1 b/images/win/scripts/Installers/Install-Haskell.ps1 index 459b74a5e..18b256a3b 100644 --- a/images/win/scripts/Installers/Install-Haskell.ps1 +++ b/images/win/scripts/Installers/Install-Haskell.ps1 @@ -4,7 +4,7 @@ ################################################################################ # Get 3 latest versions of GHC -[Version[]] $ChocoVersionsOutput = & choco search ghc --allversions --limit-output | Where-Object { $_.StartsWith("ghc|") } | ForEach-Object { $_.TrimStart("ghc|") } +[Version[]] $ChocoVersionsOutput = & choco search ghc --allversions | Where-Object { $_.StartsWith("ghc ") -and $_ -match "Approved"} | ForEach-Object { [regex]::matches($_, "\d+(\.\d+){2,}").value } $MajorMinorGroups = $ChocoVersionsOutput | Sort-Object -Descending | Group-Object { $_.ToString(2) } | Select-Object -First 3 $VersionsList = $MajorMinorGroups | ForEach-Object { $_.Group | Select-Object -First 1 } | Sort-Object @@ -17,7 +17,8 @@ ForEach ($version in $VersionsList) # Add default version of GHC to path, because choco formula updates path on user level $DefaultGhcVersion = $VersionsList | Select-Object -Last 1 -$DefaultGhcPath = Join-Path $env:ChocolateyInstall "lib\ghc.$DefaultGhcVersion\tools\ghc-$DefaultGhcVersion\bin" +$DefaultGhcShortVersion = ([version]$DefaultGhcVersion).ToString(3) +$DefaultGhcPath = Join-Path $env:ChocolateyInstall "lib\ghc.$DefaultGhcVersion\tools\ghc-$DefaultGhcShortVersion\bin" Add-MachinePathItem -PathItem $DefaultGhcPath Write-Host "Installing cabal..." diff --git a/images/win/scripts/Installers/Install-JavaTools.ps1 b/images/win/scripts/Installers/Install-JavaTools.ps1 index 04a56a914..4852f64c1 100644 --- a/images/win/scripts/Installers/Install-JavaTools.ps1 +++ b/images/win/scripts/Installers/Install-JavaTools.ps1 @@ -3,8 +3,6 @@ ## Desc: Install various JDKs and java tools ################################################################################ -Import-Module -Name ImageHelpers -Force - function Set-JavaPath { param ( [string] $Version, diff --git a/images/win/scripts/Installers/Install-Miniconda.ps1 b/images/win/scripts/Installers/Install-Miniconda.ps1 index 6f716b509..71706b3bc 100644 --- a/images/win/scripts/Installers/Install-Miniconda.ps1 +++ b/images/win/scripts/Installers/Install-Miniconda.ps1 @@ -3,14 +3,10 @@ ## Desc: Install the latest version of Miniconda and set $env:CONDA ################################################################################ -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") diff --git a/images/win/scripts/Installers/Install-NET48.ps1 b/images/win/scripts/Installers/Install-NET48.ps1 index ef343b530..ef26a3c06 100644 --- a/images/win/scripts/Installers/Install-NET48.ps1 +++ b/images/win/scripts/Installers/Install-NET48.ps1 @@ -3,8 +3,6 @@ ## Desc: Install .NET 4.8 ################################################################################ -Import-Module -Name ImageHelpers -Force - # .NET 4.8 Dev pack $InstallerName = "ndp48-devpack-enu.exe" $InstallerUrl = "https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0307177e14752e359fde5423ab583e43/${InstallerName}" diff --git a/images/win/scripts/Installers/Install-NodeLts.ps1 b/images/win/scripts/Installers/Install-NodeLts.ps1 index 8dc4559ed..a44a04fbc 100644 --- a/images/win/scripts/Installers/Install-NodeLts.ps1 +++ b/images/win/scripts/Installers/Install-NodeLts.ps1 @@ -4,8 +4,6 @@ ## Must run after python is configured ################################################################################ -Import-Module -Name ImageHelpers -Force - $PrefixPath = 'C:\npm\prefix' $CachePath = 'C:\npm\cache' diff --git a/images/win/scripts/Installers/Install-PHP.ps1 b/images/win/scripts/Installers/Install-PHP.ps1 index a51c0e276..7e766bbae 100644 --- a/images/win/scripts/Installers/Install-PHP.ps1 +++ b/images/win/scripts/Installers/Install-PHP.ps1 @@ -2,9 +2,6 @@ ## File: Install-PHP.ps1 ## Desc: Install PHP ################################################################################ -$ErrorActionPreference = "Stop" - -Import-Module -Name ImageHelpers # Install latest PHP in chocolatey $installDir = "c:\tools\php" diff --git a/images/win/scripts/Installers/Install-PostgreSQL.ps1 b/images/win/scripts/Installers/Install-PostgreSQL.ps1 index 7d46d43ec..0f88bb7f4 100644 --- a/images/win/scripts/Installers/Install-PostgreSQL.ps1 +++ b/images/win/scripts/Installers/Install-PostgreSQL.ps1 @@ -1,5 +1,3 @@ -$ErrorActionPreference = "Stop" - #Define user and password for PostgreSQL database $pgUser = "postgres" $pgPwd = "root" diff --git a/images/win/scripts/Installers/Install-PowerShellModules.ps1 b/images/win/scripts/Installers/Install-PowerShellModules.ps1 index f6cb22d03..f0afb9e6c 100644 --- a/images/win/scripts/Installers/Install-PowerShellModules.ps1 +++ b/images/win/scripts/Installers/Install-PowerShellModules.ps1 @@ -1,5 +1,3 @@ -$ErrorActionPreference = "Stop" - # Set TLS1.2 [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" diff --git a/images/win/scripts/Installers/Install-PyPy.ps1 b/images/win/scripts/Installers/Install-PyPy.ps1 index af1b11820..8b029f024 100644 --- a/images/win/scripts/Installers/Install-PyPy.ps1 +++ b/images/win/scripts/Installers/Install-PyPy.ps1 @@ -82,9 +82,6 @@ function Install-PyPy } } -$ErrorActionPreference = "Stop" -Import-Module -Name ImageHelpers -Force -DisableNameChecking - # Get PyPy content from toolset $pypyTools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache | Where-Object Name -eq "PyPy" diff --git a/images/win/scripts/Installers/Install-Rust.ps1 b/images/win/scripts/Installers/Install-Rust.ps1 index 35e16dcd9..294a1370f 100644 --- a/images/win/scripts/Installers/Install-Rust.ps1 +++ b/images/win/scripts/Installers/Install-Rust.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Rust for Windows ################################################################################ -Import-Module -Name ImageHelpers - # Rust Env $env:RUSTUP_HOME = "C:\Rust\.rustup" $env:CARGO_HOME = "C:\Rust\.cargo" diff --git a/images/win/scripts/Installers/Install-SQLPowerShellTools.ps1 b/images/win/scripts/Installers/Install-SQLPowerShellTools.ps1 index 7c0a3cfd1..60cbbefaf 100644 --- a/images/win/scripts/Installers/Install-SQLPowerShellTools.ps1 +++ b/images/win/scripts/Installers/Install-SQLPowerShellTools.ps1 @@ -3,8 +3,6 @@ ## Desc: Install SQL PowerShell tool ################################################################################ -Import-Module -Name ImageHelpers -Force - $BaseUrl = "https://download.microsoft.com/download/8/7/2/872BCECA-C849-4B40-8EBE-21D48CDF1456/ENU/x64" # install required MSIs diff --git a/images/win/scripts/Installers/Install-Sbt.ps1 b/images/win/scripts/Installers/Install-Sbt.ps1 index fc8b6a509..cfc37f5b8 100644 --- a/images/win/scripts/Installers/Install-Sbt.ps1 +++ b/images/win/scripts/Installers/Install-Sbt.ps1 @@ -2,9 +2,6 @@ ## File: Install-Sbt.ps1 ## Desc: Install sbt for Windows ################################################################################ -$ErrorActionPreference = "Stop" - -Import-Module -Name ImageHelpers # Install the latest version of sbt. # See https://chocolatey.org/packages/sbt diff --git a/images/win/scripts/Installers/Install-Selenium.ps1 b/images/win/scripts/Installers/Install-Selenium.ps1 index d49ad082d..c1f2ce152 100644 --- a/images/win/scripts/Installers/Install-Selenium.ps1 +++ b/images/win/scripts/Installers/Install-Selenium.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Selenium Server standalone ################################################################################ -Import-Module -Name ImageHelpers -Force - # Acquire latest Selenium release number from GitHub API $latestReleaseUrl = "https://api.github.com/repos/SeleniumHQ/selenium/releases/latest" try { diff --git a/images/win/scripts/Installers/Install-Toolset.ps1 b/images/win/scripts/Installers/Install-Toolset.ps1 index 42cdbaf25..5a8b3689f 100644 --- a/images/win/scripts/Installers/Install-Toolset.ps1 +++ b/images/win/scripts/Installers/Install-Toolset.ps1 @@ -29,10 +29,6 @@ Function Install-Asset { Pop-Location } -$ErrorActionPreference = "Stop" - -Import-Module -Name ImageHelpers -Force - # Get toolcache content from toolset $ToolsToInstall = @("Python", "Node", "Boost", "Go") diff --git a/images/win/scripts/Installers/Install-VS.ps1 b/images/win/scripts/Installers/Install-VS.ps1 index ed4fca73f..d3db5b4dc 100644 --- a/images/win/scripts/Installers/Install-VS.ps1 +++ b/images/win/scripts/Installers/Install-VS.ps1 @@ -3,7 +3,9 @@ ## Desc: Install Visual Studio ################################################################################ -$ErrorActionPreference = "Stop" +# Temporary replace ip for download server to the one with the correct files and backup hosts file +Copy-Item -Path "$env:windir\System32\drivers\etc\hosts" -Destination "C:\hosts_backup" -Verbose +"68.232.34.200 download.visualstudio.microsoft.com" > "$env:windir\System32\drivers\etc\hosts" $toolset = Get-ToolsetContent $requiredComponents = $toolset.visualStudio.workloads | ForEach-Object { "--add $_" } @@ -49,4 +51,6 @@ if (Test-IsWin19) { Install-Binary -Url $sdkUrl -Name $sdkFileName -ArgumentList $argumentList } -Invoke-PesterTests -TestFile "VisualStudio" \ No newline at end of file +Invoke-PesterTests -TestFile "VisualStudio" +# Restore hosts file after VS installation +Move-Item -Path "C:\hosts_backup" -Destination "$env:windir\System32\drivers\etc\hosts" -Force -Verbose diff --git a/images/win/scripts/Installers/Install-Vcpkg.ps1 b/images/win/scripts/Installers/Install-Vcpkg.ps1 index f4b44f98e..4360b2d35 100644 --- a/images/win/scripts/Installers/Install-Vcpkg.ps1 +++ b/images/win/scripts/Installers/Install-Vcpkg.ps1 @@ -3,8 +3,6 @@ ## Desc: Install vcpkg ################################################################################ -Import-Module -Name ImageHelpers -Force - $Uri = 'https://github.com/Microsoft/vcpkg.git' $InstallDir = 'C:\vcpkg' $VcpkgExecPath = 'vcpkg.exe' diff --git a/images/win/scripts/Installers/Install-Vsix.ps1 b/images/win/scripts/Installers/Install-Vsix.ps1 index 4e6062a28..628b643b2 100644 --- a/images/win/scripts/Installers/Install-Vsix.ps1 +++ b/images/win/scripts/Installers/Install-Vsix.ps1 @@ -3,8 +3,6 @@ ## Desc: Install the Visual Studio Extensions from toolset.json ################################################################################### -$ErrorActionPreference = "Stop" - $toolset = Get-ToolsetContent $vsixPackagesList = $toolset.visualStudio.vsix if (-not $vsixPackagesList) { diff --git a/images/win/scripts/Installers/Install-WDK.ps1 b/images/win/scripts/Installers/Install-WDK.ps1 index 54f08cc92..82690c801 100644 --- a/images/win/scripts/Installers/Install-WDK.ps1 +++ b/images/win/scripts/Installers/Install-WDK.ps1 @@ -4,9 +4,6 @@ ################################################################################ # Requires Windows SDK with the same version number as the WDK - -Import-Module -Name ImageHelpers -Force - if (Test-IsWin19) { $winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2120843" diff --git a/images/win/scripts/Installers/Install-WinAppDriver.ps1 b/images/win/scripts/Installers/Install-WinAppDriver.ps1 index fc79ff993..38745dd92 100644 --- a/images/win/scripts/Installers/Install-WinAppDriver.ps1 +++ b/images/win/scripts/Installers/Install-WinAppDriver.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Windows Application Driver (WinAppDriver) #################################################################################### -Import-Module -Name ImageHelpers -Force - $InstallerName = "WindowsApplicationDriver.msi" $InstallerUrl = "https://github.com/Microsoft/WinAppDriver/releases/download/v1.1/${InstallerName}" diff --git a/images/win/scripts/Installers/Install-Wix.ps1 b/images/win/scripts/Installers/Install-Wix.ps1 index 63305f57f..88ef31b29 100644 --- a/images/win/scripts/Installers/Install-Wix.ps1 +++ b/images/win/scripts/Installers/Install-Wix.ps1 @@ -3,8 +3,6 @@ ## Desc: Install WIX. ################################################################################ -Import-Module -Name ImageHelpers -Force - Choco-Install -PackageName wixtoolset -ArgumentList "--force" if(Test-IsWin19) diff --git a/images/win/scripts/Installers/Update-AndroidSDK.ps1 b/images/win/scripts/Installers/Update-AndroidSDK.ps1 index b5b9a67f7..a6a201311 100644 --- a/images/win/scripts/Installers/Update-AndroidSDK.ps1 +++ b/images/win/scripts/Installers/Update-AndroidSDK.ps1 @@ -3,15 +3,6 @@ ## Desc: Install and update Android SDK and tools ################################################################################ -# Download the latest command line tools so that we can accept all of the licenses. -# See https://developer.android.com/studio/#command-tools -$sdkArchPath = Start-DownloadWithRetry -Url "https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip" -Name "android-sdk-tools.zip" - -# Don't replace the one that VS installs as it seems to break things. -Expand-Archive -Path $sdkArchPath -DestinationPath android-sdk -Force - -$sdk = Get-Item -Path .\android-sdk - # Install the standard Android SDK licenses. In the past, there wasn't a better way to do this, # so we are base64-encoding a zip of the licenses directory from another installation. # To create this base64 string, create a zip file that contains nothing but a 'licenses' folder, @@ -30,7 +21,6 @@ $content = [System.Convert]::FromBase64String($base64Content) Set-Content -Path .\android-sdk-licenses.zip -Value $content -Encoding Byte Expand-Archive -Path .\android-sdk-licenses.zip -DestinationPath 'C:\Program Files (x86)\Android\android-sdk' -Force - # run the updates. # keep newer versions in descending order @@ -42,15 +32,32 @@ $sdkManager = "$sdkRoot\tools\bin\sdkmanager.bat" & $sdkManager --sdk_root=$sdkRoot "platform-tools" -Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager ` - -AndroidSDKRootPath $sdkRoot ` - -AndroidPackages $androidToolset.platform_list ` - -PrefixPackageName "platforms;" +# get packages info +$androidPackages = Get-AndroidPackages -AndroidSDKManagerPath $sdkManager + +# platforms +[int]$platformMinVersion = $androidToolset.platform_min_version +$platformList = Get-AndroidPackagesByVersion -AndroidPackages $androidPackages ` + -PrefixPackageName "platforms;" ` + -MinimumVersion $platformMinVersion ` + -Delimiter "-" ` + -Index 1 + +# build-tools +[version]$buildToolsMinVersion = $androidToolset.build_tools_min_version +$buildToolsList = Get-AndroidPackagesByVersion -AndroidPackages $androidPackages ` + -PrefixPackageName "build-tools;" ` + -MinimumVersion $buildToolsMinVersion ` + -Delimiter ";" ` + -Index 1 Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager ` -AndroidSDKRootPath $sdkRoot ` - -AndroidPackages $androidToolset.build_tools ` - -PrefixPackageName "build-tools;" + -AndroidPackages $platformList + +Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager ` + -AndroidSDKRootPath $sdkRoot ` + -AndroidPackages $buildToolsList Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager ` -AndroidSDKRootPath $sdkRoot ` diff --git a/images/win/scripts/Installers/Update-DockerImages.ps1 b/images/win/scripts/Installers/Update-DockerImages.ps1 index d1a689d45..ec5df1b4a 100644 --- a/images/win/scripts/Installers/Update-DockerImages.ps1 +++ b/images/win/scripts/Installers/Update-DockerImages.ps1 @@ -16,18 +16,7 @@ function DockerPull { } } -if (Test-IsWin16) { - DockerPull mcr.microsoft.com/windows/servercore:ltsc2016 - DockerPull mcr.microsoft.com/windows/nanoserver:10.0.14393.953 - DockerPull mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 - DockerPull mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 +$dockerToolset = (Get-ToolsetContent).docker +foreach($dockerImage in $dockerToolset.images) { + DockerPull $dockerImage } - -if (Test-IsWin19) { - DockerPull mcr.microsoft.com/windows/servercore:ltsc2019 - DockerPull mcr.microsoft.com/windows/nanoserver:1809 - DockerPull mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 - DockerPull mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 -} - -DockerPull microsoft/aspnetcore-build:1.0-2.0 diff --git a/images/win/scripts/Installers/Windows2016/Install-SSDT.ps1 b/images/win/scripts/Installers/Windows2016/Install-SSDT.ps1 index b39a547d2..e67d0cb2a 100644 --- a/images/win/scripts/Installers/Windows2016/Install-SSDT.ps1 +++ b/images/win/scripts/Installers/Windows2016/Install-SSDT.ps1 @@ -3,8 +3,6 @@ ## Desc: Install SQL Server Data Tools for Windows ################################################################################ -Import-Module -Name ImageHelpers -Force - #SSDT for Visual Studio 2017 #The link down below points to the latest version of SSDT for Visual Studio 2017 $InstallerName = "SSDT-Setup-ENU.exe" diff --git a/images/win/scripts/Installers/Windows2016/Install-Win81SDK.ps1 b/images/win/scripts/Installers/Windows2016/Install-Win81SDK.ps1 index d89f468fa..897b8bffe 100644 --- a/images/win/scripts/Installers/Windows2016/Install-Win81SDK.ps1 +++ b/images/win/scripts/Installers/Windows2016/Install-Win81SDK.ps1 @@ -3,8 +3,6 @@ ## Desc: Install Windows 8.1 SDK ################################################################################ -Import-Module -Name ImageHelpers -Force - $InstallerName = "sdksetup.exe" $InstallerUrl = "http://download.microsoft.com/download/B/0/C/B0C80BA3-8AD6-4958-810B-6882485230B5/standalonesdk/${InstallerName}" $ArgumentList = ("/quiet", "/norestart") diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Android.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Android.psm1 index f85423c2c..d3c9a1743 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Android.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Android.psm1 @@ -31,7 +31,6 @@ function Get-AndroidInstalledPackages { return $androidInstalledPackages } - function Build-AndroidTable { $packageInfo = Get-AndroidInstalledPackages return @( diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index 4a24d73e3..06e1054da 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -1,5 +1,3 @@ -$ErrorActionPreference = "Stop" - Import-Module MarkdownPS Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking @@ -74,7 +72,6 @@ $markdown += New-MDList -Style Unordered -Lines @( $markdown += New-MDHeader "Tools" -Level 3 $markdown += New-MDList -Style Unordered -Lines @( - (Get-AzCosmosDBEmulatorVersion), (Get-AzCopyVersion), (Get-BazelVersion), (Get-BazeliskVersion), @@ -91,15 +88,12 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-KubectlVersion), (Get-KindVersion), (Get-MinGWVersion), - (Get-MySQLVersion), (Get-MercurialVersion), (Get-NSISVersion), (Get-NewmanVersion), (Get-OpenSSLVersion), (Get-PackerVersion), (Get-PulumiVersion), - (Get-SQLPSVersion), - (Get-SQLServerPSVersion), (Get-SVNVersion), (Get-GHCVersion), (Get-CabalVersion), @@ -176,6 +170,15 @@ $markdown += New-MDHeader "Databases" -Level 3 $markdown += Build-DatabasesMarkdown $markdown += New-MDNewLine +$markdown += New-MDHeader "Database tools" -Level 3 +$markdown += New-MDList -Style Unordered -Lines @( + (Get-AzCosmosDBEmulatorVersion), + (Get-DacFxVersion), + (Get-SQLPSVersion), + (Get-MySQLVersion) +) +$markdown += New-MDNewLine + $vs = Get-VisualStudioVersion $markdown += New-MDHeader "$($vs.Name)" -Level 3 $markdown += $vs | New-MDTable @@ -238,4 +241,8 @@ $markdown += New-MDHeader "Android" -Level 3 $markdown += Build-AndroidTable | New-MDTable $markdown += New-MDNewLine +# Docker images section +$markdown += New-MDHeader "Cached Docker images" -Level 3 +$markdown += New-MDList -Style Unordered -Lines @(Get-CachedDockerImages) + $markdown | Out-File -FilePath "C:\InstalledSoftware.md" \ No newline at end of file diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 index 0c0f39f55..690f36764 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 @@ -125,12 +125,6 @@ function Get-SQLPSVersion { return "SQLPS $version" } -function Get-SQLServerPSVersion { - $module = Get-Module -Name SQLServer -ListAvailable - $version = $module.Version - return "SQLServer PS $version" -} - function Get-SVNVersion { $svnVersion = $(svn --version --quiet) return "Subversion (SVN) $svnVersion" @@ -260,3 +254,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 diff --git a/images/win/scripts/Tests/Android.Tests.ps1 b/images/win/scripts/Tests/Android.Tests.ps1 index 8a1b6c0bb..d6c81db4a 100644 --- a/images/win/scripts/Tests/Android.Tests.ps1 +++ b/images/win/scripts/Tests/Android.Tests.ps1 @@ -2,16 +2,27 @@ Import-Module (Join-Path $PSScriptRoot "..\SoftwareReport\SoftwareReport.Android Describe "Android SDK" { $androidToolset = (Get-ToolsetContent).android + $androidPackages = Get-AndroidPackages -AndroidSDKManagerPath (Get-AndroidSDKManagerPath) $androidInstalledPackages = Get-AndroidInstalledPackages $platformTestCases = @() - $platformList = $androidToolset.platform_list + [int]$platformMinVersion = $androidToolset.platform_min_version + $platformList = Get-AndroidPackagesByVersion -AndroidPackages $androidPackages ` + -PrefixPackageName "platforms;" ` + -MinimumVersion $platformMinVersion ` + -Delimiter "-" ` + -Index 1 $platformList | ForEach-Object { $platformTestCases += @{ platformVersion = $_; installedPackages = $androidInstalledPackages } } $buildToolsTestCases = @() - $buildToolsList = $androidToolset.build_tools + [version]$buildToolsMinVersion = $androidToolset.build_tools_min_version + $buildToolsList = Get-AndroidPackagesByVersion -AndroidPackages $androidPackages ` + -PrefixPackageName "build-tools;" ` + -MinimumVersion $buildToolsMinVersion ` + -Delimiter ";" ` + -Index 1 $buildToolsList | ForEach-Object { $buildToolsTestCases += @{ buildToolsVersion = $_; installedPackages = $androidInstalledPackages } } @@ -35,14 +46,14 @@ Describe "Android SDK" { } It "Platform version is installed" -TestCases $platformTestCases { - "$installedPackages" | Should -Match "platforms;$platformVersion" + "$installedPackages" | Should -Match "$platformVersion" } It "Platform build tools is installed" -TestCases $buildToolsTestCases { - "$installedPackages" | Should -Match "build-tools;$buildToolsVersion" + "$installedPackages" | Should -Match "$buildToolsVersion" } - if (Test-isWin19) { + if (Test-IsWin19) { It "Extra package is installed" -TestCases $extraPackagesTestCases { "$installedPackages" | Should -Match "extras;$extraPackage" } diff --git a/images/win/scripts/Tests/Haskell.Tests.ps1 b/images/win/scripts/Tests/Haskell.Tests.ps1 index b6ebb7630..826dc16d8 100644 --- a/images/win/scripts/Tests/Haskell.Tests.ps1 +++ b/images/win/scripts/Tests/Haskell.Tests.ps1 @@ -3,12 +3,18 @@ Describe "Haskell" { [array]$ghcVersionList = Get-ChildItem -Path $chocoPackagesPath -Filter "ghc.*" | ForEach-Object { $_.Name.TrimStart("ghc.") } $ghcCount = $ghcVersionList.Count $defaultGhcVersion = $ghcVersionList | Sort-Object {[Version]$_} | Select-Object -Last 1 + $ghcDefaultCases = @{ + defaultGhcVersion = $defaultGhcVersion + defaultGhcShortVersion = ([version]$defaultGhcVersion).ToString(3) + } $ghcTestCases = $ghcVersionList | ForEach-Object { $ghcVersion = $_ + $ghcShortVersion = ([version]$ghcVersion).ToString(3) @{ ghcVersion = $ghcVersion - binGhcPath = Join-Path $chocoPackagesPath "ghc.$ghcVersion\tools\ghc-$ghcVersion\bin\ghc.exe" + ghcShortVersion = $ghcShortVersion + binGhcPath = Join-Path $chocoPackagesPath "ghc.$ghcVersion\tools\ghc-$ghcShortVersion\bin\ghc.exe" } } @@ -17,11 +23,11 @@ Describe "Haskell" { } It "GHC is installed" -TestCases $ghcTestCases { - "$binGhcPath --version" | Should -MatchCommandOutput $ghcVersion + "$binGhcPath --version" | Should -MatchCommandOutput $ghcShortVersion } - It "GHC is the default version and should be the latest installed" -TestCases @{defaultGhcVersion = $defaultGhcVersion} { - "ghc --version" | Should -MatchCommandOutput $defaultGhcVersion + It "GHC is the default version and should be the latest installed" -TestCases $ghcDefaultCases { + "ghc --version" | Should -MatchCommandOutput $defaultGhcShortVersion } It "Cabal is installed" { diff --git a/images/win/toolsets/toolset-2016.json b/images/win/toolsets/toolset-2016.json index 856df7527..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.*" ] }, { @@ -127,12 +129,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-19" - ], - "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", "22.0.1", "21.1.2", "20.0.0", "19.1.0" - ], + "platform_min_version": "19", + "build_tools_min_version": "19.1.0", "extra_list": [ "android;m2repository", "google;m2repository", @@ -231,5 +229,14 @@ ], "vsix": [ ] + }, + "docker": { + "images": [ + "mcr.microsoft.com/windows/servercore:ltsc2016", + "mcr.microsoft.com/windows/nanoserver:10.0.14393.953", + "mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016", + "mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016", + "microsoft/aspnetcore-build:1.0-2.0" + ] } } diff --git a/images/win/toolsets/toolset-2019.json b/images/win/toolsets/toolset-2019.json index 20f05bf87..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.*" ] }, { @@ -136,12 +138,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-19" - ], - "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", "22.0.1", "21.1.2", "20.0.0", "19.1.0" - ], + "platform_min_version": "19", + "build_tools_min_version": "19.1.0", "extra_list": [ "android;m2repository", "google;m2repository", @@ -283,5 +281,14 @@ "id": "VSInstallerProjects" } ] + }, + "docker": { + "images": [ + "mcr.microsoft.com/windows/servercore:ltsc2019", + "mcr.microsoft.com/windows/nanoserver:1809", + "mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019", + "mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019", + "microsoft/aspnetcore-build:1.0-2.0" + ] } } diff --git a/images/win/Windows2016-Azure.json b/images/win/windows2016.json similarity index 99% rename from images/win/Windows2016-Azure.json rename to images/win/windows2016.json index e20404c82..a008e760a 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/windows2016.json @@ -82,6 +82,11 @@ "source": "{{ template_dir }}/scripts/SoftwareReport", "destination": "{{user `image_folder`}}" }, + { + "type": "file", + "source": "{{ template_dir }}/post-generation", + "destination": "C:/" + }, { "type": "file", "source": "{{ template_dir }}/scripts/Tests", @@ -160,12 +165,6 @@ "type": "windows-restart", "restart_timeout": "30m" }, - { - "type": "powershell", - "scripts": [ - "{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1" - ] - }, { "type": "powershell", "valid_exit_codes": [ @@ -176,6 +175,7 @@ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" ], "scripts": [ + "{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1", "{{ template_dir }}/scripts/Installers/Install-VS.ps1", "{{ template_dir }}/scripts/Installers/Install-NET48.ps1", "{{ template_dir }}/scripts/Installers/Windows2016/Install-SSDT.ps1" diff --git a/images/win/Windows2019-Azure.json b/images/win/windows2019.json similarity index 99% rename from images/win/Windows2019-Azure.json rename to images/win/windows2019.json index a28a36724..e7428dc6f 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/windows2019.json @@ -82,6 +82,11 @@ "source": "{{ template_dir }}/scripts/SoftwareReport", "destination": "{{user `image_folder`}}" }, + { + "type": "file", + "source": "{{ template_dir }}/post-generation", + "destination": "C:/" + }, { "type": "file", "source": "{{ template_dir }}/scripts/Tests", @@ -168,12 +173,6 @@ "type": "windows-restart", "restart_timeout": "10m" }, - { - "type": "powershell", - "scripts": [ - "{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1" - ] - }, { "type": "powershell", "valid_exit_codes": [ @@ -184,6 +183,7 @@ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" ], "scripts": [ + "{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1", "{{ template_dir }}/scripts/Installers/Install-VS.ps1", "{{ template_dir }}/scripts/Installers/Install-NET48.ps1" ],