diff --git a/helpers/GenerateResourcesAndImage.ps1 b/helpers/GenerateResourcesAndImage.ps1
index 57c4675d2..67858841f 100644
--- a/helpers/GenerateResourcesAndImage.ps1
+++ b/helpers/GenerateResourcesAndImage.ps1
@@ -16,27 +16,32 @@ Function Get-PackerTemplatePath {
[ImageType] $ImageType
)
- $relativePath = "N/A"
-
switch ($ImageType) {
([ImageType]::Windows2016) {
- $relativePath = "\images\win\windows2016.json"
+ $relativeTemplatePath = Join-Path "win" "windows2016.json"
}
([ImageType]::Windows2019) {
- $relativePath = "\images\win\windows2019.json"
+ $relativeTemplatePath = Join-Path "win" "windows2019.json"
}
([ImageType]::Ubuntu1604) {
- $relativePath = "\images\linux\ubuntu1604.json"
+ $relativeTemplatePath = Join-Path "linux" "ubuntu1604.json"
}
([ImageType]::Ubuntu1804) {
- $relativePath = "\images\linux\ubuntu1804.json"
+ $relativeTemplatePath = Join-Path "linux" "ubuntu1804.json"
}
([ImageType]::Ubuntu2004) {
- $relativePath = "\images\linux\ubuntu2004.json"
+ $relativeTemplatePath = Join-Path "linux" "ubuntu2004.json"
}
+ default { throw "Unknown type of image" }
}
- return $RepositoryRoot + $relativePath;
+ $imageTemplatePath = [IO.Path]::Combine($RepositoryRoot, "images", $relativeTemplatePath)
+
+ if (-not (Test-Path $imageTemplatePath)) {
+ throw "Template for image '$ImageType' doesn't exist on path '$imageTemplatePath'"
+ }
+
+ return $imageTemplatePath;
}
Function Get-LatestCommit {
@@ -45,7 +50,7 @@ Function Get-LatestCommit {
process {
Write-Host "Latest commit:"
- git log --pretty=format:"Date: %cd; Commit: %H - %s; Author: %an <%ae>" -1
+ git --no-pager log --pretty=format:"Date: %cd; Commit: %H - %s; Author: %an <%ae>" -1
}
}
@@ -87,12 +92,12 @@ Function GenerateResourcesAndImage {
[Parameter(Mandatory = $True)]
[string] $ResourceGroupName,
[Parameter(Mandatory = $True)]
- [string] $ImageGenerationRepositoryRoot,
- [Parameter(Mandatory = $True)]
[ImageType] $ImageType,
[Parameter(Mandatory = $True)]
[string] $AzureLocation,
[Parameter(Mandatory = $False)]
+ [string] $ImageGenerationRepositoryRoot = $pwd,
+ [Parameter(Mandatory = $False)]
[int] $SecondsToWaitForServicePrincipalSetup = 30,
[Parameter(Mandatory = $False)]
[string] $GithubFeedToken,
@@ -184,7 +189,12 @@ Function GenerateResourcesAndImage {
Get-LatestCommit -ErrorAction SilentlyContinue
- packer.exe build -on-error=ask `
+ $packerBinary = Get-Command "packer"
+ if (-not ($packerBinary)) {
+ throw "'packer' binary is not found on PATH"
+ }
+
+ & $packerBinary build -on-error=ask `
-var "client_id=$($spClientId)" `
-var "client_secret=$($ServicePrincipalClientSecret)" `
-var "subscription_id=$($SubscriptionId)" `
diff --git a/images.CI/macos/azure-pipelines/image-generation.yml b/images.CI/macos/azure-pipelines/image-generation.yml
index 37b17b8a0..89216e216 100644
--- a/images.CI/macos/azure-pipelines/image-generation.yml
+++ b/images.CI/macos/azure-pipelines/image-generation.yml
@@ -7,10 +7,15 @@ jobs:
variables:
- group: Mac-Cloud Image Generation
- group: Mac-Cloud Image Generation Key Vault
- - name: VirtualMachineName
- value: $(Build.BuildNumber).$(System.JobAttempt)
steps:
+ - pwsh: |
+ $cleanBuildNumber = "$(Build.BuildNumber)" -replace "(.+_unstable)(\.\d+)", '$1'
+ $virtualMachineName = "${cleanBuildNumber}.$(System.JobAttempt)"
+ echo "##vso[task.setvariable variable=VirtualMachineName;]$virtualMachineName"
+ echo "##vso[build.updatebuildnumber]$virtualMachineName"
+ displayName: Update BuildNumber
+
- checkout: self
clean: true
fetchDepth: 1
@@ -67,7 +72,7 @@ jobs:
-var="output_folder=$(output-folder)" `
-var="vm_username=$(vm-username)" `
-var="vm_password=$(vm-password)" `
- -var="build_id=${{ variables.VirtualMachineName }}" `
+ -var="build_id=$(VirtualMachineName)" `
-var="baseimage_name=${{ parameters.base_image_name }}" `
-var="github_feed_token=$(github-feed-token)" `
-var="xcode_install_user=$(xcode-installation-user)" `
@@ -94,7 +99,7 @@ jobs:
ls $(Common.TestResultsDirectory)
echo "Put VM name to 'VM_Done_Name' file"
- echo "${{ variables.VirtualMachineName }}" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
+ echo "$(VirtualMachineName)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
displayName: Prepare artifact
- bash: |
@@ -121,7 +126,7 @@ jobs:
inputs:
targetType: 'filePath'
filePath: ./images.CI/macos/move-vm.ps1
- arguments: -VMName "${{ variables.VirtualMachineName }}" `
+ arguments: -VMName "$(VirtualMachineName)" `
-TargetDataStore "${{ parameters.target_datastore }}" `
-VIServer "$(vcenter-server-v2)" `
-VIUserName "$(vcenter-username-v2)" `
@@ -133,7 +138,7 @@ jobs:
inputs:
targetType: 'filePath'
filePath: ./images.CI/macos/destroy-vm.ps1
- arguments: -VMName "${{ variables.VirtualMachineName }}" `
+ arguments: -VMName "$(VirtualMachineName)" `
-VIServer "$(vcenter-server-v2)" `
-VIUserName "$(vcenter-username-v2)" `
-VIPassword "$(vcenter-password-v2)"
diff --git a/images.CI/macos/move-vm.ps1 b/images.CI/macos/move-vm.ps1
index 17e6faea3..698721409 100644
--- a/images.CI/macos/move-vm.ps1
+++ b/images.CI/macos/move-vm.ps1
@@ -48,12 +48,23 @@ Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
# Connection to a vCenter Server system
Connect-VCServer
-try
-{
- Get-VM $VMName | Move-VM -Datastore $TargetDataStore -ErrorAction Stop
- Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'"
+$vm = Get-VM $VMName
+
+if ($env:AGENT_JOBSTATUS -eq 'Failed') {
+ try {
+ if($vm.PowerState -ne "PoweredOff") {
+ Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop
+ }
+ Set-VM -VM $vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop
+ Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]"
+ } catch {
+ Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$VMName'"
+ }
}
-catch
-{
+
+try {
+ Move-VM -Vm $vm -Datastore $TargetDataStore -ErrorAction Stop
+ Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'"
+} catch {
Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$VMName' to target datastore '$TargetDataStore'"
}
\ No newline at end of file
diff --git a/images/linux/Ubuntu1604-README.md b/images/linux/Ubuntu1604-README.md
index 5e3c8ef26..b4513e8b3 100644
--- a/images/linux/Ubuntu1604-README.md
+++ b/images/linux/Ubuntu1604-README.md
@@ -1,10 +1,10 @@
| Announcements |
|-|
-| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) |
-| [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-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) |
+| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) |
***
# Ubuntu 16.04.7 LTS
-- Image Version: 20201004.1
+- Image Version: 20201015.1
## Installed Software
### Language and Runtime
@@ -13,7 +13,7 @@
- Clang 6.0.0, 8.0.0, 9.0.1
- Erlang 11.1
- Mono 6.12.0.90
-- Node 12.18.4
+- Node 12.19.0
- Python 2.7.12
- Python3 3.5.2
- PowerShell 7.0.3
@@ -22,31 +22,31 @@
- Julia 1.5.2
### Package Management
-- Homebrew 2.5.2
- Gem 3.1.4
+- Helm 3.3.4
+- Homebrew 2.5.6
- Miniconda 4.8.3
-- Helm
- Npm 6.14.8
-- Yarn
- Pip 8.1.1
- Pip3 8.1.1
- Vcpkg 2020.06.15
+- Yarn 1.22.5
### Project Management
- Ant 1.9.6
-- Gradle 6.6.1
+- Gradle 6.7
- Maven 3.6.3
-- Sbt 1.3.13
+- Sbt 1.4.0
### Tools
- 7-Zip 9.20
-- Ansible 2.9.13
+- Ansible 2.9.14
- AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias)
-- Bazel 3.5.1
-- Bazelisk 1.6.1
+- Bazel 3.6.0
+- Bazelisk 1.7.2
- CMake 3.17.0
-- CodeQL Action Bundle 2.2.5
+- CodeQL Action Bundle 2.3.0
- curl 7.47.0
- Docker Compose 1.27.4
- Docker-Buildx 0.4.2
@@ -54,46 +54,47 @@
- Git 2.28.0
- Git LFS 2.12.0
- Git-ftp 1.0.2
-- Google Cloud SDK 312.0.0
+- Google Cloud SDK 314.0.0
- Haveged 1.9.1
-- Heroku 7.44.0
+- Heroku 7.46.0
- HHVM (HipHop VM) 4.56.1
- jq 1.5
- Kind 0.9.0
-- Kubectl 1.19.2
-- Kustomize 3.8.4
+- Kubectl 1.19.3
+- Kustomize 3.8.5
- Leiningen 2.9.4
- m4 1.4.17
- Mercurial 4.4.1
-- Minikube 1.13.1
+- Minikube 1.14.0
- Newman 5.2.0
-- nvm 0.35.3
+- nvm 0.36.0
- Packer 1.6.4
- PhantomJS 2.1.1
-- Pulumi 2.11.2
-- R 4.0.2
+- Pulumi 2.12.0
+- R 4.0.3
- Sphinx Open Source Search Server 2.2.9
- SVN 1.9.3
- Swig 3.0.8
- Terraform 0.13.4
- unzip 6.00
- wget 1.17.1
+- yamllint 1.2.1
- zip 3.0
- zstd 1.3.1
### CLI Tools
-- Alibaba Cloud CLI 3.0.59
-- AWS CLI 1.18.152
-- AWS CLI Session manager plugin 1.1.61.0
-- AWS SAM CLI 1.4.0
-- Azure CLI (azure-cli) 2.12.1
+- Alibaba Cloud CLI 3.0.60
+- AWS CLI 1.18.158
+- AWS CLI Session manager plugin 1.2.7.0
+- AWS SAM CLI 1.6.2
+- Azure CLI (azure-cli) 2.13.0
- Azure CLI (azure-devops) 0.18.0
-- GitHub CLI
+- GitHub CLI 1.1.0
- Hub CLI 2.14.2
-- Netlify CLI 2.64.1
+- Netlify CLI 2.65.6
- oc CLI 4.5.0
- ORAS CLI 0.8.1
-- Vercel CLI 20.1.1
+- Vercel CLI 20.1.2
### Java
| Version | Vendor | Environment Variable |
@@ -106,37 +107,37 @@
### PHP
| Tool | Version |
| -------- | ----------------------------------------- |
-| PHP | 5.6.40 7.0.33 7.1.33 7.2.33 7.3.22 7.4.10 |
-| Composer | 1.10.13 |
+| PHP | 5.6.40 7.0.33 7.1.33 7.2.34 7.3.23 7.4.11 |
+| Composer | 1.10.15 |
| PHPUnit | 7.5.20 |
### Haskell
- GHC 8.10.2
- Cabal 3.4.0.0
-- Stack 2.3.3
+- Stack 2.5.1
### Rust Tools
-- Rust 1.46.0
+- Rust 1.47.0
- Rustup 1.22.1
-- Rustdoc 1.46.0
-- Cargo 1.46.0
+- Rustdoc 1.47.0
+- Cargo 1.47.0
#### Packages
- Bindgen 0.55.1
- Cargo audit 0.12.1
- Cargo outdated 0.9.11
- Cargo clippy 0.0.212
-- Cbindgen 0.14.6
-- Rustfmt 1.4.18
+- Cbindgen 0.15.0
+- Rustfmt 1.4.20
### Browsers and Drivers
-- Google Chrome 85.0.4183.121
-- ChromeDriver 85.0.4183.87
-- Mozilla Firefox 81.0
+- Google Chrome 86.0.4240.75
+- ChromeDriver 86.0.4240.22
+- Mozilla Firefox 81.0.2
- Geckodriver 0.27.0
### .NET Core SDK
-- 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402
+- 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.519 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.616 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 2.1.811 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.109 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403
### Az Module
- 1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0 4.3.0 4.4.0 4.6.0 4.7.0
@@ -167,6 +168,7 @@
- 3.6.12
- 3.7.9
- 3.8.6
+- 3.9.0
#### PyPy
- 2.7.13 [PyPy 7.3.2]
@@ -175,34 +177,34 @@
#### Node.js
- 8.17.0
- 10.22.1
-- 12.18.4
-- 14.13.0
+- 12.19.0
+- 14.13.1
#### Go
- 1.11.13
- 1.12.17
- 1.13.15
-- 1.14.9
-- 1.15.2
+- 1.14.10
+- 1.15.3
#### Boost
- 1.69.0
- 1.72.0
### Android
-| Package Name | Version |
-| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Android SDK Platform-Tools | 30.0.4 |
-| Android SDK Tools | 26.1.1 |
-| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3)
android-22 (rev 2)
android-21 (rev 2)
android-19 (rev 4)
android-17 (rev 3)
android-15 (rev 5)
android-10 (rev 2) |
-| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3
22.0.1
21.1.2
20.0.0
19.1.0
17.0.0 |
-| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 |
-| NDK | 21.3.6528147 |
-| Android Support Repository | 47.0.0 |
-| Google Play services | 49 |
-| Google Repository | 58 |
-| SDK Patch Applier v4 | 1 |
-| CMake | 3.10.2
3.6.4111459 |
+| Package Name | Version |
+| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Android SDK Platform-Tools | 30.0.4 |
+| Android SDK Tools | 26.1.1 |
+| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3)
android-22 (rev 2)
android-21 (rev 2)
android-20 (rev 2)
android-19 (rev 4)
android-18 (rev 3)
android-17 (rev 3)
android-16 (rev 5)
android-15 (rev 5)
android-14 (rev 4)
android-13 (rev 1)
android-12 (rev 3)
android-11 (rev 2)
android-10 (rev 2) |
+| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3
22.0.1
21.1.2
20.0.0
19.1.0 |
+| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 |
+| NDK | 21.3.6528147 |
+| Android Support Repository | 47.0.0 |
+| Google Play services | 49 |
+| Google Repository | 58 |
+| SDK Patch Applier v4 | 1 |
+| CMake | 3.10.2
3.6.4111459 |
### Cached Docker images
- alpine:3.7
diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md
index da48be720..0029ea31d 100644
--- a/images/linux/Ubuntu1804-README.md
+++ b/images/linux/Ubuntu1804-README.md
@@ -1,10 +1,10 @@
| Announcements |
|-|
-| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) |
-| [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-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) |
+| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) |
***
# Ubuntu 18.04.5 LTS
-- Image Version: 20201004.1
+- Image Version: 20201015.1
## Installed Software
### Language and Runtime
@@ -13,7 +13,7 @@
- Clang 6.0.0, 8.0.0, 9.0.0
- Erlang 11.1
- Mono 6.12.0.90
-- Node 12.18.4
+- Node 12.19.0
- Python 2.7.17
- Python3 3.6.9
- PowerShell 7.0.3
@@ -22,32 +22,33 @@
- Julia 1.5.2
### Package Management
-- Homebrew 2.5.2
- Gem 3.1.4
+- Helm 3.3.4
+- Homebrew 2.5.6
- Miniconda 4.8.3
-- Helm
- Npm 6.14.8
-- Yarn
- Pip 9.0.1
- Pip3 9.0.1
+- Pipx 0.15.5.1
- Vcpkg 2020.06.15
+- Yarn 1.22.5
### Project Management
- Ant 1.10.5
-- Gradle 6.6.1
+- Gradle 6.7
- Maven 3.6.3
-- Sbt 1.3.13
+- Sbt 1.4.0
### Tools
- 7-Zip 16.02
-- Ansible 2.9.13
+- Ansible 2.9.14
- AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias)
-- Bazel 3.5.1
-- Bazelisk 1.6.1
-- Buildah
+- Bazel 3.6.0
+- Bazelisk 1.7.2
+- Buildah 1.16.4
- CMake 3.17.0
-- CodeQL Action Bundle 2.2.5
+- CodeQL Action Bundle 2.3.0
- curl 7.58.0
- Docker Compose 1.27.4
- Docker-Buildx 0.4.2
@@ -55,25 +56,25 @@
- Git 2.28.0
- Git LFS 2.12.0
- Git-ftp 1.3.1
-- Google Cloud SDK 312.0.0
+- Google Cloud SDK 314.0.0
- Haveged 1.9.1
-- Heroku 7.44.0
-- HHVM (HipHop VM) 4.77.0
+- Heroku 7.46.0
+- HHVM (HipHop VM) 4.79.0
- jq 1.5
- Kind 0.9.0
-- Kubectl 1.19.2
-- Kustomize 3.8.4
+- Kubectl 1.19.3
+- Kustomize 3.8.5
- Leiningen 2.9.4
- m4 1.4.18
- Mercurial 4.5.3
-- Minikube 1.13.1
+- Minikube 1.14.0
- Newman 5.2.0
-- nvm 0.35.3
+- nvm 0.36.0
- Packer 1.6.4
- PhantomJS 2.1.1
-- Podman
-- Pulumi 2.11.2
-- R 4.0.2
+- Podman 2.1.1
+- Pulumi 2.12.0
+- R 4.0.3
- Skopeo 1.2.0
- Sphinx Open Source Search Server 2.2.11
- SVN 1.9.7
@@ -81,22 +82,23 @@
- Terraform 0.13.4
- unzip 6.00
- wget 1.19.4
+- yamllint 1.25.0
- zip 3.0
- zstd 1.3.3
### CLI Tools
-- Alibaba Cloud CLI 3.0.59
-- AWS CLI 1.18.152
+- Alibaba Cloud CLI 3.0.60
+- AWS CLI 1.18.157
- AWS CLI Session manager plugin 1.1.61.0
-- AWS SAM CLI 1.4.0
-- Azure CLI (azure-cli) 2.12.1
+- AWS SAM CLI 1.6.2
+- Azure CLI (azure-cli) 2.13.0
- Azure CLI (azure-devops) 0.18.0
-- GitHub CLI
+- GitHub CLI 1.1.0
- Hub CLI 2.14.2
-- Netlify CLI 2.64.1
+- Netlify CLI 2.65.5
- oc CLI 4.5.0
- ORAS CLI 0.8.1
-- Vercel CLI 20.1.1
+- Vercel CLI 20.1.2
### Java
| Version | Vendor | Environment Variable |
@@ -109,8 +111,8 @@
### PHP
| Tool | Version |
| -------- | --------------------------- |
-| PHP | 7.1.33 7.2.33 7.3.22 7.4.10 |
-| Composer | 1.10.13 |
+| PHP | 7.1.33 7.2.34 7.3.23 7.4.11 |
+| Composer | 1.10.15 |
| PHPUnit | 7.5.20 |
### Haskell
@@ -119,27 +121,27 @@
- Stack 2.3.3
### Rust Tools
-- Rust 1.46.0
+- Rust 1.47.0
- Rustup 1.22.1
-- Rustdoc 1.46.0
-- Cargo 1.46.0
+- Rustdoc 1.47.0
+- Cargo 1.47.0
#### Packages
- Bindgen 0.55.1
- Cargo audit 0.12.1
- Cargo outdated 0.9.11
- Cargo clippy 0.0.212
-- Cbindgen 0.14.6
-- Rustfmt 1.4.18
+- Cbindgen 0.15.0
+- Rustfmt 1.4.20
### Browsers and Drivers
-- Google Chrome 85.0.4183.121
-- ChromeDriver 85.0.4183.87
+- Google Chrome 86.0.4240.75
+- ChromeDriver 86.0.4240.22
- Mozilla Firefox 81.0
- Geckodriver 0.27.0
### .NET Core SDK
-- 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402
+- 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.519 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.616 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 2.1.811 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.109 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403
### Az Module
- 1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0 4.3.0 4.4.0 4.6.0 4.7.0
@@ -170,6 +172,7 @@
- 3.6.12
- 3.7.9
- 3.8.6
+- 3.9.0
#### PyPy
- 2.7.13 [PyPy 7.3.2]
@@ -178,34 +181,34 @@
#### Node.js
- 8.17.0
- 10.22.1
-- 12.18.4
-- 14.13.0
+- 12.19.0
+- 14.13.1
#### Go
- 1.11.13
- 1.12.17
- 1.13.15
-- 1.14.9
-- 1.15.2
+- 1.14.10
+- 1.15.3
#### Boost
- 1.69.0
- 1.72.0
### Android
-| Package Name | Version |
-| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Android SDK Platform-Tools | 30.0.4 |
-| Android SDK Tools | 26.1.1 |
-| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3)
android-22 (rev 2)
android-21 (rev 2)
android-19 (rev 4)
android-17 (rev 3) |
-| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3
22.0.1
21.1.2
20.0.0
19.1.0
17.0.0 |
-| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 |
-| NDK | 21.3.6528147 |
-| Android Support Repository | 47.0.0 |
-| Google Play services | 49 |
-| Google Repository | 58 |
-| SDK Patch Applier v4 | 1 |
-| CMake | 3.10.2
3.6.4111459 |
+| Package Name | Version |
+| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Android SDK Platform-Tools | 30.0.4 |
+| Android SDK Tools | 26.1.1 |
+| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3)
android-22 (rev 2)
android-21 (rev 2)
android-20 (rev 2)
android-19 (rev 4)
android-18 (rev 3)
android-17 (rev 3) |
+| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3
22.0.1
21.1.2
20.0.0
19.1.0 |
+| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 |
+| NDK | 21.3.6528147 |
+| Android Support Repository | 47.0.0 |
+| Google Play services | 49 |
+| Google Repository | 58 |
+| SDK Patch Applier v4 | 1 |
+| CMake | 3.10.2
3.6.4111459 |
### Cached Docker images
- alpine:3.7
@@ -225,6 +228,6 @@
- ubuntu:14.04
### Installed apt packages
-- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl3, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, yamllint, zip, zstd, zsync
+- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl3, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, zip, zstd, zsync
diff --git a/images/linux/Ubuntu2004-README.md b/images/linux/Ubuntu2004-README.md
index 4a59e7ca9..b192a23ac 100644
--- a/images/linux/Ubuntu2004-README.md
+++ b/images/linux/Ubuntu2004-README.md
@@ -1,53 +1,54 @@
| Announcements |
|-|
-| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) |
-| [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
+| [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) |
+| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) |
***
# Ubuntu 20.04.1 LTS
-- Image Version: 20201004.1
+- Image Version: 20201015.1
## Installed Software
### Language and Runtime
-- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.0.1
+- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.2.0
- GNU Fortran 8.4.0, 9.3.0
- Clang 8.0.1, 9.0.1, 10.0.0
- Erlang 11.1
- Mono 6.12.0.90
-- Node 12.18.4
-- Python 3.8.2
-- Python3 3.8.2
+- Node 12.19.0
+- Python 3.8.5
+- Python3 3.8.5
- PowerShell 7.0.3
- Ruby 2.7.0p0
- Swift 5.3
- Julia 1.5.2
### Package Management
-- Homebrew 2.5.2
- Gem 3.1.2
-- Miniconda 4.8.3
- Helm 3.3.4
+- Homebrew 2.5.6
+- Miniconda 4.8.3
- Npm 6.14.8
-- Yarn 1.22.5
- Pip 20.0.2
- Pip3 20.0.2
+- Pipx 0.15.5.1
- Vcpkg 2020.06.15
+- Yarn 1.22.5
### Project Management
- Ant 1.10.7
-- Gradle 6.6.1
+- Gradle 6.7
- Maven 3.6.3
-- Sbt 1.3.13
+- Sbt 1.4.0
### Tools
- 7-Zip 16.02
- Ansible 2.9.6
- AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias)
-- Bazel 3.5.1
-- Bazelisk 1.6.1
+- Bazel 3.6.0
+- Bazelisk 1.7.2
- Buildah 1.16.4
- CMake 3.17.0
-- CodeQL Action Bundle 2.2.5
+- CodeQL Action Bundle 2.3.0
- curl 7.68.0
- Docker Compose 1.27.4
- Docker-Buildx 0.4.2
@@ -55,25 +56,25 @@
- Git 2.28.0
- Git LFS 2.12.0
- Git-ftp 1.6.0
-- Google Cloud SDK 312.0.0
+- Google Cloud SDK 314.0.0
- Haveged 1.9.1
-- Heroku 7.44.0
-- HHVM (HipHop VM) 4.77.0
+- Heroku 7.46.0
+- HHVM (HipHop VM) 4.79.0
- jq 1.6
- Kind 0.9.0
-- Kubectl 1.19.2
-- Kustomize 3.8.4
+- Kubectl 1.19.3
+- Kustomize 3.8.5
- Leiningen 2.9.4
- m4 1.4.18
- Mercurial 5.3.1
-- Minikube 1.13.1
+- Minikube 1.14.0
- Newman 5.2.0
-- nvm 0.35.3
+- nvm 0.36.0
- Packer 1.6.4
- PhantomJS 2.1.1
- Podman 2.1.1
-- Pulumi 2.11.2
-- R 4.0.2
+- Pulumi 2.12.0
+- R 4.0.3
- Skopeo 1.2.0
- Sphinx Open Source Search Server 2.2.11
- SVN 1.13.0
@@ -81,22 +82,23 @@
- Terraform 0.13.4
- unzip 6.00
- wget 1.20.3
+- yamllint 1.25.0
- zip 3.0
- zstd 1.4.4
### CLI Tools
-- Alibaba Cloud CLI 3.0.59
-- AWS CLI 2.0.54
+- Alibaba Cloud CLI 3.0.60
+- AWS CLI 2.0.56
- AWS CLI Session manager plugin 1.1.61.0
-- AWS SAM CLI 1.4.0
-- Azure CLI (azure-cli) 2.12.1
+- AWS SAM CLI 1.6.2
+- Azure CLI (azure-cli) 2.13.0
- Azure CLI (azure-devops) 0.18.0
-- GitHub CLI 1.0.0
+- GitHub CLI 1.1.0
- Hub CLI 2.14.2
-- Netlify CLI 2.64.1
+- Netlify CLI 2.65.5
- oc CLI 4.5.0
- ORAS CLI 0.8.1
-- Vercel CLI 20.1.1
+- Vercel CLI 20.1.2
### Java
| Version | Vendor | Environment Variable |
@@ -107,8 +109,8 @@
### PHP
| Tool | Version |
| -------- | ------- |
-| PHP | 7.4.10 |
-| Composer | 1.10.13 |
+| PHP | 7.4.11 |
+| Composer | 1.10.15 |
| PHPUnit | 7.5.20 |
### Haskell
@@ -117,30 +119,30 @@
- Stack 2.3.3
### Rust Tools
-- Rust 1.46.0
+- Rust 1.47.0
- Rustup 1.22.1
-- Rustdoc 1.46.0
-- Cargo 1.46.0
+- Rustdoc 1.47.0
+- Cargo 1.47.0
#### Packages
- Bindgen 0.55.1
- Cargo audit 0.12.1
- Cargo outdated 0.9.11
- Cargo clippy 0.0.212
-- Cbindgen 0.14.6
-- Rustfmt 1.4.18
+- Cbindgen 0.15.0
+- Rustfmt 1.4.20
### Browsers and Drivers
-- Google Chrome 85.0.4183.121
-- ChromeDriver 85.0.4183.87
+- Google Chrome 86.0.4240.75
+- ChromeDriver 86.0.4240.22
- Mozilla Firefox 81.0
- Geckodriver 0.27.0
### .NET Core SDK
-- 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402
+- 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.519 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.616 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 2.1.811 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.109 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403
### Az Module
-- 4.7.0
+- 4.8.0
### Databases
- Postgre SQL 13.0
@@ -167,6 +169,7 @@
- 3.6.12
- 3.7.9
- 3.8.6
+- 3.9.0
#### PyPy
- 2.7.13 [PyPy 7.3.2]
@@ -175,26 +178,26 @@
#### Node.js
- 8.17.0
- 10.22.1
-- 12.18.4
-- 14.13.0
+- 12.19.0
+- 14.13.1
#### Go
-- 1.14.9
-- 1.15.2
+- 1.14.10
+- 1.15.3
### Android
-| Package Name | Version |
-| -------------------------- | ---------------------------------------------------------------------------------------------------------- |
-| Android SDK Platform-Tools | 30.0.4 |
-| Android SDK Tools | 26.1.1 |
-| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3) |
-| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3 |
-| NDK | 21.3.6528147 |
-| Android Support Repository | 47.0.0 |
-| Google Play services | 49 |
-| Google Repository | 58 |
-| SDK Patch Applier v4 | 1 |
-| CMake | 3.10.2 |
+| Package Name | Version |
+| -------------------------- | ----------------------------------------------------------------------------------------------------------------- |
+| Android SDK Platform-Tools | 30.0.4 |
+| Android SDK Tools | 26.1.1 |
+| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3) |
+| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3 |
+| NDK | 21.3.6528147 |
+| Android Support Repository | 47.0.0 |
+| Google Play services | 49 |
+| Google Repository | 58 |
+| SDK Patch Applier v4 | 1 |
+| CMake | 3.10.2 |
### Cached Docker images
- alpine:3.7
@@ -214,6 +217,6 @@
- ubuntu:14.04
### Installed apt packages
-- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl4, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, python-is-python3, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, yamllint, zip, zstd, zsync
+- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl4, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, python-is-python3, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, zip, zstd, zsync
diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1
index 14d4a18e6..1989caf4b 100644
--- a/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1
+++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1
@@ -144,17 +144,17 @@ function Get-AntVersion {
}
function Get-GradleVersion {
- $result = gradle -v | Out-String
- $result -match "Gradle (?\d+\.\d+\.\d+)" | Out-Null
- $gradleVersion = $Matches.version
+ $gradleVersion = (gradle -v) -match "^Gradle \d" | Take-OutputPart -Part 1
return "Gradle $gradleVersion"
}
+
function Get-MavenVersion {
$result = mvn -version | Out-String
$result -match "Apache Maven (?\d+\.\d+\.\d+)" | Out-Null
$mavenVersion = $Matches.version
return "Maven $mavenVersion"
}
+
function Get-SbtVersion {
$result = Get-CommandResult "sbt -version"
$result.Output -match "sbt script version: (?\d+\.\d+\.\d+)" | Out-Null
diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1
index 4a341b53e..df77ea23b 100644
--- a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1
+++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1
@@ -87,6 +87,7 @@ $markdown += New-MDHeader "Tools" -Level 3
$toolsList = @(
(Get-7zipVersion),
(Get-AnsibleVersion),
+ (Get-AptFastVersion),
(Get-AzCopy7Version),
(Get-AzCopy10Version),
(Get-BazelVersion),
diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1
index f10cb8baa..ba676b0a5 100644
--- a/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1
+++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1
@@ -8,6 +8,11 @@ function Get-AnsibleVersion {
return "Ansible $ansibleVersion"
}
+function Get-AptFastVersion {
+ $aptFastVersion = (dpkg-query --showformat='${Version}' --show apt-fast).Split('-')[0]
+ return "apt-fast $aptFastVersion"
+}
+
function Get-AzCopy7Version {
$azcopy7Version = azcopy --version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
return "AzCopy7 $azcopy7Version (available by ``azcopy`` alias)"
diff --git a/images/linux/scripts/installers/android.sh b/images/linux/scripts/installers/android.sh
index 0f28d9c8e..2cfbdd8dd 100644
--- a/images/linux/scripts/installers/android.sh
+++ b/images/linux/scripts/installers/android.sh
@@ -67,7 +67,7 @@ additional=$(jq -r '.android.additional_tools[]' $toolset)
components=( "${extras[@]}" "${addons[@]}" "${additional[@]}" )
availablePlatforms=($(${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android-" | cut -d"|" -f 1))
-allBuildTools=($(${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list --include_obsolete | grep "build-tools;" | cut -d"|" -f 1 | sort -u))
+allBuildTools=($(${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list | grep "build-tools;" | cut -d"|" -f 1 | sort -u))
availableBuildTools=$(echo ${allBuildTools[@]//*rc[0-9]/})
filter_components_by_version $minimumPlatformVersion "${availablePlatforms[@]}"
diff --git a/images/linux/scripts/installers/swift.sh b/images/linux/scripts/installers/swift.sh
index 73c8fd297..e4666a7c8 100644
--- a/images/linux/scripts/installers/swift.sh
+++ b/images/linux/scripts/installers/swift.sh
@@ -15,7 +15,9 @@ mv swift-$swift_version-RELEASE-ubuntu$image_label /usr/share/swift
SWIFT_PATH="/usr/share/swift/usr/bin"
SWIFT_BIN="$SWIFT_PATH/swift"
+SWIFTC_BIN="$SWIFT_PATH/swiftc"
ln -s "$SWIFT_BIN" /usr/local/bin/swift
+ln -s "$SWIFTC_BIN" /usr/local/bin/swiftc
echo "SWIFT_PATH=$SWIFT_PATH" | tee -a /etc/environment
# Run tests to determine that the software installed as expected
@@ -24,3 +26,8 @@ if ! command -v swift; then
echo "Swift was not installed"
exit 1
fi
+
+if ! command -v swiftc; then
+ echo "Swiftc is not linked to swift binary"
+ exit 1
+fi
diff --git a/images/linux/toolsets/toolset-1604.json b/images/linux/toolsets/toolset-1604.json
index 4e93ee77b..1136ae921 100644
--- a/images/linux/toolsets/toolset-1604.json
+++ b/images/linux/toolsets/toolset-1604.json
@@ -64,7 +64,7 @@
],
"android": {
"platform_min_version": "10",
- "build_tools_min_version": "17.0.0",
+ "build_tools_min_version": "19.1.0",
"extra_list": [
"android;m2repository",
"google;m2repository",
diff --git a/images/linux/toolsets/toolset-1804.json b/images/linux/toolsets/toolset-1804.json
index 52357c3cf..de611ebc0 100644
--- a/images/linux/toolsets/toolset-1804.json
+++ b/images/linux/toolsets/toolset-1804.json
@@ -64,7 +64,7 @@
],
"android": {
"platform_min_version": "17",
- "build_tools_min_version": "17.0.0",
+ "build_tools_min_version": "19.1.0",
"extra_list": [
"android;m2repository",
"google;m2repository",
diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json
index 9b4181ede..477f8c55a 100644
--- a/images/linux/ubuntu2004.json
+++ b/images/linux/ubuntu2004.json
@@ -97,7 +97,7 @@
{
"type": "file",
"source": "{{ template_dir }}/post-generation",
- "destination": "{{user `installer_script_folder`}}"
+ "destination": "{{user `image_folder`}}"
},
{
"type": "file",
diff --git a/images/macos/helpers/Common.Helpers.psm1 b/images/macos/helpers/Common.Helpers.psm1
index aa2ffdc5c..dd8a2184b 100644
--- a/images/macos/helpers/Common.Helpers.psm1
+++ b/images/macos/helpers/Common.Helpers.psm1
@@ -24,7 +24,7 @@ function Get-EnvironmentVariable($variable) {
}
# Returns the object with information about current OS
-# It can be used for OS-specific tests
+# It can be used for OS-specific tests
function Get-OSVersion {
$osVersion = [Environment]::OSVersion
return [PSCustomObject]@{
@@ -36,7 +36,7 @@ function Get-OSVersion {
IsBigSur = $osVersion.Version.Major -eq 20
IsLessThanCatalina = $osVersion.Version.Major -lt 19
IsLessThanBigSur = $osVersion.Version.Major -lt 20
- IsHigherThanMojave = $osVersion.Version.Major -gt 18
+ IsHigherThanMojave = $osVersion.Version.Major -gt 18
}
}
@@ -63,7 +63,7 @@ function Get-ToolsetValue {
$jsonNode = Get-Content -Raw $toolsetPath | ConvertFrom-Json
$pathParts = $KeyPath.Split(".")
- # try to walk through all arguments consequentially to resolve specific json node
+ # try to walk through all arguments consequentially to resolve specific json node
$pathParts | ForEach-Object {
$jsonNode = $jsonNode.$_
}
@@ -73,4 +73,13 @@ function Get-ToolsetValue {
function Get-ToolcachePackages {
$toolcachePath = Join-Path $env:HOME "image-generation" "toolcache.json"
return Get-Content -Raw $toolcachePath | ConvertFrom-Json
-}
\ No newline at end of file
+}
+
+function Invoke-RestMethodWithRetry {
+ param (
+ [Parameter()]
+ [string]
+ $Url
+ )
+ Invoke-RestMethod $Url -MaximumRetryCount 10 -RetryIntervalSec 30
+}
diff --git a/images/macos/macos-10.15-Readme.md b/images/macos/macos-10.15-Readme.md
index 7a506d8b0..415b41ba6 100644
--- a/images/macos/macos-10.15-Readme.md
+++ b/images/macos/macos-10.15-Readme.md
@@ -1,13 +1,14 @@
| Announcements |
|-|
+| [macOS 11.0 (Big Sur) is available as a preview 🚀](https://github.com/actions/virtual-environments/issues/1814) |
+| [[macOS] Default Ruby version will be changed to 2.7 on October, 26](https://github.com/actions/virtual-environments/issues/1775) |
| [Default Xcode will be changed to Xcode 12.0 on October, 20](https://github.com/actions/virtual-environments/issues/1712) |
-| [Xcode 11.0, 11.1, 11.4.0 will be deprecated on 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) |
+| [Xcode 11.0, 11.1, 11.4.0 will be deprecated on November, 5](https://github.com/actions/virtual-environments/issues/1688) |
***
# macOS 10.15 info
- System Version: macOS 10.15.7 (19H2)
- Kernel Version: Darwin 19.6.0
-- Image Version: 20201003.1
+- Image Version: 20201017.1
## Installed Software
### Language and Runtime
@@ -16,14 +17,14 @@
- gcc-9 (Homebrew GCC 9.3.0) 9.3.0 - available by `gcc-9` alias
- GNU Fortran (Homebrew GCC 8.4.0_1) 8.4.0 - available by `gfortran-8` alias
- GNU Fortran (Homebrew GCC 9.3.0) 9.3.0 - available by `gfortran-9` alias
-- R 4.0.2
-- Node.js v12.18.4
-- NVM 0.35.3
-- NVM - Cached node versions: v6.17.1 v8.17.0 v10.22.1 v12.18.4 v13.14.0 v14.13.0
+- R 4.0.3
+- Node.js v12.19.0
+- NVM 0.36.0
+- NVM - Cached node versions: v6.17.1 v8.17.0 v10.22.1 v12.19.0 v13.14.0 v14.14.0
- Python 2.7.17
-- Python 3.8.5
+- Python 3.8.6
- Ruby 2.6.6p146
-- .NET SDK 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.602 2.1.603 2.1.604 2.1.607 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 3.1.201 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402
+- .NET SDK 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.602 2.1.603 2.1.604 2.1.607 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 2.1.811 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 3.1.201 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403
- Go 1.15.2
- PHP 7.4.11
- julia 1.5.2
@@ -31,28 +32,28 @@
### Package Management
- Vcpkg 2020.06.15
- Pip 19.3.1 (python 2.7)
-- Pip 20.1.1 (python 3.8)
+- Pip 20.2.3 (python 3.8)
- Bundler version 2.1.4
- Carthage 0.36.0
- CocoaPods 1.9.3
-- Homebrew 2.5.2
-- NPM 6.14.6
+- Homebrew 2.5.6
+- NPM 6.14.8
- Yarn 1.22.5
- NuGet 5.6.0.6489
- Miniconda 4.8.3
- RubyGems 3.1.4
-- Composer 1.10.13
+- Composer 1.10.15
### Project Management
- Apache Maven 3.6.3
-- Gradle 6.6.1
+- Gradle 6.7
- Apache Ant(TM) 1.10.9
### Utilities
-- Curl 7.72.0
+- Curl 7.73.0
- Git: 2.28.0
- Git LFS: 2.12.0
-- GitHub CLI: 1.0.0
+- GitHub CLI: 1.1.0
- Hub CLI: 2.14.2
- GNU Wget 1.20.3
- Subversion (SVN) 1.14.0
@@ -60,16 +61,16 @@
- OpenSSL 1.0.2t 10 Sep 2019 `(/usr/local/opt/openssl -> /usr/local/Cellar/openssl@1.0.2t/1.0.2t)`
- jq 1.6
- gpg (GnuPG) 2.2.23
-- psql (PostgreSQL) 12.4
-- PostgreSQL 12.4
+- psql (PostgreSQL) 13.0
+- PostgreSQL 13.0
- aria2 1.35.0
- azcopy 10.6.0
- zstd 1.4.5
-- bazel 3.5.1
-- bazelisk 1.6.1
+- bazel 3.6.0
+- bazelisk 1.7.2
- helm v3.3.4+ga61ce56
-- mongo v4.4.0
-- mongod v4.4.0
+- mongo v4.4.1
+- mongod v4.4.1
- 7-Zip 16.02
- Newman 5.2.0
- virtualbox 6.1.14r140239
@@ -78,18 +79,18 @@
### Tools
-- Fastlane 2.162.0
-- Cmake 3.18.3
-- App Center CLI 2.7.1
-- Azure CLI 2.12.1
-- AWS CLI 2.0.54
-- AWS SAM CLI 1.4.0
+- Fastlane 2.163.0
+- Cmake 3.18.4
+- App Center CLI 2.7.2
+- Azure CLI 2.13.0
+- AWS CLI 2.0.57
+- AWS SAM CLI 1.6.2
- AWS Session Manager CLI 1.1.61.0
-- Aliyun CLI 3.0.59
+- Aliyun CLI 3.0.60
- GHCup v0.1.11
-- GHC 8.8.4
+- GHC 8.10.2
- Cabal 3.2.0.0
-- Stack 2.3.3
+- Stack 2.5.1
### Linters
- yamllint 1.25.0
@@ -98,11 +99,11 @@
### Browsers
- Safari 14.0 (15610.1.28.1.9)
- SafariDriver 14.0 (15610.1.28.1.9)
-- Google Chrome 85.0.4183.121
-- ChromeDriver 85.0.4183.87
-- Microsoft Edge 85.0.564.68
-- MSEdgeDriver 85.0.564.68
-- Mozilla Firefox 81.0.1
+- Google Chrome 86.0.4240.80
+- ChromeDriver 86.0.4240.22
+- Microsoft Edge 85.0.564.70
+- MSEdgeDriver 85.0.564.70
+- Mozilla Firefox 81.0.2
- geckodriver 0.27.0
### Java
@@ -127,6 +128,7 @@
- 3.6.12
- 3.7.9
- 3.8.6
+- 3.9.0
#### PyPy
- 2.7.13 [PyPy 7.3.2]
@@ -135,23 +137,23 @@
#### Node.js
- 8.17.0
- 10.22.1
-- 12.18.4
-- 14.13.0
+- 12.19.0
+- 14.14.0
#### Go
- 1.11.13
- 1.12.17
- 1.13.15
-- 1.14.9
-- 1.15.2
+- 1.14.10
+- 1.15.3
### Rust Tools
-- Rust 1.46.0
+- Rust 1.47.0
- Rustup 1.22.1
#### Packages
- Bindgen 0.55.1
-- Cbindgen 0.14.6
+- Cbindgen 0.15.0
- Cargo-outdated v0.9.11
- Cargo-audit 0.12.1
@@ -161,7 +163,7 @@
#### PowerShell Modules
| Module | Version |
| ---------- | ------- |
-| Az | 4.7.0 |
+| Az | 4.8.0 |
| MarkdownPS | 1.9 |
| Pester | 5.0.4 |
@@ -210,21 +212,21 @@
- NUnit 3.6.1
### Xcode
-| Version | Build | Path |
-| -------------- | -------- | ------------------------------- |
-| 12.2 | 12B5025f | /Applications/Xcode_12.2.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.6 | 11E708 | /Applications/Xcode_11.6.app |
-| 11.5 | 11E608c | /Applications/Xcode_11.5.app |
-| 11.4.1 | 11E503a | /Applications/Xcode_11.4.1.app |
-| 11.4 | 11E146 | /Applications/Xcode_11.4.app |
-| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app |
-| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
-| 11.1 | 11A1027 | /Applications/Xcode_11.1.app |
-| 11.0 | 11A420a | /Applications/Xcode_11.app |
-| 10.3 | 10G8 | /Applications/Xcode_10.3.app |
+| Version | Build | Path |
+| -------------- | -------- | ------------------------------ |
+| 12.2 (beta) | 12B5035g | /Applications/Xcode_12.2.app |
+| 12.1 | 12A7403 | /Applications/Xcode_12.1.app |
+| 12.0.1 | 12A7300 | /Applications/Xcode_12.app |
+| 11.7 (default) | 11E801a | /Applications/Xcode_11.7.app |
+| 11.6 | 11E708 | /Applications/Xcode_11.6.app |
+| 11.5 | 11E608c | /Applications/Xcode_11.5.app |
+| 11.4.1 | 11E503a | /Applications/Xcode_11.4.1.app |
+| 11.4 | 11E146 | /Applications/Xcode_11.4.app |
+| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app |
+| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
+| 11.1 | 11A1027 | /Applications/Xcode_11.1.app |
+| 11.0 | 11A420a | /Applications/Xcode_11.app |
+| 10.3 | 10G8 | /Applications/Xcode_10.3.app |
#### Xcode Support Tools
- xcpretty 0.3.0
@@ -234,57 +236,59 @@
- xctool 0.3.7
#### Installed SDKs
-| SDK | SDK Name | Xcode Version |
-| ----------------------- | -------------------- | ---------------------------------------------------------------- |
-| macOS 10.14 | macosx10.14 | 10.3 |
-| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6, 11.7, 12.0 |
-| macOS 11.0 | macosx11.0 | 12.0, 12.2 |
-| iOS 12.4 | iphoneos12.4 | 10.3 |
-| iOS 13.0 | iphoneos13.0 | 11.0 |
-| iOS 13.1 | iphoneos13.1 | 11.1 |
-| iOS 13.2 | iphoneos13.2 | 11.2.1, 11.3.1 |
-| iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 |
-| iOS 13.5 | iphoneos13.5 | 11.5 |
-| iOS 13.6 | iphoneos13.6 | 11.6 |
-| iOS 13.7 | iphoneos13.7 | 11.7 |
-| iOS 14.0 | iphoneos14.0 | 12.0, 12.0 |
-| iOS 14.2 | iphoneos14.2 | 12.2 |
-| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 |
-| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 |
-| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 |
-| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2.1, 11.3.1 |
-| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 |
-| Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 |
-| Simulator - iOS 13.6 | iphonesimulator13.6 | 11.6 |
-| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 |
-| Simulator - iOS 14.0 | iphonesimulator14.0 | 12.0, 12.0 |
-| Simulator - iOS 14.2 | iphonesimulator14.2 | 12.2 |
-| tvOS 12.4 | appletvos12.4 | 10.3 |
-| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
-| tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.1 |
-| tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
-| tvOS 14.0 | appletvos14.0 | 12.0, 12.0 |
-| tvOS 14.2 | appletvos14.2 | 12.2 |
-| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 |
-| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 |
-| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2.1, 11.3.1 |
-| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
-| Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.0, 12.0 |
-| Simulator - tvOS 14.2 | appletvsimulator14.2 | 12.2 |
-| watchOS 5.3 | watchos5.3 | 10.3 |
-| watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
-| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.1 |
-| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
-| watchOS 7.0 | watchos7.0 | 12.0, 12.0 |
-| watchOS 7.1 | watchos7.1 | 12.2 |
-| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 |
-| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 |
-| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2.1, 11.3.1 |
-| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
-| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.0, 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 20.0 | driverkit.macosx20.0 | 12.0, 12.2 |
+| SDK | SDK Name | Xcode Version |
+| ----------------------- | -------------------- | ------------------------------------------------------------------------ |
+| macOS 10.14 | macosx10.14 | 10.3 |
+| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6, 11.7, 12.0.1, 12.1 |
+| macOS 11.0 | macosx11.0 | 12.2 |
+| iOS 12.4 | iphoneos12.4 | 10.3 |
+| iOS 13.0 | iphoneos13.0 | 11.0 |
+| iOS 13.1 | iphoneos13.1 | 11.1 |
+| iOS 13.2 | iphoneos13.2 | 11.2.1, 11.3.1 |
+| iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 |
+| iOS 13.5 | iphoneos13.5 | 11.5 |
+| iOS 13.6 | iphoneos13.6 | 11.6 |
+| iOS 13.7 | iphoneos13.7 | 11.7 |
+| iOS 14.0 | iphoneos14.0 | 12.0.1 |
+| iOS 14.1 | iphoneos14.1 | 12.1 |
+| iOS 14.2 | iphoneos14.2 | 12.2 |
+| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 |
+| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 |
+| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 |
+| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2.1, 11.3.1 |
+| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 |
+| Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 |
+| Simulator - iOS 13.6 | iphonesimulator13.6 | 11.6 |
+| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 |
+| Simulator - iOS 14.0 | iphonesimulator14.0 | 12.0.1 |
+| Simulator - iOS 14.1 | iphonesimulator14.1 | 12.1 |
+| Simulator - iOS 14.2 | iphonesimulator14.2 | 12.2 |
+| tvOS 12.4 | appletvos12.4 | 10.3 |
+| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
+| tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.1 |
+| tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
+| tvOS 14.0 | appletvos14.0 | 12.0.1, 12.1 |
+| tvOS 14.2 | appletvos14.2 | 12.2 |
+| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 |
+| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 |
+| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2.1, 11.3.1 |
+| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
+| Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.0.1, 12.1 |
+| Simulator - tvOS 14.2 | appletvsimulator14.2 | 12.2 |
+| watchOS 5.3 | watchos5.3 | 10.3 |
+| watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
+| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.1 |
+| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
+| watchOS 7.0 | watchos7.0 | 12.0.1, 12.1 |
+| watchOS 7.1 | watchos7.1 | 12.2 |
+| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 |
+| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 |
+| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2.1, 11.3.1 |
+| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5, 11.6, 11.7 |
+| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.0.1, 12.1 |
+| Simulator - watchOS 7.1 | watchsimulator7.1 | 12.2 |
+| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6, 11.7, 12.0.1, 12.1 |
+| DriverKit 20.0 | driverkit.macosx20.0 | 12.2 |
#### Installed Simulators
| OS | Xcode Version | Simulators |
@@ -298,20 +302,21 @@
| iOS 13.5 | 11.5 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
| iOS 13.6 | 11.6 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
| iOS 13.7 | 11.7 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
-| iOS 14.0 | 12.0
12.0 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
-| iOS 14.2 | 12.2 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
+| iOS 14.0 | 12.0.1 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
+| iOS 14.1 | 12.1 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
+| iOS 14.2 | 12.2 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
| tvOS 12.4 | 10.3 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
| tvOS 13.0 | 11.0
11.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
| tvOS 13.2 | 11.2.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
| tvOS 13.3 | 11.3.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
| tvOS 13.4 | 11.4
11.4.1
11.5
11.6
11.7 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
-| tvOS 14.0 | 12.0
12.0 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
+| tvOS 14.0 | 12.0.1
12.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
| tvOS 14.2 | 12.2 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
| watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm
Apple Watch Series 2 - 42mm
Apple Watch Series 3 - 38mm
Apple Watch Series 3 - 42mm
Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm |
| watchOS 6.0 | 11.0
11.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
| watchOS 6.1 | 11.2.1
11.3.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
| watchOS 6.2 | 11.4
11.4.1
11.5
11.6
11.7 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
-| watchOS 7.0 | 12.0
12.0 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm |
+| watchOS 7.0 | 12.0.1
12.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm |
| watchOS 7.1 | 12.2 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm |
### Android
diff --git a/images/macos/macos-11.0-Readme.md b/images/macos/macos-11.0-Readme.md
new file mode 100644
index 000000000..b4776beb0
--- /dev/null
+++ b/images/macos/macos-11.0-Readme.md
@@ -0,0 +1,233 @@
+| Announcements |
+|-|
+| [[macOS] Built-in Python 2.7 will be used on macOS instead of Homebrew formula on November, 3rd.](https://github.com/actions/virtual-environments/issues/1848) |
+| [macOS 11.0 (Big Sur) is available as a preview 🚀](https://github.com/actions/virtual-environments/issues/1814) |
+| [[macOS] Default Ruby version will be changed to 2.7 on October, 26](https://github.com/actions/virtual-environments/issues/1775) |
+| [Default Xcode will be changed to Xcode 12.0.1 on October, 20](https://github.com/actions/virtual-environments/issues/1712) |
+| [Xcode 11.0, 11.1, 11.4.0 will be deprecated on November, 5](https://github.com/actions/virtual-environments/issues/1688) |
+***
+# macOS 11.0 info
+- System Version: macOS 11.0 (20A5395g)
+- Kernel Version: Darwin 20.1.0
+- Image Version: 20201020.1
+
+## Installed Software
+### Language and Runtime
+- Clang/LLVM 11.0.0
+- gcc-8 (Homebrew GCC 8.4.0_1) 8.4.0 - available by `gcc-8` alias
+- gcc-9 (Homebrew GCC 9.3.0) 9.3.0 - available by `gcc-9` alias
+- GNU Fortran (Homebrew GCC 8.4.0_1) 8.4.0 - available by `gfortran-8` alias
+- GNU Fortran (Homebrew GCC 9.3.0) 9.3.0 - available by `gfortran-9` alias
+- Node.js v12.19.0
+- NVM 0.36.0
+- NVM - Cached node versions: v6.17.1 v8.17.0 v10.22.1 v12.19.0 v13.14.0 v14.14.0
+- Python 2.7.17
+- Python 3.8.6
+- Ruby 2.7.2p137
+- .NET SDK 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.602 2.1.603 2.1.604 2.1.607 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 2.1.811 3.1.100 3.1.101 3.1.200 3.1.201 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403
+- Go 1.15.3
+- PHP 7.4.11
+- julia 1.5.2
+
+### Package Management
+- Vcpkg 2020.06.15
+- Pip 20.2.3 (python 3.8)
+- Bundler version 2.1.4
+- Carthage 0.36.0
+- CocoaPods 1.9.3
+- Homebrew 2.5.6
+- NPM 6.14.8
+- Yarn 1.22.5
+- NuGet 5.6.0.6489
+- Miniconda 4.8.3
+- RubyGems 3.1.4
+- Composer 1.10.15
+
+### Project Management
+- Apache Maven 3.6.3
+- Gradle 6.7
+- Apache Ant(TM) 1.10.9
+
+### Utilities
+- Curl 7.73.0
+- Git: 2.29.0
+- Git LFS: 2.12.0
+- GitHub CLI: 1.1.0
+- Hub CLI: 2.14.2
+- GNU Wget 1.20.3
+- Subversion (SVN) 1.14.0
+- Packer 1.6.4
+- OpenSSL 1.0.2t 10 Sep 2019 `(/usr/local/opt/openssl -> /usr/local/Cellar/openssl@1.0.2t/1.0.2t)`
+- jq 1.6
+- gpg (GnuPG) 2.2.23
+- psql (PostgreSQL) 13.0
+- PostgreSQL 13.0
+- aria2 1.35.0
+- azcopy 10.6.0
+- zstd 1.4.5
+- bazel 3.7.0
+- bazelisk 1.7.3
+- helm v3.3.4+ga61ce56
+- mongo v4.4.1
+- mongod v4.4.1
+- 7-Zip 16.02
+- Newman 5.2.0
+
+### Tools
+- Fastlane 2.164.0
+- Cmake 3.18.4
+- App Center CLI 2.7.2
+- Azure CLI 2.13.0
+- AWS CLI 2.0.57
+- AWS SAM CLI 1.6.2
+- AWS Session Manager CLI 1.1.61.0
+- Aliyun CLI 3.0.60
+- GHCup v0.1.11
+- GHC 8.10.2
+- Cabal 3.2.0.0
+- Stack 2.5.1
+
+### Linters
+- yamllint 1.25.0
+- SwiftLint 0.40.3
+
+### Browsers
+- Safari 14.0.1 (16610.2.8.1.1)
+- SafariDriver 14.0.1 (16610.2.8.1.1)
+- Google Chrome 86.0.4240.80
+- ChromeDriver 86.0.4240.22
+- Microsoft Edge 85.0.564.70
+- MSEdgeDriver 85.0.564.70
+- Mozilla Firefox 81.0.2
+- geckodriver 0.27.0
+
+### Java
+| Version | Vendor | Environment Variable |
+| --------- | ------------ | -------------------- |
+| 1.8.0_265 | AdoptOpenJDK | JAVA_HOME_8_X64 |
+| 11.0.8 | AdoptOpenJDK | JAVA_HOME_11_X64 |
+### Cached Tools
+#### Ruby
+- 2.4.10
+- 2.5.8
+- 2.6.6
+- 2.7.1
+
+#### Python
+- 3.7.9
+- 3.8.6
+- 3.9.0
+
+#### Node.js
+- 10.22.1
+- 12.19.0
+- 14.14.0
+
+#### Go
+- 1.15.3
+
+### Rust Tools
+- Rust 1.47.0
+- Rustup 1.22.1
+
+#### Packages
+- Bindgen 0.55.1
+- Cbindgen 0.15.0
+- Cargo-outdated v0.9.11
+- Cargo-audit 0.12.1
+
+### PowerShell Tools
+- PowerShell 7.0.3
+
+#### PowerShell Modules
+| Module | Version |
+| ---------- | ------- |
+| Az | 4.8.0 |
+| MarkdownPS | 1.9 |
+| Pester | 5.0.4 |
+
+### Xamarin
+#### Visual Studio for Mac
+- 8.7.8.4
+
+#### Mono
+- 6.12.0.93
+
+#### Xamarin.iOS
+- 14.0.0.0
+- 13.20.2.2
+
+#### Xamarin.Mac
+- 6.20.2.2
+
+#### Xamarin.Android
+- 11.0.2
+
+#### Unit Test Framework
+- NUnit 3.6.1
+
+### Xcode
+| Version | Build | Path |
+| -------------- | -------- | ---------------------------- |
+| 12.2 (beta) | 12B5035g | /Applications/Xcode_12.2.app |
+| 12.1 | 12A7403 | /Applications/Xcode_12.1.app |
+| 11.7 (default) | 11E801a | /Applications/Xcode_11.7.app |
+
+#### Xcode Support Tools
+- xcpretty 0.3.0
+- xcversion 2.6.6
+
+#### Installed SDKs
+| SDK | SDK Name | Xcode Version |
+| ----------------------- | -------------------- | ------------- |
+| macOS 10.15 | macosx10.15 | 11.7, 12.1 |
+| macOS 11.0 | macosx11.0 | 12.2 |
+| iOS 13.7 | iphoneos13.7 | 11.7 |
+| iOS 14.1 | iphoneos14.1 | 12.1 |
+| iOS 14.2 | iphoneos14.2 | 12.2 |
+| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 |
+| Simulator - iOS 14.1 | iphonesimulator14.1 | 12.1 |
+| Simulator - iOS 14.2 | iphonesimulator14.2 | 12.2 |
+| tvOS 13.4 | appletvos13.4 | 11.7 |
+| tvOS 14.0 | appletvos14.0 | 12.1 |
+| tvOS 14.2 | appletvos14.2 | 12.2 |
+| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.7 |
+| Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.1 |
+| Simulator - tvOS 14.2 | appletvsimulator14.2 | 12.2 |
+| watchOS 6.2 | watchos6.2 | 11.7 |
+| watchOS 7.0 | watchos7.0 | 12.1 |
+| watchOS 7.1 | watchos7.1 | 12.2 |
+| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.7 |
+| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.1 |
+| Simulator - watchOS 7.1 | watchsimulator7.1 | 12.2 |
+| DriverKit 19.0 | driverkit.macosx19.0 | 11.7, 12.1 |
+| DriverKit 20.0 | driverkit.macosx20.0 | 12.2 |
+
+#### Installed Simulators
+| OS | Xcode Version | Simulators |
+| ----------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| iOS 13.7 | 11.7 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad Air (3rd generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
+| iOS 14.1 | 12.1 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
+| iOS 14.2 | 12.2 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (7th generation)
iPad (8th generation)
iPad Air (3rd generation)
iPad Air (4th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Pro (9.7-inch) |
+| tvOS 13.4 | 11.7 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
+| tvOS 14.0 | 12.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
+| tvOS 14.2 | 12.2 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
+| watchOS 6.2 | 11.7 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
+| watchOS 7.0 | 12.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm |
+| watchOS 7.1 | 12.2 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm |
+
+### Android
+| Package Name | Version |
+| -------------------------- | ----------------------------------------------------------------------------------------------------------------- |
+| Android SDK Tools | 26.1.1 |
+| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3) |
+| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3 |
+| Android SDK Platform-Tools | 30.0.4 |
+| Android Support Repository | 47.0.0 |
+| Google Play services | 49 |
+| Google Repository | 58 |
+| SDK Patch Applier v4 | 1 |
+| CMake | 3.6.4111459 |
+| NDK | 21.3.6528147 |
+
+
diff --git a/images/macos/provision/configuration/add-network-interface-detection.sh b/images/macos/provision/configuration/add-network-interface-detection.sh
index e939f04b6..ca9192bf4 100755
--- a/images/macos/provision/configuration/add-network-interface-detection.sh
+++ b/images/macos/provision/configuration/add-network-interface-detection.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
# This script was taken from https://github.com/timsutton/osx-vm-templates/blob/master/scripts/add-network-interface-detection.sh
# Distributed by MIT license, license can be found at the bottom of this script
diff --git a/images/macos/provision/configuration/autologin.sh b/images/macos/provision/configuration/autologin.sh
index caa29a6b9..02f2f06d9 100755
--- a/images/macos/provision/configuration/autologin.sh
+++ b/images/macos/provision/configuration/autologin.sh
@@ -1,3 +1,5 @@
+#!/bin/bash -e -o pipefail
+
# This script was taken from https://github.com/timsutton/osx-vm-templates/blob/master/scripts/autologin.sh
# Distributed by MIT license, license can be found at the bottom of this script
diff --git a/images/macos/provision/configuration/configure-hostname.sh b/images/macos/provision/configuration/configure-hostname.sh
index 477e09807..e0de0bf8e 100644
--- a/images/macos/provision/configuration/configure-hostname.sh
+++ b/images/macos/provision/configuration/configure-hostname.sh
@@ -1,8 +1,8 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
# Add script for changing hostname to run on startup to prevent duplicate hostnames across the environment. Hostname and Computername should contain .local in name to avoid name resolution issues
tee -a /usr/local/bin/change_hostname.sh > /dev/null <<\EOF
-#!/bin/bash
+#!/bin/bash -e -o pipefail
name="Mac-$(python -c 'from time import time; print int(round(time() * 1000))')"
scutil --set HostName "${name}.local"
diff --git a/images/macos/provision/configuration/configure-machine.sh b/images/macos/provision/configuration/configure-machine.sh
index dbfae6731..df991c211 100644
--- a/images/macos/provision/configuration/configure-machine.sh
+++ b/images/macos/provision/configuration/configure-machine.sh
@@ -1,12 +1,4 @@
-#!/bin/bash
-
-# Enable firewall. SSH and VNC opened. Can't did it at bootstrap step, so placed it here
-defaults write /Library/Preferences/com.apple.alf globalstate -int 1
-
-# Setting correct time zone
-echo "Configuring system time to GMT..."
-rm -f /etc/localtime
-ln -sf /usr/share/zoneinfo/UTC /etc/localtime
+#!/bin/bash -e -o pipefail
# https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari
# Safari’s executable is located at /usr/bin/safaridriver
diff --git a/images/macos/provision/configuration/configure-ssh.sh b/images/macos/provision/configuration/configure-ssh.sh
index f85e9efa2..73095f551 100755
--- a/images/macos/provision/configuration/configure-ssh.sh
+++ b/images/macos/provision/configuration/configure-ssh.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
[[ ! -d ~/.ssh ]] && mkdir ~/.ssh 2>/dev/null
chmod 777 ~/.ssh
diff --git a/images/macos/provision/configuration/disable-auto-updates.sh b/images/macos/provision/configuration/disable-auto-updates.sh
index 3a35f5be7..050f7d9a9 100755
--- a/images/macos/provision/configuration/disable-auto-updates.sh
+++ b/images/macos/provision/configuration/disable-auto-updates.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
# Disabling automatic updates
sudo softwareupdate --schedule off
diff --git a/images/macos/provision/configuration/finalize-vm.sh b/images/macos/provision/configuration/finalize-vm.sh
index b01b3c232..b69751398 100644
--- a/images/macos/provision/configuration/finalize-vm.sh
+++ b/images/macos/provision/configuration/finalize-vm.sh
@@ -1,12 +1,16 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
+
+source ~/utils/utils.sh
# Close all finder windows because they can interfere with UI tests
osascript -e 'tell application "Finder" to close windows'
-# Ignore available updates to prevent system pop-ups
-updateName=$(softwareupdate -l | grep "Title: " | awk -F[:,] '{print $2}' | awk '{$1=$1};1')
-if [ ! -z "$updateName" ]; then
- sudo softwareupdate --ignore "$updateName"
+if is_Less_BigSur; then
+ # Ignore available updates to prevent system pop-ups
+ updateName=$(softwareupdate -l | grep "Title: " | awk -F[:,] '{print $2}' | awk '{$1=$1};1') || true
+ if [ ! -z "$updateName" ]; then
+ sudo softwareupdate --ignore "$updateName"
+ fi
fi
# Put documentation to $HOME root
diff --git a/images/macos/provision/configuration/max-files.sh b/images/macos/provision/configuration/max-files.sh
index a6e41f120..cd1df451a 100755
--- a/images/macos/provision/configuration/max-files.sh
+++ b/images/macos/provision/configuration/max-files.sh
@@ -1,6 +1,4 @@
-#!/bin/bash
-
-set -e
+#!/bin/bash -e -o pipefail
Launch_Daemons="/Library/LaunchDaemons"
diff --git a/images/macos/provision/configuration/ntpconf.sh b/images/macos/provision/configuration/ntpconf.sh
index 09916cc37..b4f681280 100755
--- a/images/macos/provision/configuration/ntpconf.sh
+++ b/images/macos/provision/configuration/ntpconf.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
echo Additional NTP servers adding into /etc/ntp.conf file...
cat > /etc/ntp.conf << EOF
diff --git a/images/macos/provision/configuration/preimagedata.sh b/images/macos/provision/configuration/preimagedata.sh
index c269a1492..8060acb74 100644
--- a/images/macos/provision/configuration/preimagedata.sh
+++ b/images/macos/provision/configuration/preimagedata.sh
@@ -1,4 +1,5 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
+
source ~/utils/utils.sh
imagedata_file="$HOME/imagedata.json"
diff --git a/images/macos/provision/configuration/screensaver-off.sh b/images/macos/provision/configuration/screensaver-off.sh
index c154f8d8f..6844792e5 100755
--- a/images/macos/provision/configuration/screensaver-off.sh
+++ b/images/macos/provision/configuration/screensaver-off.sh
@@ -1,4 +1,5 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
+
# set screensaver idleTime to 0, to prevent turning screensaver on
macUUID=`ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-62`
diff --git a/images/macos/provision/configuration/shell-change.sh b/images/macos/provision/configuration/shell-change.sh
index a84216cbb..5fb12a03e 100644
--- a/images/macos/provision/configuration/shell-change.sh
+++ b/images/macos/provision/configuration/shell-change.sh
@@ -1,3 +1,5 @@
+#!/bin/bash -e -o pipefail
+
echo "Changing shell to bash"
sudo chsh -s /bin/bash $USERNAME
sudo chsh -s /bin/bash root
\ No newline at end of file
diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh
index 093a133ce..2f6139c8a 100755
--- a/images/macos/provision/core/android-toolsets.sh
+++ b/images/macos/provision/core/android-toolsets.sh
@@ -1,4 +1,4 @@
-#!/bin/bash -e
+#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
function filter_components_by_version {
diff --git a/images/macos/provision/core/audiodevice.sh b/images/macos/provision/core/audiodevice.sh
index 4a151e3f9..ec7d71d93 100644
--- a/images/macos/provision/core/audiodevice.sh
+++ b/images/macos/provision/core/audiodevice.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
echo "install soundflower"
brew cask install soundflower
diff --git a/images/macos/provision/core/aws.sh b/images/macos/provision/core/aws.sh
index 9e0063be1..02009449a 100644
--- a/images/macos/provision/core/aws.sh
+++ b/images/macos/provision/core/aws.sh
@@ -1,7 +1,9 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
echo Installing aws...
-brew install awscli
+curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
+sudo installer -pkg AWSCLIV2.pkg -target /
+rm -rf AWSCLIV2.pkg
echo Installing aws sam cli...
brew tap aws/tap
diff --git a/images/macos/provision/core/azcopy.sh b/images/macos/provision/core/azcopy.sh
index 56b848e92..5098c8789 100755
--- a/images/macos/provision/core/azcopy.sh
+++ b/images/macos/provision/core/azcopy.sh
@@ -1,5 +1,4 @@
-#!/bin/bash
-set -e
+#!/bin/bash -e -o pipefail
AZCOPY_DOWNLOAD_URL="https://aka.ms/downloadazcopy-v10-mac"
diff --git a/images/macos/provision/core/build-xcode-symlinks.sh b/images/macos/provision/core/build-xcode-symlinks.sh
index 0cee8df88..600709387 100644
--- a/images/macos/provision/core/build-xcode-symlinks.sh
+++ b/images/macos/provision/core/build-xcode-symlinks.sh
@@ -1,4 +1,4 @@
-set -e
+#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
diff --git a/images/macos/provision/core/chrome.sh b/images/macos/provision/core/chrome.sh
index 203faee74..4a9deba1a 100644
--- a/images/macos/provision/core/chrome.sh
+++ b/images/macos/provision/core/chrome.sh
@@ -1,3 +1,5 @@
+#!/bin/bash -e -o pipefail
+
echo "Installing Chrome..."
brew cask install google-chrome
diff --git a/images/macos/provision/core/cocoapods.sh b/images/macos/provision/core/cocoapods.sh
index edf2a85f2..d692bf3d6 100755
--- a/images/macos/provision/core/cocoapods.sh
+++ b/images/macos/provision/core/cocoapods.sh
@@ -1,4 +1,5 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
+
echo "Installing Cocoapods..."
# Setup the Cocoapods master repo
diff --git a/images/macos/provision/core/commonutils.sh b/images/macos/provision/core/commonutils.sh
index 5a98f004f..c7e93496c 100644
--- a/images/macos/provision/core/commonutils.sh
+++ b/images/macos/provision/core/commonutils.sh
@@ -1,5 +1,4 @@
-#!/bin/sh
-set -e
+#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
diff --git a/images/macos/provision/core/dotnet.sh b/images/macos/provision/core/dotnet.sh
index 780564881..36df3be9d 100755
--- a/images/macos/provision/core/dotnet.sh
+++ b/images/macos/provision/core/dotnet.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
###########################################################################
# The main idea of this script is to automate dotnet installs
@@ -23,7 +23,7 @@ echo "Parsing dotnet SDK (except rc and preview versions) from .json..."
if is_BigSur; then
DOTNET_CHANNELS=(
'https://raw.githubusercontent.com/dotnet/core/master/release-notes/2.1/releases.json'
- 'https://raw.githubusercontent.com/dotnet/core/master/release-notes/3.1/releases.json'
+ 'https://raw.githubusercontent.com/dotnet/core/master/release-notes/3.1/releases.json'
)
elif is_Less_Catalina; then
DOTNET_CHANNELS=(
@@ -33,7 +33,7 @@ else
DOTNET_CHANNELS=(
'https://raw.githubusercontent.com/dotnet/core/master/release-notes/2.1/releases.json'
'https://raw.githubusercontent.com/dotnet/core/master/release-notes/3.0/releases.json'
- 'https://raw.githubusercontent.com/dotnet/core/master/release-notes/3.1/releases.json'
+ 'https://raw.githubusercontent.com/dotnet/core/master/release-notes/3.1/releases.json'
)
fi
diff --git a/images/macos/provision/core/edge.sh b/images/macos/provision/core/edge.sh
index bc19a5666..da1673e0a 100644
--- a/images/macos/provision/core/edge.sh
+++ b/images/macos/provision/core/edge.sh
@@ -1,3 +1,5 @@
+#!/bin/bash -e -o pipefail
+
source ~/utils/utils.sh
echo "Installing Microsoft Edge..."
diff --git a/images/macos/provision/core/firefox.sh b/images/macos/provision/core/firefox.sh
index f6a90d619..b9ee1c5ea 100644
--- a/images/macos/provision/core/firefox.sh
+++ b/images/macos/provision/core/firefox.sh
@@ -1,3 +1,5 @@
+#!/bin/bash -e -o pipefail
+
echo "Installing Firefox..."
brew cask install firefox
diff --git a/images/macos/provision/core/gcc.sh b/images/macos/provision/core/gcc.sh
index febc0760c..fefe20fd6 100644
--- a/images/macos/provision/core/gcc.sh
+++ b/images/macos/provision/core/gcc.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
echo "Installing GCC@8 using homebrew..."
brew install gcc@8
diff --git a/images/macos/provision/core/git.sh b/images/macos/provision/core/git.sh
index 55feb92b0..d59ebf915 100644
--- a/images/macos/provision/core/git.sh
+++ b/images/macos/provision/core/git.sh
@@ -1,3 +1,5 @@
+#!/bin/bash -e -o pipefail
+
echo Installing Git...
brew install git
diff --git a/images/macos/provision/core/haskell.sh b/images/macos/provision/core/haskell.sh
index 1bc11d915..b7f35e4d7 100644
--- a/images/macos/provision/core/haskell.sh
+++ b/images/macos/provision/core/haskell.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
export PATH="$HOME/.ghcup/bin:$PATH"
diff --git a/images/macos/provision/core/homebrew.sh b/images/macos/provision/core/homebrew.sh
index 01b0fb0f3..201fc586a 100755
--- a/images/macos/provision/core/homebrew.sh
+++ b/images/macos/provision/core/homebrew.sh
@@ -1,23 +1,19 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
+
echo "Installing Homebrew..."
-
-source ~/utils/utils.sh
-
-echo Installing Homebrew...
HOMEBREW_INSTALL_URL="https://raw.githubusercontent.com/Homebrew/install/master/install.sh"
-
/bin/bash -c "$(curl -fsSL ${HOMEBREW_INSTALL_URL})"
-echo Disabling Homebrew analytics...
+echo "Disabling Homebrew analytics..."
brew analytics off
-echo Installing the last version of curl
+echo "Installing the latest curl..."
brew install curl
-echo Installing wget...
+echo "Installing wget..."
brew install wget
-echo Installing jq
+echo "Installing jq..."
brew install jq
# init brew bundle feature
diff --git a/images/macos/provision/core/miniconda.sh b/images/macos/provision/core/miniconda.sh
index b214b352e..876883a6b 100644
--- a/images/macos/provision/core/miniconda.sh
+++ b/images/macos/provision/core/miniconda.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
MINICONDA_INSTALLER="/tmp/miniconda.sh"
curl -sL https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -o $MINICONDA_INSTALLER
diff --git a/images/macos/provision/core/mongodb.sh b/images/macos/provision/core/mongodb.sh
index 1b6a5a8d9..3a4440d90 100644
--- a/images/macos/provision/core/mongodb.sh
+++ b/images/macos/provision/core/mongodb.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
# MongoDB object-value database
# installs last version of MongoDB Community Edition
diff --git a/images/macos/provision/core/node.sh b/images/macos/provision/core/node.sh
index daf5ea408..59e727ce9 100644
--- a/images/macos/provision/core/node.sh
+++ b/images/macos/provision/core/node.sh
@@ -1,11 +1,8 @@
+#!/bin/bash -e -o pipefail
+
source ~/utils/utils.sh
-node_common_modules=(
- node-gyp
- mobile-center-cli
-)
-
-node_catalina_modules=(
+node_modules=(
appcenter-cli
newman
)
@@ -21,7 +18,10 @@ if is_Less_Catalina; then
echo Installing NPM 3.x.x...
npm install -g npm@3
- npm config set prefix /usr/local
+
+ # This step is required to install App Center CLI
+ echo Installing Omelette...
+ npm install -g omelette@0.4.14
echo Installing App Center CLI...
npm install -g appcenter-cli@^1.0.0
@@ -30,7 +30,7 @@ else
brew install node@12
brew link node@12 --force
- for module in ${node_catalina_modules[@]}; do
+ for module in ${node_modules[@]}; do
echo "Install $module"
npm install -g $module
done
@@ -40,8 +40,6 @@ echo Installing yarn...
curl -o- -L https://yarnpkg.com/install.sh | bash
if is_Less_BigSur; then
- for module in ${node_common_modules[@]}; do
- echo "Install $module"
- npm install -g $module
- done
+ echo "Install node-gyp"
+ npm install -g node-gyp
fi
diff --git a/images/macos/provision/core/nvm.sh b/images/macos/provision/core/nvm.sh
index 527bd4c62..c02ecf431 100755
--- a/images/macos/provision/core/nvm.sh
+++ b/images/macos/provision/core/nvm.sh
@@ -1,5 +1,4 @@
-#!/bin/sh
-
+#!/bin/bash -e -o pipefail
###########################################################################
# The script installs node version manager with node versions 6,8,10 and 12
#
@@ -24,11 +23,8 @@ if [ $? -eq 0 ]; then
nvm alias node12 lts/erbium
nvm alias node13 v13
nvm alias node14 v14
-
- if is_Catalina || is_BigSur; then
- # set system node as default
- nvm alias default system
- fi
+ # set system node as default
+ nvm alias default system
else
echo error
fi
diff --git a/images/macos/provision/core/openjdk.sh b/images/macos/provision/core/openjdk.sh
index ca2c5f017..c2b22bafa 100644
--- a/images/macos/provision/core/openjdk.sh
+++ b/images/macos/provision/core/openjdk.sh
@@ -1,6 +1,4 @@
-#!/bin/sh
-
-set -e
+#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
diff --git a/images/macos/provision/core/openssl.sh b/images/macos/provision/core/openssl.sh
index a1976e7f9..16a317c0c 100755
--- a/images/macos/provision/core/openssl.sh
+++ b/images/macos/provision/core/openssl.sh
@@ -1,24 +1,16 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
-echo "Installing OpenSSL..."
-export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
-
echo Installing OpenSSL...
-/usr/local/bin/brew install openssl
-
-if is_BigSur; then
- ln -sf $(brew --prefix openssl)/bin/openssl /usr/local/bin/openssl
- exit 0
-fi
+brew install openssl
# Install OpenSSL 1.0.2t
# https://www.openssl.org/policies/releasestrat.html - Version 1.0.2 will be supported until 2019-12-31 (LTS)
# To preserve backward compatibility with ruby-toolcache
-/usr/local/bin/brew tap-new local/openssl
-FORMULA_PATH=$(/usr/local/bin/brew extract openssl local/openssl | grep "Homebrew/Library/Taps")
-/usr/local/bin/brew install $FORMULA_PATH
+brew tap-new --no-git local/openssl
+FORMULA_PATH=$(brew extract openssl local/openssl | grep "Homebrew/Library/Taps")
+brew install $FORMULA_PATH
# Set OpenSSL 1.0.2t as default
ln -sf /usr/local/Cellar/openssl@1.0.2t /usr/local/Cellar/openssl
@@ -30,4 +22,4 @@ ln -sf ../Cellar/openssl/1.0.2t /usr/local/opt/openssl
# https://github.com/microsoft/azure-pipelines-agent/blob/master/docs/start/envosx.md
mkdir -p /usr/local/lib/
ln -s /usr/local/opt/openssl@1.0.2t/lib/libcrypto.1.0.0.dylib /usr/local/lib/
-ln -s /usr/local/opt/openssl@1.0.2t/lib/libssl.1.0.0.dylib /usr/local/lib/
\ No newline at end of file
+ln -s /usr/local/opt/openssl@1.0.2t/lib/libssl.1.0.0.dylib /usr/local/lib/
diff --git a/images/macos/provision/core/php.sh b/images/macos/provision/core/php.sh
index 08c19f942..901114481 100644
--- a/images/macos/provision/core/php.sh
+++ b/images/macos/provision/core/php.sh
@@ -1,5 +1,4 @@
-#!/bin/sh
-set -e
+#!/bin/bash -e -o pipefail
echo Installing PHP
brew install php
diff --git a/images/macos/provision/core/postgresql.sh b/images/macos/provision/core/postgresql.sh
index f69e078aa..b5d7ab61c 100644
--- a/images/macos/provision/core/postgresql.sh
+++ b/images/macos/provision/core/postgresql.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
#Install latest version of postgresql
brew install postgres
@@ -6,13 +6,21 @@ brew install postgres
#Service postgresql should be started before use.
brew services start postgresql
-#Verify that PostgreSQL is ready for accept incoming connections.
-# exit codes:
-# ready - 0
-# reject - 1
-# connection timeout - 2
-# incorrect credentials or parameters - 3
-pg_isready
+#Verify PostgreSQL is ready for accept incoming connections
+echo "Check PostgreSQL service is running"
+i=10
+COMMAND='pg_isready'
+while [ $i -gt 0 ]; do
+ echo "Check PostgreSQL service status"
+ eval $COMMAND && break
+ ((i--))
+ if [ $i == 0 ]; then
+ echo "PostgreSQL service not ready, all attempts exhausted"
+ exit 1
+ fi
+ echo "PostgreSQL service not ready, wait 10 more sec, attempts left: $i"
+ sleep 10
+done
#Stop postgresql
brew services stop postgresql
\ No newline at end of file
diff --git a/images/macos/provision/core/powershell.sh b/images/macos/provision/core/powershell.sh
index 5717adc74..12beeca64 100644
--- a/images/macos/provision/core/powershell.sh
+++ b/images/macos/provision/core/powershell.sh
@@ -1,3 +1,5 @@
+#!/bin/bash -e -o pipefail
+
source ~/utils/utils.sh
echo Installing Azure CLI...
diff --git a/images/macos/provision/core/pypy.sh b/images/macos/provision/core/pypy.sh
index 5f24cd5f5..d55d785af 100644
--- a/images/macos/provision/core/pypy.sh
+++ b/images/macos/provision/core/pypy.sh
@@ -1,10 +1,9 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
################################################################################
## File: pypy.sh
## Desc: Installs PyPy
################################################################################
source ~/utils/utils.sh
-set -e
function InstallPyPy
{
diff --git a/images/macos/provision/core/python.sh b/images/macos/provision/core/python.sh
index 41488642e..b4c641477 100755
--- a/images/macos/provision/core/python.sh
+++ b/images/macos/provision/core/python.sh
@@ -1,13 +1,19 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
+
source ~/utils/utils.sh
echo "Installing Python Tooling"
echo "Brew Installing Python 3"
-/usr/local/bin/brew install python3
+# Workaround to have both 3.8 & 3.9(which required by some brew formulas) in the system, but only 3.8 is linked
+brew install python@3.8
+brew install python@3.9
+brew unlink python@3.9
+brew unlink python@3.8
+brew link python@3.8
echo "Brew Installing Python 2"
-# Create local tap with formula due to python2 formula depreciation
-/usr/local/bin/brew tap-new local/python2
-FORMULA_PATH=$(/usr/local/bin/brew extract python@2 local/python2 | grep "Homebrew/Library/Taps")
-/usr/local/bin/brew install $FORMULA_PATH
+# Create local tap with formula due to python2 formula depreciation
+brew tap-new --no-git local/python2
+FORMULA_PATH=$(brew extract python@2 local/python2 | grep "Homebrew/Library/Taps")
+brew install $FORMULA_PATH
diff --git a/images/macos/provision/core/reboot.sh b/images/macos/provision/core/reboot.sh
index a6e444351..e0a2dfb80 100644
--- a/images/macos/provision/core/reboot.sh
+++ b/images/macos/provision/core/reboot.sh
@@ -1,2 +1,3 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
+
shutdown -r now
\ No newline at end of file
diff --git a/images/macos/provision/core/ruby.sh b/images/macos/provision/core/ruby.sh
index 19877de3e..61eb33c09 100755
--- a/images/macos/provision/core/ruby.sh
+++ b/images/macos/provision/core/ruby.sh
@@ -1,17 +1,6 @@
-#!/bin/sh
-
-set -e
+#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
echo Installing Ruby...
-if is_Less_BigSur; then
- # We can't install latest ruby 2.7 as a default version related with bug
- # https://github.com/fastlane/fastlane/issues/15397
- /usr/local/bin/brew install ruby@2.6
- ln -sf /usr/local/opt/ruby\@2.6 /usr/local/opt/ruby
-else
- brew install ruby
-fi
-
-
+brew install ruby
diff --git a/images/macos/provision/core/rubygem.sh b/images/macos/provision/core/rubygem.sh
index 83639e472..14f4af7a0 100755
--- a/images/macos/provision/core/rubygem.sh
+++ b/images/macos/provision/core/rubygem.sh
@@ -1,4 +1,5 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
+
source ~/utils/utils.sh
echo Updating RubyGems...
diff --git a/images/macos/provision/core/rust.sh b/images/macos/provision/core/rust.sh
index 5ef7675ca..de82c7b4a 100644
--- a/images/macos/provision/core/rust.sh
+++ b/images/macos/provision/core/rust.sh
@@ -1,6 +1,4 @@
-#!/bin/sh
-
-set -e
+#!/bin/bash -e -o pipefail
echo Installing Rustup...
brew install rustup-init
diff --git a/images/macos/provision/core/stack.sh b/images/macos/provision/core/stack.sh
index 81b41fa8a..17c5ecd9a 100644
--- a/images/macos/provision/core/stack.sh
+++ b/images/macos/provision/core/stack.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
echo "Get the latest Stack version..."
StackRelease=$(curl -s "https://api.github.com/repos/commercialhaskell/stack/releases/latest")
diff --git a/images/macos/provision/core/toolcache-high-sierra.sh b/images/macos/provision/core/toolcache-high-sierra.sh
index 61a3cc8c1..9a67418b3 100644
--- a/images/macos/provision/core/toolcache-high-sierra.sh
+++ b/images/macos/provision/core/toolcache-high-sierra.sh
@@ -1,7 +1,6 @@
-#!/bin/sh
-
+#!/bin/bash -e -o pipefail
###########################################################################
-# The script downloads macos hosted tool cache for several Python versions
+# The script downloads macos hosted tool cache for several Python versions
# and installs them onto the system
#
###########################################################################
diff --git a/images/macos/provision/core/toolcache.sh b/images/macos/provision/core/toolcache.sh
index eb6dc905e..dab45debe 100755
--- a/images/macos/provision/core/toolcache.sh
+++ b/images/macos/provision/core/toolcache.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
# Download hosted tool cache with npm
NPM_FEED="npm.pkg.github.com"
diff --git a/images/macos/provision/core/toolset.ps1 b/images/macos/provision/core/toolset.ps1
index bc016c4b3..9238b9ff4 100644
--- a/images/macos/provision/core/toolset.ps1
+++ b/images/macos/provision/core/toolset.ps1
@@ -4,6 +4,8 @@
## Desc: Install toolset
################################################################################
+Import-Module "~/image-generation/helpers/Common.Helpers.psm1"
+
Function Get-ToolcacheFromToolset {
$toolsetPath = Join-Path $env:HOME "image-generation" "toolset.json"
$toolsetJson = Get-Content -Raw $toolsetPath | ConvertFrom-Json
@@ -38,7 +40,7 @@ $tools = Get-ToolcacheFromToolset | Where-Object {$ToolsToInstall -contains $_.
foreach ($tool in $tools) {
# Get versions manifest for current tool
- $assets = Invoke-RestMethod $tool.url
+ $assets = Invoke-RestMethodWithRetry -Url $tool.url
# Get github release asset for each version
foreach ($version in $tool.versions) {
diff --git a/images/macos/provision/core/vcpkg.sh b/images/macos/provision/core/vcpkg.sh
index 289d7ba49..260f2c2aa 100644
--- a/images/macos/provision/core/vcpkg.sh
+++ b/images/macos/provision/core/vcpkg.sh
@@ -1,6 +1,5 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
-set -e
source ~/utils/utils.sh
# Set env variable for vcpkg
diff --git a/images/macos/provision/core/vsmac.sh b/images/macos/provision/core/vsmac.sh
index 20a8efd46..f0c498fc8 100644
--- a/images/macos/provision/core/vsmac.sh
+++ b/images/macos/provision/core/vsmac.sh
@@ -1,4 +1,5 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
+
source ~/utils/utils.sh
source ~/utils/xamarin-utils.sh
@@ -22,9 +23,6 @@ echo "Moving Visual Studio to /Applications/..."
pushd $TMPMOUNT
tar cf - "./Visual Studio.app" | tar xf - -C /Applications/
-echo "Launching vstools..."
-/Applications/Visual\ Studio.app/Contents/MacOS/vstool
-
popd
sudo hdiutil detach "$TMPMOUNT"
sudo rm -rf "$TMPMOUNT"
\ No newline at end of file
diff --git a/images/macos/provision/core/xamarin-android-ndk.sh b/images/macos/provision/core/xamarin-android-ndk.sh
index 35e4d0064..d5b23ebb0 100644
--- a/images/macos/provision/core/xamarin-android-ndk.sh
+++ b/images/macos/provision/core/xamarin-android-ndk.sh
@@ -1,4 +1,5 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
+
source ~/utils/utils.sh
ANDROID_HOME=$HOME/Library/Android/sdk
diff --git a/images/macos/provision/core/xamarin.sh b/images/macos/provision/core/xamarin.sh
index 0f0801d7b..86dc1a0fe 100755
--- a/images/macos/provision/core/xamarin.sh
+++ b/images/macos/provision/core/xamarin.sh
@@ -1,4 +1,5 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
+
source ~/utils/utils.sh
source ~/utils/xamarin-utils.sh
@@ -63,8 +64,10 @@ createBundleLink $CURRENT_SDK_SYMLINK "Current"
# Fix nuget in some mono versions because of known bugs
#
-# Fix Mono issue with default nuget: https://github.com/mono/mono/issues/17637
-installNuget "6.4.0" "5.3.1"
+if is_Less_BigSur; then
+ # Fix Mono issue with default nuget: https://github.com/mono/mono/issues/17637
+ installNuget "6.4.0" "5.3.1"
+fi
if is_Less_Catalina; then
installNuget "4.8.1" "4.3.0"
diff --git a/images/macos/provision/core/xcode-clt.sh b/images/macos/provision/core/xcode-clt.sh
new file mode 100644
index 000000000..84e4a9e58
--- /dev/null
+++ b/images/macos/provision/core/xcode-clt.sh
@@ -0,0 +1,51 @@
+#!/bin/bash -e -o pipefail
+source ~/utils/utils.sh
+
+is_clt_installed() {
+ clt_path=`xcode-select -p 2>&1`
+ [[ -d "$clt_path" ]]
+}
+
+install_clt() {
+ echo "Searching online for the Command Line Tools"
+ # This temporary file prompts the 'softwareupdate' utility to list the Command Line Tools
+ clt_placeholder="/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress"
+ sudo touch $clt_placeholder
+ # The only working tools for Big Sur are 12.2
+ if is_Less_BigSur; then
+ cltPattern="Command Line Tools"
+ else
+ cltPattern="Command Line Tools.*Xcode-12.2"
+ fi
+
+ clt_label_command="/usr/sbin/softwareupdate -l |
+ grep -B 1 -E '${cltPattern}' |
+ awk -F'*' '/^ *\\*/ {print \$2}' |
+ sed -e 's/^ *Label: //' -e 's/^ *//' |
+ sort -V |
+ tail -n1"
+ clt_label=$(eval $clt_label_command) || true
+ if [[ -n "$clt_label" ]]; then
+ echo "Installing $clt_label"
+ sudo "/usr/sbin/softwareupdate" "-i" "$clt_label"
+ fi
+ sudo "/bin/rm" "-f" "$clt_placeholder"
+}
+
+echo "Installing Command Line Tools..."
+install_clt
+
+# Retry the installation if tools are not installed from the first attempt
+retries=30
+sleepInterval=60
+while ! is_clt_installed; do
+ if [[ $retries -eq 0 ]]; then
+ echo "Unable to find the Command Line Tools, all the attempts exhausted"
+ exit 1
+ fi
+ echo "Command Line Tools not found, trying to install them via softwareupdates, $retries attempts left"
+ install_clt
+ ((retries--))
+ echo "Wait $sleepInterval seconds before the next check for installed Command Line Tools"
+ sleep $sleepInterval
+done
\ No newline at end of file
diff --git a/images/macos/provision/core/xcode-ctl.sh b/images/macos/provision/core/xcode-ctl.sh
deleted file mode 100644
index cea7aa633..000000000
--- a/images/macos/provision/core/xcode-ctl.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-
-# Homebrew doesn't support installation of command line tools on MacOS 11.0
-# https://github.com/Homebrew/install/blob/master/install.sh#L191
-# Copy-paste script from brew installation process
-# https://github.com/Homebrew/install/blob/master/install.sh#L530
-# This temporary file prompts the 'softwareupdate' utility to list the Command Line Tools
-
-clt_placeholder="/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress"
-touch $clt_placeholder
-clt_label=`/usr/sbin/softwareupdate -l |
- grep -B 1 -E 'Command Line Tools beta 5' |
- awk -F'*' '/^ *\\*/ {print \$2}' |
- sed -e 's/^ *Label: //' -e 's/^ *//' |
- sort -V |
- tail -n1`
-/usr/sbin/softwareupdate -i "$clt_label"
-rm -f $clt_placeholder
-sudo xcode-select --switch "/Library/Developer/CommandLineTools/"
\ No newline at end of file
diff --git a/images/macos/provision/core/xcode-postbuild.sh b/images/macos/provision/core/xcode-postbuild.sh
index bf7ba387e..6afd42c21 100644
--- a/images/macos/provision/core/xcode-postbuild.sh
+++ b/images/macos/provision/core/xcode-postbuild.sh
@@ -1,11 +1,11 @@
-#!/bin/bash
+#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
XCODE_LIST=($(get_xcode_list_from_toolset))
DEFAULT_XCODE_VERSION=$(get_default_xcode_from_toolset)
# https://github.com/microsoft/appcenter/issues/847
-# Assets.xcassets : error : CoreData: error: (6922) I/O error for database
+# Assets.xcassets : error : CoreData: error: (6922) I/O error for database
# at $HOME/Library/Developer/Xcode/UserData/IB Support/Simulator Devices/{GUID}
echo "Erase a device's contents and settings:"
for XCODE_VERSION in "${XCODE_LIST[@]}"
@@ -15,6 +15,11 @@ do
#add sleep to let CoreSimulatorService to exit
sleep 3
+ # Version 12.2_beta installed into 12.2 directory and 12.1_GM_seed in 12.1
+ pattern="[0-9]{1,2}.*_"
+ if [[ $XCODE_VERSION =~ $pattern ]] ; then
+ XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1)
+ fi
# Select xcode version by default
sudo xcode-select -s "/Applications/Xcode_${XCODE_VERSION}.app/Contents/Developer"
diff --git a/images/macos/provision/core/xcode-sims.sh b/images/macos/provision/core/xcode-sims.sh
index fb2af5d41..8dff14a5e 100755
--- a/images/macos/provision/core/xcode-sims.sh
+++ b/images/macos/provision/core/xcode-sims.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
diff --git a/images/macos/provision/core/xcode-tools.sh b/images/macos/provision/core/xcode-tools.sh
index 643dc2932..773b07a95 100755
--- a/images/macos/provision/core/xcode-tools.sh
+++ b/images/macos/provision/core/xcode-tools.sh
@@ -1,10 +1,8 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
# The script currently requires 2 external variables to be set: XCODE_INSTALL_USER
# and XCODE_INSTALL_PASSWORD, in order to access the Apple Developer Center
-set -e
-
source ~/utils/utils.sh
source ~/utils/xcode-utils.sh
diff --git a/images/macos/provision/utils/utils.sh b/images/macos/provision/utils/utils.sh
index 85881c7e3..d2c393177 100755
--- a/images/macos/provision/utils/utils.sh
+++ b/images/macos/provision/utils/utils.sh
@@ -1,3 +1,5 @@
+#!/bin/bash -e -o pipefail
+
download_with_retries() {
# Due to restrictions of bash functions, positional arguments are used here.
# In case if you using latest argument NAME, you should also set value to all previous parameters.
@@ -5,22 +7,31 @@ download_with_retries() {
local URL="$1"
local DEST="${2:-.}"
local NAME="${3:-${URL##*/}}"
+ local COMPRESSED="$4"
- echo "Downloading $URL..."
- wget $URL --output-document="$DEST/$NAME" \
- --tries=30 \
- --wait 30 \
- --retry-connrefused \
- --retry-on-host-error \
- --retry-on-http-error=429,500,502,503 \
- --no-verbose
-
- if [ $? != 0 ]; then
- echo "Could not download $URL; Exiting build!"
- exit 1
+ if [[ $COMPRESSED == "compressed" ]]; then
+ COMMAND="curl $URL -4 -sL --compressed -o '$DEST/$NAME'"
+ else
+ COMMAND="curl $URL -4 -sL -o '$DEST/$NAME'"
fi
- return 0
+ echo "Downloading $URL..."
+ retries=20
+ interval=30
+ while [ $retries -gt 0 ]; do
+ ((retries--))
+ eval $COMMAND
+ if [ $? != 0 ]; then
+ echo "Unable to download $URL, next attempt in $interval sec, $retries attempts left"
+ sleep $interval
+ else
+ echo "$URL was downloaded successfully to $DEST/$NAME"
+ return 0
+ fi
+ done
+
+ echo "Could not download $URL"
+ return 1
}
is_BigSur() {
diff --git a/images/macos/provision/utils/xamarin-utils.sh b/images/macos/provision/utils/xamarin-utils.sh
index dd6d7ae95..1017cec24 100644
--- a/images/macos/provision/utils/xamarin-utils.sh
+++ b/images/macos/provision/utils/xamarin-utils.sh
@@ -1,11 +1,11 @@
-#!/bin/sh
+#!/bin/bash -e -o pipefail
# Xamarin can clean their SDKs while updating to newer versions,
# so we should be able to detect it during image generation
downloadAndInstallPKG() {
local PKG_URL=$1
local PKG_NAME=${PKG_URL##*/}
-
+
download_with_retries $PKG_URL
echo "Installing $PKG_NAME..."
@@ -159,7 +159,7 @@ installNunitConsole() {
local MONO_VERSION=$1
cat < ${TMPMOUNT}/${NUNIT3_CONSOLE_BIN}
-#!/bin/sh
+#!/bin/bash -e -o pipefail
exec /Library/Frameworks/Mono.framework/Versions/${MONO_VERSION}/bin/mono --debug \$MONO_OPTIONS $NUNIT3_PATH/nunit3-console.exe "\$@"
EOF
sudo chmod +x ${TMPMOUNT}/${NUNIT3_CONSOLE_BIN}
@@ -180,7 +180,7 @@ downloadNUnitConsole() {
echo "Installing NUnit 3..."
sudo unzip nunit3.zip -d $NUNIT3_PATH
NUNIT3_CONSOLE_BIN=nunit3-console
-
+
popd
}
diff --git a/images/macos/provision/utils/xcode-utils.sh b/images/macos/provision/utils/xcode-utils.sh
index 0f7855ec1..cfe934398 100644
--- a/images/macos/provision/utils/xcode-utils.sh
+++ b/images/macos/provision/utils/xcode-utils.sh
@@ -1,7 +1,14 @@
+#!/bin/bash -e -o pipefail
+
createXamarinProvisionatorSymlink() {
local XCODE_VERSION="$1"
local FULL_VERSION=$(echo "${XCODE_VERSION}.0.0" | cut -d'.' -f 1,2,3)
+ # temporary trick for 12.0.1
+ if [[ $XCODE_VERSION == "12" ]]; then
+ FULL_VERSION="12.0.1"
+ fi
+
if [ $FULL_VERSION != $XCODE_VERSION ]; then
ln -sf "/Applications/Xcode_${XCODE_VERSION}.app" "/Applications/Xcode_${FULL_VERSION}.app"
fi
@@ -10,7 +17,9 @@ createXamarinProvisionatorSymlink() {
getXcodeVersionToInstall() {
local XCODE_VERSION="$1"
- if [[ ! $XCODE_VERSION =~ "_beta" ]]; then
+ if [[ $XCODE_VERSION == "12" ]]; then
+ echo "12.0.1"
+ elif [[ ! $XCODE_VERSION =~ "_beta" ]]; then
echo "${XCODE_VERSION//_/ }"
else
local XCODE_BETA="${XCODE_VERSION/_/ }"
@@ -51,6 +60,7 @@ setXcodeDeveloperDirVariables() {
for MAJOR_VERSION in "${major_versions[@]}"
do
LATEST_STABLE_VERSION=$(echo "${stable_xcode_versions[*]}" | grep "${MAJOR_VERSION}" | tail -n 1)
+ LATEST_STABLE_VERSION=$(echo $LATEST_STABLE_VERSION | cut -d"_" -f 1)
echo "export XCODE_${MAJOR_VERSION}_DEVELOPER_DIR=/Applications/Xcode_${LATEST_STABLE_VERSION}.app/Contents/Developer" >> "$HOME/.bashrc"
done
}
@@ -60,7 +70,9 @@ extractXcodeXip() {
local XCODE_VERSION="$2"
XCODE_XIP="${WORKING_DIR}/Xcode_${XCODE_VERSION// /_}.xip"
- open -W $XCODE_XIP
+ pushd $WORKING_DIR
+ xip -x "${XCODE_XIP}"
+ popd
if [[ -d "${WORKING_DIR}/Xcode-beta.app" ]]; then
mv -f "${WORKING_DIR}/Xcode-beta.app" "${WORKING_DIR}/Xcode.app"
diff --git a/images/macos/templates/macOS-10.13.json b/images/macos/templates/macOS-10.13.json
index 2190a6b4a..35c7ef3c7 100644
--- a/images/macos/templates/macOS-10.13.json
+++ b/images/macos/templates/macOS-10.13.json
@@ -128,6 +128,7 @@
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
"pause_before": "30s",
"scripts": [
+ "./provision/core/xcode-clt.sh",
"./provision/core/homebrew.sh",
"./provision/core/dotnet.sh",
"./provision/core/python.sh",
diff --git a/images/macos/templates/macOS-10.14.json b/images/macos/templates/macOS-10.14.json
index 269ffa71f..2687302e0 100644
--- a/images/macos/templates/macOS-10.14.json
+++ b/images/macos/templates/macOS-10.14.json
@@ -128,6 +128,7 @@
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
"pause_before": "30s",
"scripts": [
+ "./provision/core/xcode-clt.sh",
"./provision/core/homebrew.sh",
"./provision/core/dotnet.sh",
"./provision/core/python.sh",
diff --git a/images/macos/templates/macOS-10.15.json b/images/macos/templates/macOS-10.15.json
index 3dcc3d33e..a65bd72ac 100644
--- a/images/macos/templates/macOS-10.15.json
+++ b/images/macos/templates/macOS-10.15.json
@@ -129,6 +129,7 @@
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
"pause_before": "30s",
"scripts": [
+ "./provision/core/xcode-clt.sh",
"./provision/core/homebrew.sh",
"./provision/core/dotnet.sh",
"./provision/core/python.sh",
diff --git a/images/macos/templates/macOS-11.0.json b/images/macos/templates/macOS-11.0.json
index 6da9df38d..27f39bfb0 100644
--- a/images/macos/templates/macOS-11.0.json
+++ b/images/macos/templates/macOS-11.0.json
@@ -129,7 +129,7 @@
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
"pause_before": "30s",
"scripts": [
- "./provision/core/xcode-ctl.sh",
+ "./provision/core/xcode-clt.sh",
"./provision/core/homebrew.sh",
"./provision/core/dotnet.sh",
"./provision/core/python.sh",
diff --git a/images/macos/tests/Common.Tests.ps1 b/images/macos/tests/Common.Tests.ps1
index 72a657e6b..88d735bf1 100644
--- a/images/macos/tests/Common.Tests.ps1
+++ b/images/macos/tests/Common.Tests.ps1
@@ -102,10 +102,6 @@ Describe "Common utilities" {
"aliyun --version" | Should -ReturnZeroExitCode
}
- It "Mobile Center CLI" -Skip:($os.IsBigSur) {
- "mobile-center --version" | Should -ReturnZeroExitCode
- }
-
Context "Nomad" -Skip:($os.IsBigSur) {
It "Nomad CLI" {
$result = Get-CommandResult "gem list"
diff --git a/images/macos/tests/Python.Tests.ps1 b/images/macos/tests/Python.Tests.ps1
index 76cd8941b..624609994 100644
--- a/images/macos/tests/Python.Tests.ps1
+++ b/images/macos/tests/Python.Tests.ps1
@@ -31,4 +31,10 @@ Describe "Python" {
It "Pip 3 is available" {
"pip3 --version" | Should -ReturnZeroExitCode
}
+
+ It "Pip 3 and Python 3 came from the same brew formula" {
+ $pip3Path = Split-Path (readlink (which pip3))
+ $python3Path = Split-Path (readlink (which python3))
+ $pip3Path | Should -BeExactly $python3Path
+ }
}
\ No newline at end of file
diff --git a/images/macos/toolsets/toolset-10.15.json b/images/macos/toolsets/toolset-10.15.json
index 3e3833528..fc0bf7983 100644
--- a/images/macos/toolsets/toolset-10.15.json
+++ b/images/macos/toolsets/toolset-10.15.json
@@ -1,8 +1,8 @@
{
"xcode": {
- "default": "11.7",
+ "default": "12",
"versions": [
- "12.2_beta", "12", "11.7", "11.6", "11.5", "11.4.1", "11.4", "11.3.1", "11.2.1", "11.1", "11", "10.3"
+ "12.2_beta", "12.1_GM_seed", "12", "11.7", "11.6", "11.5", "11.4.1", "11.4", "11.3.1", "11.2.1", "11.1", "11", "10.3"
]
},
"xamarin": {
@@ -19,7 +19,7 @@
"android-versions": [
"11.0.2.0", "10.3.1.4", "10.2.0.100", "10.1.3.7", "10.0.6.2"
],
- "bundle-default": "6_12_0",
+ "bundle-default": "latest",
"bundles": [
{
"symlink": "6_12_1",
diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md
index ffbdfab3f..f184b50ab 100644
--- a/images/win/Windows2016-Readme.md
+++ b/images/win/Windows2016-Readme.md
@@ -1,10 +1,10 @@
| Announcements |
|-|
-| [[In Discussion] Git internal tools will be removed from PATH Windows images](https://github.com/actions/virtual-environments/issues/1525) |
+| [[In Discussion] Git internal tools will be removed from PATH Windows images and replaced with MSYS2 tools](https://github.com/actions/virtual-environments/issues/1525) |
***
# Microsoft Windows Server 2016 Datacenter
- OS Version: 10.0.14393 Build 3930
-- Image Version: 20200920.1
+- Image Version: 20201012.1
## Installed Software
### Language and Runtime
@@ -15,55 +15,52 @@
- Python 3.7.9
- Ruby 2.5.8p224
- Go 1.14.9
-- PHP 7.4.9
-- Julia 1.5.1
+- PHP 7.4.11
+- Julia 1.5.2
- Perl 5.32.0
-- Node 12.18.4
+- Node 12.19.0
### Package Management
- Chocolatey 0.10.15
- Vcpkg 2020.06.15
-- NPM 6.14.6
-- Yarn 1.22.5
+- NPM 6.14.8
+- Yarn 1.22.10
- pip 20.2.3 (python 3.7)
- Miniconda 4.6.14
- RubyGems 3.1.4
-- Helm 3.3.3
+- Helm 3.3.4
- Composer 1.10.13
- NuGet 5.7.0.6726
### Project Management
-- Ant 1.10.8
+- Ant 1.10.9
- Maven 3.6.3
- Gradle 6.6
-- sbt 1.3.13
+- sbt 1.4.0
### Tools
-- Azure CosmosDb Emulator 2.11.5.0
- azcopy 10.6.0
-- Bazel 3.5.0
-- Bazelisk 1.6.1
-- CMake 3.18.2
-- R 4.0.2
+- Bazel 3.6.0
+- Bazelisk 1.7.1
+- CMake 3.18.4
+- CodeQL Action Bundle 2.2.5
+- R 4.0.3
- Docker 19.03.12
- Docker-compose 1.27.2
- Git 2.28.0
- Git LFS 2.11.0
-- Google Cloud SDK 310.0.0
+- Google Cloud SDK 313.0.1
- InnoSetup 6.0.5
- jq 1.6
- Kubectl 1.19.1
- Kind 0.9.0
- Mingw-w64 8.1.0
-- MySQL 5.7.21.0
- Mercurial 5.0
- NSIS v3.06.1
- Newman 5.2.0
- OpenSSL 1.1.1
-- Packer 1.6.2
-- Pulumi v2.10.1
-- SQLPS 1.0
-- SQLServer PS 21.1.18226
+- Packer 1.6.3
+- Pulumi v2.11.2
- Subversion (SVN) 1.14.0
- ghc 8.10.2
- Cabal 3.2.0.0
@@ -72,34 +69,35 @@
- zstd 1.4.5
- VSWhere 2.8.4
- 7zip 19.00
-- yamllint 1.24.2
+- yamllint 1.25.0
### CLI Tools
-- Azure CLI 2.11.1
+- Azure CLI 2.12.1
- Azure DevOps CLI extension 0.18.0
-- AWS CLI 2.0.50
-- AWS SAM CLI 1.2.0
+- Azure Dev Spaces CLI 1.0.20200921.3
+- AWS CLI 2.0.56
+- AWS SAM CLI 1.6.2
- AWS Session Manager CLI 1.1.61.0
-- Alibaba Cloud CLI 3.0.59
-- Cloud Foundry CLI 6.52.0
+- Alibaba Cloud CLI 3.0.60
+- Cloud Foundry CLI 6.53.0
- Hub CLI 2.14.2
-- GitHub CLI 1.0.0
+- GitHub CLI 1.1.0
### Rust Tools
-- Rust 1.46.0
+- Rust 1.47.0
#### Packages
- bindgen 0.55.1
-- cbindgen 0.14.5
-- cargo-audit 0.12.0
+- cbindgen 0.15.0
+- cargo-audit 0.12.1
- cargo-outdated v0.9.11
### Browsers and webdrivers
-- Google Chrome 85.0.4183.102
-- Chrome Driver 85.0.4183.87
-- Microsoft Edge 85.0.564.51
-- Microsoft Edge Driver 85.0.564.51
-- Mozilla Firefox 80.0.1
+- Google Chrome 86.0.4240.75
+- Chrome Driver 86.0.4240.22
+- Microsoft Edge 86.0.622.38
+- Microsoft Edge Driver 86.0.622.38
+- Mozilla Firefox 81.0.1
- Gecko Driver 0.27.0
- IE Driver 3.150.1.0
@@ -148,8 +146,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| ------- | ------------ |
| 8.17.0 | x64 |
| 10.22.1 | x64 |
-| 12.18.4 | x64 |
-| 14.11.0 | x64 |
+| 12.19.0 | x64 |
+| 14.13.1 | x64 |
#### Python
@@ -159,7 +157,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| 3.5.4 | x64, x86 |
| 3.6.8 | x64, x86 |
| 3.7.9 (Default) | x64, x86 |
-| 3.8.5 | x64, x86 |
+| 3.8.6 | x64, x86 |
#### Ruby
@@ -174,8 +172,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
#### PyPy
| Python Version | Architecture | PyPy Version |
| -------------- | ------------ | ------------ |
-| 2.7.13 | x86 | PyPy 7.3.1 with MSC v.1912 32 bit |
-| 3.6.9 | x86 | PyPy 7.3.1 with MSC v.1912 32 bit |
+| 2.7.13 | x86 | PyPy 7.3.2 with MSC v.1927 32 bit |
+| 3.6.9 | x86 | PyPy 7.3.2 with MSC v.1927 32 bit |
@@ -183,12 +181,12 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
#### PostgreSQL
| Property | Value |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
-| ServiceName | postgresql-x64-12 |
-| Version | 12.4 |
+| ServiceName | postgresql-x64-13 |
+| Version | 13.0 |
| ServiceStatus | Stopped |
| ServiceStartType | Disabled |
-| EnvironmentVariables | PGBIN=C:\Program Files\PostgreSQL\12\bin
PGDATA=C:\Program Files\PostgreSQL\12\data
PGROOT=C:\Program Files\PostgreSQL\12 |
-| Path | C:\Program Files\PostgreSQL\12 |
+| EnvironmentVariables | PGBIN=C:\Program Files\PostgreSQL\13\bin
PGDATA=C:\Program Files\PostgreSQL\13\data
PGROOT=C:\Program Files\PostgreSQL\13 |
+| Path | C:\Program Files\PostgreSQL\13 |
| UserName | postgres |
| Password | root |
@@ -200,6 +198,12 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
+### Database tools
+- Azure CosmosDb Emulator 2.11.6.0
+- SQLPS 1.0
+- MySQL 5.7.21.0
+
+
### Visual Studio Enterprise 2017
| Name | Version | Path |
| ----------------------------- | --------------- | -------------------------------------------------------------- |
@@ -465,10 +469,10 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft Visual C++ 2013 Minimum Runtime | x86 | 12.0.21005 |
| Microsoft Visual C++ 2017 Debug Runtime | x64 | 14.16.27033 |
| Microsoft Visual C++ 2017 Debug Runtime | x86 | 14.16.27033 |
-| Microsoft Visual C++ 2019 Additional Runtime | x64 | 14.26.28720 |
-| Microsoft Visual C++ 2019 Minimum Runtime | x64 | 14.26.28720 |
-| Microsoft Visual C++ 2019 Additional Runtime | x86 | 14.26.28720 |
-| Microsoft Visual C++ 2019 Minimum Runtime | x86 | 14.26.28720 |
+| Microsoft Visual C++ 2019 Additional Runtime | x64 | 14.27.29112 |
+| Microsoft Visual C++ 2019 Minimum Runtime | x64 | 14.27.29112 |
+| Microsoft Visual C++ 2019 Additional Runtime | x86 | 14.27.29112 |
+| Microsoft Visual C++ 2019 Minimum Runtime | x86 | 14.27.29112 |
### .NET Core SDK
`Location C:\Program Files\dotnet\sdk`
@@ -496,95 +500,41 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- PowerShell 7.0.3
#### Azure Powershell Modules
-| Module | Version | Path |
-| ------- | -------------------------------------------------------------------------------------- | ------------------------------ |
-| Az | 1.0.0
1.6.0
2.3.2
2.6.0
3.1.0
3.5.0
3.8.0
4.3.0
4.4.0
4.6.0 | C:\Modules\az_\ |
-| Azure | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
5.3.0 | C:\Modules\azure_\ |
-| AzureRM | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
6.7.0
6.13.1 | C:\Modules\azurerm_\ |
+| Module | Version | Path |
+| ------- | ----------------------------------------------------------------------------------------------- | ------------------------------ |
+| Az | 1.0.0
1.6.0
2.3.2
2.6.0
3.1.0
3.5.0
3.8.0
4.3.0
4.4.0
4.6.0
4.7.0 | C:\Modules\az_\ |
+| Azure | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
5.3.0 | C:\Modules\azure_\ |
+| AzureRM | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
6.7.0
6.13.1 | C:\Modules\azurerm_\ |
```
Azure PowerShell module 2.1.0 and AzureRM PowerShell module 2.1.0 are installed
and are available via 'Get-Module -ListAvailable'.
All other versions are saved but not installed.
```
#### Powershell Modules
-| Module | Version |
-| ------------------ | ------------------ |
-| DockerMsftProvider | 1.0.0.8 |
-| MarkdownPS | 1.9 |
-| Pester | 3.4.0
5.0.4 |
-| PowerShellGet | 1.0.0.1
2.2.4.1 |
-| PSWindowsUpdate | 2.2.0.2 |
-| SqlServer | 21.1.18226 |
-| VSSetup | 2.2.16 |
+| Module | Version |
+| ------------------ | --------------------------- |
+| DockerMsftProvider | 1.0.0.8 |
+| MarkdownPS | 1.9 |
+| Pester | 3.4.0
5.0.4 |
+| PowerShellGet | 1.0.0.1
2.2.4.1
2.2.5 |
+| PSWindowsUpdate | 2.2.0.2 |
+| SqlServer | 21.1.18228 |
+| VSSetup | 2.2.16 |
-### Android SDK Tools
-| Package Name | Description |
-| -------------- | ------------------------------------------- |
-| platform-tools | Android SDK Platform-Tools, Revision 30.0.4 |
-| tools | Android SDK Tools 25.2.5, Revision 25.2.5 |
-
-### Android SDK Platforms
-`Location C:\Program Files (x86)\Android\android-sdk\platforms`
-| Package Name | Description |
-| ------------ | ------------------------------------------ |
-| android-19 | Android SDK Platform 19, Revision 4 |
-| android-21 | Android SDK Platform 21, Revision 2 |
-| android-22 | Android SDK Platform 22, Revision 2 |
-| android-23 | Android SDK Platform 23, rev 3, Revision 3 |
-| android-24 | Android SDK Platform 24, Revision 2 |
-| android-25 | Android SDK Platform 25, Revision 3 |
-| android-26 | Android SDK Platform 26, Revision 2 |
-| android-27 | Android SDK Platform 27, Revision 3 |
-| android-28 | Android SDK Platform 28, Revision 6 |
-| android-29 | Android SDK Platform 29, Revision 5 |
-| android-30 | Android SDK Platform 30, Revision 3 |
-
-### Android SDK Build-Tools
-`Location C:\Program Files (x86)\Android\android-sdk\build-tools`
-| Package Name | Description |
-| ------------------ | ---------------------------------------- |
-| build-tools-19.1.0 | Android SDK Build-Tools, Revision 19.1.0 |
-| build-tools-20.0.0 | Android SDK Build-Tools, Revision 20.0.0 |
-| build-tools-21.1.2 | Android SDK Build-Tools, Revision 21.1.2 |
-| build-tools-22.0.1 | Android SDK Build-Tools, Revision 22.0.1 |
-| build-tools-23.0.1 | Android SDK Build-Tools, Revision 23.0.1 |
-| build-tools-23.0.2 | Android SDK Build-Tools, Revision 23.0.2 |
-| build-tools-23.0.3 | Android SDK Build-Tools, Revision 23.0.3 |
-| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 |
-| build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 |
-| build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 |
-| build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 |
-| build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 |
-| build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 |
-| build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 |
-| build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 |
-| build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 |
-| build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 |
-| build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 |
-| build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 |
-| build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 |
-| build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 |
-| build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 |
-| build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 |
-| build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 |
-| build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 |
-| build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 |
-| build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 |
-| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 |
-| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 |
-| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 |
-| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 |
-| build-tools-30.0.0 | Android SDK Build-Tools, Revision 30.0.0 |
-| build-tools-30.0.1 | Android SDK Build-Tools, Revision 30.0.1 |
-| build-tools-30.0.2 | Android SDK Build-Tools, Revision 30.0.2 |
-
-### Android Extra Packages
-| Package Name | Version |
-| -------------------------- | ------------ |
-| Android Support Repository | 47.0.0 |
-| Google Play services | 49 |
-| Google Repository | 58 |
-| NDK | 21.3.6528147 |
+### Android
+| Package Name | Version |
+| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Android SDK Platform-Tools | 30.0.4 |
+| Android SDK Tools | 25.2.5 |
+| Android SDK Platforms | android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3)
android-22 (rev 2)
android-21 (rev 2)
android-20 (rev 2)
android-19 (rev 4) |
+| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3
22.0.1
21.1.2
20.0.0
19.1.0 |
+| NDK | 21.3.6528147 |
+| Android Support Repository | 47.0.0 |
+| Google APIs | addon-g..._apis-google-21
addon-g..._apis-google-22
addon-g..._apis-google-23
addon-g..._apis-google-24
a...google_apis |
+| Google Play services | 49 |
+| Google Repository | 58 |
+| SDK Patch Applier v4 | 1 |
+| CMake | 3.10.2
3.6.4111459 |
### Cached Docker images
- mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016
diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md
index 1c8c72c61..a153b8d4d 100644
--- a/images/win/Windows2019-Readme.md
+++ b/images/win/Windows2019-Readme.md
@@ -1,10 +1,10 @@
| Announcements |
|-|
-| [[In Discussion] Git internal tools will be removed from PATH Windows images](https://github.com/actions/virtual-environments/issues/1525) |
+| [[In Discussion] Git internal tools will be removed from PATH Windows images and replaced with MSYS2 tools](https://github.com/actions/virtual-environments/issues/1525) |
***
# Microsoft Windows Server 2019 Datacenter
- OS Version: 10.0.17763 Build 1457
-- Image Version: 20201004.1
+- Image Version: 20201011.1
## Enabled windows optional features
- Windows Subsystem for Linux
@@ -21,12 +21,12 @@
- PHP 7.4.11
- Julia 1.5.2
- Perl 5.32.0
-- Node 12.18.4
+- Node 12.19.0
### Package Management
- Chocolatey 0.10.15
- Vcpkg 2020.06.15
-- NPM 6.14.6
+- NPM 6.14.8
- Yarn 1.22.10
- pip 20.2.3 (python 3.7)
- Miniconda 4.6.14
@@ -39,35 +39,31 @@
- Ant 1.10.9
- Maven 3.6.3
- Gradle 6.6
-- sbt 1.3.13
+- sbt 1.4.0
### Tools
-- Azure CosmosDb Emulator 2.11.5.0
- azcopy 10.6.0
-- Bazel 3.5.1
-- Bazelisk 1.6.1
-- CMake 3.18.3
+- Bazel 3.6.0
+- Bazelisk 1.7.1
+- CMake 3.18.4
- CodeQL Action Bundle 2.2.5
-- R 4.0.2
+- R 4.0.3
- Docker 19.03.12
- Docker-compose 1.27.2
- Git 2.28.0
- Git LFS 2.11.0
-- Google Cloud SDK 312.0.0
+- Google Cloud SDK 313.0.1
- InnoSetup 6.0.5
- jq 1.6
- Kubectl 1.19.1
- Kind 0.9.0
- Mingw-w64 8.1.0
-- MySQL 5.7.21.0
- Mercurial 5.0
- NSIS v3.06.1
- Newman 5.2.0
- OpenSSL 1.1.1
- Packer 1.6.3
- Pulumi v2.11.2
-- SQLPS 1.0
-- SQLServer PS 21.1.18228
- Subversion (SVN) 1.14.0
- ghc 8.10.2
- Cabal 3.2.0.0
@@ -82,28 +78,28 @@
- Azure CLI 2.12.1
- Azure DevOps CLI extension 0.18.0
- Azure Dev Spaces CLI 1.0.20200921.3
-- AWS CLI 2.0.54
-- AWS SAM CLI 1.4.0
+- AWS CLI 2.0.56
+- AWS SAM CLI 1.6.2
- AWS Session Manager CLI 1.1.61.0
-- Alibaba Cloud CLI 3.0.59
+- Alibaba Cloud CLI 3.0.60
- Cloud Foundry CLI 6.53.0
- Hub CLI 2.14.2
-- GitHub CLI 1.0.0
+- GitHub CLI 1.1.0
### Rust Tools
-- Rust 1.46.0
+- Rust 1.47.0
#### Packages
- bindgen 0.55.1
-- cbindgen 0.14.6
+- cbindgen 0.15.0
- cargo-audit 0.12.1
- cargo-outdated v0.9.11
### Browsers and webdrivers
-- Google Chrome 85.0.4183.121
-- Chrome Driver 85.0.4183.87
-- Microsoft Edge 85.0.564.68
-- Microsoft Edge Driver 85.0.564.68
+- Google Chrome 86.0.4240.75
+- Chrome Driver 86.0.4240.22
+- Microsoft Edge 86.0.622.38
+- Microsoft Edge Driver 86.0.622.38
- Mozilla Firefox 81.0.1
- Gecko Driver 0.27.0
- IE Driver 3.150.1.0
@@ -153,8 +149,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| ------- | ------------ |
| 8.17.0 | x64 |
| 10.22.1 | x64 |
-| 12.18.4 | x64 |
-| 14.13.0 | x64 |
+| 12.19.0 | x64 |
+| 14.13.1 | x64 |
#### Python
@@ -205,6 +201,12 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
+### Database tools
+- Azure CosmosDb Emulator 2.11.6.0
+- SQLPS 1.0
+- MySQL 5.7.21.0
+
+
### Visual Studio Enterprise 2019
| Name | Version | Path |
| ----------------------------- | -------------- | -------------------------------------------------------------- |
@@ -428,7 +430,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Workload.Python | 16.0.28621.142 |
| Microsoft.VisualStudio.Workload.Universal | 16.7.30310.162 |
| Microsoft.VisualStudio.Workload.VisualStudioExtension | 16.4.29409.204 |
-| SSDT Microsoft Analysis Services Projects | 2.9.13 |
+| SSDT Microsoft Analysis Services Projects | 2.9.14 |
| SSDT SQL Server Integration Services Projects | 3.10 |
| SSDT Microsoft Reporting Services Projects | 2.6.7 |
| Windows Driver Kit | 3.11.4516 |
@@ -523,3 +525,5 @@ All other versions are saved but not installed.
- mcr.microsoft.com/windows/servercore:ltsc2019
- mcr.microsoft.com/windows/nanoserver:1809
- microsoft/aspnetcore-build:1.0-2.0
+
+
diff --git a/images/win/post-generation/Choco.ps1 b/images/win/post-generation/Choco.ps1
new file mode 100644
index 000000000..3f8e7c8df
--- /dev/null
+++ b/images/win/post-generation/Choco.ps1
@@ -0,0 +1,2 @@
+# Step to avoid initial delay for choco scripts
+choco upgrade chocolatey
\ No newline at end of file
diff --git a/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1
index 0fd6bc8b6..d5a5d59dc 100644
--- a/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1
+++ b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1
@@ -49,6 +49,13 @@ Function Install-VisualStudio
}
else
{
+ $setupErrorLogPath = "$env:TEMP\dd_setup_*_errors.log"
+ if (Test-Path -Path $setupErrorLogPath)
+ {
+ $logErrors = Get-Content -Path $setupErrorLogPath -Raw
+ Write-Host "$logErrors"
+ }
+
Write-Host "Non zero exit code returned by the installation process : $exitCode"
exit $exitCode
}
diff --git a/images/win/scripts/Installers/Install-GitHub-CLI.ps1 b/images/win/scripts/Installers/Install-GitHub-CLI.ps1
index 7891991d4..1efb2f74e 100644
--- a/images/win/scripts/Installers/Install-GitHub-CLI.ps1
+++ b/images/win/scripts/Installers/Install-GitHub-CLI.ps1
@@ -3,8 +3,14 @@
## Desc: Install GitHub CLI
################################################################################
-Choco-Install -PackageName gh
+Write-Host "Get the latest gh version..."
+
+$Name = "gh_windows_amd64.msi"
+$Assets = (Invoke-RestMethod -Uri "https://api.github.com/repos/cli/cli/releases/latest").assets
+$DownloadUrl = ($Assets.browser_download_url -match "windows_amd64.msi") | Select-Object -First 1
+
+Install-Binary -Url $DownloadUrl -Name $Name
Add-MachinePathItem "C:\Program Files (x86)\GitHub CLI"
-Invoke-PesterTests -TestFile "CLI.Tools" -TestName "GitHub CLI"
\ No newline at end of file
+Invoke-PesterTests -TestFile "CLI.Tools" -TestName "GitHub CLI"
diff --git a/images/win/scripts/Installers/Install-Haskell.ps1 b/images/win/scripts/Installers/Install-Haskell.ps1
index 50c0c6d4a..18b256a3b 100644
--- a/images/win/scripts/Installers/Install-Haskell.ps1
+++ b/images/win/scripts/Installers/Install-Haskell.ps1
@@ -17,7 +17,8 @@ ForEach ($version in $VersionsList)
# Add default version of GHC to path, because choco formula updates path on user level
$DefaultGhcVersion = $VersionsList | Select-Object -Last 1
-$DefaultGhcPath = Join-Path $env:ChocolateyInstall "lib\ghc.$DefaultGhcVersion\tools\ghc-$DefaultGhcVersion\bin"
+$DefaultGhcShortVersion = ([version]$DefaultGhcVersion).ToString(3)
+$DefaultGhcPath = Join-Path $env:ChocolateyInstall "lib\ghc.$DefaultGhcVersion\tools\ghc-$DefaultGhcShortVersion\bin"
Add-MachinePathItem -PathItem $DefaultGhcPath
Write-Host "Installing cabal..."
diff --git a/images/win/scripts/Installers/Install-VS.ps1 b/images/win/scripts/Installers/Install-VS.ps1
index 4c1ce9528..d3db5b4dc 100644
--- a/images/win/scripts/Installers/Install-VS.ps1
+++ b/images/win/scripts/Installers/Install-VS.ps1
@@ -3,6 +3,10 @@
## Desc: Install Visual Studio
################################################################################
+# Temporary replace ip for download server to the one with the correct files and backup hosts file
+Copy-Item -Path "$env:windir\System32\drivers\etc\hosts" -Destination "C:\hosts_backup" -Verbose
+"68.232.34.200 download.visualstudio.microsoft.com" > "$env:windir\System32\drivers\etc\hosts"
+
$toolset = Get-ToolsetContent
$requiredComponents = $toolset.visualStudio.workloads | ForEach-Object { "--add $_" }
$workLoads = @(
@@ -47,4 +51,6 @@ if (Test-IsWin19) {
Install-Binary -Url $sdkUrl -Name $sdkFileName -ArgumentList $argumentList
}
-Invoke-PesterTests -TestFile "VisualStudio"
\ No newline at end of file
+Invoke-PesterTests -TestFile "VisualStudio"
+# Restore hosts file after VS installation
+Move-Item -Path "C:\hosts_backup" -Destination "$env:windir\System32\drivers\etc\hosts" -Force -Verbose
diff --git a/images/win/scripts/Tests/Haskell.Tests.ps1 b/images/win/scripts/Tests/Haskell.Tests.ps1
index b6ebb7630..826dc16d8 100644
--- a/images/win/scripts/Tests/Haskell.Tests.ps1
+++ b/images/win/scripts/Tests/Haskell.Tests.ps1
@@ -3,12 +3,18 @@ Describe "Haskell" {
[array]$ghcVersionList = Get-ChildItem -Path $chocoPackagesPath -Filter "ghc.*" | ForEach-Object { $_.Name.TrimStart("ghc.") }
$ghcCount = $ghcVersionList.Count
$defaultGhcVersion = $ghcVersionList | Sort-Object {[Version]$_} | Select-Object -Last 1
+ $ghcDefaultCases = @{
+ defaultGhcVersion = $defaultGhcVersion
+ defaultGhcShortVersion = ([version]$defaultGhcVersion).ToString(3)
+ }
$ghcTestCases = $ghcVersionList | ForEach-Object {
$ghcVersion = $_
+ $ghcShortVersion = ([version]$ghcVersion).ToString(3)
@{
ghcVersion = $ghcVersion
- binGhcPath = Join-Path $chocoPackagesPath "ghc.$ghcVersion\tools\ghc-$ghcVersion\bin\ghc.exe"
+ ghcShortVersion = $ghcShortVersion
+ binGhcPath = Join-Path $chocoPackagesPath "ghc.$ghcVersion\tools\ghc-$ghcShortVersion\bin\ghc.exe"
}
}
@@ -17,11 +23,11 @@ Describe "Haskell" {
}
It "GHC is installed" -TestCases $ghcTestCases {
- "$binGhcPath --version" | Should -MatchCommandOutput $ghcVersion
+ "$binGhcPath --version" | Should -MatchCommandOutput $ghcShortVersion
}
- It "GHC is the default version and should be the latest installed" -TestCases @{defaultGhcVersion = $defaultGhcVersion} {
- "ghc --version" | Should -MatchCommandOutput $defaultGhcVersion
+ It "GHC is the default version and should be the latest installed" -TestCases $ghcDefaultCases {
+ "ghc --version" | Should -MatchCommandOutput $defaultGhcShortVersion
}
It "Cabal is installed" {
diff --git a/images/win/windows2016.json b/images/win/windows2016.json
index d65286497..3c4b65663 100644
--- a/images/win/windows2016.json
+++ b/images/win/windows2016.json
@@ -85,7 +85,7 @@
{
"type": "file",
"source": "{{ template_dir }}/post-generation",
- "destination": "C:/post-generation"
+ "destination": "C:/"
},
{
"type": "file",
diff --git a/images/win/windows2019.json b/images/win/windows2019.json
index 6e0ba8669..6609b5b38 100644
--- a/images/win/windows2019.json
+++ b/images/win/windows2019.json
@@ -85,7 +85,7 @@
{
"type": "file",
"source": "{{ template_dir }}/post-generation",
- "destination": "C:/post-generation"
+ "destination": "C:/"
},
{
"type": "file",