This commit is contained in:
Nikita Bykov
2020-10-12 11:11:02 +03:00
90 changed files with 1819 additions and 1669 deletions

3
.gitattributes vendored
View File

@@ -1,2 +1 @@
# Do not normalize line endings * text=auto eol=lf
* -text

View File

@@ -24,9 +24,21 @@ jobs:
with: with:
github-token: ${{secrets.GITHUB_TOKEN}} github-token: ${{secrets.GITHUB_TOKEN}}
script: | script: |
github.issues.addLabels({ const issueLabels = await github.issues.listLabelsOnIssue({
issue_number: context.issue.number, issue_number: context.issue.number,
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo
labels: ['needs triage'] });
})
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']
})
}

View File

@@ -20,10 +20,10 @@ Function Get-PackerTemplatePath {
switch ($ImageType) { switch ($ImageType) {
([ImageType]::Windows2016) { ([ImageType]::Windows2016) {
$relativePath = "\images\win\Windows2016-Azure.json" $relativePath = "\images\win\windows2016.json"
} }
([ImageType]::Windows2019) { ([ImageType]::Windows2019) {
$relativePath = "\images\win\Windows2019-Azure.json" $relativePath = "\images\win\windows2019.json"
} }
([ImageType]::Ubuntu1604) { ([ImageType]::Ubuntu1604) {
$relativePath = "\images\linux\ubuntu1604.json" $relativePath = "\images\linux\ubuntu1604.json"

View File

@@ -16,5 +16,5 @@ pr:
jobs: jobs:
- template: image-generation.yml - template: image-generation.yml
parameters: parameters:
image_type: Windows2016-Azure image_type: windows2016
image_readme_name: Windows2016-Readme.md image_readme_name: Windows2016-Readme.md

View File

@@ -16,5 +16,5 @@ pr:
jobs: jobs:
- template: image-generation.yml - template: image-generation.yml
parameters: parameters:
image_type: Windows2019-Azure image_type: windows2019
image_readme_name: Windows2019-Readme.md image_readme_name: Windows2019-Readme.md

View File

@@ -105,3 +105,14 @@ jobs:
failTaskOnFailedTests: true failTaskOnFailedTests: true
displayName: Publish test results displayName: Publish test results
condition: always() condition: always()
- 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 "${{ variables.VirtualMachineName }}" `
-VIServer "$(vcenter-server-v2)" `
-VIUserName "$(vcenter-username-v2)" `
-VIPassword "$(vcenter-password-v2)"

View File

@@ -0,0 +1,89 @@
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIServer,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIUserName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIPassword
)
$ProgressPreference = "SilentlyContinue"
$WarningPreference = "SilentlyContinue"
# connection to a vCenter Server system
try
{
$null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -ParticipateInCEIP $false -Confirm:$false -WebOperationTimeoutSeconds 600
$securePassword = ConvertTo-SecureString -String $VIPassword -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($VIUserName, $securePassword)
$null = Connect-VIServer -Server $VIServer -Credential $cred -ErrorAction Stop
Write-Host "Connection to the vSphere server has been established"
}
catch
{
Write-Host "##vso[task.LogIssue type=error;]Failed to connect to the vSphere server"
exit 1
}
# 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 cancelled"
}
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"
}

View File

@@ -1,17 +1,17 @@
| Announcements | | Announcements |
|-| |-|
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | | [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) | | [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
*** ***
# Ubuntu 16.04.7 LTS # Ubuntu 16.04.7 LTS
- Image Version: 20200920.1 - Image Version: 20201004.1
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- GNU C++ 5.5.0, 7.5.0, 8.4.0, 9.3.0 - 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 - GNU Fortran 5.5.0, 8.4.0, 9.3.0
- Clang 6.0.0, 8.0.0, 9.0.1 - Clang 6.0.0, 8.0.0, 9.0.1
- Erlang 11.0.3 - Erlang 11.1
- Mono 6.12.0.90 - Mono 6.12.0.90
- Node 12.18.4 - Node 12.18.4
- Python 2.7.12 - Python 2.7.12
@@ -19,10 +19,10 @@
- PowerShell 7.0.3 - PowerShell 7.0.3
- Ruby 2.3.1p112 - Ruby 2.3.1p112
- Swift 5.3 - Swift 5.3
- Julia 1.5.1 - Julia 1.5.2
### Package Management ### Package Management
- Homebrew 2.5.1 - Homebrew 2.5.2
- Gem 3.1.4 - Gem 3.1.4
- Miniconda 4.8.3 - Miniconda 4.8.3
- Helm - Helm
@@ -43,19 +43,20 @@
- Ansible 2.9.13 - Ansible 2.9.13
- AzCopy10 10.6.0 (available by `azcopy10` alias) - AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias) - AzCopy7 7.3.0 (available by `azcopy` alias)
- Bazel 3.5.0 - Bazel 3.5.1
- Bazelisk 1.6.1 - Bazelisk 1.6.1
- CMake 3.17.0 - CMake 3.17.0
- CodeQL Action Bundle 2.2.5
- curl 7.47.0 - curl 7.47.0
- Docker Compose 1.27.3 - Docker Compose 1.27.4
- Docker-Buildx 0.4.2 - Docker-Buildx 0.4.2
- Docker-Moby 19.03.12 - Docker-Moby 19.03.13
- Git 2.28.0 - Git 2.28.0
- Git LFS 2.12.0 - Git LFS 2.12.0
- Git-ftp 1.0.2 - Git-ftp 1.0.2
- Google Cloud SDK 310.0.0 - Google Cloud SDK 312.0.0
- Haveged 1.9.1 - Haveged 1.9.1
- Heroku 7.43.0 - Heroku 7.44.0
- HHVM (HipHop VM) 4.56.1 - HHVM (HipHop VM) 4.56.1
- jq 1.5 - jq 1.5
- Kind 0.9.0 - Kind 0.9.0
@@ -64,14 +65,17 @@
- Leiningen 2.9.4 - Leiningen 2.9.4
- m4 1.4.17 - m4 1.4.17
- Mercurial 4.4.1 - Mercurial 4.4.1
- Minikube 1.13.0 - Minikube 1.13.1
- Newman 5.2.0 - Newman 5.2.0
- nvm 0.35.3 - nvm 0.35.3
- Packer 1.6.2 - Packer 1.6.4
- PhantomJS 2.1.1 - PhantomJS 2.1.1
- Pulumi 2.11.2
- R 4.0.2
- Sphinx Open Source Search Server 2.2.9
- SVN 1.9.3 - SVN 1.9.3
- Swig 3.0.8 - Swig 3.0.8
- Terraform 0.13.3 - Terraform 0.13.4
- unzip 6.00 - unzip 6.00
- wget 1.17.1 - wget 1.17.1
- zip 3.0 - zip 3.0
@@ -79,17 +83,17 @@
### CLI Tools ### CLI Tools
- Alibaba Cloud CLI 3.0.59 - Alibaba Cloud CLI 3.0.59
- AWS CLI 1.18.142 - AWS CLI 1.18.152
- AWS CLI Session manager plugin 1.1.61.0 - AWS CLI Session manager plugin 1.1.61.0
- AWS SAM CLI 1.2.0 - AWS SAM CLI 1.4.0
- Azure CLI (azure-cli) 2.11.1 - Azure CLI (azure-cli) 2.12.1
- Azure CLI (azure-devops) 0.18.0 - Azure CLI (azure-devops) 0.18.0
- GitHub CLI - GitHub CLI
- Hub CLI 2.14.2 - Hub CLI 2.14.2
- Netlify CLI 2.63.2 - Netlify CLI 2.64.1
- oc CLI 4.5.0 - oc CLI 4.5.0
- ORAS CLI 0.8.1 - ORAS CLI 0.8.1
- Vercel CLI 20.1.0 - Vercel CLI 20.1.1
### Java ### Java
| Version | Vendor | Environment Variable | | Version | Vendor | Environment Variable |
@@ -119,26 +123,26 @@
#### Packages #### Packages
- Bindgen 0.55.1 - Bindgen 0.55.1
- Cargo audit 0.12.0 - Cargo audit 0.12.1
- Cargo outdated 0.9.11 - Cargo outdated 0.9.11
- Cargo clippy 0.0.212 - Cargo clippy 0.0.212
- Cbindgen 0.14.5 - Cbindgen 0.14.6
- Rustfmt 1.4.18 - Rustfmt 1.4.18
### Browsers and Drivers ### Browsers and Drivers
- Google Chrome 85.0.4183.102 - Google Chrome 85.0.4183.121
- ChromeDriver 85.0.4183.87 - ChromeDriver 85.0.4183.87
- Mozilla Firefox 80.0.1 - Mozilla Firefox 81.0
- Geckodriver 0.27.0 - Geckodriver 0.27.0
### .NET Core SDK ### .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.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
### Az Module ### 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 ### Databases
- Postgre SQL 12.4 - Postgre SQL 13.0
- MongoDB 4.4.1 - MongoDB 4.4.1
- sqlite3 3.11.0 - sqlite3 3.11.0
@@ -162,17 +166,17 @@
- 3.5.10 - 3.5.10
- 3.6.12 - 3.6.12
- 3.7.9 - 3.7.9
- 3.8.5 - 3.8.6
#### PyPy #### PyPy
- 2.7.13 [PyPy 7.3.1] - 2.7.13 [PyPy 7.3.2]
- 3.6.9 [PyPy 7.3.1] - 3.6.9 [PyPy 7.3.2]
#### Node.js #### Node.js
- 8.17.0 - 8.17.0
- 10.22.1 - 10.22.1
- 12.18.4 - 12.18.4
- 14.11.0 - 14.13.0
#### Go #### Go
- 1.11.13 - 1.11.13

View File

@@ -1,17 +1,17 @@
| Announcements | | Announcements |
|-| |-|
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | | [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) | | [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
*** ***
# Ubuntu 18.04.5 LTS # Ubuntu 18.04.5 LTS
- Image Version: 20200920.1 - Image Version: 20201004.1
## Installed Software ## Installed Software
### Language and Runtime ### 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 - GNU Fortran 7.5.0, 8.4.0, 9.3.0
- Clang 6.0.0, 8.0.0, 9.0.0 - Clang 6.0.0, 8.0.0, 9.0.0
- Erlang 11.0.3 - Erlang 11.1
- Mono 6.12.0.90 - Mono 6.12.0.90
- Node 12.18.4 - Node 12.18.4
- Python 2.7.17 - Python 2.7.17
@@ -19,10 +19,10 @@
- PowerShell 7.0.3 - PowerShell 7.0.3
- Ruby 2.5.1p57 - Ruby 2.5.1p57
- Swift 5.3 - Swift 5.3
- Julia 1.5.1 - Julia 1.5.2
### Package Management ### Package Management
- Homebrew 2.5.1 - Homebrew 2.5.2
- Gem 3.1.4 - Gem 3.1.4
- Miniconda 4.8.3 - Miniconda 4.8.3
- Helm - Helm
@@ -43,21 +43,22 @@
- Ansible 2.9.13 - Ansible 2.9.13
- AzCopy10 10.6.0 (available by `azcopy10` alias) - AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias) - AzCopy7 7.3.0 (available by `azcopy` alias)
- Bazel 3.5.0 - Bazel 3.5.1
- Bazelisk 1.6.1 - Bazelisk 1.6.1
- Buildah - Buildah
- CMake 3.17.0 - CMake 3.17.0
- CodeQL Action Bundle 2.2.5
- curl 7.58.0 - curl 7.58.0
- Docker Compose 1.27.3 - Docker Compose 1.27.4
- Docker-Buildx 0.4.2 - Docker-Buildx 0.4.2
- Docker-Moby 19.03.12 - Docker-Moby 19.03.13
- Git 2.28.0 - Git 2.28.0
- Git LFS 2.12.0 - Git LFS 2.12.0
- Git-ftp 1.3.1 - Git-ftp 1.3.1
- Google Cloud SDK 310.0.0 - Google Cloud SDK 312.0.0
- Haveged 1.9.1 - Haveged 1.9.1
- Heroku 7.43.0 - Heroku 7.44.0
- HHVM (HipHop VM) 4.75.0 - HHVM (HipHop VM) 4.77.0
- jq 1.5 - jq 1.5
- Kind 0.9.0 - Kind 0.9.0
- Kubectl 1.19.2 - Kubectl 1.19.2
@@ -65,16 +66,19 @@
- Leiningen 2.9.4 - Leiningen 2.9.4
- m4 1.4.18 - m4 1.4.18
- Mercurial 4.5.3 - Mercurial 4.5.3
- Minikube 1.13.0 - Minikube 1.13.1
- Newman 5.2.0 - Newman 5.2.0
- nvm 0.35.3 - nvm 0.35.3
- Packer 1.6.2 - Packer 1.6.4
- PhantomJS 2.1.1 - PhantomJS 2.1.1
- Podman - Podman
- Skopeo 1.1.1 - Pulumi 2.11.2
- R 4.0.2
- Skopeo 1.2.0
- Sphinx Open Source Search Server 2.2.11
- SVN 1.9.7 - SVN 1.9.7
- Swig 3.0.12 - Swig 3.0.12
- Terraform 0.13.3 - Terraform 0.13.4
- unzip 6.00 - unzip 6.00
- wget 1.19.4 - wget 1.19.4
- zip 3.0 - zip 3.0
@@ -82,17 +86,17 @@
### CLI Tools ### CLI Tools
- Alibaba Cloud CLI 3.0.59 - Alibaba Cloud CLI 3.0.59
- AWS CLI 1.18.142 - AWS CLI 1.18.152
- AWS CLI Session manager plugin 1.1.61.0 - AWS CLI Session manager plugin 1.1.61.0
- AWS SAM CLI 1.2.0 - AWS SAM CLI 1.4.0
- Azure CLI (azure-cli) 2.11.1 - Azure CLI (azure-cli) 2.12.1
- Azure CLI (azure-devops) 0.18.0 - Azure CLI (azure-devops) 0.18.0
- GitHub CLI - GitHub CLI
- Hub CLI 2.14.2 - Hub CLI 2.14.2
- Netlify CLI 2.63.2 - Netlify CLI 2.64.1
- oc CLI 4.5.0 - oc CLI 4.5.0
- ORAS CLI 0.8.1 - ORAS CLI 0.8.1
- Vercel CLI 20.1.0 - Vercel CLI 20.1.1
### Java ### Java
| Version | Vendor | Environment Variable | | Version | Vendor | Environment Variable |
@@ -122,26 +126,26 @@
#### Packages #### Packages
- Bindgen 0.55.1 - Bindgen 0.55.1
- Cargo audit 0.12.0 - Cargo audit 0.12.1
- Cargo outdated 0.9.11 - Cargo outdated 0.9.11
- Cargo clippy 0.0.212 - Cargo clippy 0.0.212
- Cbindgen 0.14.5 - Cbindgen 0.14.6
- Rustfmt 1.4.18 - Rustfmt 1.4.18
### Browsers and Drivers ### Browsers and Drivers
- Google Chrome 85.0.4183.102 - Google Chrome 85.0.4183.121
- ChromeDriver 85.0.4183.87 - ChromeDriver 85.0.4183.87
- Mozilla Firefox 80.0.1 - Mozilla Firefox 81.0
- Geckodriver 0.27.0 - Geckodriver 0.27.0
### .NET Core SDK ### .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.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
### Az Module ### 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 ### Databases
- Postgre SQL 12.4 - Postgre SQL 13.0
- MongoDB 4.4.1 - MongoDB 4.4.1
- sqlite3 3.22.0 - sqlite3 3.22.0
@@ -165,17 +169,17 @@
- 3.5.10 - 3.5.10
- 3.6.12 - 3.6.12
- 3.7.9 - 3.7.9
- 3.8.5 - 3.8.6
#### PyPy #### PyPy
- 2.7.13 [PyPy 7.3.1] - 2.7.13 [PyPy 7.3.2]
- 3.6.9 [PyPy 7.3.1] - 3.6.9 [PyPy 7.3.2]
#### Node.js #### Node.js
- 8.17.0 - 8.17.0
- 10.22.1 - 10.22.1
- 12.18.4 - 12.18.4
- 14.11.0 - 14.13.0
#### Go #### Go
- 1.11.13 - 1.11.13

View File

@@ -1,34 +1,34 @@
| Announcements | | Announcements |
|-| |-|
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | | [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) | | [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
*** ***
# Ubuntu 20.04.1 LTS # Ubuntu 20.04.1 LTS
- Image Version: 20200920.1 - Image Version: 20201004.1
## Installed Software ## Installed Software
### Language and Runtime ### 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.0.1
- GNU Fortran 8.4.0, 9.3.0 - GNU Fortran 8.4.0, 9.3.0
- Clang 10.0.1, 8.0.1, 9.0.1 - Clang 8.0.1, 9.0.1, 10.0.0
- Erlang 11.0.3 - Erlang 11.1
- Mono 6.12.0.90 - Mono 6.12.0.90
- Node 12.18.4 - Node 12.18.4
- Python 2.7.18rc1 - Python 3.8.2
- Python3 3.8.2 - Python3 3.8.2
- PowerShell 7.0.3 - PowerShell 7.0.3
- Ruby 2.7.0p0 - Ruby 2.7.0p0
- Swift 5.3 - Swift 5.3
- Julia 1.5.1 - Julia 1.5.2
### Package Management ### Package Management
- Homebrew 2.5.1 - Homebrew 2.5.2
- Gem 3.1.2 - Gem 3.1.2
- Miniconda 4.8.3 - Miniconda 4.8.3
- Helm 3.3.3 - Helm 3.3.4
- Npm 6.14.8 - Npm 6.14.8
- Yarn 1.22.5 - Yarn 1.22.5
- Pip 20.2.3 - Pip 20.0.2
- Pip3 20.0.2 - Pip3 20.0.2
- Vcpkg 2020.06.15 - Vcpkg 2020.06.15
@@ -43,21 +43,22 @@
- Ansible 2.9.6 - Ansible 2.9.6
- AzCopy10 10.6.0 (available by `azcopy10` alias) - AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias) - AzCopy7 7.3.0 (available by `azcopy` alias)
- Bazel 3.5.0 - Bazel 3.5.1
- Bazelisk 1.6.1 - Bazelisk 1.6.1
- Buildah 1.16.1 - Buildah 1.16.4
- CMake 3.17.0 - CMake 3.17.0
- CodeQL Action Bundle 2.2.5
- curl 7.68.0 - curl 7.68.0
- Docker Compose 1.27.3 - Docker Compose 1.27.4
- Docker-Buildx 0.4.2 - Docker-Buildx 0.4.2
- Docker-Moby 19.03.12 - Docker-Moby 19.03.13
- Git 2.28.0 - Git 2.28.0
- Git LFS 2.12.0 - Git LFS 2.12.0
- Git-ftp 1.6.0 - Git-ftp 1.6.0
- Google Cloud SDK 310.0.0 - Google Cloud SDK 312.0.0
- Haveged 1.9.1 - Haveged 1.9.1
- Heroku 7.43.0 - Heroku 7.44.0
- HHVM (HipHop VM) 4.75.0 - HHVM (HipHop VM) 4.77.0
- jq 1.6 - jq 1.6
- Kind 0.9.0 - Kind 0.9.0
- Kubectl 1.19.2 - Kubectl 1.19.2
@@ -65,16 +66,19 @@
- Leiningen 2.9.4 - Leiningen 2.9.4
- m4 1.4.18 - m4 1.4.18
- Mercurial 5.3.1 - Mercurial 5.3.1
- Minikube 1.13.0 - Minikube 1.13.1
- Newman 5.2.0 - Newman 5.2.0
- nvm 0.35.3 - nvm 0.35.3
- Packer 1.6.2 - Packer 1.6.4
- PhantomJS 2.1.1 - PhantomJS 2.1.1
- Podman 2.0.6 - Podman 2.1.1
- Skopeo 1.1.1 - Pulumi 2.11.2
- R 4.0.2
- Skopeo 1.2.0
- Sphinx Open Source Search Server 2.2.11
- SVN 1.13.0 - SVN 1.13.0
- Swig 4.0.1 - Swig 4.0.1
- Terraform 0.13.3 - Terraform 0.13.4
- unzip 6.00 - unzip 6.00
- wget 1.20.3 - wget 1.20.3
- zip 3.0 - zip 3.0
@@ -82,17 +86,17 @@
### CLI Tools ### CLI Tools
- Alibaba Cloud CLI 3.0.59 - Alibaba Cloud CLI 3.0.59
- AWS CLI 2.0.50 - AWS CLI 2.0.54
- AWS CLI Session manager plugin 1.1.61.0 - AWS CLI Session manager plugin 1.1.61.0
- AWS SAM CLI 1.2.0 - AWS SAM CLI 1.4.0
- Azure CLI (azure-cli) 2.11.1 - Azure CLI (azure-cli) 2.12.1
- Azure CLI (azure-devops) 0.18.0 - Azure CLI (azure-devops) 0.18.0
- GitHub CLI 1.0.0 - GitHub CLI 1.0.0
- Hub CLI 2.14.2 - Hub CLI 2.14.2
- Netlify CLI 2.63.2 - Netlify CLI 2.64.1
- oc CLI 4.5.0 - oc CLI 4.5.0
- ORAS CLI 0.8.1 - ORAS CLI 0.8.1
- Vercel CLI 20.1.0 - Vercel CLI 20.1.1
### Java ### Java
| Version | Vendor | Environment Variable | | Version | Vendor | Environment Variable |
@@ -120,26 +124,26 @@
#### Packages #### Packages
- Bindgen 0.55.1 - Bindgen 0.55.1
- Cargo audit 0.12.0 - Cargo audit 0.12.1
- Cargo outdated 0.9.11 - Cargo outdated 0.9.11
- Cargo clippy 0.0.212 - Cargo clippy 0.0.212
- Cbindgen 0.14.5 - Cbindgen 0.14.6
- Rustfmt 1.4.18 - Rustfmt 1.4.18
### Browsers and Drivers ### Browsers and Drivers
- Google Chrome 85.0.4183.102 - Google Chrome 85.0.4183.121
- ChromeDriver 85.0.4183.87 - ChromeDriver 85.0.4183.87
- Mozilla Firefox 80.0.1 - Mozilla Firefox 81.0
- Geckodriver 0.27.0 - Geckodriver 0.27.0
### .NET Core SDK ### .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.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
### Az Module ### Az Module
- 4.6.1 - 4.7.0
### Databases ### Databases
- Postgre SQL 12.4 - Postgre SQL 13.0
- MongoDB 4.4.1 - MongoDB 4.4.1
- sqlite3 3.31.1 - sqlite3 3.31.1
@@ -162,17 +166,17 @@
- 3.5.10 - 3.5.10
- 3.6.12 - 3.6.12
- 3.7.9 - 3.7.9
- 3.8.5 - 3.8.6
#### PyPy #### PyPy
- 2.7.13 [PyPy 7.3.1] - 2.7.13 [PyPy 7.3.2]
- 3.6.9 [PyPy 7.3.1] - 3.6.9 [PyPy 7.3.2]
#### Node.js #### Node.js
- 8.17.0 - 8.17.0
- 10.22.1 - 10.22.1
- 12.18.4 - 12.18.4
- 14.11.0 - 14.13.0
#### Go #### Go
- 1.14.9 - 1.14.9
@@ -210,6 +214,6 @@
- ubuntu:14.04 - ubuntu:14.04
### Installed apt packages ### 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, yamllint, zip, zstd, zsync

View File

@@ -5,14 +5,16 @@ function Get-OSName {
} }
function Get-CPPVersions { 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 & $_.Split("/")[0] --version | Select-Object -First 1 | Take-OutputPart -Part 3
} | Sort-Object {[Version]$_} } | Sort-Object {[Version]$_}
return "GNU C++ " + ($cppVersions -Join ", ") return "GNU C++ " + ($cppVersions -Join ", ")
} }
function Get-FortranVersions { 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 (?<version>\d+\.\d+\.\d+)-" | Out-Null $_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
$Matches.version $Matches.version
} | Sort-Object {[Version]$_} } | Sort-Object {[Version]$_}
@@ -21,7 +23,8 @@ function Get-FortranVersions {
function Get-ClangVersions { function Get-ClangVersions {
$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] $clangCommand = ($_ -Split "/")[0]
Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "clang version" } | ForEach-Object { Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "clang version" } | ForEach-Object {
$_ -match "clang version (?<version>\d+\.\d+\.\d+)-" | Out-Null $_ -match "clang version (?<version>\d+\.\d+\.\d+)-" | Out-Null
@@ -32,9 +35,7 @@ function Get-ClangVersions {
} }
function Get-ErlangVersion { function Get-ErlangVersion {
$result = Get-CommandResult "erl -version" $version = (erl -eval 'erlang:display(erlang:system_info(version)), halt().' -noshell).Trim('"')
$result.Output -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
$version = $Matches.version
return "Erlang $version" return "Erlang $version"
} }
@@ -155,14 +156,15 @@ function Get-MavenVersion {
return "Maven $mavenVersion" return "Maven $mavenVersion"
} }
function Get-SbtVersion { function Get-SbtVersion {
$result = sbt -version 2>&1 | Out-String $result = Get-CommandResult "sbt -version"
$result -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null $result.Output -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null
$sbtVersion = $Matches.version $sbtVersion = $Matches.version
return "Sbt $sbtVersion" return "Sbt $sbtVersion"
} }
function Get-PHPVersions { 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 (?<version>\d+\.\d+\.\d+)-" | Out-Null $_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
$Matches.version $Matches.version
} }
@@ -243,4 +245,9 @@ function Get-AptPackages {
$apt = $toolsetJson.apt $apt = $toolsetJson.apt
$pkgs = ($apt.common_packages + $apt.cmd_packages | Sort-Object) -join ", " $pkgs = ($apt.common_packages + $apt.cmd_packages | Sort-Object) -join ", "
return $pkgs return $pkgs
}
function Get-PipxVersion {
$result = (Get-CommandResult "pipx --version").Output
return "Pipx $result"
} }

View File

@@ -3,6 +3,8 @@ param (
$OutputDirectory $OutputDirectory
) )
$ErrorActionPreference = "Stop"
Import-Module MarkdownPS Import-Module MarkdownPS
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.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.Rust.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking
# Restore file owner in user profile
Restore-UserOwner
$markdown = "" $markdown = ""
if ($env:ANNOUNCEMENTS) { if ($env:ANNOUNCEMENTS) {
@@ -49,7 +54,8 @@ $markdown += New-MDList -Style Unordered -Lines @(
) )
$markdown += New-MDHeader "Package Management" -Level 3 $markdown += New-MDHeader "Package Management" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
$packageManagementList = @(
(Get-HomebrewVersion), (Get-HomebrewVersion),
(Get-GemVersion), (Get-GemVersion),
(Get-MinicondaVersion), (Get-MinicondaVersion),
@@ -61,6 +67,14 @@ $markdown += New-MDList -Style Unordered -Lines @(
(Get-VcpkgVersion) (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-MDHeader "Project Management" -Level 3
$markdown += New-MDList -Style Unordered -Lines @( $markdown += New-MDList -Style Unordered -Lines @(
(Get-AntVersion), (Get-AntVersion),
@@ -110,6 +124,7 @@ $toolsList = @(
(Get-TerraformVersion), (Get-TerraformVersion),
(Get-UnZipVersion), (Get-UnZipVersion),
(Get-WgetVersion), (Get-WgetVersion),
(Get-YamllintVersion),
(Get-ZipVersion), (Get-ZipVersion),
(Get-ZstdVersion) (Get-ZstdVersion)
) )

View File

@@ -49,3 +49,7 @@ function New-MDNewLine {
$newLineSymbol = [System.Environment]::NewLine $newLineSymbol = [System.Environment]::NewLine
return $newLineSymbol * $Count return $newLineSymbol * $Count
} }
function Restore-UserOwner {
sudo chown -R ${env:USER}: $env:HOME
}

View File

@@ -4,7 +4,7 @@ function Get-7zipVersion {
} }
function Get-AnsibleVersion { 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" return "Ansible $ansibleVersion"
} }
@@ -19,17 +19,18 @@ function Get-AzCopy10Version {
} }
function Get-BazelVersion { 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" return "Bazel $bazelVersion"
} }
function Get-BazeliskVersion { 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" return "Bazelisk $bazeliskVersion"
} }
function Get-CodeQLBundleVersion { 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 $CodeQLVersionPath = Get-ChildItem $CodeQLVersionsWildcard | Select-Object -First 1 -Expand FullName
$CodeQLPath = Join-Path $CodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql" $CodeQLPath = Join-Path $CodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql"
$CodeQLVersion = & $CodeQLPath version --quiet $CodeQLVersion = & $CodeQLPath version --quiet
@@ -77,12 +78,14 @@ function Get-DockerBuildxVersion {
} }
function Get-GitVersion { 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" return "Git $gitVersion"
} }
function Get-GitLFSVersion { 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" return "Git LFS $gitlfsversion"
} }
@@ -92,7 +95,7 @@ function Get-GitFTPVersion {
} }
function Get-GoogleCloudSDKVersion { function Get-GoogleCloudSDKVersion {
return "$(sudo gcloud --version | Select-Object -First 1)" return "$(gcloud --version | Select-Object -First 1)"
} }
function Get-HavegedVersion { function Get-HavegedVersion {
@@ -101,7 +104,7 @@ function Get-HavegedVersion {
} }
function Get-HerokuVersion { 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" return "Heroku $herokuVersion"
} }
@@ -201,12 +204,12 @@ function Get-JqVersion {
} }
function Get-AzureCliVersion { 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" return "Azure CLI (azure-cli) $azcliVersion"
} }
function Get-AzureDevopsVersion { 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" return "Azure CLI (azure-devops) $azdevopsVersion"
} }
@@ -215,12 +218,14 @@ function Get-AlibabaCloudCliVersion {
} }
function Get-AWSCliVersion { 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" return "AWS CLI $awsVersion"
} }
function Get-AWSCliSessionManagerPluginVersion { 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 { function Get-AWSSAMVersion {
@@ -238,7 +243,7 @@ function Get-GitHubCliVersion {
} }
function Get-NetlifyCliVersion { 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" return "Netlify CLI $netlifyVersion"
} }
@@ -253,7 +258,8 @@ function Get-ORASCliVersion {
} }
function Get-VerselCliversion { 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 { function Get-PulumiVersion {
@@ -269,4 +275,8 @@ function Get-RVersion {
function Get-SphinxVersion { function Get-SphinxVersion {
$sphinxVersion = searchd -h | Select-Object -First 1 | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-" $sphinxVersion = searchd -h | Select-Object -First 1 | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
return "Sphinx Open Source Search Server $sphinxVersion" return "Sphinx Open Source Search Server $sphinxVersion"
}
function Get-YamllintVersion {
return "$(yamllint --version)"
} }

View File

@@ -42,4 +42,9 @@ download_with_retries() {
## fi ## fi
function IsPackageInstalled { function IsPackageInstalled {
dpkg -S $1 &> /dev/null dpkg -S $1 &> /dev/null
}
verlte() {
sortedVersion=$(echo -e "$1\n$2" | sort -V | head -n1)
[ "$1" = "$sortedVersion" ]
} }

View File

@@ -8,6 +8,23 @@ set -e
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/os.sh 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) # Set env variable for SDK Root (https://developer.android.com/studio/command-line/variables)
ANDROID_ROOT=/usr/local/lib/android ANDROID_ROOT=/usr/local/lib/android
@@ -42,22 +59,23 @@ else
fi fi
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json" toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
platforms=$(jq -r '.android.platform_list[]|"platforms;" + .' $toolset) minimumBuildToolVersion=$(jq -r '.android.build_tools_min_version' $toolset)
buildtools=$(jq -r '.android.build_tools[]|"build-tools;" + .' $toolset) minimumPlatformVersion=$(jq -r '.android.platform_min_version' $toolset)
extras=$(jq -r '.android.extra_list[]|"extras;" + .' $toolset) extras=$(jq -r '.android.extra_list[]|"extras;" + .' $toolset)
addons=$(jq -r '.android.addon_list[]|"add-ons;" + .' $toolset) addons=$(jq -r '.android.addon_list[]|"add-ons;" + .' $toolset)
additional=$(jq -r '.android.additional_tools[]' $toolset) additional=$(jq -r '.android.additional_tools[]' $toolset)
# Install the following SDKs and build tools, passing in "y" to accept licenses. # 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 --include_obsolete | 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}') filter_components_by_version $minimumPlatformVersion "${availablePlatforms[@]}"
constraint_layout_versions_list=$(echo "$extras"|awk -F';' '/constraint-layout;/ {print $8}') filter_components_by_version $minimumBuildToolVersion "${availableBuildTools[@]}"
constraint_layout_solver_versions_list=$(echo "$extras"|awk -F';' '/constraint-layout-solver;/ {print $8}')
platform_versions_list=$(echo "$platforms"|awk -F- '{print $2}') echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager ${components[@]}
buildtools_versions_list=$(echo "$buildtools"|awk -F';' '{print $2}')
# Add required permissions # Add required permissions
chmod -R a+rwx ${ANDROID_SDK_ROOT} chmod -R a+rwx ${ANDROID_SDK_ROOT}

View File

@@ -7,12 +7,6 @@ set -e
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh 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 # Check to see if docker is already installed
docker_package=moby docker_package=moby

View File

@@ -7,7 +7,8 @@
export NVM_DIR="/etc/skel/.nvm" export NVM_DIR="/etc/skel/.nvm"
mkdir $NVM_DIR 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 '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 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" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

View File

@@ -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

View File

@@ -6,18 +6,40 @@
set -e set -e
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/os.sh source $HELPER_SCRIPTS/os.sh
# Install Python, Python 3, pip, pip3 # Install Python, Python 3, pip, pip3
if isUbuntu16 || isUbuntu18; then if isUbuntu16 || isUbuntu18; then
apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip python3-venv
fi fi
if isUbuntu20; then if isUbuntu20; then
apt-get install -y --no-install-recommends python3 python3-dev python3-pip apt-get install -y --no-install-recommends python3 python3-dev python3-pip python3-venv
ln -s /usr/bin/pip3 /usr/bin/pip ln -s /usr/bin/pip3 /usr/bin/pip
fi 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 # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
for cmd in python pip python3 pip3; do for cmd in python pip python3 pip3; do

View File

@@ -11,7 +11,8 @@
"3.5.*", "3.5.*",
"3.6.*", "3.6.*",
"3.7.*", "3.7.*",
"3.8.*" "3.8.*",
"3.9.*"
] ]
}, },
{ {
@@ -62,12 +63,8 @@
} }
], ],
"android": { "android": {
"platform_list": [ "platform_min_version": "10",
"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_min_version": "17.0.0",
],
"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"
],
"extra_list": [ "extra_list": [
"android;m2repository", "android;m2repository",
"google;m2repository", "google;m2repository",

View File

@@ -11,7 +11,8 @@
"3.5.*", "3.5.*",
"3.6.*", "3.6.*",
"3.7.*", "3.7.*",
"3.8.*" "3.8.*",
"3.9.*"
] ]
}, },
{ {
@@ -62,12 +63,8 @@
} }
], ],
"android": { "android": {
"platform_list": [ "platform_min_version": "17",
"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_min_version": "17.0.0",
],
"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"
],
"extra_list": [ "extra_list": [
"android;m2repository", "android;m2repository",
"google;m2repository", "google;m2repository",
@@ -167,7 +164,6 @@
"time", "time",
"unzip", "unzip",
"wget", "wget",
"yamllint",
"zip" "zip"
] ]
}, },
@@ -189,5 +185,15 @@
"node:12-alpine", "node:12-alpine",
"ubuntu:14.04" "ubuntu:14.04"
] ]
} },
"pipx": [
{
"package": "yamllint",
"cmd": "yamllint"
},
{
"package": "aws-sam-cli",
"cmd": "sam"
}
]
} }

View File

@@ -11,7 +11,8 @@
"3.5.*", "3.5.*",
"3.6.*", "3.6.*",
"3.7.*", "3.7.*",
"3.8.*" "3.8.*",
"3.9.*"
] ]
}, },
{ {
@@ -48,12 +49,8 @@
} }
], ],
"android": { "android": {
"platform_list": [ "platform_min_version": "27",
"android-30", "android-29", "android-28", "android-27" "build_tools_min_version": "27.0.0",
],
"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"
],
"extra_list": [ "extra_list": [
"android;m2repository", "android;m2repository",
"google;m2repository", "google;m2repository",
@@ -130,7 +127,6 @@
"time", "time",
"unzip", "unzip",
"wget", "wget",
"yamllint",
"zip" "zip"
] ]
}, },
@@ -152,5 +148,15 @@
"node:12-alpine", "node:12-alpine",
"ubuntu:14.04" "ubuntu:14.04"
] ]
} },
"pipx": [
{
"package": "yamllint",
"cmd": "yamllint"
},
{
"package": "aws-sam-cli",
"cmd": "sam"
}
]
} }

View File

@@ -238,10 +238,10 @@
{ {
"type": "shell", "type": "shell",
"scripts": [ "scripts": [
"{{template_dir}}/scripts/installers/aws-sam-cli.sh" "{{template_dir}}/scripts/installers/pipx-packages.sh"
], ],
"environment_vars": [ "environment_vars": [
"HELPER_SCRIPTS={{user `helper_script_folder`}}" "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },

View File

@@ -240,10 +240,10 @@
{ {
"type": "shell", "type": "shell",
"scripts": [ "scripts": [
"{{template_dir}}/scripts/installers/aws-sam-cli.sh" "{{template_dir}}/scripts/installers/pipx-packages.sh"
], ],
"environment_vars": [ "environment_vars": [
"HELPER_SCRIPTS={{user `helper_script_folder`}}" "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },

View File

@@ -45,6 +45,23 @@ function Switch-Xcode {
Invoke-Expression "sudo xcode-select --switch ${XcodeRootPath}" 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 { function Get-XcodeSimulatorsInfo {
param( param(
[string] $Filter [string] $Filter
@@ -91,17 +108,4 @@ function Get-XcodePairsList {
$result += "$watchName $phoneName" $result += "$watchName $phoneName"
} }
return $result return $result
}
function Test-XcodeStableVersion {
param([Parameter(Mandatory)][string]$Version)
if ($Version -match "beta") {
return $false
}
if ($Version -match "GM") {
return $false
}
return $true
} }

View File

@@ -1,38 +1,44 @@
| Announcements |
|-|
| [Default Xcode will be changed to Xcode 12.0 on October, 20](https://github.com/actions/virtual-environments/issues/1712) |
| [Xcode 11.0, 11.1, 11.4.0 will be deprecated on October, 20](https://github.com/actions/virtual-environments/issues/1688) |
| [Remove Xcode 12 beta 6 from MacOS Catalina image in favor of Xcode 12.2 beta 1 on October 13](https://github.com/actions/virtual-environments/issues/1646) |
***
# macOS 10.15 info # macOS 10.15 info
- System Version: macOS 10.15.6 (19G2021) - System Version: macOS 10.15.7 (19H2)
- Kernel Version: Darwin 19.6.0 - Kernel Version: Darwin 19.6.0
- Image Version: 20200916.1 - Image Version: 20201003.1
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- Clang/LLVM 10.0.1 - Clang/LLVM 10.0.1
- gcc-8 (Homebrew GCC 8.4.0_1) 8.4.0 available by `gcc-8` alias - 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 - 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 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 - GNU Fortran (Homebrew GCC 9.3.0) 9.3.0 - available by `gfortran-9` alias
- Node.js v12.18.3 - R 4.0.2
- Node.js v12.18.4
- NVM 0.35.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 - NVM - Cached node versions: v6.17.1 v8.17.0 v10.22.1 v12.18.4 v13.14.0 v14.13.0
- Python 2.7.17 - Python 2.7.17
- Python 3.8.5 - Python 3.8.5
- Ruby 2.6.6p146 - 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 - .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
- Go 1.15.2 - Go 1.15.2
- PHP 7.4.10 - PHP 7.4.11
- julia 1.5.1 - julia 1.5.2
### Package Management ### Package Management
- Vcpkg 2020.06.15 - Vcpkg 2020.06.15
- Pip 19.3.1 (python 2.7)
- Pip 20.1.1 (python 3.8)
- Bundler version 2.1.4 - Bundler version 2.1.4
- Carthage 0.35.0 - Carthage 0.36.0
- CocoaPods 1.9.3 - CocoaPods 1.9.3
- Homebrew 2.5.1 - Homebrew 2.5.2
- NPM 6.14.6 - NPM 6.14.6
- Yarn 1.22.5 - Yarn 1.22.5
- NuGet 5.6.0.6489 - NuGet 5.6.0.6489
- Pip 19.3.1 (python 2.7)
- Pip 20.1.1 (python 3.8)
- Miniconda 4.8.3 - Miniconda 4.8.3
- RubyGems 3.1.4 - RubyGems 3.1.4
- Composer 1.10.13 - Composer 1.10.13
@@ -40,18 +46,17 @@
### Project Management ### Project Management
- Apache Maven 3.6.3 - Apache Maven 3.6.3
- Gradle 6.6.1 - Gradle 6.6.1
- Apache Ant(TM) 1.10.8 - Apache Ant(TM) 1.10.9
### Utilities ### Utilities
- Curl 7.72.0 - Curl 7.72.0
- Git: 2.28.0 - Git: 2.28.0
- Git LFS: 2.12.0 - Git LFS: 2.12.0
- GitHub CLI: 0.12.0 - GitHub CLI: 1.0.0
- Hub CLI: 2.14.2 - Hub CLI: 2.14.2
- GNU Wget 1.20.3 - GNU Wget 1.20.3
- Subversion (SVN) 1.14.0 - Subversion (SVN) 1.14.0
- Packer 1.6.2 - Packer 1.6.4
- GNU parallel 20200722
- OpenSSL 1.0.2t 10 Sep 2019 `(/usr/local/opt/openssl -> /usr/local/Cellar/openssl@1.0.2t/1.0.2t)` - OpenSSL 1.0.2t 10 Sep 2019 `(/usr/local/opt/openssl -> /usr/local/Cellar/openssl@1.0.2t/1.0.2t)`
- jq 1.6 - jq 1.6
- gpg (GnuPG) 2.2.23 - gpg (GnuPG) 2.2.23
@@ -60,43 +65,44 @@
- aria2 1.35.0 - aria2 1.35.0
- azcopy 10.6.0 - azcopy 10.6.0
- zstd 1.4.5 - zstd 1.4.5
- bazel 3.5.0 - bazel 3.5.1
- bazelisk 1.6.1 - bazelisk 1.6.1
- helm v3.3.1+g249e521 - helm v3.3.4+ga61ce56
- virtualbox 6.1.14r140239
- mongo v4.4.0 - mongo v4.4.0
- mongod v4.4.0 - mongod v4.4.0
- Vagrant 2.2.10
- 7-Zip 16.02 - 7-Zip 16.02
- Newman 5.2.0 - Newman 5.2.0
- virtualbox 6.1.14r140239
- Vagrant 2.2.10
- GNU parallel 20200722
### Tools ### Tools
- Fastlane 2.159.0 - Fastlane 2.162.0
- Cmake 3.18.2 - Cmake 3.18.3
- App Center CLI 2.7.0 - App Center CLI 2.7.1
- Azure CLI 2.11.1 - Azure CLI 2.12.1
- AWS CLI 2.0.48 - AWS CLI 2.0.54
- AWS SAM CLI 1.2.0 - AWS SAM CLI 1.4.0
- AWS Session Manager CLI 1.1.61.0 - AWS Session Manager CLI 1.1.61.0
- Aliyun CLI 3.0.56 - Aliyun CLI 3.0.59
- GHCup v0.1.10 - GHCup v0.1.11
- GHC 8.10.2 - GHC 8.8.4
- Cabal 3.2.0.0 - Cabal 3.2.0.0
- Stack 2.3.3 - Stack 2.3.3
### Linters ### Linters
- yamllint 1.24.2 - yamllint 1.25.0
- SwiftLint 0.40.2 - SwiftLint 0.40.3
### Browsers ### Browsers
- Safari 13.1.2 (15609.3.5.1.3) - Safari 14.0 (15610.1.28.1.9)
- SafariDriver 13.1.2 (15609.3.5.1.3) - SafariDriver 14.0 (15610.1.28.1.9)
- Google Chrome 85.0.4183.102 - Google Chrome 85.0.4183.121
- ChromeDriver 85.0.4183.87 - ChromeDriver 85.0.4183.87
- Microsoft Edge 85.0.564.51 - Microsoft Edge 85.0.564.68
- MSEdgeDriver 85.0.564.51 - MSEdgeDriver 85.0.564.68
- Mozilla Firefox 80.0.1 - Mozilla Firefox 81.0.1
- geckodriver 0.27.0 - geckodriver 0.27.0
### Java ### Java
@@ -120,17 +126,17 @@
- 3.5.10 - 3.5.10
- 3.6.12 - 3.6.12
- 3.7.9 - 3.7.9
- 3.8.5 - 3.8.6
#### PyPy #### PyPy
- 2.7.13 [PyPy 7.3.1] - 2.7.13 [PyPy 7.3.2]
- 3.6.9 [PyPy 7.3.1] - 3.6.9 [PyPy 7.3.2]
#### Node.js #### Node.js
- 8.17.0 - 8.17.0
- 10.22.1 - 10.22.1
- 12.18.4 - 12.18.4
- 14.11.0 - 14.13.0
#### Go #### Go
- 1.11.13 - 1.11.13
@@ -145,9 +151,9 @@
#### Packages #### Packages
- Bindgen 0.55.1 - Bindgen 0.55.1
- Cbindgen 0.14.4 - Cbindgen 0.14.6
- Cargo-outdated v0.9.11 - Cargo-outdated v0.9.11
- Cargo-audit 0.12.0 - Cargo-audit 0.12.1
### PowerShell Tools ### PowerShell Tools
- PowerShell 7.0.3 - PowerShell 7.0.3
@@ -155,13 +161,13 @@
#### PowerShell Modules #### PowerShell Modules
| Module | Version | | Module | Version |
| ---------- | ------- | | ---------- | ------- |
| Az | 4.6.1 | | Az | 4.7.0 |
| MarkdownPS | 1.9 | | MarkdownPS | 1.9 |
| Pester | 5.0.4 | | Pester | 5.0.4 |
### Xamarin ### Xamarin
#### Visual Studio for Mac #### Visual Studio for Mac
- 8.7.5.19 - 8.7.8.4
#### Mono #### Mono
- 6.12.0.93 - 6.12.0.93
@@ -171,6 +177,7 @@
- 6.4.0.208 - 6.4.0.208
#### Xamarin.iOS #### Xamarin.iOS
- 14.0.0.0
- 13.20.2.2 - 13.20.2.2
- 13.18.2.1 - 13.18.2.1
- 13.16.0.13 - 13.16.0.13
@@ -205,8 +212,9 @@
### Xcode ### Xcode
| Version | Build | Path | | Version | Build | Path |
| -------------- | -------- | ------------------------------- | | -------------- | -------- | ------------------------------- |
| 12.0 | 12A8189n | /Applications/Xcode_12_beta.app | | 12.2 | 12B5025f | /Applications/Xcode_12.2.app |
| 12.0 | 12A7209 | /Applications/Xcode_12.app | | 12.0 | 12A7209 | /Applications/Xcode_12.app |
| 12.0 | 12A8189n | /Applications/Xcode_12_beta.app |
| 11.7 (default) | 11E801a | /Applications/Xcode_11.7.app | | 11.7 (default) | 11E801a | /Applications/Xcode_11.7.app |
| 11.6 | 11E708 | /Applications/Xcode_11.6.app | | 11.6 | 11E708 | /Applications/Xcode_11.6.app |
| 11.5 | 11E608c | /Applications/Xcode_11.5.app | | 11.5 | 11E608c | /Applications/Xcode_11.5.app |
@@ -219,18 +227,18 @@
| 10.3 | 10G8 | /Applications/Xcode_10.3.app | | 10.3 | 10G8 | /Applications/Xcode_10.3.app |
#### Xcode Support Tools #### Xcode Support Tools
- xcpretty 0.3.0
- xcversion 2.6.6
- Nomad CLI 3.1.4 - Nomad CLI 3.1.4
- Nomad CLI IPA ipa 0.14.3 - Nomad CLI IPA ipa 0.14.3
- xcpretty 0.3.0
- xctool 0.3.7 - xctool 0.3.7
- xcversion 2.6.6
#### Installed SDKs #### Installed SDKs
| SDK | SDK Name | Xcode Version | | SDK | SDK Name | Xcode Version |
| ----------------------- | -------------------- | ---------------------------------------------------------------- | | ----------------------- | -------------------- | ---------------------------------------------------------------- |
| macOS 10.14 | macosx10.14 | 10.3 | | 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 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 | | macOS 11.0 | macosx11.0 | 12.0, 12.2 |
| iOS 12.4 | iphoneos12.4 | 10.3 | | iOS 12.4 | iphoneos12.4 | 10.3 |
| iOS 13.0 | iphoneos13.0 | 11.0 | | iOS 13.0 | iphoneos13.0 | 11.0 |
| iOS 13.1 | iphoneos13.1 | 11.1 | | iOS 13.1 | iphoneos13.1 | 11.1 |
@@ -240,6 +248,7 @@
| iOS 13.6 | iphoneos13.6 | 11.6 | | iOS 13.6 | iphoneos13.6 | 11.6 |
| iOS 13.7 | iphoneos13.7 | 11.7 | | iOS 13.7 | iphoneos13.7 | 11.7 |
| iOS 14.0 | iphoneos14.0 | 12.0, 12.0 | | iOS 14.0 | iphoneos14.0 | 12.0, 12.0 |
| iOS 14.2 | iphoneos14.2 | 12.2 |
| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 | | Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 |
| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 | | Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 |
| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 | | Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 |
@@ -249,134 +258,75 @@
| Simulator - iOS 13.6 | iphonesimulator13.6 | 11.6 | | Simulator - iOS 13.6 | iphonesimulator13.6 | 11.6 |
| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 | | Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 |
| Simulator - iOS 14.0 | iphonesimulator14.0 | 12.0, 12.0 | | Simulator - iOS 14.0 | iphonesimulator14.0 | 12.0, 12.0 |
| Simulator - iOS 14.2 | iphonesimulator14.2 | 12.2 |
| tvOS 12.4 | appletvos12.4 | 10.3 | | tvOS 12.4 | appletvos12.4 | 10.3 |
| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 | | tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
| tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.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 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
| tvOS 14.0 | appletvos14.0 | 12.0, 12.0 | | tvOS 14.0 | appletvos14.0 | 12.0, 12.0 |
| tvOS 14.2 | appletvos14.2 | 12.2 |
| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 | | Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 |
| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 | | 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.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 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 | | Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.0, 12.0 |
| Simulator - tvOS 14.2 | appletvsimulator14.2 | 12.2 |
| watchOS 5.3 | watchos5.3 | 10.3 | | watchOS 5.3 | watchos5.3 | 10.3 |
| watchOS 6.0 | watchos6.0 | 11.0, 11.1 | | watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.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 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
| watchOS 7.0 | watchos7.0 | 12.0, 12.0 | | watchOS 7.0 | watchos7.0 | 12.0, 12.0 |
| watchOS 7.1 | watchos7.1 | 12.2 |
| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 | | Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 |
| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 | | 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.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 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 | | Simulator - watchOS 7.0 | watchsimulator7.0 | 12.0, 12.0 |
| 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 | | 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 | | DriverKit 20.0 | driverkit.macosx20.0 | 12.0, 12.2 |
#### Installed Simulators #### Installed Simulators
| OS | Xcode Version | Simulators | | OS | Xcode Version | Simulators |
| ----------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------- | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 12.4 | 10.3 | iPhone 5s<br>iPhone 6<br>iPhone 6 Plus<br>iPhone 6s<br>iPhone 6s Plus<br>iPhone 7<br>iPhone 7 Plus<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE<br>iPhone X<br>iPhone XR<br>iPhone Xs<br>iPhone Xs Max<br>iPad (5th generation)<br>iPad (6th generation)<br>iPad Air<br>iPad Air (3rd generation)<br>iPad Air 2<br>iPad Pro (10.5-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch)<br>iPad Pro (12.9-inch) (2nd generation)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) | | iOS 12.4 | 10.3 | iPhone 5s<br>iPhone 6<br>iPhone 6 Plus<br>iPhone 6s<br>iPhone 6s Plus<br>iPhone 7<br>iPhone 7 Plus<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE<br>iPhone X<br>iPhone XR<br>iPhone Xs<br>iPhone Xs Max<br>iPad (5th generation)<br>iPad (6th generation)<br>iPad Air<br>iPad Air (3rd generation)<br>iPad Air 2<br>iPad Pro (10.5-inch)<br>iPad Pro (11-inch)<br>iPad Pro (11-inch) (1st generation)<br>iPad Pro (12.9-inch)<br>iPad Pro (12.9-inch) (2nd generation)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) |
| iOS 13.0 | 11.0 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPad Air (3rd generation)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) | | iOS 13.0 | 11.0 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPad Air (3rd generation)<br>iPad Pro (11-inch)<br>iPad Pro (11-inch) (1st generation)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) |
| iOS 13.1 | 11.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPad Air (3rd generation)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) | | iOS 13.1 | 11.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPad Air (3rd generation)<br>iPad Pro (11-inch)<br>iPad Pro (11-inch) (1st generation)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) |
| iOS 13.2 | 11.2.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPad Air (3rd generation)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) | | iOS 13.2 | 11.2.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch)<br>iPad Pro (11-inch) (1st generation)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) |
| iOS 13.3 | 11.3.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPad Air (3rd generation)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) | | iOS 13.3 | 11.3.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch)<br>iPad Pro (11-inch) (1st generation)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Pro (9.7-inch) |
| iOS 13.4 | 11.4<br>11.4.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) | | iOS 13.4 | 11.4<br>11.4.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
| iOS 13.5 | 11.5 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) | | iOS 13.5 | 11.5 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
| iOS 13.6 | 11.6 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) | | iOS 13.6 | 11.6 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
| iOS 13.7 | 11.7 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) | | iOS 13.7 | 11.7 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
| iOS 14.0 | 12.0 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) | | iOS 14.0 | 12.0<br>12.0 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
| tvOS 12.4 | 10.3 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | iOS 14.2 | 12.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
| tvOS 13.0 | 11.0<br>11.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 12.4 | 10.3 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 13.2 | 11.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.0 | 11.0<br>11.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 13.3 | 11.3.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.2 | 11.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 13.4 | 11.4<br>11.4.1<br>11.5<br>11.6<br>11.7 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.3 | 11.3.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 14.0 | 12.0 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.4 | 11.4<br>11.4.1<br>11.5<br>11.6<br>11.7 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm<br>Apple Watch Series 2 - 42mm<br>Apple Watch Series 3 - 38mm<br>Apple Watch Series 3 - 42mm<br>Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm | | tvOS 14.0 | 12.0<br>12.0 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| watchOS 6.0 | 11.0<br>11.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm | | tvOS 14.2 | 12.2 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| watchOS 6.1 | 11.2.1<br>11.3.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm | | watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm<br>Apple Watch Series 2 - 42mm<br>Apple Watch Series 3 - 38mm<br>Apple Watch Series 3 - 42mm<br>Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm |
| watchOS 6.2 | 11.4<br>11.4.1<br>11.5<br>11.6<br>11.7 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm | | watchOS 6.0 | 11.0<br>11.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
| watchOS 7.0 | 12.0 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm | | watchOS 6.1 | 11.2.1<br>11.3.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
| watchOS 6.2 | 11.4<br>11.4.1<br>11.5<br>11.6<br>11.7 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
| watchOS 7.0 | 12.0<br>12.0 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
| watchOS 7.1 | 12.2 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
### Android ### Android
#### Android SDK Tools | Package Name | Version |
| Package Name | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ------------ | ---------------------------------- | | Android SDK Tools | 26.1.1 |
| tools | Android SDK Tools, Revision 26.1.1 | | Android SDK Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3)<br>android-26 (rev 2)<br>android-25 (rev 3)<br>android-24 (rev 2) |
| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2<br>29.0.0 29.0.1 29.0.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3<br>26.0.0 26.0.1 26.0.2 26.0.3<br>25.0.0 25.0.1 25.0.2 25.0.3<br>24.0.0 24.0.1 24.0.2 24.0.3 |
#### Android SDK Platform-Tools | Android SDK Platform-Tools | 30.0.4 |
| Package Name | Description | | Google APIs | addon-google_apis-google-21<br>addon-google_apis-google-22<br>addon-google_apis-google-23<br>addon-google_apis-google-24 |
| -------------- | ------------------------------------------- | | Android Support Repository | 47.0.0 |
| platform-tools | Android SDK Platform-Tools, Revision 30.0.4 | | Google Play services | 49 |
| Google Repository | 58 |
#### Android SDK Platforms | SDK Patch Applier v4 | 1 |
| Package Name | Description | | CMake | 3.6.4111459 |
| ------------ | ----------------------------------- | | NDK | 15.2.4203891<br>18.1.5063045<br>21.3.6528147 |
| 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 |

View File

@@ -27,7 +27,4 @@ sudo "/Library/Application Support/VMware Tools/vmware-resolutionSet" 1176 885
# sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain # sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain
curl https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer --output $HOME/AppleWWDRCAG3.cer --silent curl https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer --output $HOME/AppleWWDRCAG3.cer --silent
sudo security add-trusted-cert -d -r unspecified -k /Library/Keychains/System.keychain $HOME/AppleWWDRCAG3.cer sudo security add-trusted-cert -d -r unspecified -k /Library/Keychains/System.keychain $HOME/AppleWWDRCAG3.cer
rm $HOME/AppleWWDRCAG3.cer rm $HOME/AppleWWDRCAG3.cer
# Disable spotlight indexing to prevent possible high CPU usage after startup
sudo mdutil -ai off

View File

@@ -12,8 +12,3 @@ brew install sox
echo "set Soundflower (2ch) as input/output device" echo "set Soundflower (2ch) as input/output device"
SwitchAudioSource -s "Soundflower (2ch)" -t input SwitchAudioSource -s "Soundflower (2ch)" -t input
SwitchAudioSource -s "Soundflower (2ch)" -t output 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)"

View File

@@ -19,7 +19,7 @@ binst_common_utils=(
helm helm
aliyun-cli aliyun-cli
bazelisk bazelisk
github/gh/gh gh
p7zip p7zip
ant ant
aria2 aria2

View File

@@ -1,7 +1,11 @@
source ~/utils/utils.sh source ~/utils/utils.sh
echo "Installing Microsoft Edge..." 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 brew cask install microsoft-edge
git checkout master
EDGE_INSTALLATION_PATH="/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge" EDGE_INSTALLATION_PATH="/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
EDGE_VERSION=$("$EDGE_INSTALLATION_PATH" --version | cut -d' ' -f 3) 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" ] while [ ! -f "$AUTOUPDATE_START" ]
do do
echo "Wait for MS update automatic installation" echo "Wait for MS update automatic installation"
sleep 30 sleep 30
done done
echo "kill autoupdate process" echo "kill autoupdate process"

View File

@@ -4,7 +4,10 @@ curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
export PATH="$HOME/.ghcup/bin:$PATH" export PATH="$HOME/.ghcup/bin:$PATH"
echo 'export PATH="$PATH:$HOME/.ghcup/bin"' >> "$HOME/.bashrc" 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) minorMajorVersions=$(echo "$availableVersions" | cut -d"." -f 1,2 | uniq | tail -n3)
for majorMinorVersion in $minorMajorVersions; do for majorMinorVersion in $minorMajorVersions; do
fullVersion=$(echo "$availableVersions" | grep "$majorMinorVersion." | tail -n1) fullVersion=$(echo "$availableVersions" | grep "$majorMinorVersion." | tail -n1)

View File

@@ -6,7 +6,8 @@
########################################################################### ###########################################################################
source ~/utils/utils.sh 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 if [ $? -eq 0 ]; then
. ~/.bashrc . ~/.bashrc
@@ -23,13 +24,13 @@ if [ $? -eq 0 ]; then
nvm alias node12 lts/erbium nvm alias node12 lts/erbium
nvm alias node13 v13 nvm alias node13 v13
nvm alias node14 v14 nvm alias node14 v14
if is_Catalina || is_BigSur; then if is_Catalina || is_BigSur; then
# set system node as default # set system node as default
nvm alias default system nvm alias default system
fi fi
else else
echo error echo error
fi fi
echo "Node version manager has been installed successfully" echo "Node version manager has been installed successfully"

View File

@@ -1,4 +1,7 @@
#!/bin/sh #!/bin/sh
source ~/utils/utils.sh
echo "Installing OpenSSL..." echo "Installing OpenSSL..."
export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH" export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

View File

@@ -35,13 +35,7 @@ do
echo "Extracting Xcode.app ($VERSION_TO_INSTALL) to ${WORK_DIR} ..." echo "Extracting Xcode.app ($VERSION_TO_INSTALL) to ${WORK_DIR} ..."
extractXcodeXip $WORK_DIR "$VERSION_TO_INSTALL" extractXcodeXip $WORK_DIR "$VERSION_TO_INSTALL"
# Remove "beta" postfix from version XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1)
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
echo "Checking if unpacked Xcode ${XCODE_VERSION} is valid" echo "Checking if unpacked Xcode ${XCODE_VERSION} is valid"
validateXcodeIntegrity "$WORK_DIR" 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 # 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 createBetaSymlink $XCODE_VERSION
if [ ! $(echo $XCODE_VERSION | grep "beta") ]; then createXamarinProvisionatorSymlink "$XCODE_VERSION"
createXamarinProvisionatorSymlink "$XCODE_VERSION"
fi
find $WORK_DIR -mindepth 1 -delete find $WORK_DIR -mindepth 1 -delete
done done
@@ -74,12 +66,7 @@ do
continue continue
fi fi
if [[ $XCODE_VERSION == "12_beta" ]] && is_Catalina ; then XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1)
# 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
echo "Running 'runFirstLaunch' for Xcode ${XCODE_VERSION}..." echo "Running 'runFirstLaunch' for Xcode ${XCODE_VERSION}..."
runFirstLaunch $XCODE_VERSION runFirstLaunch $XCODE_VERSION

View File

@@ -4,6 +4,8 @@ param (
$ImageName $ImageName
) )
$ErrorActionPreference = "Stop"
Import-Module MarkdownPS Import-Module MarkdownPS
Import-Module "$PSScriptRoot/SoftwareReport.Common.psm1" -DisableNameChecking Import-Module "$PSScriptRoot/SoftwareReport.Common.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/SoftwareReport.Xcode.psm1" -DisableNameChecking Import-Module "$PSScriptRoot/SoftwareReport.Xcode.psm1" -DisableNameChecking
@@ -291,6 +293,8 @@ $markdown += New-MDList -Lines (Build-XamarinAndroidList) -Style Unordered
$markdown += New-MDHeader "Unit Test Framework" -Level 4 $markdown += New-MDHeader "Unit Test Framework" -Level 4
$markdown += New-MDList -Lines @(Get-NUnitVersion) -Style Unordered $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 # Xcode section
$xcodeInfo = Get-XcodeInfoList $xcodeInfo = Get-XcodeInfoList
$markdown += New-MDHeader "Xcode" -Level 3 $markdown += New-MDHeader "Xcode" -Level 3
@@ -303,12 +307,9 @@ $markdown += New-MDHeader "Installed SDKs" -Level 4
$markdown += Build-XcodeSDKTable $xcodeInfo | New-MDTable $markdown += Build-XcodeSDKTable $xcodeInfo | New-MDTable
$markdown += New-MDNewLine $markdown += New-MDNewLine
# Disable simulators table on 11.0 beta for now since "simctl" tool doesn't work properly $markdown += New-MDHeader "Installed Simulators" -Level 4
if (-not $os.IsBigSur) { $markdown += Build-XcodeSimulatorsTable $xcodeInfo | New-MDTable
$markdown += New-MDHeader "Installed Simulators" -Level 4 $markdown += New-MDNewLine
$markdown += Build-XcodeSimulatorsTable $xcodeInfo | New-MDTable
$markdown += New-MDNewLine
}
# Android section # Android section
$markdown += New-MDHeader "Android" -Level 3 $markdown += New-MDHeader "Android" -Level 3

View File

@@ -46,7 +46,8 @@ function Get-XcodeInfoList {
$versionInfo = Get-XcodeVersionInfo $versionInfo = Get-XcodeVersionInfo
$versionInfo.Path = $xcodeRootPath $versionInfo.Path = $xcodeRootPath
$versionInfo.IsDefault = ($xcodeRootPath -eq $defaultXcodeRootPath) $versionInfo.IsDefault = ($xcodeRootPath -eq $defaultXcodeRootPath)
$versionInfo.IsStable = Test-XcodeStableRelease -XcodeRootPath $xcodeRootPath
$xcodeInfo.Add($xcodeRootPath, [PSCustomObject] @{ $xcodeInfo.Add($xcodeRootPath, [PSCustomObject] @{
VersionInfo = $versionInfo VersionInfo = $versionInfo
SDKInfo = Get-XcodeSDKList SDKInfo = Get-XcodeSDKList
@@ -91,6 +92,7 @@ function Build-XcodeTable {
$xcodeList = $xcodeInfo.Values | ForEach-Object { $_.VersionInfo } | Sort-Object $sortRules $xcodeList = $xcodeInfo.Values | ForEach-Object { $_.VersionInfo } | Sort-Object $sortRules
return $xcodeList | ForEach-Object { return $xcodeList | ForEach-Object {
$defaultPostfix = If ($_.IsDefault) { " (default)" } else { "" } $defaultPostfix = If ($_.IsDefault) { " (default)" } else { "" }
$betaPostfix = If ($_.IsStable) { "" } else { " (beta)" }
return [PSCustomObject] @{ return [PSCustomObject] @{
"Version" = $_.Version.ToString() + $betaPostfix + $defaultPostfix "Version" = $_.Version.ToString() + $betaPostfix + $defaultPostfix
"Build" = $_.Build "Build" = $_.Build

View File

@@ -40,7 +40,7 @@ Describe "Xcode" {
It "Xcode <XcodeVersion> has correct beta symlink" -TestCases $testCases { It "Xcode <XcodeVersion> has correct beta symlink" -TestCases $testCases {
param ( [string] $XcodeVersion ) 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) $shouldBetaSymlinkExists = $XcodeVersion.StartsWith("10") -or $XcodeVersion.StartsWith("11") -or ($XcodeVersion -in $xcodesWithBetaSymlink)
$betaSymlinkPath = Get-XcodeRootPath -Version "${XcodeVersion}_beta" $betaSymlinkPath = Get-XcodeRootPath -Version "${XcodeVersion}_beta"
@@ -56,7 +56,7 @@ Describe "Xcode" {
} }
Context "XCODE_DEVELOPER_DIR" { 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 $majorXcodeVersions = $stableXcodeVersions | ForEach-Object { $_.Split(".")[0] } | Select-Object -Unique
$testCases = $majorXcodeVersions | ForEach-Object { $testCases = $majorXcodeVersions | ForEach-Object {
$majorXcodeVersion = $_ $majorXcodeVersion = $_
@@ -76,7 +76,7 @@ Describe "Xcode" {
$variableName = "XCODE_${MajorXcodeVersion}_DEVELOPER_DIR" $variableName = "XCODE_${MajorXcodeVersion}_DEVELOPER_DIR"
$actualPath = Get-EnvironmentVariable $variableName $actualPath = Get-EnvironmentVariable $variableName
$expectedPath = Join-Path (Get-XcodeRootPath -Version $ExpectedVersion) "Contents/Developer" $expectedPath = Join-Path (Get-XcodeRootPath -Version $ExpectedVersion) "Contents/Developer"
$actualPath | Should -Exist $actualPath | Should -Exist
$actualPath | Should -Be $expectedPath $actualPath | Should -Be $expectedPath
} }
@@ -84,15 +84,15 @@ Describe "Xcode" {
} }
Describe "Xcode simulators" { Describe "Xcode simulators" {
$XCODE_VERSIONS | Where-Object { Test-XcodeStableVersion $_ } | ForEach-Object { $XCODE_VERSIONS | Where-Object { Test-XcodeStableRelease -Version $_ } | ForEach-Object {
Switch-Xcode -Version $_ Switch-Xcode -Version $_
Context "$_" { Context "$_" {
It "No duplicates in devices" { It "No duplicates in devices" {
[array]$devicesList = @(Get-XcodeDevicesList | Where-Object { $_ }) [array]$devicesList = @(Get-XcodeDevicesList | Where-Object { $_ })
Validate-ArrayWithoutDuplicates $devicesList -Because "Found duplicate device simulators" Validate-ArrayWithoutDuplicates $devicesList -Because "Found duplicate device simulators"
} }
It "No duplicates in pairs" { It "No duplicates in pairs" {
[array]$pairsList = @(Get-XcodePairsList | Where-Object { $_ }) [array]$pairsList = @(Get-XcodePairsList | Where-Object { $_ })
Validate-ArrayWithoutDuplicates $pairsList -Because "Found duplicate pairs simulators" Validate-ArrayWithoutDuplicates $pairsList -Because "Found duplicate pairs simulators"

View File

@@ -220,7 +220,8 @@
"3.5.*", "3.5.*",
"3.6.*", "3.6.*",
"3.7.*", "3.7.*",
"3.8.*" "3.8.*",
"3.9.*"
] ]
}, },
{ {

View File

@@ -2,7 +2,7 @@
"xcode": { "xcode": {
"default": "11.7", "default": "11.7",
"versions": [ "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", "11.7", "11.6", "11.5", "11.4.1", "11.4", "11.3.1", "11.2.1", "11.1", "11", "10.3"
] ]
}, },
"xamarin": { "xamarin": {
@@ -19,7 +19,7 @@
"android-versions": [ "android-versions": [
"11.0.2.0", "10.3.1.4", "10.2.0.100", "10.1.3.7", "10.0.6.2" "11.0.2.0", "10.3.1.4", "10.2.0.100", "10.1.3.7", "10.0.6.2"
], ],
"bundle-default": "latest", "bundle-default": "6_12_0",
"bundles": [ "bundles": [
{ {
"symlink": "6_12_1", "symlink": "6_12_1",
@@ -129,7 +129,8 @@
"3.5.*", "3.5.*",
"3.6.*", "3.6.*",
"3.7.*", "3.7.*",
"3.8.*" "3.8.*",
"3.9.*"
] ]
}, },
{ {

View File

@@ -2,7 +2,7 @@
"xcode": { "xcode": {
"default": "11.7", "default": "11.7",
"versions": [ "versions": [
"12.2_beta", "12_beta", "11.7" "12.2_beta", "11.7"
] ]
}, },
"xamarin": { "xamarin": {
@@ -19,7 +19,7 @@
"android-versions": [ "android-versions": [
"11.0.2.0" "11.0.2.0"
], ],
"bundle-default": "latest", "bundle-default": "6_12_0",
"bundles": [ "bundles": [
{ {
"symlink": "6_12_1", "symlink": "6_12_1",
@@ -68,7 +68,8 @@
"platform" : "darwin", "platform" : "darwin",
"versions": [ "versions": [
"3.7.*", "3.7.*",
"3.8.*" "3.8.*",
"3.9.*"
] ]
}, },
{ {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -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)
}

View File

@@ -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"
}

View File

@@ -0,0 +1,4 @@
$vsInstallRoot = Get-VisualStudioPath
$devEnvPath = "$vsInstallRoot\Common7\IDE\devenv.exe"
cmd.exe /c "`"$devEnvPath`" /updateconfiguration"

View File

@@ -37,6 +37,9 @@ Export-ModuleMember -Function @(
'Get-VsCatalogJsonPath' 'Get-VsCatalogJsonPath'
'Get-VisualStudioPath' 'Get-VisualStudioPath'
'Install-AndroidSDKPackages' 'Install-AndroidSDKPackages'
'Get-AndroidPackages'
'Get-AndroidPackagesByName'
'Get-AndroidPackagesByVersion'
'Get-VisualStudioPackages' 'Get-VisualStudioPackages'
'Get-VisualStudioComponents' 'Get-VisualStudioComponents'
) )

View File

@@ -418,3 +418,41 @@ function Install-AndroidSDKPackages {
& $AndroidSDKManagerPath --sdk_root=$AndroidSDKRootPath "$PrefixPackageName$package" & $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
}

View File

@@ -27,10 +27,6 @@ Function Set-DefaultVariables
} }
} }
$ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers -Force -DisableNameChecking
# Define executables for cached tools # Define executables for cached tools
$toolsEnvironmentVariables = @{ $toolsEnvironmentVariables = @{
Python = @{ Python = @{

View File

@@ -62,8 +62,6 @@ Function Set-DefaultRubyVersion {
Invoke-Expression "gem update --system" Invoke-Expression "gem update --system"
} }
Import-Module -Name ImageHelpers -Force
$FeedPrefix = "https://npm.pkg.github.com" $FeedPrefix = "https://npm.pkg.github.com"
$AccessToken = $env:GITHUB_FEED_TOKEN $AccessToken = $env:GITHUB_FEED_TOKEN

View File

@@ -6,8 +6,6 @@
Write-Host "Cleanup WinSxS" Write-Host "Cleanup WinSxS"
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
$ErrorActionPreference = 'silentlycontinue'
Write-Host "Clean up various directories" Write-Host "Clean up various directories"
@( @(
"C:\\Recovery", "C:\\Recovery",
@@ -30,4 +28,5 @@ Write-Host "Clean up various directories"
$winInstallDir = "$env:windir\\Installer" $winInstallDir = "$env:windir\\Installer"
New-Item -Path $winInstallDir -ItemType Directory -Force New-Item -Path $winInstallDir -ItemType Directory -Force
$ErrorActionPreference = 'Continue' # Remove AllUsersAllHosts profile
Remove-Item $profile.AllUsersAllHosts -Force

View File

@@ -30,6 +30,9 @@ function Disable-UserAccessControl {
Write-Host "User Access Control (UAC) has been disabled." 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 # Set TLS1.2
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12"

View File

@@ -3,8 +3,6 @@
## Desc: Install Azure CosmosDb Emulator ## Desc: Install Azure CosmosDb Emulator
#################################################################################### ####################################################################################
Import-Module -Name ImageHelpers -Force
$InstallerName = "AzureCosmosDBEmulator.msi" $InstallerName = "AzureCosmosDBEmulator.msi"
$InstallerUrl = "https://aka.ms/cosmosdb-emulator" $InstallerUrl = "https://aka.ms/cosmosdb-emulator"

View File

@@ -3,8 +3,6 @@
## Desc: Install Azure PowerShell modules ## Desc: Install Azure PowerShell modules
################################################################################ ################################################################################
$ErrorActionPreference = "Stop"
# The correct Modules need to be saved in C:\Modules # The correct Modules need to be saved in C:\Modules
$installPSModulePath = $env:PSMODULES_ROOT_FOLDER $installPSModulePath = $env:PSMODULES_ROOT_FOLDER
if (-not (Test-Path -LiteralPath $installPSModulePath)) if (-not (Test-Path -LiteralPath $installPSModulePath))

View File

@@ -3,8 +3,6 @@
## Desc: Install Google Chrome ## Desc: Install Google Chrome
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
# Download and install latest Chrome browser # Download and install latest Chrome browser
$ChromeInstallerFile = "chrome_installer.exe" $ChromeInstallerFile = "chrome_installer.exe"
$ChromeInstallerUrl = "https://dl.google.com/chrome/install/375.126/${ChromeInstallerFile}" $ChromeInstallerUrl = "https://dl.google.com/chrome/install/375.126/${ChromeInstallerFile}"

View File

@@ -3,8 +3,6 @@
## Desc: Install Cloud Foundry CLI ## Desc: Install Cloud Foundry CLI
################################################################################ ################################################################################
Import-Module -Name ImageHelpers
# Download the latest cf cli exe # Download the latest cf cli exe
$CloudFoundryCliName = "cf-cli.zip" $CloudFoundryCliName = "cf-cli.zip"
$CloudFoundryCliUrl = "https://packages.cloudfoundry.org/stable?release=windows64-exe&source=github" $CloudFoundryCliUrl = "https://packages.cloudfoundry.org/stable?release=windows64-exe&source=github"

View File

@@ -3,8 +3,6 @@
## 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" $InstallerName = "DacFramework.msi"
$InstallerUrl = "https://go.microsoft.com/fwlink/?linkid=2134206" $InstallerUrl = "https://go.microsoft.com/fwlink/?linkid=2134206"

View File

@@ -3,8 +3,6 @@
## Desc: Install Mozilla Firefox ## Desc: Install Mozilla Firefox
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
# Install and configure Firefox browser # Install and configure Firefox browser
Write-Host "Install latest Firefox browser..." Write-Host "Install latest Firefox browser..."
$VersionsManifest = Invoke-RestMethod "https://product-details.mozilla.org/1.0/firefox_versions.json" $VersionsManifest = Invoke-RestMethod "https://product-details.mozilla.org/1.0/firefox_versions.json"

View File

@@ -3,8 +3,6 @@
## Desc: Install Git for Windows ## Desc: Install Git for Windows
################################################################################ ################################################################################
Import-Module -Name ImageHelpers
function getSimpleValue([string] $url, [string] $filename ) { function getSimpleValue([string] $url, [string] $filename ) {
$fullpath = "${env:Temp}\$filename" $fullpath = "${env:Temp}\$filename"
Invoke-WebRequest -Uri $url -OutFile $fullpath Invoke-WebRequest -Uri $url -OutFile $fullpath
@@ -40,5 +38,13 @@ Choco-Install -PackageName hub
Add-MachinePathItem "C:\Program Files\Git\bin" Add-MachinePathItem "C:\Program Files\Git\bin"
if (Test-IsWin16) {
$env:Path += ";$env:ProgramFiles\Git\usr\bin\"
}
# 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 "Git" -TestName "Git"
Invoke-PesterTests -TestFile "CLI.Tools" -TestName "Hub CLI" Invoke-PesterTests -TestFile "CLI.Tools" -TestName "Hub CLI"

View File

@@ -4,7 +4,7 @@
################################################################################ ################################################################################
# Get 3 latest versions of GHC # 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 $MajorMinorGroups = $ChocoVersionsOutput | Sort-Object -Descending | Group-Object { $_.ToString(2) } | Select-Object -First 3
$VersionsList = $MajorMinorGroups | ForEach-Object { $_.Group | Select-Object -First 1 } | Sort-Object $VersionsList = $MajorMinorGroups | ForEach-Object { $_.Group | Select-Object -First 1 } | Sort-Object

View File

@@ -3,8 +3,6 @@
## Desc: Install various JDKs and java tools ## Desc: Install various JDKs and java tools
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
function Set-JavaPath { function Set-JavaPath {
param ( param (
[string] $Version, [string] $Version,

View File

@@ -3,8 +3,6 @@
## Desc: Install the latest version of Miniconda and set $env:CONDA ## Desc: Install the latest version of Miniconda and set $env:CONDA
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
$CondaDestination = "C:\Miniconda" $CondaDestination = "C:\Miniconda"
# Lock to Miniconda 4.6 until we do the work to run `conda init` for the vsts user # Lock to Miniconda 4.6 until we do the work to run `conda init` for the vsts user

View File

@@ -3,8 +3,6 @@
## Desc: Install .NET 4.8 ## Desc: Install .NET 4.8
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
# .NET 4.8 Dev pack # .NET 4.8 Dev pack
$InstallerName = "ndp48-devpack-enu.exe" $InstallerName = "ndp48-devpack-enu.exe"
$InstallerUrl = "https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0307177e14752e359fde5423ab583e43/${InstallerName}" $InstallerUrl = "https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0307177e14752e359fde5423ab583e43/${InstallerName}"

View File

@@ -4,8 +4,6 @@
## Must run after python is configured ## Must run after python is configured
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
$PrefixPath = 'C:\npm\prefix' $PrefixPath = 'C:\npm\prefix'
$CachePath = 'C:\npm\cache' $CachePath = 'C:\npm\cache'

View File

@@ -2,9 +2,6 @@
## File: Install-PHP.ps1 ## File: Install-PHP.ps1
## Desc: Install PHP ## Desc: Install PHP
################################################################################ ################################################################################
$ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers
# Install latest PHP in chocolatey # Install latest PHP in chocolatey
$installDir = "c:\tools\php" $installDir = "c:\tools\php"

View File

@@ -1,5 +1,3 @@
$ErrorActionPreference = "Stop"
#Define user and password for PostgreSQL database #Define user and password for PostgreSQL database
$pgUser = "postgres" $pgUser = "postgres"
$pgPwd = "root" $pgPwd = "root"

View File

@@ -1,5 +1,3 @@
$ErrorActionPreference = "Stop"
# Set TLS1.2 # Set TLS1.2
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12"

View File

@@ -82,9 +82,6 @@ function Install-PyPy
} }
} }
$ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers -Force -DisableNameChecking
# Get PyPy content from toolset # Get PyPy content from toolset
$pypyTools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache | Where-Object Name -eq "PyPy" $pypyTools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache | Where-Object Name -eq "PyPy"

View File

@@ -3,8 +3,6 @@
## Desc: Install Rust for Windows ## Desc: Install Rust for Windows
################################################################################ ################################################################################
Import-Module -Name ImageHelpers
# Rust Env # Rust Env
$env:RUSTUP_HOME = "C:\Rust\.rustup" $env:RUSTUP_HOME = "C:\Rust\.rustup"
$env:CARGO_HOME = "C:\Rust\.cargo" $env:CARGO_HOME = "C:\Rust\.cargo"

View File

@@ -3,8 +3,6 @@
## Desc: Install SQL PowerShell tool ## 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" $BaseUrl = "https://download.microsoft.com/download/8/7/2/872BCECA-C849-4B40-8EBE-21D48CDF1456/ENU/x64"
# install required MSIs # install required MSIs

View File

@@ -2,9 +2,6 @@
## File: Install-Sbt.ps1 ## File: Install-Sbt.ps1
## Desc: Install sbt for Windows ## Desc: Install sbt for Windows
################################################################################ ################################################################################
$ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers
# Install the latest version of sbt. # Install the latest version of sbt.
# See https://chocolatey.org/packages/sbt # See https://chocolatey.org/packages/sbt

View File

@@ -3,8 +3,6 @@
## Desc: Install Selenium Server standalone ## Desc: Install Selenium Server standalone
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
# Acquire latest Selenium release number from GitHub API # Acquire latest Selenium release number from GitHub API
$latestReleaseUrl = "https://api.github.com/repos/SeleniumHQ/selenium/releases/latest" $latestReleaseUrl = "https://api.github.com/repos/SeleniumHQ/selenium/releases/latest"
try { try {

View File

@@ -29,10 +29,6 @@ Function Install-Asset {
Pop-Location Pop-Location
} }
$ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers -Force
# Get toolcache content from toolset # Get toolcache content from toolset
$ToolsToInstall = @("Python", "Node", "Boost", "Go") $ToolsToInstall = @("Python", "Node", "Boost", "Go")

View File

@@ -3,8 +3,6 @@
## Desc: Install Visual Studio ## Desc: Install Visual Studio
################################################################################ ################################################################################
$ErrorActionPreference = "Stop"
$toolset = Get-ToolsetContent $toolset = Get-ToolsetContent
$requiredComponents = $toolset.visualStudio.workloads | ForEach-Object { "--add $_" } $requiredComponents = $toolset.visualStudio.workloads | ForEach-Object { "--add $_" }
$workLoads = @( $workLoads = @(

View File

@@ -3,8 +3,6 @@
## Desc: Install vcpkg ## Desc: Install vcpkg
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
$Uri = 'https://github.com/Microsoft/vcpkg.git' $Uri = 'https://github.com/Microsoft/vcpkg.git'
$InstallDir = 'C:\vcpkg' $InstallDir = 'C:\vcpkg'
$VcpkgExecPath = 'vcpkg.exe' $VcpkgExecPath = 'vcpkg.exe'

View File

@@ -3,8 +3,6 @@
## Desc: Install the Visual Studio Extensions from toolset.json ## Desc: Install the Visual Studio Extensions from toolset.json
################################################################################### ###################################################################################
$ErrorActionPreference = "Stop"
$toolset = Get-ToolsetContent $toolset = Get-ToolsetContent
$vsixPackagesList = $toolset.visualStudio.vsix $vsixPackagesList = $toolset.visualStudio.vsix
if (-not $vsixPackagesList) { if (-not $vsixPackagesList) {

View File

@@ -4,9 +4,6 @@
################################################################################ ################################################################################
# Requires Windows SDK with the same version number as the WDK # Requires Windows SDK with the same version number as the WDK
Import-Module -Name ImageHelpers -Force
if (Test-IsWin19) if (Test-IsWin19)
{ {
$winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2120843" $winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2120843"

View File

@@ -3,8 +3,6 @@
## Desc: Install Windows Application Driver (WinAppDriver) ## Desc: Install Windows Application Driver (WinAppDriver)
#################################################################################### ####################################################################################
Import-Module -Name ImageHelpers -Force
$InstallerName = "WindowsApplicationDriver.msi" $InstallerName = "WindowsApplicationDriver.msi"
$InstallerUrl = "https://github.com/Microsoft/WinAppDriver/releases/download/v1.1/${InstallerName}" $InstallerUrl = "https://github.com/Microsoft/WinAppDriver/releases/download/v1.1/${InstallerName}"

View File

@@ -3,8 +3,6 @@
## Desc: Install WIX. ## Desc: Install WIX.
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
Choco-Install -PackageName wixtoolset -ArgumentList "--force" Choco-Install -PackageName wixtoolset -ArgumentList "--force"
if(Test-IsWin19) if(Test-IsWin19)

View File

@@ -3,15 +3,6 @@
## Desc: Install and update Android SDK and tools ## 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, # 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. # 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, # 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 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 Expand-Archive -Path .\android-sdk-licenses.zip -DestinationPath 'C:\Program Files (x86)\Android\android-sdk' -Force
# run the updates. # run the updates.
# keep newer versions in descending order # keep newer versions in descending order
@@ -42,15 +32,32 @@ $sdkManager = "$sdkRoot\tools\bin\sdkmanager.bat"
& $sdkManager --sdk_root=$sdkRoot "platform-tools" & $sdkManager --sdk_root=$sdkRoot "platform-tools"
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager ` # get packages info
-AndroidSDKRootPath $sdkRoot ` $androidPackages = Get-AndroidPackages -AndroidSDKManagerPath $sdkManager
-AndroidPackages $androidToolset.platform_list `
-PrefixPackageName "platforms;" # 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 ` Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
-AndroidSDKRootPath $sdkRoot ` -AndroidSDKRootPath $sdkRoot `
-AndroidPackages $androidToolset.build_tools ` -AndroidPackages $platformList
-PrefixPackageName "build-tools;"
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
-AndroidSDKRootPath $sdkRoot `
-AndroidPackages $buildToolsList
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager ` Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
-AndroidSDKRootPath $sdkRoot ` -AndroidSDKRootPath $sdkRoot `

View File

@@ -3,8 +3,6 @@
## Desc: Install SQL Server Data Tools for Windows ## Desc: Install SQL Server Data Tools for Windows
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
#SSDT for Visual Studio 2017 #SSDT for Visual Studio 2017
#The link down below points to the latest version of 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" $InstallerName = "SSDT-Setup-ENU.exe"

View File

@@ -3,8 +3,6 @@
## Desc: Install Windows 8.1 SDK ## Desc: Install Windows 8.1 SDK
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force
$InstallerName = "sdksetup.exe" $InstallerName = "sdksetup.exe"
$InstallerUrl = "http://download.microsoft.com/download/B/0/C/B0C80BA3-8AD6-4958-810B-6882485230B5/standalonesdk/${InstallerName}" $InstallerUrl = "http://download.microsoft.com/download/B/0/C/B0C80BA3-8AD6-4958-810B-6882485230B5/standalonesdk/${InstallerName}"
$ArgumentList = ("/quiet", "/norestart") $ArgumentList = ("/quiet", "/norestart")

View File

@@ -31,7 +31,6 @@ function Get-AndroidInstalledPackages {
return $androidInstalledPackages return $androidInstalledPackages
} }
function Build-AndroidTable { function Build-AndroidTable {
$packageInfo = Get-AndroidInstalledPackages $packageInfo = Get-AndroidInstalledPackages
return @( return @(

View File

@@ -1,5 +1,3 @@
$ErrorActionPreference = "Stop"
Import-Module MarkdownPS Import-Module MarkdownPS
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.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-MDHeader "Tools" -Level 3
$markdown += New-MDList -Style Unordered -Lines @( $markdown += New-MDList -Style Unordered -Lines @(
(Get-AzCosmosDBEmulatorVersion),
(Get-AzCopyVersion), (Get-AzCopyVersion),
(Get-BazelVersion), (Get-BazelVersion),
(Get-BazeliskVersion), (Get-BazeliskVersion),
@@ -91,15 +88,12 @@ $markdown += New-MDList -Style Unordered -Lines @(
(Get-KubectlVersion), (Get-KubectlVersion),
(Get-KindVersion), (Get-KindVersion),
(Get-MinGWVersion), (Get-MinGWVersion),
(Get-MySQLVersion),
(Get-MercurialVersion), (Get-MercurialVersion),
(Get-NSISVersion), (Get-NSISVersion),
(Get-NewmanVersion), (Get-NewmanVersion),
(Get-OpenSSLVersion), (Get-OpenSSLVersion),
(Get-PackerVersion), (Get-PackerVersion),
(Get-PulumiVersion), (Get-PulumiVersion),
(Get-SQLPSVersion),
(Get-SQLServerPSVersion),
(Get-SVNVersion), (Get-SVNVersion),
(Get-GHCVersion), (Get-GHCVersion),
(Get-CabalVersion), (Get-CabalVersion),
@@ -168,6 +162,14 @@ $markdown += New-MDHeader "Databases" -Level 3
$markdown += Build-DatabasesMarkdown $markdown += Build-DatabasesMarkdown
$markdown += New-MDNewLine $markdown += New-MDNewLine
$markdown += New-MDHeader "Database tools" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-AzCosmosDBEmulatorVersion),
(Get-SQLPSVersion),
(Get-MySQLVersion)
)
$markdown += New-MDNewLine
$vs = Get-VisualStudioVersion $vs = Get-VisualStudioVersion
$markdown += New-MDHeader "$($vs.Name)" -Level 3 $markdown += New-MDHeader "$($vs.Name)" -Level 3
$markdown += $vs | New-MDTable $markdown += $vs | New-MDTable
@@ -230,4 +232,8 @@ $markdown += New-MDHeader "Android" -Level 3
$markdown += Build-AndroidTable | New-MDTable $markdown += Build-AndroidTable | New-MDTable
$markdown += New-MDNewLine $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" $markdown | Out-File -FilePath "C:\InstalledSoftware.md"

View File

@@ -125,12 +125,6 @@ function Get-SQLPSVersion {
return "SQLPS $version" return "SQLPS $version"
} }
function Get-SQLServerPSVersion {
$module = Get-Module -Name SQLServer -ListAvailable
$version = $module.Version
return "SQLServer PS $version"
}
function Get-SVNVersion { function Get-SVNVersion {
$svnVersion = $(svn --version --quiet) $svnVersion = $(svn --version --quiet)
return "Subversion (SVN) $svnVersion" return "Subversion (SVN) $svnVersion"

View File

@@ -2,16 +2,27 @@ Import-Module (Join-Path $PSScriptRoot "..\SoftwareReport\SoftwareReport.Android
Describe "Android SDK" { Describe "Android SDK" {
$androidToolset = (Get-ToolsetContent).android $androidToolset = (Get-ToolsetContent).android
$androidPackages = Get-AndroidPackages -AndroidSDKManagerPath (Get-AndroidSDKManagerPath)
$androidInstalledPackages = Get-AndroidInstalledPackages $androidInstalledPackages = Get-AndroidInstalledPackages
$platformTestCases = @() $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 { $platformList | ForEach-Object {
$platformTestCases += @{ platformVersion = $_; installedPackages = $androidInstalledPackages } $platformTestCases += @{ platformVersion = $_; installedPackages = $androidInstalledPackages }
} }
$buildToolsTestCases = @() $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 { $buildToolsList | ForEach-Object {
$buildToolsTestCases += @{ buildToolsVersion = $_; installedPackages = $androidInstalledPackages } $buildToolsTestCases += @{ buildToolsVersion = $_; installedPackages = $androidInstalledPackages }
} }
@@ -35,14 +46,14 @@ Describe "Android SDK" {
} }
It "Platform version <platformVersion> is installed" -TestCases $platformTestCases { It "Platform version <platformVersion> is installed" -TestCases $platformTestCases {
"$installedPackages" | Should -Match "platforms;$platformVersion" "$installedPackages" | Should -Match "$platformVersion"
} }
It "Platform build tools <buildToolsVersion> is installed" -TestCases $buildToolsTestCases { It "Platform build tools <buildToolsVersion> is installed" -TestCases $buildToolsTestCases {
"$installedPackages" | Should -Match "build-tools;$buildToolsVersion" "$installedPackages" | Should -Match "$buildToolsVersion"
} }
if (Test-isWin19) { if (Test-IsWin19) {
It "Extra package <extraPackage> is installed" -TestCases $extraPackagesTestCases { It "Extra package <extraPackage> is installed" -TestCases $extraPackagesTestCases {
"$installedPackages" | Should -Match "extras;$extraPackage" "$installedPackages" | Should -Match "extras;$extraPackage"
} }

View File

@@ -127,12 +127,8 @@
} }
], ],
"android": { "android": {
"platform_list": [ "platform_min_version": "19",
"android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19" "build_tools_min_version": "19.1.0",
],
"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"
],
"extra_list": [ "extra_list": [
"android;m2repository", "android;m2repository",
"google;m2repository", "google;m2repository",

View File

@@ -136,12 +136,8 @@
} }
], ],
"android": { "android": {
"platform_list": [ "platform_min_version": "19",
"android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19" "build_tools_min_version": "19.1.0",
],
"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"
],
"extra_list": [ "extra_list": [
"android;m2repository", "android;m2repository",
"google;m2repository", "google;m2repository",

View File

@@ -82,6 +82,11 @@
"source": "{{ template_dir }}/scripts/SoftwareReport", "source": "{{ template_dir }}/scripts/SoftwareReport",
"destination": "{{user `image_folder`}}" "destination": "{{user `image_folder`}}"
}, },
{
"type": "file",
"source": "{{ template_dir }}/post-generation",
"destination": "C:/post-generation"
},
{ {
"type": "file", "type": "file",
"source": "{{ template_dir }}/scripts/Tests", "source": "{{ template_dir }}/scripts/Tests",
@@ -160,12 +165,6 @@
"type": "windows-restart", "type": "windows-restart",
"restart_timeout": "30m" "restart_timeout": "30m"
}, },
{
"type": "powershell",
"scripts": [
"{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"valid_exit_codes": [ "valid_exit_codes": [
@@ -176,6 +175,7 @@
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}" "TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
], ],
"scripts": [ "scripts": [
"{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1",
"{{ template_dir }}/scripts/Installers/Install-VS.ps1", "{{ template_dir }}/scripts/Installers/Install-VS.ps1",
"{{ template_dir }}/scripts/Installers/Install-NET48.ps1", "{{ template_dir }}/scripts/Installers/Install-NET48.ps1",
"{{ template_dir }}/scripts/Installers/Windows2016/Install-SSDT.ps1" "{{ template_dir }}/scripts/Installers/Windows2016/Install-SSDT.ps1"

View File

@@ -82,6 +82,11 @@
"source": "{{ template_dir }}/scripts/SoftwareReport", "source": "{{ template_dir }}/scripts/SoftwareReport",
"destination": "{{user `image_folder`}}" "destination": "{{user `image_folder`}}"
}, },
{
"type": "file",
"source": "{{ template_dir }}/post-generation",
"destination": "C:/post-generation"
},
{ {
"type": "file", "type": "file",
"source": "{{ template_dir }}/scripts/Tests", "source": "{{ template_dir }}/scripts/Tests",
@@ -168,12 +173,6 @@
"type": "windows-restart", "type": "windows-restart",
"restart_timeout": "10m" "restart_timeout": "10m"
}, },
{
"type": "powershell",
"scripts": [
"{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"valid_exit_codes": [ "valid_exit_codes": [
@@ -184,6 +183,7 @@
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}" "TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
], ],
"scripts": [ "scripts": [
"{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1",
"{{ template_dir }}/scripts/Installers/Install-VS.ps1", "{{ template_dir }}/scripts/Installers/Install-VS.ps1",
"{{ template_dir }}/scripts/Installers/Install-NET48.ps1" "{{ template_dir }}/scripts/Installers/Install-NET48.ps1"
], ],