diff --git a/helpers/GenerateResourcesAndImage.ps1 b/helpers/GenerateResourcesAndImage.ps1 index 57c4675d..67858841 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 37b17b8a..89216e21 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 17e6faea..69872140 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 5e3c8ef2..b4513e8b 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 da48be72..0029ea31 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 4a59e7ca..b192a23a 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 14d4a18e..1989caf4 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 4a341b53..df77ea23 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 f10cb8ba..ba676b0a 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 0f28d9c8..2cfbdd8d 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 73c8fd29..e4666a7c 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 4e93ee77..1136ae92 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 52357c3c..de611ebc 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 9b4181ed..477f8c55 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 aa2ffdc5..dd8a2184 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 7a506d8b..415b41ba 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 00000000..b4776beb --- /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 e939f04b..ca9192bf 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 caa29a6b..02f2f06d 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 477e0980..e0de0bf8 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 dbfae673..df991c21 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 f85e9efa..73095f55 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 3a35f5be..050f7d9a 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 b01b3c23..b6975139 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 a6e41f12..cd1df451 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 09916cc3..b4f68128 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 c269a149..8060acb7 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 c154f8d8..6844792e 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 a84216cb..5fb12a03 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 093a133c..2f6139c8 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 4a151e3f..ec7d71d9 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 9e0063be..02009449 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 56b848e9..5098c878 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 0cee8df8..60070938 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 203faee7..4a9deba1 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 edf2a85f..d692bf3d 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 5a98f004..c7e93496 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 78056488..36df3be9 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 bc19a566..da1673e0 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 f6a90d61..b9ee1c5e 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 febc0760..fefe20fd 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 55feb92b..d59ebf91 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 1bc11d91..b7f35e4d 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 01b0fb0f..201fc586 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 b214b352..876883a6 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 1b6a5a8d..3a4440d9 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 daf5ea40..59e727ce 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 527bd4c6..c02ecf43 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 ca2c5f01..c2b22baf 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 a1976e7f..16a317c0 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 08c19f94..90111448 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 f69e078a..b5d7ab61 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 5717adc7..12beeca6 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 5f24cd5f..d55d785a 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 41488642..b4c64147 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 a6e44435..e0a2dfb8 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 19877de3..61eb33c0 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 83639e47..14f4af7a 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 5ef7675c..de82c7b4 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 81b41fa8..17c5ecd9 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 61a3cc8c..9a67418b 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 eb6dc905..dab45deb 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 bc016c4b..9238b9ff 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 289d7ba4..260f2c2a 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 20a8efd4..f0c498fc 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 35e4d006..d5b23ebb 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 0f0801d7..86dc1a0f 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 00000000..84e4a9e5 --- /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 cea7aa63..00000000 --- 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 bf7ba387..6afd42c2 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 fb2af5d4..8dff14a5 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 643dc293..773b07a9 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 85881c7e..d2c39317 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 dd6d7ae9..1017cec2 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 0f7855ec..cfe93439 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 2190a6b4..35c7ef3c 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 269ffa71..2687302e 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 3dcc3d33..a65bd72a 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 6da9df38..27f39bfb 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 72a657e6..88d735bf 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 76cd8941..62460999 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 3e383352..fc0bf798 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 ffbdfab3..f184b50a 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 1c8c72c6..a153b8d4 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 00000000..3f8e7c8d --- /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 0fd6bc8b..d5a5d59d 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 7891991d..1efb2f74 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 50c0c6d4..18b256a3 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 4c1ce952..d3db5b4d 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 b6ebb763..826dc16d 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 d6528649..3c4b6566 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 6e0ba866..6609b5b3 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",