mirror of
https://github.com/actions/runner-images.git
synced 2026-01-07 10:48:55 +08:00
69
images.CI/azure-pipelines/image-generation.yml
Normal file
69
images.CI/azure-pipelines/image-generation.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
# Ideally we would use GitHub Actions for this, but since we use self-hosted machines to run image builds
|
||||
# we need the following features to use GitHub Actions for Images CI:
|
||||
# - https://github.community/t5/GitHub-Actions/Make-secrets-available-to-builds-of-forks/m-p/30678#M508
|
||||
# - https://github.community/t5/GitHub-Actions/GitHub-Actions-Manual-Trigger-Approvals/td-p/31504
|
||||
# - https://github.community/t5/GitHub-Actions/Protecting-github-workflows/td-p/30290
|
||||
|
||||
jobs:
|
||||
- job:
|
||||
pool: ci-agent-pool
|
||||
timeoutInMinutes: 600
|
||||
variables:
|
||||
- group: Image Generation Variables
|
||||
|
||||
steps:
|
||||
- task: PowerShell@2
|
||||
displayName: 'Download custom repository'
|
||||
condition: and(ne(variables['CUSTOM_REPOSITORY_URL'], ''), ne(variables['CUSTOM_REPOSITORY_BRANCH'], ''))
|
||||
inputs:
|
||||
targetType: 'inline'
|
||||
script: |
|
||||
Write-Host "Clean up default repository"
|
||||
Remove-Item -path './*' -Recurse -Force
|
||||
Write-Host "Download $(CUSTOM_REPOSITORY_BRANCH) branch from $(CUSTOM_REPOSITORY_URL)"
|
||||
$env:GIT_REDIRECT_STDERR = '2>&1'
|
||||
git clone $(CUSTOM_REPOSITORY_URL) . -b $(CUSTOM_REPOSITORY_BRANCH) --single-branch --depth 1
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Build VM'
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: ./images.CI/build-image.ps1
|
||||
arguments: -ResourcesNamePrefix $(Build.BuildId) `
|
||||
-ClientId $(CLIENT_ID) `
|
||||
-ClientSecret $(CLIENT_SECRET) `
|
||||
-Image ${{ parameters.image_type }} `
|
||||
-ResourceGroup $(AZURE_RESOURCE_GROUP) `
|
||||
-StorageAccount $(AZURE_STORAGE_ACCOUNT) `
|
||||
-SubscriptionId $(AZURE_SUBSCRIPTION) `
|
||||
-TenantId $(AZURE_TENANT) `
|
||||
-Location $(AZURE_LOCATION) `
|
||||
-VirtualNetworkName $(BUILD_AGENT_VNET_NAME) `
|
||||
-VirtualNetworkRG $(BUILD_AGENT_VNET_RESOURCE_GROUP) `
|
||||
-VirtualNetworkSubnet $(BUILD_AGENT_SUBNET_NAME) `
|
||||
-GitHubFeedToken $(GITHUB_TOKEN)
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Create release for VM deployment'
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: ./images.CI/create-release.ps1
|
||||
arguments: -BuildId $(Build.BuildId) `
|
||||
-Organization $(RELEASE_TARGET_ORGANIZATION) `
|
||||
-DefinitionId $(RELEASE_TARGET_DEFINITION_ID) `
|
||||
-Project $(RELEASE_TARGET_PROJECT) `
|
||||
-ImageName ${{ parameters.image_type }} `
|
||||
-AccessToken $(RELEASE_TARGET_TOKEN)
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Clean up resources'
|
||||
condition: always()
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: ./images.CI/cleanup.ps1
|
||||
arguments: -ResourcesNamePrefix $(Build.BuildId) `
|
||||
-ClientId $(CLIENT_ID) `
|
||||
-ClientSecret $(CLIENT_SECRET) `
|
||||
-Image ${{ parameters.image_type }} `
|
||||
-SubscriptionId $(AZURE_SUBSCRIPTION) `
|
||||
-TenantId $(AZURE_TENANT)
|
||||
19
images.CI/azure-pipelines/ubuntu1604.yml
Normal file
19
images.CI/azure-pipelines/ubuntu1604.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_type: ubuntu1604
|
||||
19
images.CI/azure-pipelines/ubuntu1804.yml
Normal file
19
images.CI/azure-pipelines/ubuntu1804.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_type: ubuntu1804
|
||||
19
images.CI/azure-pipelines/windows2016.yml
Normal file
19
images.CI/azure-pipelines/windows2016.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_type: Windows2016-Azure
|
||||
19
images.CI/azure-pipelines/windows2019.yml
Normal file
19
images.CI/azure-pipelines/windows2019.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_type: Windows2019-Azure
|
||||
60
images.CI/build-image.ps1
Normal file
60
images.CI/build-image.ps1
Normal file
@@ -0,0 +1,60 @@
|
||||
param(
|
||||
[String] [Parameter (Mandatory=$true)] $Image,
|
||||
[String] [Parameter (Mandatory=$true)] $ClientId,
|
||||
[String] [Parameter (Mandatory=$true)] $ClientSecret,
|
||||
[String] [Parameter (Mandatory=$true)] $GitHubFeedToken,
|
||||
[String] [Parameter (Mandatory=$true)] $ResourcesNamePrefix,
|
||||
[String] [Parameter (Mandatory=$true)] $Location,
|
||||
[String] [Parameter (Mandatory=$true)] $ResourceGroup,
|
||||
[String] [Parameter (Mandatory=$true)] $StorageAccount,
|
||||
[String] [Parameter (Mandatory=$true)] $SubscriptionId,
|
||||
[String] [Parameter (Mandatory=$true)] $TenantId,
|
||||
[String] [Parameter (Mandatory=$true)] $VirtualNetworkName,
|
||||
[String] [Parameter (Mandatory=$true)] $VirtualNetworkRG,
|
||||
[String] [Parameter (Mandatory=$true)] $VirtualNetworkSubnet
|
||||
)
|
||||
|
||||
$TemplatePath = (Get-ChildItem -Path "images" -Include "$Image.json" -Recurse -Depth 2).FullName
|
||||
if (-not $TemplatePath)
|
||||
{
|
||||
Write-Error "'-Image' parameter is not valid. You have to specify correct image type."
|
||||
exit 1
|
||||
}
|
||||
|
||||
$TempResourceGroupName = "${ResourcesNamePrefix}_${Image}"
|
||||
$InstallPassword = [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
|
||||
packer validate -syntax-only $TemplatePath
|
||||
|
||||
$SensitiveData = @(
|
||||
'OSType',
|
||||
'StorageAccountLocation',
|
||||
'OSDiskUri',
|
||||
'OSDiskUriReadOnlySas',
|
||||
'TemplateUri',
|
||||
'TemplateUriReadOnlySas',
|
||||
': ->'
|
||||
)
|
||||
|
||||
Write-Host "Build $Image VM"
|
||||
packer build -var "capture_name_prefix=$ResourcesNamePrefix" `
|
||||
-var "client_id=$ClientId" `
|
||||
-var "client_secret=$ClientSecret" `
|
||||
-var "install_password=$InstallPassword" `
|
||||
-var "github_feed_token=$GitHubFeedToken" `
|
||||
-var "location=$Location" `
|
||||
-var "resource_group=$ResourceGroup" `
|
||||
-var "storage_account=$StorageAccount" `
|
||||
-var "subscription_id=$SubscriptionId" `
|
||||
-var "temp_resource_group_name=$TempResourceGroupName" `
|
||||
-var "tenant_id=$TenantId" `
|
||||
-var "virtual_network_name=$VirtualNetworkName" `
|
||||
-var "virtual_network_resource_group_name=$VirtualNetworkRG" `
|
||||
-var "virtual_network_subnet_name=$VirtualNetworkSubnet" `
|
||||
$TemplatePath `
|
||||
| Where-Object {
|
||||
#Filter sensitive data from Packer logs
|
||||
$currentString = $_
|
||||
$sensitiveString = $SensitiveData | Where-Object { $currentString -match $_ }
|
||||
$sensitiveString -eq $null
|
||||
}
|
||||
21
images.CI/cleanup.ps1
Normal file
21
images.CI/cleanup.ps1
Normal file
@@ -0,0 +1,21 @@
|
||||
param(
|
||||
[String] [Parameter (Mandatory=$true)] $Image,
|
||||
[String] [Parameter (Mandatory=$true)] $ResourcesNamePrefix,
|
||||
[String] [Parameter (Mandatory=$true)] $ClientId,
|
||||
[String] [Parameter (Mandatory=$true)] $ClientSecret,
|
||||
[String] [Parameter (Mandatory=$true)] $SubscriptionId,
|
||||
[String] [Parameter (Mandatory=$true)] $TenantId
|
||||
)
|
||||
|
||||
az login --service-principal --username $ClientId --password $ClientSecret --tenant $TenantId | Out-Null
|
||||
|
||||
$TempResourceGroupName = "${ResourcesNamePrefix}_${Image}"
|
||||
|
||||
$groupExist = az group exists --name $TempResourceGroupName --subscription $SubscriptionId | Out-Null
|
||||
if ($groupExist -eq "true") {
|
||||
Write-Host "Found a match, deleting temporary files"
|
||||
az group delete --name $TempResourceGroupName --subscription $SubscriptionId --yes | Out-Null
|
||||
Write-Host "Temporary group was deleted succesfully" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "No temporary groups found"
|
||||
}
|
||||
31
images.CI/create-release.ps1
Normal file
31
images.CI/create-release.ps1
Normal file
@@ -0,0 +1,31 @@
|
||||
param(
|
||||
[UInt32] [Parameter (Mandatory)] $BuildId,
|
||||
[String] [Parameter (Mandatory)] $Organization,
|
||||
[String] [Parameter (Mandatory)] $Project,
|
||||
[String] [Parameter (Mandatory)] $ImageName,
|
||||
[String] [Parameter (Mandatory)] $DefinitionId,
|
||||
[String] [Parameter (Mandatory)] $AccessToken
|
||||
)
|
||||
|
||||
$Body = @{
|
||||
definitionId = $DefinitionId
|
||||
variables = @{
|
||||
ImageBuildId = @{
|
||||
value = $BuildId
|
||||
}
|
||||
ImageName = @{
|
||||
value = $ImageName
|
||||
}
|
||||
}
|
||||
isDraft = "false"
|
||||
} | ConvertTo-Json -Depth 3
|
||||
|
||||
$URL = "https://vsrm.dev.azure.com/$Organization/$Project/_apis/release/releases?api-version=5.1"
|
||||
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("'':${AccessToken}"))
|
||||
$headers = @{
|
||||
Authorization = "Basic ${base64AuthInfo}"
|
||||
}
|
||||
|
||||
$NewRelease = Invoke-RestMethod $URL -Body $Body -Method "POST" -Headers $headers -ContentType "application/json"
|
||||
|
||||
Write-Host "Created release: $($NewRelease._links.web.href)"
|
||||
@@ -1,11 +1,16 @@
|
||||
# Ubuntu 16.04.6 LTS
|
||||
The following software is installed on machines with the 20200217.1 update.
|
||||
The following software is installed on machines with the 20200301.1 update.
|
||||
***
|
||||
- 7-Zip 9.20
|
||||
- Ansible (ansible 2.9.4)
|
||||
- AzCopy (azcopy 7.3.0-netcore)
|
||||
- Azure CLI (azure-cli 2.0.81)
|
||||
- Azure CLI (azure-cli 2.1.0)
|
||||
- Azure CLI (azure-devops 0.17.0)
|
||||
- Bazel (Build label: 2.1.1
|
||||
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
|
||||
Build time: Fri Feb 21 14:56:47 2020 (1582297007)
|
||||
Build timestamp: 1582297007
|
||||
Build timestamp as int: 1582297007)
|
||||
- Basic CLI:
|
||||
- curl
|
||||
- dnsutils
|
||||
@@ -26,23 +31,24 @@ The following software is installed on machines with the 20200217.1 update.
|
||||
- sudo
|
||||
- telnet
|
||||
- time
|
||||
- tzdata
|
||||
- unzip
|
||||
- upx
|
||||
- wget
|
||||
- zip
|
||||
- tzdata
|
||||
- AWS CLI (aws-cli/1.18.0 Python/2.7.12 Linux/4.15.0-1069-azure botocore/1.15.0)
|
||||
- zstd
|
||||
- AWS CLI (aws-cli/1.18.11 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.11)
|
||||
- build-essential
|
||||
- Clang 6.0 (6.0.1)
|
||||
- Clang 8 (8.0.1)
|
||||
- Clang 9 (9.0.1)
|
||||
- CMake (cmake version 3.16.2)
|
||||
- Docker Compose (docker-compose version 1.22.0, build f46880fe)
|
||||
- Docker (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
|
||||
- Docker (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
|
||||
- Docker-Moby (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
|
||||
- .NET Core SDK:
|
||||
- 3.1.101
|
||||
- 3.1.100
|
||||
- 3.0.103
|
||||
- 3.0.102
|
||||
- 3.0.101
|
||||
- 3.0.100
|
||||
@@ -67,11 +73,13 @@ The following software is installed on machines with the 20200217.1 update.
|
||||
- 2.2.102
|
||||
- 2.2.101
|
||||
- 2.2.100
|
||||
- 2.1.804
|
||||
- 2.1.803
|
||||
- 2.1.802
|
||||
- 2.1.801
|
||||
- 2.1.701
|
||||
- 2.1.700
|
||||
- 2.1.609
|
||||
- 2.1.608
|
||||
- 2.1.607
|
||||
- 2.1.606
|
||||
@@ -79,6 +87,7 @@ The following software is installed on machines with the 20200217.1 update.
|
||||
- 2.1.604
|
||||
- 2.1.603
|
||||
- 2.1.602
|
||||
- 2.1.512
|
||||
- 2.1.511
|
||||
- 2.1.510
|
||||
- 2.1.509
|
||||
@@ -97,23 +106,23 @@ The following software is installed on machines with the 20200217.1 update.
|
||||
- 2.1.301
|
||||
- 2.1.300
|
||||
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4)
|
||||
- Firefox (Mozilla Firefox 72.0.2)
|
||||
- Firefox (Mozilla Firefox 73.0.1)
|
||||
- Geckodriver (); Gecko Driver is available via GECKOWEBDRIVER environment variable
|
||||
- GNU C++ 7.4.0
|
||||
- GNU C++ 8.3.0
|
||||
- GNU C++ 9.2.1
|
||||
- GNU Fortran 8.3.0
|
||||
- GNU Fortran 9.2.1
|
||||
- Git (2.25.0)
|
||||
- Git (2.25.1)
|
||||
- Git Large File Storage (LFS) (2.10.0)
|
||||
- Go 1.9 (go version go1.9.7 linux/amd64)
|
||||
- Go 1.10 (go version go1.10.8 linux/amd64)
|
||||
- Go 1.11 (go version go1.11.12 linux/amd64)
|
||||
- Go 1.12 (go version go1.12.7 linux/amd64)
|
||||
- Go 1.13 (go version go1.13 linux/amd64)
|
||||
- Google Chrome (Google Chrome 80.0.3987.106 )
|
||||
- Google Chrome (Google Chrome 80.0.3987.122 )
|
||||
- Chromedriver (ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882})); Chrome Driver is available via CHROMEWEBDRIVER environment variable
|
||||
- Google Cloud SDK (280.0.0)
|
||||
- Google Cloud SDK (282.0.0)
|
||||
- Haskell Cabal (cabal-install version 2.0.0.1
|
||||
compiled using version 2.0.1.1 of the Cabal library )
|
||||
- Haskell Cabal (cabal-install version 2.2.0.0
|
||||
@@ -121,7 +130,7 @@ compiled using version 2.2.0.1 of the Cabal library )
|
||||
- Haskell Cabal (cabal-install version 2.4.1.0
|
||||
compiled using version 2.4.1.0 of the Cabal library )
|
||||
- Haskell Cabal (cabal-install version 3.0.1.0
|
||||
compiled using version 3.0.1.0 of the Cabal library )
|
||||
compiled using version 3.0.2.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2)
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2)
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4)
|
||||
@@ -132,43 +141,43 @@ compiled using version 3.0.1.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1)
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2)
|
||||
- Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2)
|
||||
- Heroku (heroku/7.38.1 linux-x64 node-v12.13.0)
|
||||
- HHVM (HipHop VM 4.44.0 (rel))
|
||||
- Heroku (heroku/7.38.2 linux-x64 node-v12.13.0)
|
||||
- HHVM (HipHop VM 4.46.0 (rel))
|
||||
- ImageMagick
|
||||
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252")
|
||||
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242")
|
||||
- Azul Zulu OpenJDK (11) (openjdk version "11.0.6" 2020-01-14 LTS)
|
||||
- Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16)
|
||||
- Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018)
|
||||
- Gradle 6.2
|
||||
- Gradle 6.2.1
|
||||
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
|
||||
- Kind (kind v0.7.0 go1.13.6 linux/amd64)
|
||||
- kubectl (Client Version: v1.17.3)
|
||||
- helm (Client: v2.16.3+g1ee0254)
|
||||
- Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 OpenJDK 64-Bit Server VM)
|
||||
- Leiningen (Leiningen 2.9.2 on Java 1.8.0_242 OpenJDK 64-Bit Server VM)
|
||||
- Mercurial (Mercurial Distributed SCM (version 4.4.1))
|
||||
- Miniconda (conda 4.7.12)
|
||||
- Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:35 UTC 2020))
|
||||
- MySQL (mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper)
|
||||
- MySQL Server (user:root password:root)
|
||||
- MS SQL Server Client Tools
|
||||
- Node.js (v12.16.0)
|
||||
- Node.js (v12.16.1)
|
||||
- Grunt (grunt-cli v1.2.0)
|
||||
- Gulp (CLI version: 2.2.0
|
||||
Local version: Unknown)
|
||||
- n (6.2.0)
|
||||
- n (6.3.1)
|
||||
- Parcel (1.12.4)
|
||||
- TypeScript (Version 3.7.5)
|
||||
- TypeScript (Version 3.8.3)
|
||||
- Webpack (4.41.6)
|
||||
- Webpack CLI (3.3.11)
|
||||
- Yarn (1.21.1)
|
||||
- Yarn (1.22.0)
|
||||
- PhantomJS (2.1.1)
|
||||
- PHP 5.6 (PHP 5.6.40-21+ubuntu16.04.1+deb.sury.org+1 (cli) )
|
||||
- PHP 7.0 (PHP 7.0.33-20+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:54:09) ( NTS ))
|
||||
- PHP 7.1 (PHP 7.1.33-9+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:53:10) ( NTS ))
|
||||
- PHP 7.2 (PHP 7.2.27-6+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:52:09) ( NTS ))
|
||||
- PHP 7.3 (PHP 7.3.14-6+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:51:13) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.2 (cli) (built: Feb 5 2020 16:50:21) ( NTS ))
|
||||
- PHP 5.6 (PHP 5.6.40-24+ubuntu16.04.1+deb.sury.org+1 (cli) )
|
||||
- PHP 7.0 (PHP 7.0.33-23+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:20:42) ( NTS ))
|
||||
- PHP 7.1 (PHP 7.1.33-12+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:21:57) ( NTS ))
|
||||
- PHP 7.2 (PHP 7.2.28-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:01) ( NTS ))
|
||||
- PHP 7.3 (PHP 7.3.15-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:10) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.3 (cli) (built: Feb 23 2020 07:24:02) ( NTS ))
|
||||
- Composer (Composer version 1.9.3 2020-02-04 12:58:49)
|
||||
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
|
||||
- Pollinate
|
||||
@@ -177,11 +186,11 @@ Local version: Unknown)
|
||||
- ruby (2.3.1p112)
|
||||
- gem (3.1.2)
|
||||
- rustup (1.21.1)
|
||||
- rust (1.41.0)
|
||||
- rust (1.41.1)
|
||||
- cargo (1.41.0)
|
||||
- rustfmt (1.4.11-stable)
|
||||
- clippy (0.0.212)
|
||||
- rustdoc (1.41.0)
|
||||
- rustdoc (1.41.1)
|
||||
- bindgen (execute
|
||||
the
|
||||
0.53.1)
|
||||
@@ -190,9 +199,9 @@ the
|
||||
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
|
||||
- Sphinx Open Source Search Server
|
||||
- Subversion (svn, version 1.9.3 (r1718519))
|
||||
- Terraform (Terraform v0.12.20)
|
||||
- Terraform (Terraform v0.12.21)
|
||||
- Vcpkg 2020.02.04-unknownhash
|
||||
- Zeit Now CLI (17.0.3)
|
||||
- Zeit Now CLI (17.0.4)
|
||||
- Google Repository 58
|
||||
- Google Play services 49
|
||||
- Google APIs 24
|
||||
@@ -203,7 +212,7 @@ the
|
||||
- Android Support Repository 47.0.0
|
||||
- Android Solver for ConstraintLayout 1.0.2
|
||||
- Android Solver for ConstraintLayout 1.0.1
|
||||
- Android SDK Platform-Tools 29.0.5
|
||||
- Android SDK Platform-Tools 29.0.6
|
||||
- Android SDK Platform 29
|
||||
- Android SDK Platform 28
|
||||
- Android SDK Platform 27
|
||||
@@ -257,14 +266,15 @@ the
|
||||
- Az Module (2.6.0)
|
||||
- Az Module (2.8.0)
|
||||
- Az Module (3.1.0)
|
||||
- Az Module (3.5.0)
|
||||
- Cached container images
|
||||
- node:12-alpine (Digest: sha256:0d6db03a05b5d8b417204258cfa34f36eac1c00a54946fb31891e89a642eb449)
|
||||
- node:12 (Digest: sha256:454651174f54836571258a329788574cf6552bddfd1a7113e769bd9fc3776fe6)
|
||||
- node:10-alpine (Digest: sha256:6e6fdca8006b268936d285a4eadd0bac011b33184b4377c6f1cfc86c222fbb8d)
|
||||
- node:10 (Digest: sha256:e9d17a0920643d70677ba354398a0464e318fe5f488df8c28c0f895cda6ee2a3)
|
||||
- buildpack-deps:stretch (Digest: sha256:8bcd320ec29cf67052985f28891586fb853051f69ad0646fc7a49f47d6e3ee1a)
|
||||
- debian:9 (Digest: sha256:da5274336981301e2c5f2edb54eaa4dccee70c39506f96d39377b46ea75e804e)
|
||||
- debian:8 (Digest: sha256:0e7a709bdf94e15391e9658271197e28a8c993f4d6bb8ee49d370886a9893351)
|
||||
- node:10 (Digest: sha256:df200903ff34c07c1b9112b4fd9d1342c11eb7d99525f2b366c487f91dda8131)
|
||||
- node:12 (Digest: sha256:facc1cbde6e5aa3255092b1a1417451953c80bd31ab5a4403f8bcd90b90a8407)
|
||||
- buildpack-deps:stretch (Digest: sha256:dc901bbf4b34e4ca8771c0d0773e557221452f97bcf0c732de7ecda3782bdf97)
|
||||
- debian:9 (Digest: sha256:ddb131307ad9c70ebf8c7962ba73c20101f68c7a511915aea3ad3b7ad47b9d20)
|
||||
- debian:8 (Digest: sha256:2c9b2323299846c5298c12db373da310f8114f2941ae3f496e95270cc8ca5ebd)
|
||||
- node:10-alpine (Digest: sha256:e8d05985dd93c380a83da00d676b081dad9cce148cb4ecdf26ed684fcff1449c)
|
||||
- node:12-alpine (Digest: sha256:bba77d0ca8820b43af898b3c50d4e8b68dc703ebbd958319af2f21f2d3c309f5)
|
||||
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
|
||||
- alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178)
|
||||
- alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f)
|
||||
@@ -276,7 +286,7 @@ the
|
||||
- Python 3.5.9
|
||||
- Python 3.6.10
|
||||
- Python 3.7.6
|
||||
- Python 3.8.1
|
||||
- Python 3.8.2
|
||||
- Ruby:
|
||||
- Ruby 2.4.9
|
||||
- Ruby 2.5.7
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
# Ubuntu 18.04.4 LTS
|
||||
The following software is installed on machines with the 20200217.1 update.
|
||||
The following software is installed on machines with the 20200301.1 update.
|
||||
***
|
||||
- 7-Zip 16.02
|
||||
- Ansible (ansible 2.9.4)
|
||||
- AzCopy (azcopy 7.3.0-netcore)
|
||||
- Azure CLI (azure-cli 2.0.81)
|
||||
- Azure CLI (azure-cli 2.1.0)
|
||||
- Azure CLI (azure-devops 0.17.0)
|
||||
- Bazel (Build label: 2.1.1
|
||||
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
|
||||
Build time: Fri Feb 21 14:56:47 2020 (1582297007)
|
||||
Build timestamp: 1582297007
|
||||
Build timestamp as int: 1582297007)
|
||||
- Basic CLI:
|
||||
- curl
|
||||
- dnsutils
|
||||
@@ -26,23 +31,24 @@ The following software is installed on machines with the 20200217.1 update.
|
||||
- sudo
|
||||
- telnet
|
||||
- time
|
||||
- tzdata
|
||||
- unzip
|
||||
- upx
|
||||
- wget
|
||||
- zip
|
||||
- tzdata
|
||||
- AWS CLI (aws-cli/1.18.0 Python/2.7.17 Linux/5.0.0-1031-azure botocore/1.15.0)
|
||||
- zstd
|
||||
- AWS CLI (aws-cli/1.18.11 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.11)
|
||||
- build-essential
|
||||
- Clang 6.0 (6.0.1)
|
||||
- Clang 8 (8.0.1)
|
||||
- Clang 9 (9.0.0)
|
||||
- CMake (cmake version 3.16.2)
|
||||
- Docker Compose (docker-compose version 1.22.0, build f46880fe)
|
||||
- Docker (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
|
||||
- Docker (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
|
||||
- Docker-Moby (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
|
||||
- .NET Core SDK:
|
||||
- 3.1.101
|
||||
- 3.1.100
|
||||
- 3.0.103
|
||||
- 3.0.102
|
||||
- 3.0.101
|
||||
- 3.0.100
|
||||
@@ -67,11 +73,13 @@ The following software is installed on machines with the 20200217.1 update.
|
||||
- 2.2.102
|
||||
- 2.2.101
|
||||
- 2.2.100
|
||||
- 2.1.804
|
||||
- 2.1.803
|
||||
- 2.1.802
|
||||
- 2.1.801
|
||||
- 2.1.701
|
||||
- 2.1.700
|
||||
- 2.1.609
|
||||
- 2.1.608
|
||||
- 2.1.607
|
||||
- 2.1.606
|
||||
@@ -79,6 +87,7 @@ The following software is installed on machines with the 20200217.1 update.
|
||||
- 2.1.604
|
||||
- 2.1.603
|
||||
- 2.1.602
|
||||
- 2.1.512
|
||||
- 2.1.511
|
||||
- 2.1.510
|
||||
- 2.1.509
|
||||
@@ -97,21 +106,21 @@ The following software is installed on machines with the 20200217.1 update.
|
||||
- 2.1.301
|
||||
- 2.1.300
|
||||
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4)
|
||||
- Firefox (Mozilla Firefox 73.0)
|
||||
- Firefox (Mozilla Firefox 73.0.1)
|
||||
- Geckodriver (); Gecko Driver is available via GECKOWEBDRIVER environment variable
|
||||
- GNU C++ 7.4.0
|
||||
- GNU C++ 8.3.0
|
||||
- GNU C++ 9.2.1
|
||||
- GNU Fortran 8.3.0
|
||||
- GNU Fortran 9.2.1
|
||||
- Git (2.25.0)
|
||||
- Git (2.25.1)
|
||||
- Git Large File Storage (LFS) (2.10.0)
|
||||
- Go 1.11 (go version go1.11.12 linux/amd64)
|
||||
- Go 1.12 (go version go1.12.7 linux/amd64)
|
||||
- Go 1.13 (go version go1.13 linux/amd64)
|
||||
- Google Chrome (Google Chrome 80.0.3987.106 )
|
||||
- Google Chrome (Google Chrome 80.0.3987.122 )
|
||||
- Chromedriver (ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882})); Chrome Driver is available via CHROMEWEBDRIVER environment variable
|
||||
- Google Cloud SDK (280.0.0)
|
||||
- Google Cloud SDK (282.0.0)
|
||||
- Haskell Cabal (cabal-install version 2.0.0.1
|
||||
compiled using version 2.0.1.1 of the Cabal library )
|
||||
- Haskell Cabal (cabal-install version 2.2.0.0
|
||||
@@ -119,7 +128,7 @@ compiled using version 2.2.0.1 of the Cabal library )
|
||||
- Haskell Cabal (cabal-install version 2.4.1.0
|
||||
compiled using version 2.4.1.0 of the Cabal library )
|
||||
- Haskell Cabal (cabal-install version 3.0.1.0
|
||||
compiled using version 3.0.1.0 of the Cabal library )
|
||||
compiled using version 3.0.2.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2)
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2)
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4)
|
||||
@@ -130,54 +139,54 @@ compiled using version 3.0.1.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1)
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2)
|
||||
- Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2)
|
||||
- Heroku (heroku/7.38.1 linux-x64 node-v12.13.0)
|
||||
- HHVM (HipHop VM 4.44.0 (rel))
|
||||
- Heroku (heroku/7.38.2 linux-x64 node-v12.13.0)
|
||||
- HHVM (HipHop VM 4.46.0 (rel))
|
||||
- ImageMagick
|
||||
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252")
|
||||
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242")
|
||||
- Azul Zulu OpenJDK (11) (openjdk version "11.0.6" 2020-01-14 LTS)
|
||||
- Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16)
|
||||
- Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019)
|
||||
- Gradle 6.1.1
|
||||
- Gradle 6.2.1
|
||||
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
|
||||
- Kind (kind v0.7.0 go1.13.6 linux/amd64)
|
||||
- kubectl (Client Version: v1.17.3)
|
||||
- helm (Client: v2.16.3+g1ee0254)
|
||||
- Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 OpenJDK 64-Bit Server VM)
|
||||
- Leiningen (Leiningen 2.9.2 on Java 1.8.0_242 OpenJDK 64-Bit Server VM)
|
||||
- Mercurial (Mercurial Distributed SCM (version 4.5.3))
|
||||
- Miniconda (conda 4.7.12)
|
||||
- Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:20 UTC 2020))
|
||||
- MySQL (mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper)
|
||||
- MySQL Server (user:root password:root)
|
||||
- MS SQL Server Client Tools
|
||||
- Node.js (v12.16.0)
|
||||
- Node.js (v12.16.1)
|
||||
- Grunt (grunt-cli v1.2.0)
|
||||
- Gulp (CLI version: 2.2.0
|
||||
Local version: Unknown)
|
||||
- n (6.2.0)
|
||||
- n (6.3.1)
|
||||
- Parcel (1.12.4)
|
||||
- TypeScript (Version 3.7.5)
|
||||
- TypeScript (Version 3.8.3)
|
||||
- Webpack (4.41.6)
|
||||
- Webpack CLI (3.3.11)
|
||||
- Yarn (1.21.1)
|
||||
- Yarn (1.22.0)
|
||||
- PhantomJS (2.1.1)
|
||||
- PHP 7.1 (PHP 7.1.33-9+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:53:29) ( NTS ))
|
||||
- PHP 7.2 (PHP 7.2.27-6+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:52:29) ( NTS ))
|
||||
- PHP 7.3 (PHP 7.3.14-6+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:51:32) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.2 (cli) (built: Feb 5 2020 16:50:38) ( NTS ))
|
||||
- PHP 7.1 (PHP 7.1.33-12+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:22:16) ( NTS ))
|
||||
- PHP 7.2 (PHP 7.2.28-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:25) ( NTS ))
|
||||
- PHP 7.3 (PHP 7.3.15-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:33) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.3 (cli) (built: Feb 23 2020 07:24:28) ( NTS ))
|
||||
- Composer (Composer version 1.9.3 2020-02-04 12:58:49)
|
||||
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
|
||||
- Pollinate
|
||||
- psql (PostgreSQL) 10.10
|
||||
- psql (PostgreSQL) 10.12
|
||||
- Powershell (PowerShell 6.2.4)
|
||||
- ruby (2.5.1p57)
|
||||
- gem (3.1.2)
|
||||
- rustup (1.21.1)
|
||||
- rust (1.41.0)
|
||||
- rust (1.41.1)
|
||||
- cargo (1.41.0)
|
||||
- rustfmt (1.4.11-stable)
|
||||
- clippy (0.0.212)
|
||||
- rustdoc (1.41.0)
|
||||
- rustdoc (1.41.1)
|
||||
- bindgen (execute
|
||||
the
|
||||
0.53.1)
|
||||
@@ -186,9 +195,9 @@ the
|
||||
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
|
||||
- Sphinx Open Source Search Server
|
||||
- Subversion (svn, version 1.9.7 (r1800392))
|
||||
- Terraform (Terraform v0.12.20)
|
||||
- Terraform (Terraform v0.12.21)
|
||||
- Vcpkg 2020.02.04-unknownhash
|
||||
- Zeit Now CLI (17.0.3)
|
||||
- Zeit Now CLI (17.0.4)
|
||||
- Google Repository 58
|
||||
- Google Play services 49
|
||||
- Google APIs 24
|
||||
@@ -197,7 +206,7 @@ the
|
||||
- Google APIs 21
|
||||
- CMake 3.6.4111459
|
||||
- Android Support Repository 47.0.0
|
||||
- Android SDK Platform-Tools 29.0.5
|
||||
- Android SDK Platform-Tools 29.0.6
|
||||
- Android SDK Platform 29
|
||||
- Android SDK Platform 28
|
||||
- Android SDK Platform 27
|
||||
@@ -247,14 +256,15 @@ the
|
||||
- Az Module (2.6.0)
|
||||
- Az Module (2.8.0)
|
||||
- Az Module (3.1.0)
|
||||
- Az Module (3.5.0)
|
||||
- Cached container images
|
||||
- node:12-alpine (Digest: sha256:0d6db03a05b5d8b417204258cfa34f36eac1c00a54946fb31891e89a642eb449)
|
||||
- node:12 (Digest: sha256:454651174f54836571258a329788574cf6552bddfd1a7113e769bd9fc3776fe6)
|
||||
- node:10-alpine (Digest: sha256:6e6fdca8006b268936d285a4eadd0bac011b33184b4377c6f1cfc86c222fbb8d)
|
||||
- node:10 (Digest: sha256:e9d17a0920643d70677ba354398a0464e318fe5f488df8c28c0f895cda6ee2a3)
|
||||
- buildpack-deps:stretch (Digest: sha256:8bcd320ec29cf67052985f28891586fb853051f69ad0646fc7a49f47d6e3ee1a)
|
||||
- debian:9 (Digest: sha256:da5274336981301e2c5f2edb54eaa4dccee70c39506f96d39377b46ea75e804e)
|
||||
- debian:8 (Digest: sha256:0e7a709bdf94e15391e9658271197e28a8c993f4d6bb8ee49d370886a9893351)
|
||||
- node:10 (Digest: sha256:df200903ff34c07c1b9112b4fd9d1342c11eb7d99525f2b366c487f91dda8131)
|
||||
- node:12 (Digest: sha256:facc1cbde6e5aa3255092b1a1417451953c80bd31ab5a4403f8bcd90b90a8407)
|
||||
- buildpack-deps:stretch (Digest: sha256:dc901bbf4b34e4ca8771c0d0773e557221452f97bcf0c732de7ecda3782bdf97)
|
||||
- debian:9 (Digest: sha256:ddb131307ad9c70ebf8c7962ba73c20101f68c7a511915aea3ad3b7ad47b9d20)
|
||||
- debian:8 (Digest: sha256:2c9b2323299846c5298c12db373da310f8114f2941ae3f496e95270cc8ca5ebd)
|
||||
- node:10-alpine (Digest: sha256:e8d05985dd93c380a83da00d676b081dad9cce148cb4ecdf26ed684fcff1449c)
|
||||
- node:12-alpine (Digest: sha256:bba77d0ca8820b43af898b3c50d4e8b68dc703ebbd958319af2f21f2d3c309f5)
|
||||
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
|
||||
- alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178)
|
||||
- alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f)
|
||||
@@ -266,7 +276,7 @@ the
|
||||
- Python 3.5.9
|
||||
- Python 3.6.10
|
||||
- Python 3.7.6
|
||||
- Python 3.8.1
|
||||
- Python 3.8.2
|
||||
- Ruby:
|
||||
- Ruby 2.4.9
|
||||
- Ruby 2.5.7
|
||||
|
||||
@@ -9,7 +9,11 @@ LSB_RELEASE=$(lsb_release -rs)
|
||||
# Install Microsoft repository
|
||||
wget https://packages.microsoft.com/config/ubuntu/$LSB_RELEASE/packages-microsoft-prod.deb
|
||||
dpkg -i packages-microsoft-prod.deb
|
||||
apt-get update
|
||||
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
|
||||
|
||||
# Install Microsoft GPG public key
|
||||
curl -L https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
|
||||
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
|
||||
apt-get update
|
||||
@@ -39,6 +39,7 @@ echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \
|
||||
"platforms;android-17" \
|
||||
"platforms;android-15" \
|
||||
"platforms;android-10" \
|
||||
"build-tools;29.0.3" \
|
||||
"build-tools;29.0.2" \
|
||||
"build-tools;29.0.0" \
|
||||
"build-tools;28.0.3" \
|
||||
@@ -110,6 +111,7 @@ DocumentInstalledItem "Android SDK Platform 17"
|
||||
DocumentInstalledItem "Android SDK Platform 15"
|
||||
DocumentInstalledItem "Android SDK Platform 10"
|
||||
DocumentInstalledItem "Android SDK Patch Applier v4"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 29.0.3"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 29.0.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 29.0.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 28.0.3"
|
||||
|
||||
@@ -19,6 +19,8 @@ apt-fast install -y --no-install-recommends \
|
||||
iproute2 \
|
||||
iputils-ping \
|
||||
jq \
|
||||
libc++-dev \
|
||||
libc++abi-dev \
|
||||
libcurl3 \
|
||||
libicu55 \
|
||||
libunwind8 \
|
||||
@@ -75,6 +77,8 @@ DocumentInstalledItemIndent "ftp"
|
||||
DocumentInstalledItemIndent "iproute2"
|
||||
DocumentInstalledItemIndent "iputils-ping"
|
||||
DocumentInstalledItemIndent "jq"
|
||||
DocumentInstalledItemIndent "libc++-dev"
|
||||
DocumentInstalledItemIndent "libc++abi-dev"
|
||||
DocumentInstalledItemIndent "libcurl3"
|
||||
DocumentInstalledItemIndent "libicu55"
|
||||
DocumentInstalledItemIndent "libunwind8"
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: go.sh
|
||||
## Desc: Installs go, configures GOROOT, and adds go to the path
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# This function installs Go using the specified arguments:
|
||||
# $1=MajorVersion (1.11)
|
||||
# $2=MajorAndMinorVersion (1.11.1)
|
||||
# $3=IsDefaultVersion (true or false)
|
||||
function InstallGo () {
|
||||
curl -sL https://dl.google.com/go/go$2.linux-amd64.tar.gz -o go$2.linux-amd64.tar.gz
|
||||
mkdir -p /usr/local/go$1
|
||||
tar -C /usr/local/go$1 -xzf go$2.linux-amd64.tar.gz --strip-components=1 go
|
||||
rm go$2.linux-amd64.tar.gz
|
||||
echo "GOROOT_${1//./_}_X64=/usr/local/go$1" | tee -a /etc/environment
|
||||
DocumentInstalledItem "Go $1 ($(/usr/local/go$1/bin/go version))"
|
||||
|
||||
# If this version of Go is to be the default version,
|
||||
# symlink it into the path and point GOROOT to it.
|
||||
if [ $3 = true ]
|
||||
then
|
||||
ln -s /usr/local/go$1/bin/* /usr/bin/
|
||||
echo "GOROOT=/usr/local/go$1" | tee -a /etc/environment
|
||||
fi
|
||||
}
|
||||
|
||||
# Install Go versions
|
||||
InstallGo 1.9 1.9.7 false
|
||||
InstallGo 1.10 1.10.8 false
|
||||
InstallGo 1.11 1.11.12 false
|
||||
InstallGo 1.12 1.12.7 true
|
||||
InstallGo 1.13 1.13 false
|
||||
@@ -17,7 +17,7 @@ apt-get update
|
||||
apt-get install -y kubectl
|
||||
|
||||
# Install Helm
|
||||
curl -L https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
|
||||
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
|
||||
@@ -37,6 +37,7 @@ echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \
|
||||
"platforms;android-21" \
|
||||
"platforms;android-19" \
|
||||
"platforms;android-17" \
|
||||
"build-tools;29.0.3" \
|
||||
"build-tools;29.0.2" \
|
||||
"build-tools;29.0.0" \
|
||||
"build-tools;28.0.3" \
|
||||
@@ -100,6 +101,7 @@ DocumentInstalledItem "Android SDK Platform 21"
|
||||
DocumentInstalledItem "Android SDK Platform 19"
|
||||
DocumentInstalledItem "Android SDK Platform 17"
|
||||
DocumentInstalledItem "Android SDK Patch Applier v4"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 29.0.3"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 29.0.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 29.0.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 28.0.3"
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: azpowershell.sh
|
||||
## Desc: Installed Azure PowerShell
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_1.0.0 -RequiredVersion 1.0.0 -Force'
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_1.6.0 -RequiredVersion 1.6.0 -Force'
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_2.3.2 -RequiredVersion 2.3.2 -Force'
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_2.6.0 -RequiredVersion 2.6.0 -Force'
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_2.8.0 -RequiredVersion 2.8.0 -Force'
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_3.1.0 -RequiredVersion 3.1.0 -Force'
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
if ! pwsh -Command '$actualPSModulePath = $env:PSModulePath ; $env:PSModulePath = "/usr/share/az_1.0.0:" + $env:PSModulePath;
|
||||
if (!(get-module -listavailable -name Az.accounts)) {
|
||||
Write-Host "Az Module was not installed"; $env:PSModulePath = $actualPSModulePath; exit 1
|
||||
}
|
||||
$env:PSModulePath = $actualPSModulePath
|
||||
$actualPSModulePath = $env:PSModulePath ; $env:PSModulePath = "/usr/share/az_1.6.0:" + $env:PSModulePath;
|
||||
if (!(get-module -listavailable -name Az.accounts)) {
|
||||
Write-Host "Az Module was not installed"; $env:PSModulePath = $actualPSModulePath; exit 1
|
||||
}
|
||||
$env:PSModulePath = $actualPSModulePath
|
||||
$actualPSModulePath = $env:PSModulePath ; $env:PSModulePath = "/usr/share/az_2.3.2:" + $env:PSModulePath;
|
||||
if (!(get-module -listavailable -name Az.accounts)) {
|
||||
Write-Host "Az Module was not installed"; $env:PSModulePath = $actualPSModulePath; exit 1
|
||||
}
|
||||
$env:PSModulePath = $actualPSModulePath
|
||||
$actualPSModulePath = $env:PSModulePath ; $env:PSModulePath = "/usr/share/az_2.6.0:" + $env:PSModulePath;
|
||||
if (!(get-module -listavailable -name Az.accounts)) {
|
||||
Write-Host "Az Module was not installed"; $env:PSModulePath = $actualPSModulePath; exit 1
|
||||
}
|
||||
$env:PSModulePath = $actualPSModulePath
|
||||
$actualPSModulePath = $env:PSModulePath ; $env:PSModulePath = "/usr/share/az_2.8.0:" + $env:PSModulePath;
|
||||
if (!(get-module -listavailable -name Az.accounts)) {
|
||||
Write-Host "Az Module was not installed"; $env:PSModulePath = $actualPSModulePath; exit 1
|
||||
}
|
||||
$env:PSModulePath = $actualPSModulePath
|
||||
$actualPSModulePath = $env:PSModulePath ; $env:PSModulePath = "/usr/share/az_3.1.0:" + $env:PSModulePath;
|
||||
if (!(get-module -listavailable -name Az.accounts)) {
|
||||
Write-Host "Az Module was not installed"; $env:PSModulePath = $actualPSModulePath; exit 1
|
||||
}
|
||||
$env:PSModulePath = $actualPSModulePath'; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Az Module (1.0.0)"
|
||||
DocumentInstalledItem "Az Module (1.6.0)"
|
||||
DocumentInstalledItem "Az Module (2.3.2)"
|
||||
DocumentInstalledItem "Az Module (2.6.0)"
|
||||
DocumentInstalledItem "Az Module (2.8.0)"
|
||||
DocumentInstalledItem "Az Module (3.1.0)"
|
||||
@@ -1,102 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: dotnetcore-sdk.sh
|
||||
## Desc: Installs .NET Core SDK
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
LATEST_DOTNET_PACKAGES=("dotnet-sdk-3.0" "dotnet-sdk-3.1")
|
||||
|
||||
LSB_RELEASE=$(lsb_release -rs)
|
||||
|
||||
mksamples()
|
||||
{
|
||||
sdk=$1
|
||||
sample=$2
|
||||
mkdir "$sdk"
|
||||
cd "$sdk" || exit
|
||||
set -e
|
||||
dotnet help
|
||||
dotnet new globaljson --sdk-version "$sdk"
|
||||
dotnet new "$sample"
|
||||
dotnet restore
|
||||
dotnet build
|
||||
set +e
|
||||
cd .. || exit
|
||||
rm -rf "$sdk"
|
||||
}
|
||||
|
||||
set -e
|
||||
|
||||
# Disable telemetry
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
|
||||
for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do
|
||||
echo "Determing if .NET Core ($latest_package) is installed"
|
||||
if ! IsInstalled $latest_package; then
|
||||
echo "Could not find .NET Core ($latest_package), installing..."
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
|
||||
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
|
||||
sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list'
|
||||
apt-get install apt-transport-https
|
||||
apt-get update
|
||||
apt-get install $latest_package -y
|
||||
else
|
||||
echo ".NET Core ($latest_package) is already installed"
|
||||
fi
|
||||
done
|
||||
|
||||
# Get list of all released SDKs from channels which are not end-of-life or preview
|
||||
release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json")
|
||||
sdks=()
|
||||
for release_url in ${release_urls[@]}; do
|
||||
echo "${release_url}"
|
||||
releases=$(curl "${release_url}")
|
||||
sdks=("${sdks[@]}" $(echo "${releases}" | jq '.releases[]' | jq '.sdk.version'))
|
||||
sdks=("${sdks[@]}" $(echo "${releases}" | jq '.releases[]' | jq '.sdks[]?' | jq '.version'))
|
||||
done
|
||||
|
||||
sortedSdks=$(echo ${sdks[@]} | tr ' ' '\n' | grep -v preview | grep -v rc | grep -v display | cut -d\" -f2 | sort -u -r)
|
||||
|
||||
for sdk in $sortedSdks; do
|
||||
#temporary avoid 3.1.102 installation due to https://github.com/dotnet/aspnetcore/issues/19133
|
||||
if [ $sdk != "3.1.102" ]; then
|
||||
url="https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$sdk/dotnet-sdk-$sdk-linux-x64.tar.gz"
|
||||
echo "$url" >> urls
|
||||
echo "Adding $url to list to download later"
|
||||
fi
|
||||
done
|
||||
|
||||
# Download additional SDKs
|
||||
echo "Downloading release tarballs..."
|
||||
cat urls | xargs -n 1 -P 16 wget -q
|
||||
for tarball in *.tar.gz; do
|
||||
dest="./tmp-$(basename -s .tar.gz $tarball)"
|
||||
echo "Extracting $tarball to $dest"
|
||||
mkdir "$dest" && tar -C "$dest" -xzf "$tarball"
|
||||
rsync -qav "$dest/shared/" /usr/share/dotnet/shared/
|
||||
rsync -qav "$dest/host/" /usr/share/dotnet/host/
|
||||
rsync -qav "$dest/sdk/" /usr/share/dotnet/sdk/
|
||||
rm -rf "$dest"
|
||||
rm "$tarball"
|
||||
done
|
||||
rm urls
|
||||
|
||||
DocumentInstalledItem ".NET Core SDK:"
|
||||
# Smoke test each SDK
|
||||
for sdk in $sortedSdks; do
|
||||
mksamples "$sdk" "console"
|
||||
mksamples "$sdk" "mstest"
|
||||
mksamples "$sdk" "xunit"
|
||||
mksamples "$sdk" "web"
|
||||
mksamples "$sdk" "mvc"
|
||||
mksamples "$sdk" "webapi"
|
||||
DocumentInstalledItemIndent "$sdk"
|
||||
done
|
||||
|
||||
# NuGetFallbackFolder at /usr/share/dotnet/sdk/NuGetFallbackFolder is warmed up by smoke test
|
||||
# Additional FTE will just copy to ~/.dotnet/NuGet which provides no benefit on a fungible machine
|
||||
echo "DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1" | tee -a /etc/environment
|
||||
echo 'export PATH="$PATH:$HOME/.dotnet/tools"' | tee -a /etc/skel/.bashrc
|
||||
@@ -1,34 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: go.sh
|
||||
## Desc: Installs go, configures GOROOT, and adds go to the path
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# This function installs Go using the specified arguments:
|
||||
# $1=MajorVersion (1.11)
|
||||
# $2=MajorAndMinorVersion (1.11.1)
|
||||
# $3=IsDefaultVersion (true or false)
|
||||
function InstallGo () {
|
||||
curl -sL https://dl.google.com/go/go$2.linux-amd64.tar.gz -o go$2.linux-amd64.tar.gz
|
||||
mkdir -p /usr/local/go$1
|
||||
tar -C /usr/local/go$1 -xzf go$2.linux-amd64.tar.gz --strip-components=1 go
|
||||
rm go$2.linux-amd64.tar.gz
|
||||
echo "GOROOT_${1//./_}_X64=/usr/local/go$1" | tee -a /etc/environment
|
||||
DocumentInstalledItem "Go $1 ($(/usr/local/go$1/bin/go version))"
|
||||
|
||||
# If this version of Go is to be the default version,
|
||||
# symlink it into the path and point GOROOT to it.
|
||||
if [ $3 = true ]
|
||||
then
|
||||
ln -s /usr/local/go$1/bin/* /usr/bin/
|
||||
echo "GOROOT=/usr/local/go$1" | tee -a /etc/environment
|
||||
fi
|
||||
}
|
||||
|
||||
# Install Go versions
|
||||
InstallGo 1.11 1.11.12 false
|
||||
InstallGo 1.12 1.12.7 true
|
||||
InstallGo 1.13 1.13 false
|
||||
@@ -19,7 +19,7 @@ apt-get update
|
||||
apt-get install -y kubectl
|
||||
|
||||
# Install Helm
|
||||
curl -L https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
|
||||
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: powershellcore.sh
|
||||
## Desc: Installs powershellcore
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
LSB_RELEASE=$(lsb_release -rs)
|
||||
# libicu64, which comes with php-intl module, has powershell breaking issue https://github.com/PowerShell/PowerShell/issues/9746
|
||||
# Fix - install additional libicu65 where the issue is fixed
|
||||
echo "install libicu65"
|
||||
apt get install libicu65
|
||||
|
||||
# Install Powershell
|
||||
apt-get install -y powershell
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
if ! command -v pwsh; then
|
||||
echo "pwsh was not installed"
|
||||
exit 1
|
||||
fi
|
||||
if ! pwsh -c 'Write-Host Hello world'; then
|
||||
echo "pwsh failed to run"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Powershell ($(pwsh --version))"
|
||||
@@ -14,6 +14,7 @@ sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_2.3.2 -Requi
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_2.6.0 -RequiredVersion 2.6.0 -Force'
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_2.8.0 -RequiredVersion 2.8.0 -Force'
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_3.1.0 -RequiredVersion 3.1.0 -Force'
|
||||
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_3.5.0 -RequiredVersion 3.5.0 -Force'
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
@@ -46,6 +47,11 @@ if ! pwsh -Command '$actualPSModulePath = $env:PSModulePath ; $env:PSModulePath
|
||||
if (!(get-module -listavailable -name Az.accounts)) {
|
||||
Write-Host "Az Module was not installed"; $env:PSModulePath = $actualPSModulePath; exit 1
|
||||
}
|
||||
$env:PSModulePath = $actualPSModulePath
|
||||
$actualPSModulePath = $env:PSModulePath ; $env:PSModulePath = "/usr/share/az_3.5.0:" + $env:PSModulePath;
|
||||
if (!(get-module -listavailable -name Az.accounts)) {
|
||||
Write-Host "Az Module was not installed"; $env:PSModulePath = $actualPSModulePath; exit 1
|
||||
}
|
||||
$env:PSModulePath = $actualPSModulePath'; then
|
||||
exit 1
|
||||
fi
|
||||
@@ -58,3 +64,4 @@ DocumentInstalledItem "Az Module (2.3.2)"
|
||||
DocumentInstalledItem "Az Module (2.6.0)"
|
||||
DocumentInstalledItem "Az Module (2.8.0)"
|
||||
DocumentInstalledItem "Az Module (3.1.0)"
|
||||
DocumentInstalledItem "Az Module (3.5.0)"
|
||||
36
images/linux/scripts/installers/bazel.sh
Normal file
36
images/linux/scripts/installers/bazel.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: bazel.sh
|
||||
## Desc: Installs Bazel and Bazelisk (A user-friendly launcher for Bazel)
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install bazel
|
||||
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
|
||||
echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
|
||||
apt-get update -y
|
||||
apt-get install -y bazel
|
||||
|
||||
# Install bazelisk
|
||||
npm install -g @bazel/bazelisk
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
if ! command -v bazel; then
|
||||
echo "Bazel was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v bazelisk; then
|
||||
echo "Bazelisk was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
bazelisk_version="$(bazelisk version 2>null | grep "Bazelisk version:" | cut -d "v" -f 3)"
|
||||
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Bazel ($(bazel --version))"
|
||||
DocumentInstalledItem "Bazelisk ($bazelisk_version)"
|
||||
@@ -18,6 +18,7 @@ function InstallClang {
|
||||
apt-get install -y "clang-$version" "lldb-$version" "lld-$version"
|
||||
else
|
||||
./llvm.sh $version
|
||||
apt-get install -y "clang-format-$version"
|
||||
fi
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
@@ -59,3 +60,4 @@ rm llvm.sh
|
||||
# Make Clang 9 default
|
||||
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-9 100
|
||||
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-9 100
|
||||
update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-9 100
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
version="1.22.0"
|
||||
version="1.25.4"
|
||||
|
||||
# Install latest docker-compose from releases
|
||||
curl -L "https://github.com/docker/compose/releases/download/$version/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: docker-ce.sh
|
||||
## Desc: Installs docker onto the image, but does not pre-pull any images
|
||||
## File: docker-moby.sh
|
||||
## Desc: Installs docker onto the image
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
@@ -15,10 +15,6 @@ if ! IsInstalled $docker_package; then
|
||||
echo "Docker ($docker_package) was not found. Installing..."
|
||||
apt-get remove -y moby-engine moby-cli
|
||||
apt-get update
|
||||
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/microsoft-prod.list
|
||||
apt-get update
|
||||
apt-get install -y moby-engine moby-cli
|
||||
else
|
||||
echo "Docker ($docker_package) is already installed"
|
||||
@@ -37,7 +33,19 @@ else
|
||||
set +e
|
||||
fi
|
||||
|
||||
docker pull node:10
|
||||
docker pull node:12
|
||||
docker pull buildpack-deps:stretch
|
||||
docker pull node:10-alpine
|
||||
docker pull node:12-alpine
|
||||
docker pull debian:8
|
||||
docker pull debian:9
|
||||
docker pull alpine:3.7
|
||||
docker pull alpine:3.8
|
||||
docker pull alpine:3.9
|
||||
docker pull alpine:3.10
|
||||
|
||||
## Add version information to the metadata file
|
||||
echo "Documenting Docker version"
|
||||
docker_version=$(docker -v)
|
||||
DocumentInstalledItem "Docker ($docker_version)"
|
||||
DocumentInstalledItem "Docker-Moby ($docker_version)"
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: docker.sh
|
||||
## Desc: Installs the correct version of docker onto the image, and pulls
|
||||
## down the default docker image used for building on ubuntu
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
DOCKER_PACKAGE=moby
|
||||
|
||||
apt-get remove -y moby-engine mobi-cli
|
||||
apt-get update
|
||||
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
|
||||
apt-get update
|
||||
apt-get install -y moby-engine mobi-cli
|
||||
|
||||
docker pull node:10
|
||||
docker pull node:12
|
||||
docker pull buildpack-deps:stretch
|
||||
docker pull node:10-alpine
|
||||
docker pull node:12-alpine
|
||||
docker pull debian:8
|
||||
docker pull debian:9
|
||||
docker pull alpine:3.7
|
||||
docker pull alpine:3.8
|
||||
docker pull alpine:3.9
|
||||
docker pull alpine:3.10
|
||||
|
||||
## Add version information to the metadata file
|
||||
echo "Documenting Docker version"
|
||||
DOCKER_VERSION=`docker -v`
|
||||
DocumentInstalledItem "Docker ($DOCKER_VERSION)"
|
||||
@@ -3,7 +3,6 @@
|
||||
## File: dotnetcore-sdk.sh
|
||||
## Desc: Installs .NET Core SDK
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
@@ -30,11 +29,19 @@ mksamples()
|
||||
|
||||
set -e
|
||||
|
||||
# Disable telemetry
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
|
||||
for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do
|
||||
echo "Determing if .NET Core ($latest_package) is installed"
|
||||
if ! IsInstalled $latest_package; then
|
||||
echo "Could not find .NET Core ($latest_package), installing..."
|
||||
apt-get install $latest_package -y
|
||||
#temporary avoid 3.1.102 installation due to https://github.com/dotnet/aspnetcore/issues/19133
|
||||
if [ $latest_package != "dotnet-sdk-3.1" ]; then
|
||||
apt-get install $latest_package -y
|
||||
else
|
||||
apt-get install dotnet-sdk-3.1=3.1.101-1 -y
|
||||
fi
|
||||
else
|
||||
echo ".NET Core ($latest_package) is already installed"
|
||||
fi
|
||||
@@ -50,15 +57,13 @@ for release_url in ${release_urls[@]}; do
|
||||
sdks=("${sdks[@]}" $(echo "${releases}" | jq '.releases[]' | jq '.sdks[]?' | jq '.version'))
|
||||
done
|
||||
|
||||
sortedSdks=$(echo ${sdks[@]} | tr ' ' '\n' | grep -v preview | grep -v rc | grep -v display | cut -d\" -f2 | sort -u -r)
|
||||
#temporary avoid 3.1.102 installation due to https://github.com/dotnet/aspnetcore/issues/19133
|
||||
sortedSdks=$(echo ${sdks[@]} | tr ' ' '\n' | grep -v 3.1.102 | grep -v preview | grep -v rc | grep -v display | cut -d\" -f2 | sort -u -r)
|
||||
|
||||
for sdk in $sortedSdks; do
|
||||
#temporary avoid 3.1.102 installation due to https://github.com/dotnet/aspnetcore/issues/19133
|
||||
if [ $sdk != "3.1.102" ]; then
|
||||
url="https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$sdk/dotnet-sdk-$sdk-linux-x64.tar.gz"
|
||||
echo "$url" >> urls
|
||||
echo "Adding $url to list to download later"
|
||||
fi
|
||||
url="https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$sdk/dotnet-sdk-$sdk-linux-x64.tar.gz"
|
||||
echo "$url" >> urls
|
||||
echo "Adding $url to list to download later"
|
||||
done
|
||||
|
||||
# Download additional SDKs
|
||||
@@ -49,5 +49,5 @@ if ! command -v geckodriver; then
|
||||
fi
|
||||
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
ver=`./geckodriver --version|head -1|awk '{print $2}'`
|
||||
ver=`geckodriver --version | head -1 |awk '{print $2}'`
|
||||
DocumentInstalledItem "Geckodriver (${ver}); Gecko Driver is available via GECKOWEBDRIVER environment variable"
|
||||
|
||||
55
images/linux/scripts/installers/go.sh
Normal file
55
images/linux/scripts/installers/go.sh
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: go.sh
|
||||
## Desc: Installs go, configures GOROOT, and adds go to the path
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
golangTags="/tmp/golang_tags.json"
|
||||
|
||||
# This function installs Go using the specified arguments:
|
||||
# $1=MajorVersion (1.11)
|
||||
# $2=IsDefaultVersion (true or false)
|
||||
function InstallGo () {
|
||||
version=$( getFullGoVersion $1 )
|
||||
downloadVersion=$version.linux-amd64.tar.gz
|
||||
goFolder=/usr/local/go$1
|
||||
|
||||
echo "Install Go $version"
|
||||
curl -sL https://dl.google.com/go/${downloadVersion} -o ${downloadVersion}
|
||||
mkdir -p $goFolder
|
||||
tar -C $goFolder -xzf $downloadVersion --strip-components=1 go
|
||||
rm $downloadVersion
|
||||
echo "GOROOT_${1//./_}_X64=$goFolder" | tee -a /etc/environment
|
||||
DocumentInstalledItem "Go $1 ($($goFolder/bin/go version))"
|
||||
|
||||
# If this version of Go is to be the default version,
|
||||
# symlink it into the path and point GOROOT to it.
|
||||
if [ $2 = true ]
|
||||
then
|
||||
ln -s $goFolder/bin/* /usr/bin/
|
||||
echo "GOROOT=$goFolder" | tee -a /etc/environment
|
||||
fi
|
||||
}
|
||||
|
||||
function getFullGoVersion () {
|
||||
local pattern="refs/tags/go$1([.0-9]{0,3})$"
|
||||
local query='[.[] | select( .ref | test($pattern))] | .[-1] | .ref'
|
||||
refValue=$(jq --arg pattern "$pattern" "$query" $golangTags)
|
||||
version=$(echo "$refValue" | cut -d '/' -f 3)
|
||||
version=$(echo "${version//\"}") # go1.12.17
|
||||
echo $version
|
||||
}
|
||||
|
||||
# load golang_tags.json file
|
||||
curl -s 'https://api.github.com/repos/golang/go/git/refs/tags' >> $golangTags
|
||||
# Install Go versions
|
||||
for go in ${GO_VERSIONS}; do
|
||||
echo "Installing Go ${go}"
|
||||
if [[ $go == $GO_DEFAULT ]]; then
|
||||
InstallGo $go true
|
||||
else
|
||||
InstallGo $go false
|
||||
fi
|
||||
done
|
||||
@@ -56,4 +56,4 @@ if ! command -v chromedriver; then
|
||||
fi
|
||||
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Chromedriver ($(chromedriver --version)); Chrome Driver is available via CHROMEWEBDRIVER environment variable"
|
||||
DocumentInstalledItem "$(chromedriver --version); Chrome Driver is available via CHROMEWEBDRIVER environment variable"
|
||||
|
||||
@@ -25,6 +25,7 @@ apt-get install -y \
|
||||
ghc-8.6.5 \
|
||||
ghc-8.8.1 \
|
||||
ghc-8.8.2 \
|
||||
ghc-8.8.3 \
|
||||
cabal-install-2.0 \
|
||||
cabal-install-2.2 \
|
||||
cabal-install-2.4 \
|
||||
@@ -36,7 +37,7 @@ curl -sSL https://raw.githubusercontent.com/commercialhaskell/stack/v2.1.3/etc/s
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
# Check all ghc versions
|
||||
for version in 8.0.2 8.2.2 8.4.4 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2; do
|
||||
for version in 8.0.2 8.2.2 8.4.4 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3; do
|
||||
if ! command -v /opt/ghc/$version/bin/ghc; then
|
||||
echo "ghc $version was not installed"
|
||||
exit 1
|
||||
@@ -59,7 +60,7 @@ echo "Lastly, documenting what we added to the metadata file"
|
||||
for version in 2.0 2.2 2.4 3.0; do
|
||||
DocumentInstalledItem "Haskell Cabal ($(/opt/cabal/$version/bin/cabal --version))"
|
||||
done
|
||||
for version in 8.0.2 8.2.2 8.4.4 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2; do
|
||||
for version in 8.0.2 8.2.2 8.4.4 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3; do
|
||||
DocumentInstalledItem "GHC ($(/opt/ghc/$version/bin/ghc --version))"
|
||||
done
|
||||
DocumentInstalledItem "Haskell Stack ($(stack --version))"
|
||||
|
||||
@@ -23,17 +23,18 @@ function GetLatestJuliaRelease () {
|
||||
|
||||
function InstallJulia () {
|
||||
# Extract Major and Minor version from full version string
|
||||
juliaMajorAndMinorVersion="$(sed 's/\.[^.]*$//' <<< $1)"
|
||||
juliaMajorAndMinorVersion="$(cut -d. -f1,2 <<< $1)"
|
||||
juliaInstallationPath="/usr/local/julia$1"
|
||||
|
||||
curl -sL "https://julialang-s3.julialang.org/bin/linux/x64/$juliaMajorAndMinorVersion/julia-$1-linux-x86_64.tar.gz" -o "julia-$1-linux-x86_64.tar.gz"
|
||||
mkdir -p "/usr/local/julia$juliaMajorAndMinorVersion"
|
||||
tar -C "/usr/local/julia$juliaMajorAndMinorVersion" -xzf "julia-$1-linux-x86_64.tar.gz" --strip-components=1 julia
|
||||
mkdir -p "$juliaInstallationPath"
|
||||
tar -C "$juliaInstallationPath" -xzf "julia-$1-linux-x86_64.tar.gz" --strip-components=1
|
||||
rm "julia-$1-linux-x86_64.tar.gz"
|
||||
|
||||
# If this version of Julia is to be the default version,
|
||||
# symlink it into the path
|
||||
if [ "$2" = true ]; then
|
||||
ln -s "/usr/local/julia$juliaMajorAndMinorVersion/bin/julia" /usr/bin/julia
|
||||
ln -s "$juliaInstallationPath/bin/julia" /usr/bin/julia
|
||||
fi
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
@@ -49,7 +50,7 @@ function InstallJulia () {
|
||||
fi
|
||||
|
||||
# Verify output of julia --version
|
||||
if [ ! "$(/usr/local/julia"$juliaMajorAndMinorVersion"/bin/julia --version)" = "julia version $1" ]; then
|
||||
if [ ! "$($juliaInstallationPath/bin/julia --version)" = "julia version $1" ]; then
|
||||
echo "Julia was not installed correctly"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -44,3 +44,7 @@ echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "MySQL ($(mysql --version))"
|
||||
DocumentInstalledItem "MySQL Server (user:root password:root)"
|
||||
DocumentInstalledItem "MS SQL Server Client Tools"
|
||||
|
||||
# Disable mysql.service
|
||||
systemctl is-active --quiet mysql.service && systemctl stop mysql.service
|
||||
systemctl disable mysql.service
|
||||
|
||||
25
images/linux/scripts/installers/packer.sh
Normal file
25
images/linux/scripts/installers/packer.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: packer.sh
|
||||
## Desc: Installs packer
|
||||
################################################################################
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
|
||||
# Install Packer
|
||||
PACKER_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | jq -r .current_version)
|
||||
curl -LO "https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_amd64.zip"
|
||||
unzip "packer_${PACKER_VERSION}_linux_amd64.zip" -d /usr/local/bin
|
||||
rm -f "packer_${PACKER_VERSION}_linux_amd64.zip"
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
if ! command -v packer; then
|
||||
echo "Packer was not installed or found on PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Packer ($(packer --version))"
|
||||
@@ -7,8 +7,6 @@
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
LSB_RELEASE=$(lsb_release -rs)
|
||||
|
||||
# Install Powershell
|
||||
apt-get install -y powershell
|
||||
|
||||
28
images/linux/scripts/installers/preimagedata.sh
Normal file
28
images/linux/scripts/installers/preimagedata.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
imagedata_file=$IMAGEDATA_FILE
|
||||
image_version=$IMAGE_VERSION
|
||||
os_name=$(lsb_release -ds | sed "s/ /\\\n/g")
|
||||
image_label="ubuntu-$(lsb_release -rs)"
|
||||
github_url="https://github.com/actions/virtual-environments/blob"
|
||||
|
||||
if [[ "$image_label" =~ "ubuntu-18" ]]; then
|
||||
software_url="${github_url}/ubuntu18/${image_version}/images/linux/Ubuntu1804-README.md"
|
||||
fi
|
||||
|
||||
if [[ "$image_label" =~ "ubuntu-16" ]]; then
|
||||
software_url="${github_url}/ubuntu16/${image_version}/images/linux/Ubuntu1604-README.md"
|
||||
fi
|
||||
|
||||
cat <<EOF > $imagedata_file
|
||||
[
|
||||
{
|
||||
"group": "Operating System",
|
||||
"detail": "${os_name}"
|
||||
},
|
||||
{
|
||||
"group": "Virtual Environment",
|
||||
"detail": "Environment: ${image_label}\nVersion: ${image_version}\nIncluded Software: ${software_url}"
|
||||
}
|
||||
]
|
||||
EOF
|
||||
@@ -14,8 +14,7 @@ export CARGO_HOME=/usr/share/rust/.cargo
|
||||
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||
|
||||
# Add Cargo and Rust binaries to the machine path
|
||||
echo "PATH=${CARGO_HOME}/bin:$PATH" | tee -a /etc/environment
|
||||
# Initialize environment variables
|
||||
source $CARGO_HOME/env
|
||||
|
||||
# Install common tools
|
||||
|
||||
6
images/linux/scripts/installers/updatepath.sh
Normal file
6
images/linux/scripts/installers/updatepath.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
CARGO_HOME=/usr/share/rust/.cargo
|
||||
DOTNET_TOOLS_HOME=/home/runner/.dotnet/tools
|
||||
PHP_COMPOSER_HOME=/home/runner/.config/composer/vendor/bin
|
||||
echo "PATH=${CARGO_HOME}/bin:${PATH}:${DOTNET_TOOLS_HOME}:${PHP_COMPOSER_HOME}" | tee -a /etc/environment
|
||||
@@ -15,6 +15,7 @@
|
||||
"private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
|
||||
"image_folder": "/imagegeneration",
|
||||
"commit_file": "/imagegeneration/commit.txt",
|
||||
"imagedata_file": "/imagegeneration/imagedata.json",
|
||||
"metadata_file": "/imagegeneration/metadatafile",
|
||||
"installer_script_folder": "/imagegeneration/installers",
|
||||
"helper_script_folder": "/imagegeneration/helpers",
|
||||
@@ -22,7 +23,9 @@
|
||||
"capture_name_prefix": "packer",
|
||||
"image_version": "dev",
|
||||
"image_os": "ubuntu16",
|
||||
"github_feed_token": null
|
||||
"github_feed_token": null,
|
||||
"go_default": "1.14",
|
||||
"go_versions": "1.11 1.12 1.13 1.14"
|
||||
},
|
||||
"sensitive-variables": ["client_secret", "github_feed_token"],
|
||||
"builders": [
|
||||
@@ -107,6 +110,17 @@
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts":[
|
||||
"{{template_dir}}/scripts/installers/preimagedata.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"IMAGE_VERSION={{user `image_version`}}",
|
||||
"IMAGEDATA_FILE={{user `imagedata_file`}}"
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"inline": [
|
||||
@@ -130,14 +144,12 @@
|
||||
"{{template_dir}}/scripts/installers/cmake.sh",
|
||||
"{{template_dir}}/scripts/installers/docker-compose.sh",
|
||||
"{{template_dir}}/scripts/installers/docker-moby.sh",
|
||||
"{{template_dir}}/scripts/installers/docker.sh",
|
||||
"{{template_dir}}/scripts/installers/1604/dotnetcore-sdk.sh",
|
||||
"{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
|
||||
"{{template_dir}}/scripts/installers/erlang.sh",
|
||||
"{{template_dir}}/scripts/installers/firefox.sh",
|
||||
"{{template_dir}}/scripts/installers/gcc.sh",
|
||||
"{{template_dir}}/scripts/installers/gfortran.sh",
|
||||
"{{template_dir}}/scripts/installers/git.sh",
|
||||
"{{template_dir}}/scripts/installers/1604/go.sh",
|
||||
"{{template_dir}}/scripts/installers/google-chrome.sh",
|
||||
"{{template_dir}}/scripts/installers/google-cloud-sdk.sh",
|
||||
"{{template_dir}}/scripts/installers/haskell.sh",
|
||||
@@ -153,20 +165,24 @@
|
||||
"{{template_dir}}/scripts/installers/mono.sh",
|
||||
"{{template_dir}}/scripts/installers/mysql.sh",
|
||||
"{{template_dir}}/scripts/installers/nodejs.sh",
|
||||
"{{template_dir}}/scripts/installers/bazel.sh",
|
||||
"{{template_dir}}/scripts/installers/phantomjs.sh",
|
||||
"{{template_dir}}/scripts/installers/1604/php.sh",
|
||||
"{{template_dir}}/scripts/installers/pollinate.sh",
|
||||
"{{template_dir}}/scripts/installers/postgresql.sh",
|
||||
"{{template_dir}}/scripts/installers/1604/powershellcore.sh",
|
||||
"{{template_dir}}/scripts/installers/powershellcore.sh",
|
||||
"{{template_dir}}/scripts/installers/ruby.sh",
|
||||
"{{template_dir}}/scripts/installers/rust.sh",
|
||||
"{{template_dir}}/scripts/installers/julia.sh",
|
||||
"{{template_dir}}/scripts/installers/sbt.sh",
|
||||
"{{template_dir}}/scripts/installers/selenium.sh",
|
||||
"{{template_dir}}/scripts/installers/sphinx.sh",
|
||||
"{{template_dir}}/scripts/installers/subversion.sh",
|
||||
"{{template_dir}}/scripts/installers/terraform.sh",
|
||||
"{{template_dir}}/scripts/installers/packer.sh",
|
||||
"{{template_dir}}/scripts/installers/vcpkg.sh",
|
||||
"{{template_dir}}/scripts/installers/zeit-now.sh",
|
||||
"{{template_dir}}/scripts/installers/updatepath.sh",
|
||||
"{{template_dir}}/scripts/installers/dpkg-config.sh"
|
||||
|
||||
],
|
||||
@@ -177,6 +193,19 @@
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
"{{template_dir}}/scripts/installers/go.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"METADATA_FILE={{user `metadata_file`}}",
|
||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
||||
"GO_VERSIONS={{user `go_versions`}}",
|
||||
"GO_DEFAULT={{user `go_default`}}"
|
||||
],
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "{{template_dir}}/toolcache-1604.json",
|
||||
@@ -186,7 +215,7 @@
|
||||
"type": "shell",
|
||||
"scripts":[
|
||||
"{{template_dir}}/scripts/installers/1604/android.sh",
|
||||
"{{template_dir}}/scripts/installers/1604/azpowershell.sh",
|
||||
"{{template_dir}}/scripts/installers/azpowershell.sh",
|
||||
"{{template_dir}}/scripts/helpers/containercache.sh",
|
||||
"{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
|
||||
"{{template_dir}}/scripts/installers/python.sh",
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
|
||||
"image_folder": "/imagegeneration",
|
||||
"commit_file": "/imagegeneration/commit.txt",
|
||||
"imagedata_file": "/imagegeneration/imagedata.json",
|
||||
"metadata_file": "/imagegeneration/metadatafile",
|
||||
"installer_script_folder": "/imagegeneration/installers",
|
||||
"helper_script_folder": "/imagegeneration/helpers",
|
||||
@@ -22,7 +23,9 @@
|
||||
"capture_name_prefix": "packer",
|
||||
"image_version": "dev",
|
||||
"image_os": "ubuntu18",
|
||||
"github_feed_token": null
|
||||
"github_feed_token": null,
|
||||
"go_default": "1.14",
|
||||
"go_versions": "1.11 1.12 1.13 1.14"
|
||||
},
|
||||
"sensitive-variables": ["client_secret", "github_feed_token"],
|
||||
"builders": [
|
||||
@@ -110,6 +113,17 @@
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts":[
|
||||
"{{template_dir}}/scripts/installers/preimagedata.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"IMAGE_VERSION={{user `image_version`}}",
|
||||
"IMAGEDATA_FILE={{user `imagedata_file`}}"
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"inline": [
|
||||
@@ -133,14 +147,12 @@
|
||||
"{{template_dir}}/scripts/installers/cmake.sh",
|
||||
"{{template_dir}}/scripts/installers/docker-compose.sh",
|
||||
"{{template_dir}}/scripts/installers/docker-moby.sh",
|
||||
"{{template_dir}}/scripts/installers/docker.sh",
|
||||
"{{template_dir}}/scripts/installers/1804/dotnetcore-sdk.sh",
|
||||
"{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
|
||||
"{{template_dir}}/scripts/installers/erlang.sh",
|
||||
"{{template_dir}}/scripts/installers/firefox.sh",
|
||||
"{{template_dir}}/scripts/installers/gcc.sh",
|
||||
"{{template_dir}}/scripts/installers/gfortran.sh",
|
||||
"{{template_dir}}/scripts/installers/git.sh",
|
||||
"{{template_dir}}/scripts/installers/1804/go.sh",
|
||||
"{{template_dir}}/scripts/installers/google-chrome.sh",
|
||||
"{{template_dir}}/scripts/installers/google-cloud-sdk.sh",
|
||||
"{{template_dir}}/scripts/installers/haskell.sh",
|
||||
@@ -156,20 +168,24 @@
|
||||
"{{template_dir}}/scripts/installers/mono.sh",
|
||||
"{{template_dir}}/scripts/installers/mysql.sh",
|
||||
"{{template_dir}}/scripts/installers/nodejs.sh",
|
||||
"{{template_dir}}/scripts/installers/bazel.sh",
|
||||
"{{template_dir}}/scripts/installers/phantomjs.sh",
|
||||
"{{template_dir}}/scripts/installers/1804/php.sh",
|
||||
"{{template_dir}}/scripts/installers/pollinate.sh",
|
||||
"{{template_dir}}/scripts/installers/postgresql.sh",
|
||||
"{{template_dir}}/scripts/installers/1804/powershellcore.sh",
|
||||
"{{template_dir}}/scripts/installers/powershellcore.sh",
|
||||
"{{template_dir}}/scripts/installers/ruby.sh",
|
||||
"{{template_dir}}/scripts/installers/rust.sh",
|
||||
"{{template_dir}}/scripts/installers/julia.sh",
|
||||
"{{template_dir}}/scripts/installers/sbt.sh",
|
||||
"{{template_dir}}/scripts/installers/selenium.sh",
|
||||
"{{template_dir}}/scripts/installers/sphinx.sh",
|
||||
"{{template_dir}}/scripts/installers/subversion.sh",
|
||||
"{{template_dir}}/scripts/installers/terraform.sh",
|
||||
"{{template_dir}}/scripts/installers/packer.sh",
|
||||
"{{template_dir}}/scripts/installers/vcpkg.sh",
|
||||
"{{template_dir}}/scripts/installers/zeit-now.sh",
|
||||
"{{template_dir}}/scripts/installers/updatepath.sh",
|
||||
"{{template_dir}}/scripts/installers/dpkg-config.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
@@ -179,6 +195,19 @@
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
"{{template_dir}}/scripts/installers/go.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"METADATA_FILE={{user `metadata_file`}}",
|
||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
||||
"GO_VERSIONS={{user `go_versions`}}",
|
||||
"GO_DEFAULT={{user `go_default`}}"
|
||||
],
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "{{template_dir}}/toolcache-1804.json",
|
||||
@@ -188,7 +217,7 @@
|
||||
"type": "shell",
|
||||
"scripts":[
|
||||
"{{template_dir}}/scripts/installers/1804/android.sh",
|
||||
"{{template_dir}}/scripts/installers/1804/azpowershell.sh",
|
||||
"{{template_dir}}/scripts/installers/azpowershell.sh",
|
||||
"{{template_dir}}/scripts/helpers/containercache.sh",
|
||||
"{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
|
||||
"{{template_dir}}/scripts/installers/python.sh",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# macOS Catalina 10.15.3 (19D76)
|
||||
The following software is installed on machines with the 20200217.2 update.
|
||||
The following software is installed on machines with the 20200224.1 update.
|
||||
|
||||
#### Xcode 11.3.1 set by default
|
||||
## Operating System
|
||||
@@ -13,40 +13,41 @@ The following software is installed on machines with the 20200217.2 update.
|
||||
- Java 11: Zulu11.37+17-CA (build 11.0.6+10-LTS)
|
||||
- Java 12: Zulu12.3+11-CA (build 12.0.2+3)
|
||||
- Java 13: Zulu13.29+9-CA (build 13.0.2+6-MTS)
|
||||
- Rust 1.41.0
|
||||
- Rust 1.41.1
|
||||
- Clang/LLVM 9.0.1
|
||||
- gcc-8 (Homebrew GCC 8.3.0_2) 8.3.0
|
||||
- gcc-9 (Homebrew GCC 9.2.0_3) 9.2.0
|
||||
- GNU Fortran (Homebrew GCC 8.3.0_2) 8.3.0
|
||||
- GNU Fortran (Homebrew GCC 9.2.0_3) 9.2.0
|
||||
- Node.js v12.16.0
|
||||
- Node.js v12.16.1
|
||||
- NVM 0.33.11
|
||||
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.19.0 v12.16.0 v13.8.0
|
||||
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.19.0 v12.16.1 v13.9.0
|
||||
- PowerShell 6.2.4
|
||||
- Python 2.7.17
|
||||
- Python 3.7.6
|
||||
- Ruby 2.7.0p0
|
||||
- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.1.100 3.1.101
|
||||
- Go 1.13.8
|
||||
- PHP 7.4.2
|
||||
- Ruby 2.6.5p114
|
||||
- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101
|
||||
- Go 1.14
|
||||
- PHP 7.4.3
|
||||
|
||||
### Package Management
|
||||
- Rustup 1.21.1
|
||||
- Bundler version 2.1.4
|
||||
- Carthage 0.34.0
|
||||
- CocoaPods 1.8.4
|
||||
- CocoaPods 1.9.0
|
||||
- Homebrew 2.2.6
|
||||
- NPM 6.13.4
|
||||
- Yarn 1.22.0
|
||||
- NuGet 5.3.1.6268
|
||||
- NuGet 5.4.0.6315
|
||||
- Pip 19.3.1 (python 2.7)
|
||||
- Pip 19.3.1 (python 3.7)
|
||||
- Miniconda 4.7.12
|
||||
- RubyGems 3.1.2
|
||||
- Vcpkg 2020.02.04
|
||||
|
||||
### Project Management
|
||||
- Apache Maven 3.6.3
|
||||
- Gradle 6.2
|
||||
- Gradle 6.2.1
|
||||
|
||||
### Utilities
|
||||
- Curl 7.68.0
|
||||
@@ -54,26 +55,27 @@ The following software is installed on machines with the 20200217.2 update.
|
||||
- Git LFS: 2.10.0
|
||||
- GNU Wget 1.20.3
|
||||
- Subversion (SVN) 1.13.0
|
||||
- GNU parallel 20200122
|
||||
- GNU parallel 20200222
|
||||
- OpenSSL 1.0.2t 10 Sep 2019
|
||||
- jq 1.6
|
||||
- gpg (GnuPG) 2.2.19
|
||||
- psql (PostgreSQL) 12.1
|
||||
- psql (PostgreSQL) 12.2
|
||||
- aria2 1.35.0
|
||||
- azcopy 10.3.4
|
||||
- zstd 1.4.4
|
||||
|
||||
### Tools
|
||||
- Fastlane 2.141.0
|
||||
- Fastlane 2.142.0
|
||||
- Cmake 3.16.4
|
||||
- App Center CLI 2.3.3
|
||||
- Azure CLI 2.0.81
|
||||
- Azure CLI 2.1.0
|
||||
|
||||
### Browsers
|
||||
- Google Chrome 80.0.3987.106
|
||||
- Google Chrome 80.0.3987.122
|
||||
- ChromeDriver 80.0.3987.106
|
||||
- Microsoft Edge 80.0.361.54
|
||||
- MSEdgeDriver 80.0.361.54
|
||||
- Mozilla Firefox 73.0
|
||||
- Microsoft Edge 80.0.361.62
|
||||
- MSEdgeDriver 80.0.361.62
|
||||
- Mozilla Firefox 73.0.1
|
||||
- geckodriver 0.26.0
|
||||
|
||||
### Toolcache
|
||||
@@ -88,7 +90,7 @@ The following software is installed on machines with the 20200217.2 update.
|
||||
- 3.5.9
|
||||
- 3.6.10
|
||||
- 3.7.6
|
||||
- 3.8.1
|
||||
- 3.8.2
|
||||
|
||||
#### PyPy
|
||||
- 2.7.17
|
||||
@@ -96,20 +98,20 @@ The following software is installed on machines with the 20200217.2 update.
|
||||
|
||||
### Xamarin
|
||||
#### Visual Studio for Mac
|
||||
- 8.4.5.19
|
||||
- 8.4.7.17
|
||||
|
||||
#### Mono
|
||||
- 6.6.0.155
|
||||
- 6.6.0.166
|
||||
- 6.4.0.208
|
||||
|
||||
#### Xamarin.iOS
|
||||
- 13.10.0.17
|
||||
- 13.10.0.21
|
||||
- 13.8.3.0
|
||||
- 13.6.0.12
|
||||
- 13.4.0.2
|
||||
|
||||
#### Xamarin.Mac
|
||||
- 6.10.0.17
|
||||
- 6.10.0.21
|
||||
- 6.8.3.0
|
||||
- 6.6.0.12
|
||||
- 6.4.0.2
|
||||
@@ -122,15 +124,15 @@ The following software is installed on machines with the 20200217.2 update.
|
||||
- NUnit 3.6.1
|
||||
|
||||
### Xcode
|
||||
| Version | Build | Path |
|
||||
| --------------------------------- | --------------------------------- | --------------------------------- |
|
||||
| 11.4 (beta) | 11N111s | /Applications/Xcode_11.4_beta.app |
|
||||
| 11.3.1 (default) | 11C505 | /Applications/Xcode_11.3.1.app |
|
||||
| 11.3 | 11C29 | /Applications/Xcode_11.3.app |
|
||||
| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
|
||||
| 11.2 | 11B52 | /Applications/Xcode_11.2.app |
|
||||
| 11.1 | 11A1027 | /Applications/Xcode_11.1.app |
|
||||
| 11.0 | 11A420a | /Applications/Xcode_11.app |
|
||||
| Version | Build | Path |
|
||||
| ---------------- | ------- | --------------------------------- |
|
||||
| 11.4 (beta) | 11N123k | /Applications/Xcode_11.4_beta.app |
|
||||
| 11.3.1 (default) | 11C505 | /Applications/Xcode_11.3.1.app |
|
||||
| 11.3 | 11C29 | /Applications/Xcode_11.3.app |
|
||||
| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
|
||||
| 11.2 | 11B52 | /Applications/Xcode_11.2.app |
|
||||
| 11.1 | 11A1027 | /Applications/Xcode_11.1.app |
|
||||
| 11.0 | 11A420a | /Applications/Xcode_11.app |
|
||||
|
||||
#### Xcode Support Tools
|
||||
- Nomad CLI 3.1.2
|
||||
@@ -140,46 +142,46 @@ The following software is installed on machines with the 20200217.2 update.
|
||||
- xcversion 2.6.3
|
||||
|
||||
#### Installed SDKs
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
|
||||
| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4 |
|
||||
| iOS 13.0 | iphoneos13.0 | 11.0 |
|
||||
| iOS 13.1 | iphoneos13.1 | 11.1 |
|
||||
| iOS 13.2 | iphoneos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| iOS 13.4 | iphoneos13.4 | 11.4 |
|
||||
| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 |
|
||||
| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 |
|
||||
| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4 |
|
||||
| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
|
||||
| tvOS 13.2 | appletvos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| tvOS 13.4 | appletvos13.4 | 11.4 |
|
||||
| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 |
|
||||
| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4 |
|
||||
| watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
|
||||
| watchOS 6.1 | watchos6.1 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| watchOS 6.2 | watchos6.2 | 11.4 |
|
||||
| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 |
|
||||
| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4 |
|
||||
| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4 |
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ----------------------- | -------------------- | -------------------------------------------- |
|
||||
| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4 |
|
||||
| iOS 13.0 | iphoneos13.0 | 11.0 |
|
||||
| iOS 13.1 | iphoneos13.1 | 11.1 |
|
||||
| iOS 13.2 | iphoneos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| iOS 13.4 | iphoneos13.4 | 11.4 |
|
||||
| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 |
|
||||
| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 |
|
||||
| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4 |
|
||||
| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
|
||||
| tvOS 13.2 | appletvos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| tvOS 13.4 | appletvos13.4 | 11.4 |
|
||||
| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 |
|
||||
| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4 |
|
||||
| watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
|
||||
| watchOS 6.1 | watchos6.1 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| watchOS 6.2 | watchos6.2 | 11.4 |
|
||||
| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 |
|
||||
| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2, 11.2.1, 11.3, 11.3.1 |
|
||||
| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4 |
|
||||
| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| iOS 13.0 | 11.0 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| iOS 13.1 | 11.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| iOS 13.2 | 11.2<br>11.2.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| iOS 13.3 | 11.3<br>11.3.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| iOS 13.4 | 11.4 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad (7th generation)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| tvOS 13.0 | 11.0<br>11.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 13.2 | 11.2<br>11.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 13.3 | 11.3<br>11.3.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 13.4 | 11.4 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| watchOS 6.0 | 11.0<br>11.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
||||
| watchOS 6.1 | 11.2<br>11.2.1<br>11.3<br>11.3.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
||||
| watchOS 6.2 | 11.4 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ----------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| iOS 13.0 | 11.0 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| iOS 13.1 | 11.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| iOS 13.2 | 11.2<br>11.2.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| iOS 13.3 | 11.3<br>11.3.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad (7th generation)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| iOS 13.4 | 11.4 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad (7th generation)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
|
||||
| tvOS 13.0 | 11.0<br>11.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 13.2 | 11.2<br>11.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 13.3 | 11.3<br>11.3.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 13.4 | 11.4 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| watchOS 6.0 | 11.0<br>11.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
||||
| watchOS 6.1 | 11.2<br>11.2.1<br>11.3<br>11.3.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
||||
| watchOS 6.2 | 11.4 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
||||
|
||||
### Android
|
||||
#### Android SDK Tools
|
||||
@@ -188,70 +190,71 @@ The following software is installed on machines with the 20200217.2 update.
|
||||
| tools | Android SDK Tools, Revision 26.1.1 |
|
||||
|
||||
#### Android SDK Platform-Tools
|
||||
| Package Name | Description |
|
||||
| ------------------------------------------- | ------------------------------------------- |
|
||||
| platform-tools | Android SDK Platform-Tools, Revision 29.0.5 |
|
||||
| Package Name | Description |
|
||||
| -------------- | ------------------------------------------- |
|
||||
| platform-tools | Android SDK Platform-Tools, Revision 29.0.6 |
|
||||
|
||||
#### Android SDK Platforms
|
||||
| Package Name | Description |
|
||||
| ----------------------------------- | ----------------------------------- |
|
||||
| android-24 | Android SDK Platform 24, Revision 2 |
|
||||
| android-25 | Android SDK Platform 25, Revision 3 |
|
||||
| android-26 | Android SDK Platform 26, Revision 2 |
|
||||
| android-27 | Android SDK Platform 27, Revision 3 |
|
||||
| android-28 | Android SDK Platform 28, Revision 6 |
|
||||
| android-29 | Android SDK Platform 29, Revision 4 |
|
||||
| Package Name | Description |
|
||||
| ------------ | ----------------------------------- |
|
||||
| android-24 | Android SDK Platform 24, Revision 2 |
|
||||
| android-25 | Android SDK Platform 25, Revision 3 |
|
||||
| android-26 | Android SDK Platform 26, Revision 2 |
|
||||
| android-27 | Android SDK Platform 27, Revision 3 |
|
||||
| android-28 | Android SDK Platform 28, Revision 6 |
|
||||
| android-29 | Android SDK Platform 29, Revision 4 |
|
||||
|
||||
#### Android SDK Build-Tools
|
||||
| Package Name | Description |
|
||||
| ---------------------------------------- | ---------------------------------------- |
|
||||
| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 |
|
||||
| build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 |
|
||||
| build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 |
|
||||
| build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 |
|
||||
| build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 |
|
||||
| build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 |
|
||||
| build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 |
|
||||
| build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 |
|
||||
| build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 |
|
||||
| build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 |
|
||||
| build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 |
|
||||
| build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 |
|
||||
| build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 |
|
||||
| build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 |
|
||||
| build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 |
|
||||
| build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 |
|
||||
| build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 |
|
||||
| build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 |
|
||||
| build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 |
|
||||
| build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 |
|
||||
| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 |
|
||||
| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 |
|
||||
| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 |
|
||||
| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 |
|
||||
| Package Name | Description |
|
||||
| ---------------------- | -------------------------------------------- |
|
||||
| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 |
|
||||
| build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 |
|
||||
| build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 |
|
||||
| build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 |
|
||||
| build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 |
|
||||
| build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 |
|
||||
| build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 |
|
||||
| build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 |
|
||||
| build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 |
|
||||
| build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 |
|
||||
| build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 |
|
||||
| build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 |
|
||||
| build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 |
|
||||
| build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 |
|
||||
| build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 |
|
||||
| build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 |
|
||||
| build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 |
|
||||
| build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 |
|
||||
| build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 |
|
||||
| build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 |
|
||||
| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 |
|
||||
| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 |
|
||||
| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 |
|
||||
| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 |
|
||||
| build-tools-30.0.0-rc1 | Android SDK Build-Tools, Revision 30.0.0 rc1 |
|
||||
|
||||
#### Android Utils
|
||||
| Package Name | Version |
|
||||
| ---------------- | ---------------- |
|
||||
| cmake | 3.6.4111459 |
|
||||
| lldb | 3.1.4508709 |
|
||||
| ndk-bundle | 18.1.5063045 |
|
||||
| Android Emulator | 29.3.4 |
|
||||
| Package Name | Version |
|
||||
| ---------------- | ------------ |
|
||||
| cmake | 3.6.4111459 |
|
||||
| lldb | 3.1.4508709 |
|
||||
| ndk-bundle | 18.1.5063045 |
|
||||
| Android Emulator | 30.0.0 |
|
||||
|
||||
#### Android Google APIs
|
||||
| Package Name | Description |
|
||||
| --------------------------- | --------------------------- |
|
||||
| addon-google_apis-google-21 | Google APIs, Revision 1 |
|
||||
| addon-google_apis-google-22 | Google APIs, Revision 1 |
|
||||
| addon-google_apis-google-23 | Google APIs, Revision 1 |
|
||||
| addon-google_apis-google-24 | Google APIs, Revision 1 |
|
||||
| Package Name | Description |
|
||||
| --------------------------- | ----------------------- |
|
||||
| addon-google_apis-google-21 | Google APIs, Revision 1 |
|
||||
| addon-google_apis-google-22 | Google APIs, Revision 1 |
|
||||
| addon-google_apis-google-23 | Google APIs, Revision 1 |
|
||||
| addon-google_apis-google-24 | Google APIs, Revision 1 |
|
||||
|
||||
#### Extra Packages
|
||||
| Package Name | Version |
|
||||
| ----------------------------------------------- | ----------------------------------------------- |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| Intel x86 Emulator Accelerator (HAXM installer) | 7.5.1 |
|
||||
| Package Name | Version |
|
||||
| ----------------------------------------------- | ------- |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| Intel x86 Emulator Accelerator (HAXM installer) | 7.5.1 |
|
||||
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"root_folder": "C:",
|
||||
"image_folder": "C:\\image",
|
||||
"commit_file": "C:\\image\\commit.txt",
|
||||
"imagedata_file": "C:\\imagedata.json",
|
||||
"metadata_file": "C:\\image\\metadata.txt",
|
||||
"helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\",
|
||||
"commit_url": "LATEST",
|
||||
@@ -120,6 +121,16 @@
|
||||
"setx ImageOS {{user `image_os` }} /m"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"environment_vars": [
|
||||
"IMAGE_VERSION={{user `image_version`}}",
|
||||
"IMAGEDATA_FILE={{user `imagedata_file`}}"
|
||||
],
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Update-ImageData.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -277,11 +288,23 @@
|
||||
"{{ template_dir }}/scripts/Installers/Install-NodeLts.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Bazel.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-7zip.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Packer.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -304,6 +327,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Windows2016/Install-Python.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Perl.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -338,6 +367,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Install-Rust.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Julia.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -377,7 +412,7 @@
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-SeleniumWebDrivers.ps1"
|
||||
"{{ template_dir }}/scripts/Installers/Install-IEWebDriver.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -516,12 +551,6 @@
|
||||
"{{ template_dir }}/scripts/Installers/Install-InnoSetup.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Perl.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -607,6 +636,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Python.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Perl.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -651,6 +686,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Rust.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Julia.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -693,6 +734,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Validate-NodeLts.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -759,6 +806,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Validate-7zip.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Packer.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -783,12 +836,6 @@
|
||||
"{{ template_dir }}/scripts/Installers/Validate-InnoSetup.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Perl.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Windows Server 2016
|
||||
|
||||
The following software is installed on machines with the 20200217.1 update.
|
||||
The following software is installed on machines with the 20200301.1 update.
|
||||
|
||||
Components marked with **\*** have been upgraded since the previous version of the image.
|
||||
|
||||
@@ -30,9 +30,9 @@ _Version:_ 6.2.4
<br/>
|
||||
|
||||
## Docker images
|
||||
|
||||
The following container images have been cached:
|
||||
* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:a1bd1a6dc00f2734b5071b9295f715f36a653e4b2d259c1a4a4d9e8cd6f3ade8)
|
||||
* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:7e81f462be36ba1362062306426c65547e6d63b2eab0b5583808581081393a79)
|
||||
The following container images have been cached:
|
||||
* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:2053602020c89ff2d6c0d4005372ebc6cebcf866fb5785e562d91389aa467943)
|
||||
* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:ca895ab76f1d3ab95f022cbca076e06b62daebafe61af34212bb3ed1fe982d78)
|
||||
* mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:10e43e24be6eb5f3e19e705a88adb9794b569028f0e0d715d40f25e53e04c3fc)
|
||||
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
|
||||
* mcr.microsoft.com/windows/nanoserver:10.0.14393.953 (Digest: sha256:fc60bd5ae0e61b334ce1cf1bcbf20c10c36b4c5482a01da319c9c989f9e6e268)
|
||||
@@ -73,6 +73,8 @@ In addition the following optional components are installed:
|
||||
* Microsoft.Net.ComponentGroup.4.7.DeveloperTools
|
||||
* Microsoft.Net.Component.4.7.1.SDK
|
||||
* Microsoft.Net.Component.4.7.1.TargetingPack
|
||||
* Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools
|
||||
* Microsoft.Net.Component.4.7.2.SDK
|
||||
* Microsoft.Net.Component.4.7.2.TargetingPack
|
||||
* Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools
|
||||
* Microsoft.Net.Core.Component.SDK.1x
|
||||
@@ -326,7 +328,7 @@ _Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-21
|
||||
|
||||
_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-19
|
||||
|
||||
|
||||
|
||||
## AzureRM PowerShell module
|
||||
|
||||
#### 2.1.0
|
||||
@@ -334,23 +336,73 @@ This version is installed and is available via `Get-Module -ListAvailable`
|
||||
This version is installed and is available via `Get-Module -ListAvailable`
|
||||
#### 3.8.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1
|
||||
#### 4.2.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1
|
||||
#### 5.1.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1
|
||||
#### 6.7.0
|
||||
|
||||
This version is saved but not installed
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_6.7.0\AzureRM\6.7.0\AzureRM.psd1
|
||||
#### 6.13.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_6.13.1\AzureRM\6.13.1\AzureRM.psd1
|
||||
|
||||
## Azure PowerShell module
|
||||
|
||||
#### 2.1.0
|
||||
|
||||
This version is installed and is available via `Get-Module -ListAvailable`
|
||||
#### 3.8.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azure_3.8.0\Azure\3.8.0\Azure.psd1
|
||||
#### 4.2.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azure_4.2.1\Azure\4.2.1\Azure.psd1
|
||||
#### 5.1.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azure_5.1.1\Azure\5.1.1\Azure.psd1
|
||||
#### 5.3.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azure_5.3.0\Azure\5.3.0\Azure.psd1
|
||||
|
||||
## Az PowerShell module
|
||||
|
||||
|
||||
#### 1.0.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_1.0.0\Az\1.0.0\Az.psd1
|
||||
#### 1.6.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_1.6.0\Az\1.6.0\Az.psd1
|
||||
#### 2.3.2
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_2.3.2\Az\2.3.2\Az.psd1
|
||||
#### 2.6.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_2.6.0\Az\2.6.0\Az.psd1
|
||||
#### 3.1.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_3.1.0\Az\3.1.0\Az.psd1
|
||||
#### 3.5.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_3.5.0\Az\3.5.0\Az.psd1
|
||||
|
||||
## TLS12
|
||||
@@ -359,7 +411,7 @@ _Description:_ .NET has been configured to use TLS 1.2 by default
|
||||
_Description:_ .NET has been configured to use TLS 1.2 by default
|
||||
|
||||
## Azure CLI
|
||||
|
||||
|
||||
_Version:_ 2.1.0
|
||||
_Environment:_
|
||||
* PATH: contains location of az.cmd
|
||||
@@ -369,7 +421,7 @@ _Version:_ azure-devops 0.17.0
|
||||
_Version:_ azure-devops 0.17.0
|
||||
|
||||
## Python
|
||||
|
||||
|
||||
_Version:_ 2.7.17 (x64)<br/>_Version:_ 3.5.4 (x64)<br/>_Version:_ 3.6.8 (x64)<br/>_Version:_ 3.7.6 (x64)<br/>_Version:_ 3.8.2 (x64)<br/>_Version:_ 2.7.17 (x86)<br/>_Version:_ 3.5.4 (x86)<br/>_Version:_ 3.6.8 (x86)<br/>_Version:_ 3.7.6 (x86)<br/>_Version:_ 3.8.2 (x86)<br/>
|
||||
|
||||
## PyPy
|
||||
@@ -391,13 +443,13 @@ _Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
|
||||
_Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
|
||||
|
||||
## Git
|
||||
|
||||
|
||||
_Version:_ 2.25.1<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of git.exe
|
||||
|
||||
## Git Large File Storage (LFS)
|
||||
|
||||
|
||||
_Version:_ 2.10.0<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of git-lfs.exe
|
||||
@@ -448,11 +500,11 @@ _Environment:_
|
||||
|
||||
|
||||
## PHP (x64)
|
||||
|
||||
|
||||
#### 7.4.3
|
||||
|
||||
_Environment:_
|
||||
* PATH: contains the location of php.exe version 7.4.2
|
||||
_Environment:_
|
||||
* PATH: contains the location of php.exe version 7.4.3
|
||||
* PHPROOT: root directory of the PHP 7.4.3 installation
|
||||
|
||||
## Ruby (x64)
|
||||
@@ -464,7 +516,7 @@ _Environment:_
|
||||
* Gem Version: 3.1.2
|
||||
|
||||
## Rust (64-bit)
|
||||
|
||||
|
||||
#### 1.41.1
|
||||
_Location:_ C:\Rust\.cargo\bin
|
||||
_Environment:_
|
||||
@@ -482,17 +534,17 @@ _Environment:_
|
||||
|
||||
## Google Chrome
|
||||
|
||||
_version:_
|
||||
_version:_
|
||||
80.0.3987.122
|
||||
|
||||
## Microsoft Edge
|
||||
|
||||
_version:_
|
||||
_version:_
|
||||
80.0.361.62
|
||||
|
||||
## Mozilla Firefox
|
||||
|
||||
_version:_
|
||||
_version:_
|
||||
73.0.1
|
||||
|
||||
## Selenium Web Drivers
|
||||
@@ -508,7 +560,7 @@ _Environment:_
|
||||
|
||||
#### Gecko Driver
|
||||
|
||||
_version:_
|
||||
_version:_
|
||||
|
||||
|
||||
_Environment:_
|
||||
@@ -532,7 +584,7 @@ _Environment:_
|
||||
|
||||
|
||||
## Node.js
|
||||
|
||||
|
||||
_Version:_ 12.16.1<br/>
|
||||
_Architecture:_ x64<br/>
|
||||
_Environment:_
|
||||
@@ -573,26 +625,27 @@ _Environment:_
|
||||
* COBERTURA_HOME: location of cobertura-2.1.1.jar
|
||||
|
||||
## Maven
|
||||
|
||||
|
||||
_Version:_ 3.6.3<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of mvn.bat
|
||||
* M2_HOME: Maven installation root
|
||||
|
||||
## Gradle
|
||||
|
||||
|
||||
_Version:_ 6.2.1<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of gradle
|
||||
|
||||
## Cmake
|
||||
|
||||
|
||||
_Version:_ 3.16.4<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of cmake.exe
|
||||
|
||||
## SQL Server Data Tier Application Framework (x64)
|
||||
|
||||
|
||||
_Version:_ 15.0.4538.1<br/>
|
||||
* SQL Server Express LocalDB is available at C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe
|
||||
|
||||
## .NET Core
|
||||
@@ -604,6 +657,7 @@ _Environment:_
|
||||
|
||||
_SDK:_
|
||||
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
|
||||
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100
|
||||
* 3.0.103 C:\Program Files\dotnet\sdk\3.0.103
|
||||
* 3.0.102 C:\Program Files\dotnet\sdk\3.0.102
|
||||
* 3.0.101 C:\Program Files\dotnet\sdk\3.0.101
|
||||
@@ -628,11 +682,13 @@ _SDK:_
|
||||
* 2.2.103 C:\Program Files\dotnet\sdk\2.2.103
|
||||
* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102
|
||||
* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101
|
||||
* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100
|
||||
* 2.1.804 C:\Program Files\dotnet\sdk\2.1.804
|
||||
* 2.1.803 C:\Program Files\dotnet\sdk\2.1.803
|
||||
* 2.1.802 C:\Program Files\dotnet\sdk\2.1.802
|
||||
* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801
|
||||
* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701
|
||||
* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700
|
||||
* 2.1.609 C:\Program Files\dotnet\sdk\2.1.609
|
||||
* 2.1.608 C:\Program Files\dotnet\sdk\2.1.608
|
||||
* 2.1.607 C:\Program Files\dotnet\sdk\2.1.607
|
||||
@@ -640,6 +696,7 @@ _SDK:_
|
||||
* 2.1.605 C:\Program Files\dotnet\sdk\2.1.605
|
||||
* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604
|
||||
* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603
|
||||
* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602
|
||||
* 2.1.512 C:\Program Files\dotnet\sdk\2.1.512
|
||||
* 2.1.511 C:\Program Files\dotnet\sdk\2.1.511
|
||||
* 2.1.510 C:\Program Files\dotnet\sdk\2.1.510
|
||||
@@ -663,6 +720,7 @@ _SDK:_
|
||||
|
||||
_Runtime:_
|
||||
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1
|
||||
* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0
|
||||
* 3.0.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.3
|
||||
* 3.0.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.2
|
||||
* 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1
|
||||
@@ -683,6 +741,7 @@ _Runtime:_
|
||||
* 2.1.5 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.5
|
||||
* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4
|
||||
* 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3
|
||||
* 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2
|
||||
* 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16
|
||||
* 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15
|
||||
* 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14
|
||||
@@ -717,7 +776,7 @@ _Environment:_
|
||||
* PATH: contains location of the MinGW 'bin' directory
|
||||
|
||||
## TypeScript
|
||||
|
||||
|
||||
_Version:_ Version 3.8.3<br/>
|
||||
|
||||
## Miniconda
|
||||
@@ -727,7 +786,7 @@ _Environment:_
|
||||
* CONDA: contains location of the root of the Miniconda installation
|
||||
|
||||
## Azure CosmosDb Emulator
|
||||
|
||||
|
||||
_Version:_ 2.9.2.0<br/>
|
||||
_Location:_ C:\Program Files\Azure Cosmos DB Emulator\
|
||||
|
||||
@@ -742,6 +801,10 @@ _Version:_ <br/>
|
||||
## jq
|
||||
|
||||
_Version:_ jq-1.6<br/>
|
||||
|
||||
## zstd
|
||||
|
||||
_Version:_ v1.4.0<br/>
|
||||
|
||||
## Inno Setup
|
||||
|
||||
@@ -780,3 +843,7 @@ _Environment:_
|
||||
|
||||
_Version:_ kind v0.7.0 go1.13.6 windows/amd64<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of kind.exe
|
||||
|
||||
## bazel
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"root_folder": "C:",
|
||||
"image_folder": "C:\\image",
|
||||
"commit_file": "C:\\image\\commit.txt",
|
||||
"imagedata_file": "C:\\imagedata.json",
|
||||
"metadata_file": "C:\\image\\metadata.txt",
|
||||
"helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\",
|
||||
"commit_id": "LATEST",
|
||||
@@ -120,6 +121,16 @@
|
||||
"setx ImageOS {{user `image_os` }} /m"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"environment_vars": [
|
||||
"IMAGE_VERSION={{user `image_version`}}",
|
||||
"IMAGEDATA_FILE={{user `imagedata_file`}}"
|
||||
],
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Update-ImageData.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -172,6 +183,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Windows2019/Install-Wix.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"valid_exit_codes": [
|
||||
@@ -204,6 +221,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Windows2019/Validate-Wix.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -252,6 +275,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Install-7zip.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Packer.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "{{template_dir}}/toolcache-2019.json",
|
||||
@@ -273,6 +302,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Windows2019/Install-Python.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Perl.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -307,6 +342,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Install-Rust.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Julia.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -346,7 +387,7 @@
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-SeleniumWebDrivers.ps1"
|
||||
"{{ template_dir }}/scripts/Installers/Install-IEWebDriver.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -482,13 +523,13 @@
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-InnoSetup.ps1"
|
||||
"{{ template_dir }}/scripts/Installers/Install-Zstd.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Perl.ps1"
|
||||
"{{ template_dir }}/scripts/Installers/Install-InnoSetup.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -533,6 +574,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Install-Kind.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Install-Bazel.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "windows-restart",
|
||||
"restart_timeout": "10m"
|
||||
@@ -576,6 +623,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Python.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Perl.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -620,6 +673,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Rust.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Julia.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
@@ -727,6 +786,12 @@
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-7zip.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Packer.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
@@ -743,13 +808,13 @@
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-InnoSetup.ps1"
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Zstd.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Perl.ps1"
|
||||
"{{ template_dir }}/scripts/Installers/Validate-InnoSetup.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -800,6 +865,12 @@
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Kind.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"scripts":[
|
||||
"{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "C:\\InstalledSoftware.md",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Windows Server 2019
|
||||
|
||||
The following software is installed on machines with the 20200212.1 update.
|
||||
The following software is installed on machines with the 20200301.1 update.
|
||||
|
||||
Components marked with **\*** have been upgraded since the previous version of the image.
|
||||
|
||||
@@ -19,7 +19,7 @@ _Environment:_
|
||||
|
||||
## Docker-compose
|
||||
|
||||
_Version:_ 1.25.3<br/>
|
||||
_Version:_ 1.25.4<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of docker-compose.exe
|
||||
|
||||
@@ -30,10 +30,10 @@ _Version:_ 6.2.4
<br/>
|
||||
|
||||
## Docker images
|
||||
|
||||
The following container images have been cached:
|
||||
* mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:7437a0cac8abeb7b540ef249e6c9b5da6e3e218579b187e8a5d4528919497eba)
|
||||
* mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:05c753fb084d83f9742727a301f19bcbb2912b9a58f3ca659ba4c9d3e9b9fec2)
|
||||
* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:fb04ac71d809a06bd695d7647cff47a1c5ceb2e2b11c1ed7dd32283158522e36)
|
||||
The following container images have been cached:
|
||||
* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:746e54a4398bff0ad516d02fdb9eec5cba1a3b5ba0c15a82c051fc3dc753fe85)
|
||||
* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:708a9492c51140a07a0bd160c508dd6d17f3b061af0a3f53de607d671ee7176a)
|
||||
* mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:39ba615d7a739fcdd9fc95b97882672d5af7d0861dd16b51b238c822765d2b8d)
|
||||
* mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:4201fb07c1ece2ef0bad7b518fd487d030cd49de98b81b3ed8b98e71432df463)
|
||||
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
|
||||
|
||||
@@ -54,6 +54,9 @@ The following workloads and components are installed with Visual Studio 2019:
|
||||
* Microsoft.Component.PythonTools.Web
|
||||
* Microsoft.Component.VC.Runtime.UCRTSDK
|
||||
* Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools
|
||||
* Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools
|
||||
* Microsoft.Net.Component.4.7.2.SDK
|
||||
* Microsoft.Net.Component.4.7.2.TargetingPack
|
||||
* Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools
|
||||
* Microsoft.Net.ComponentGroup.4.7.DeveloperTools
|
||||
* Microsoft.VisualStudio.Component.AspNet45
|
||||
@@ -131,7 +134,8 @@ _Path:_ C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
|
||||
_Path:_ C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
|
||||
|
||||
## Windows Driver Kit
|
||||
|
||||
|
||||
_WDK Version:_ 10.1.18362.1<br/>
|
||||
_WDK Visual Studio Extension Version:_ 10.0.18346.0<br/>
|
||||
|
||||
## Azure Service Fabric
|
||||
@@ -304,7 +308,7 @@ _Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-21
|
||||
|
||||
_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-19
|
||||
|
||||
|
||||
|
||||
## AzureRM PowerShell module
|
||||
|
||||
#### 2.1.0
|
||||
@@ -312,23 +316,73 @@ This version is installed and is available via `Get-Module -ListAvailable`
|
||||
This version is installed and is available via `Get-Module -ListAvailable`
|
||||
#### 3.8.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1
|
||||
#### 4.2.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1
|
||||
#### 5.1.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1
|
||||
#### 6.7.0
|
||||
|
||||
This version is saved but not installed
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_6.7.0\AzureRM\6.7.0\AzureRM.psd1
|
||||
#### 6.13.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azurerm_6.13.1\AzureRM\6.13.1\AzureRM.psd1
|
||||
|
||||
## Azure PowerShell module
|
||||
|
||||
#### 2.1.0
|
||||
|
||||
This version is installed and is available via `Get-Module -ListAvailable`
|
||||
#### 3.8.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azure_3.8.0\Azure\3.8.0\Azure.psd1
|
||||
#### 4.2.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azure_4.2.1\Azure\4.2.1\Azure.psd1
|
||||
#### 5.1.1
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azure_5.1.1\Azure\5.1.1\Azure.psd1
|
||||
#### 5.3.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\azure_5.3.0\Azure\5.3.0\Azure.psd1
|
||||
|
||||
## Az PowerShell module
|
||||
|
||||
|
||||
#### 1.0.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_1.0.0\Az\1.0.0\Az.psd1
|
||||
#### 1.6.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_1.6.0\Az\1.6.0\Az.psd1
|
||||
#### 2.3.2
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_2.3.2\Az\2.3.2\Az.psd1
|
||||
#### 2.6.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_2.6.0\Az\2.6.0\Az.psd1
|
||||
#### 3.1.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_3.1.0\Az\3.1.0\Az.psd1
|
||||
#### 3.5.0
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ C:\Modules\az_3.5.0\Az\3.5.0\Az.psd1
|
||||
|
||||
## TLS12
|
||||
@@ -337,7 +391,7 @@ _Description:_ .NET has been configured to use TLS 1.2 by default
|
||||
_Description:_ .NET has been configured to use TLS 1.2 by default
|
||||
|
||||
## Azure CLI
|
||||
|
||||
|
||||
_Version:_ 2.1.0
|
||||
_Environment:_
|
||||
* PATH: contains location of az.cmd
|
||||
@@ -347,7 +401,7 @@ _Version:_ azure-devops 0.17.0
|
||||
_Version:_ azure-devops 0.17.0
|
||||
|
||||
## Python
|
||||
|
||||
|
||||
_Version:_ 2.7.17 (x64)<br/>_Version:_ 3.5.4 (x64)<br/>_Version:_ 3.6.8 (x64)<br/>_Version:_ 3.7.6 (x64)<br/>_Version:_ 3.8.2 (x64)<br/>_Version:_ 2.7.17 (x86)<br/>_Version:_ 3.5.4 (x86)<br/>_Version:_ 3.6.8 (x86)<br/>_Version:_ 3.7.6 (x86)<br/>_Version:_ 3.8.2 (x86)<br/>
|
||||
|
||||
## PyPy
|
||||
@@ -369,13 +423,13 @@ _Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
|
||||
_Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
|
||||
|
||||
## Git
|
||||
|
||||
|
||||
_Version:_ 2.25.1<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of git.exe
|
||||
|
||||
## Git Large File Storage (LFS)
|
||||
|
||||
|
||||
_Version:_ 2.10.0<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of git-lfs.exe
|
||||
@@ -421,11 +475,11 @@ _Environment:_
|
||||
|
||||
|
||||
## PHP (x64)
|
||||
|
||||
|
||||
#### 7.4.3
|
||||
|
||||
_Environment:_
|
||||
* PATH: contains the location of php.exe version 7.4.2
|
||||
_Environment:_
|
||||
* PATH: contains the location of php.exe version 7.4.3
|
||||
* PHPROOT: root directory of the PHP 7.4.3 installation
|
||||
|
||||
## Ruby (x64)
|
||||
@@ -437,7 +491,7 @@ _Environment:_
|
||||
* Gem Version: 3.1.2
|
||||
|
||||
## Rust (64-bit)
|
||||
|
||||
|
||||
#### 1.41.1
|
||||
_Location:_ C:\Rust\.cargo\bin
|
||||
_Environment:_
|
||||
@@ -455,17 +509,17 @@ _Environment:_
|
||||
|
||||
## Google Chrome
|
||||
|
||||
_version:_
|
||||
_version:_
|
||||
80.0.3987.122
|
||||
|
||||
## Microsoft Edge
|
||||
|
||||
_version:_
|
||||
_version:_
|
||||
80.0.361.62
|
||||
|
||||
## Mozilla Firefox
|
||||
|
||||
_version:_
|
||||
_version:_
|
||||
73.0.1
|
||||
|
||||
## Selenium Web Drivers
|
||||
@@ -481,7 +535,7 @@ _Environment:_
|
||||
|
||||
#### Gecko Driver
|
||||
|
||||
_version:_
|
||||
_version:_
|
||||
|
||||
|
||||
_Environment:_
|
||||
@@ -489,7 +543,7 @@ _Environment:_
|
||||
|
||||
#### IE Driver
|
||||
|
||||
_version:_
|
||||
_version:_
|
||||
80.0.3987.106
|
||||
|
||||
_Environment:_
|
||||
@@ -505,7 +559,7 @@ _Environment:_
|
||||
|
||||
|
||||
## Node.js
|
||||
|
||||
|
||||
_Version:_ 12.16.1<br/>
|
||||
_Architecture:_ x64<br/>
|
||||
_Environment:_
|
||||
@@ -546,26 +600,27 @@ _Environment:_
|
||||
* COBERTURA_HOME: location of cobertura-2.1.1.jar
|
||||
|
||||
## Maven
|
||||
|
||||
|
||||
_Version:_ 3.6.3<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of mvn.bat
|
||||
* M2_HOME: Maven installation root
|
||||
|
||||
## Gradle
|
||||
|
||||
|
||||
_Version:_ 6.2.1<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of gradle
|
||||
|
||||
## Cmake
|
||||
|
||||
|
||||
_Version:_ 3.16.4<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of cmake.exe
|
||||
|
||||
## SQL Server Data Tier Application Framework (x64)
|
||||
|
||||
|
||||
_Version:_ 15.0.4538.1<br/>
|
||||
* SQL Server Express LocalDB is available at C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe
|
||||
|
||||
## .NET Core
|
||||
@@ -577,6 +632,7 @@ _Environment:_
|
||||
|
||||
_SDK:_
|
||||
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
|
||||
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100
|
||||
* 3.0.103 C:\Program Files\dotnet\sdk\3.0.103
|
||||
* 3.0.102 C:\Program Files\dotnet\sdk\3.0.102
|
||||
* 3.0.101 C:\Program Files\dotnet\sdk\3.0.101
|
||||
@@ -601,11 +657,13 @@ _SDK:_
|
||||
* 2.2.103 C:\Program Files\dotnet\sdk\2.2.103
|
||||
* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102
|
||||
* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101
|
||||
* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100
|
||||
* 2.1.804 C:\Program Files\dotnet\sdk\2.1.804
|
||||
* 2.1.803 C:\Program Files\dotnet\sdk\2.1.803
|
||||
* 2.1.802 C:\Program Files\dotnet\sdk\2.1.802
|
||||
* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801
|
||||
* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701
|
||||
* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700
|
||||
* 2.1.609 C:\Program Files\dotnet\sdk\2.1.609
|
||||
* 2.1.608 C:\Program Files\dotnet\sdk\2.1.608
|
||||
* 2.1.607 C:\Program Files\dotnet\sdk\2.1.607
|
||||
@@ -613,6 +671,7 @@ _SDK:_
|
||||
* 2.1.605 C:\Program Files\dotnet\sdk\2.1.605
|
||||
* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604
|
||||
* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603
|
||||
* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602
|
||||
* 2.1.512 C:\Program Files\dotnet\sdk\2.1.512
|
||||
* 2.1.511 C:\Program Files\dotnet\sdk\2.1.511
|
||||
* 2.1.510 C:\Program Files\dotnet\sdk\2.1.510
|
||||
@@ -634,6 +693,7 @@ _SDK:_
|
||||
|
||||
_Runtime:_
|
||||
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1
|
||||
* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0
|
||||
* 3.0.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.3
|
||||
* 3.0.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.2
|
||||
* 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1
|
||||
@@ -654,6 +714,7 @@ _Runtime:_
|
||||
* 2.1.5 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.5
|
||||
* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4
|
||||
* 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3
|
||||
* 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2
|
||||
* 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16
|
||||
* 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15
|
||||
* 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14
|
||||
@@ -685,7 +746,7 @@ _Environment:_
|
||||
* PATH: contains location of the MinGW 'bin' directory
|
||||
|
||||
## TypeScript
|
||||
|
||||
|
||||
_Version:_ Version 3.8.3<br/>
|
||||
|
||||
## Miniconda
|
||||
@@ -695,7 +756,7 @@ _Environment:_
|
||||
* CONDA: contains location of the root of the Miniconda installation
|
||||
|
||||
## Azure CosmosDb Emulator
|
||||
|
||||
|
||||
_Version:_ 2.9.2.0<br/>
|
||||
_Location:_ C:\Program Files\Azure Cosmos DB Emulator\
|
||||
|
||||
@@ -739,7 +800,7 @@ _Environment:_
|
||||
* VCPKG_INSTALLATION_ROOT: root directory of the vcpkg installation
|
||||
|
||||
## VSWhere
|
||||
|
||||
|
||||
_Version_: Visual Studio Locator version 2.8.4+ff0de50053 [query version 2.3.2200.14893] Copyright (C) Microsoft Corporation. All rights reserved. instanceId: 34bc4745 installDate: 3/1/2020 6:49:00 AM installationName: VisualStudio/16.4.5+29806.167 installationPath: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise installationVersion: 16.4.29806.167 productId: Microsoft.VisualStudio.Product.Enterprise productPath: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\devenv.exe state: 4294967295 isComplete: 1 isLaunchable: 1 isPrerelease: 0 isRebootRequired: 0 displayName: Visual Studio Enterprise 2019 description: Scalable, end-to-end solution for teams of any size channelId: VisualStudio.16.Release channelUri: https://aka.ms/vs/16/release/channel enginePath: C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service releaseNotes: https://go.microsoft.com/fwlink/?LinkId=660893#16.4.5 thirdPartyNotices: https://go.microsoft.com/fwlink/?LinkId=660909 updateDate: 2020-03-01T06:49:00.926083Z catalog_buildBranch: d16.4 catalog_buildVersion: 16.4.29806.167 catalog_id: VisualStudio/16.4.5+29806.167 catalog_localBuild: build-lab catalog_manifestName: VisualStudio catalog_manifestType: installer catalog_productDisplayVersion: 16.4.5 catalog_productLine: Dev16 catalog_productLineVersion: 2019 catalog_productMilestone: RTW catalog_productMilestoneIsPreRelease: False catalog_productName: Visual Studio catalog_productPatchVersion: 5 catalog_productPreReleaseMilestoneSuffix: 1.0 catalog_productSemanticVersion: 16.4.5+29806.167 catalog_requiredEngineVersion: 2.4.1111.43337 properties_campaignId: properties_channelManifestId: VisualStudio.16.Release/16.4.5+29806.167 properties_nickname: properties_setupEngineFilePath: C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installershell.exe<br/>
|
||||
* PATH: contains location of vswhere.exe
|
||||
|
||||
@@ -753,3 +814,7 @@ _Environment:_
|
||||
|
||||
_Version:_ kind v0.7.0 go1.13.6 windows/amd64<br/>
|
||||
_Environment:_
|
||||
* PATH: contains location of kind.exe
|
||||
|
||||
## bazel
|
||||
|
||||
|
||||
@@ -3,195 +3,66 @@
|
||||
## Desc: Install Azure PowerShell modules
|
||||
################################################################################
|
||||
|
||||
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
||||
|
||||
function Download-Zip
|
||||
{
|
||||
[CmdletBinding()]
|
||||
Param(
|
||||
[Parameter(
|
||||
Mandatory = $true
|
||||
)]
|
||||
[string]
|
||||
$BlobUri
|
||||
)
|
||||
|
||||
Write-Host "Downloading the zip from blob: '$BlobUri'"
|
||||
$fileName = "azureps_" + "$(Get-Random)" + ".zip"
|
||||
$targetLocation = Join-Path $ENV:Temp -ChildPath $fileName
|
||||
Write-Host "Download target location: '$targetLocation'"
|
||||
$webClient = New-Object Net.WebClient
|
||||
$null = $webClient.DownloadFileAsync($BlobUri, $targetLocation)
|
||||
while ($webClient.IsBusy) { }
|
||||
Write-Host "Download complete. Target Location: '$targetLocation'"
|
||||
return $targetLocation
|
||||
}
|
||||
|
||||
function Extract-Zip
|
||||
{
|
||||
[CmdletBinding()]
|
||||
Param(
|
||||
[Parameter(
|
||||
Mandatory = $true
|
||||
)]
|
||||
[string]
|
||||
$ZipFilePath,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true
|
||||
)]
|
||||
[string]
|
||||
$TargetLocation
|
||||
)
|
||||
|
||||
Write-Host "Expanding the Zip File: '$ZipFilePath'. Target: '$TargetLocation'"
|
||||
$null = [System.IO.Compression.ZipFile]::ExtractToDirectory($ZipFilePath, $TargetLocation)
|
||||
Write-Host "Extraction completed successfully."
|
||||
}
|
||||
|
||||
Set-PSRepository -InstallationPolicy Trusted -Name PSGallery
|
||||
|
||||
# We try to detect the whether Azure PowerShell is installed using .msi file. If it is installed, we find it's version, then it needs to be uninstalled manually (because the uninstallation requires the PowerShell session to be closed)
|
||||
$regKey = "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
|
||||
$installedApplications = Get-ItemProperty -Path $regKey
|
||||
$SdkVersion = ($installedApplications | Where-Object { $_.DisplayName -and $_.DisplayName.toLower().Contains("microsoft azure powershell") } | Select-Object -First 1).DisplayVersion
|
||||
|
||||
if($SdkVersion -eq $null)
|
||||
{
|
||||
Write-Host "No .msi Installation Present"
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host "An Azure PowerShell Installation through installer has been detected. Please close this powershell session and manually uninstall the Azure PowerShell from the Add or Remove Programs in the Control Panel. Then, rerun this script from an Admin PowerShell"
|
||||
throw "An Azure PowerShell Installation through installer has been detected. Please close this powershell session and manually uninstall the Azure PowerShell from the Add or Remove Programs in the Control Panel. Then, rerun this script from an Admin PowerShell"
|
||||
}
|
||||
|
||||
# We will try to uninstall any installation of Azure PowerShell
|
||||
|
||||
$modules = Get-Module -Name Azure -ListAvailable
|
||||
Write-Host "The Azure Modules initially present are:"
|
||||
$modules | Select-Object Name,Version,Path | Format-Table
|
||||
|
||||
foreach($module in $modules)
|
||||
{
|
||||
# add logging for telling what module we are working on now
|
||||
if(Test-Path -LiteralPath $module.Path)
|
||||
{
|
||||
try
|
||||
{
|
||||
Uninstall-Module -Name Azure -RequiredVersion $module.Version.tostring() -Force
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "The Uninstallation of Azure Module version: $($module.Version.tostring()) failed with the error: $($_.Exception.Message) . Please Check if there isn't any other PowerShell session open."
|
||||
throw $_.Exception.Message
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$modules = Get-Module -Name AzureRM -ListAvailable
|
||||
Write-Host "The AzureRM Modules initially present are:"
|
||||
$modules | Select-Object Name,Version,Path | Format-Table
|
||||
|
||||
foreach($module in $modules)
|
||||
{
|
||||
# add logging for telling what module we are working on now
|
||||
if(Test-Path -LiteralPath $module.Path)
|
||||
{
|
||||
try
|
||||
{
|
||||
Uninstall-Module -Name AzureRM -RequiredVersion $module.Version.tostring() -Force
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "The Uninstallation of AzureRM Module version: $($module.Version.tostring()) failed with the error: $($_.Exception.Message) . Please Check if there isn't any other PowerShell session open."
|
||||
throw $_.Exception.Message
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#after this, the only installations available through a Get-Module cmdlet should be nothing
|
||||
|
||||
$modules = Get-Module -Name Azure -ListAvailable
|
||||
|
||||
foreach($module in $modules)
|
||||
{
|
||||
Write-Host "Module found: $($module.Name) Module Version: $($module.Version)"
|
||||
if($module.Version.ToString() -ne " ")
|
||||
{
|
||||
Write-Host "Another installation of Azure module is detected with version $($module.Version.ToString()) at path: $($module.Path)"
|
||||
throw "Azure module uninstallation unsuccessful"
|
||||
}
|
||||
}
|
||||
|
||||
$modules = Get-Module -Name AzureRM -ListAvailable
|
||||
|
||||
foreach($module in $modules)
|
||||
{
|
||||
write-host "Module found: $($module.Name) Module Version: $($module.Version)"
|
||||
if($module.Version.ToString() -ne " ")
|
||||
{
|
||||
Write-Host "Another installation of AzureRM module is detected with version $($module.Version.ToString()) at path: $($module.Path)"
|
||||
throw "AzureRM module uninstallation unsuccessful"
|
||||
}
|
||||
}
|
||||
|
||||
#### NOW The correct Modules need to be saved in C:\Modules
|
||||
|
||||
if($(Test-Path -LiteralPath "C:\Modules") -eq $true)
|
||||
$installPSModulePath = 'C:\Modules'
|
||||
if(-not (Test-Path -LiteralPath $installPSModulePath))
|
||||
{
|
||||
Write-Host "C:\Modules directory is already present. Beginning to clear it up completely"
|
||||
Remove-Item -Path "C:\Modules" -Recurse -Force
|
||||
Write-Host "Creating '$installPSModulePath' folder to store PowerShell Azure modules"
|
||||
$null = New-Item -Path $installPSModulePath -ItemType Directory
|
||||
}
|
||||
|
||||
mkdir "C:\Modules"
|
||||
# Powershell Azure modules to install
|
||||
$psAzureModulesToInstall = @{
|
||||
"azurerm" = @(
|
||||
"2.1.0"
|
||||
"3.8.0"
|
||||
"4.2.1"
|
||||
"5.1.1"
|
||||
"6.7.0"
|
||||
"6.13.1"
|
||||
)
|
||||
|
||||
$directoryListing = Get-ChildItem -Path "C:\Modules"
|
||||
"azure" = @(
|
||||
"2.1.0"
|
||||
"3.8.0"
|
||||
"4.2.1"
|
||||
"5.1.1"
|
||||
"5.3.0"
|
||||
)
|
||||
|
||||
if($directoryListing.Length -gt 0)
|
||||
"az" = @(
|
||||
"1.0.0"
|
||||
"1.6.0"
|
||||
"2.3.2"
|
||||
"2.6.0"
|
||||
"3.1.0"
|
||||
"3.5.0"
|
||||
)
|
||||
}
|
||||
|
||||
# Download Azure PowerShell modules
|
||||
foreach($psmoduleName in $psAzureModulesToInstall.Keys)
|
||||
{
|
||||
Write-Host "C:\Modules was not deleted properly. It still has the following contents:"
|
||||
$directoryListing
|
||||
}
|
||||
else {
|
||||
Write-Host "The Directory is clean. There are no contents present in it"
|
||||
}
|
||||
|
||||
# Download and unzip the stored AzurePSModules from the vstsagentools public blob
|
||||
$extractLocation = "C:\Modules"
|
||||
$azurePsUri = @(
|
||||
"https://vstsagenttools.blob.core.windows.net/tools/azurepowershellmodules/AzurePSModules.M157.20190808.27979.zip",
|
||||
"https://vstsagenttools.blob.core.windows.net/tools/azurepowershellmodules/AzureRmPSModules.M157.20190808.27379.zip",
|
||||
"https://vstsagenttools.blob.core.windows.net/tools/azurepowershellmodules/AzPSModules.M163.20191211.17769.zip"
|
||||
)
|
||||
|
||||
$azureRMModulePath = "C:\Modules\azurerm_2.1.0"
|
||||
$azureModulePath = "C:\Modules\azure_2.1.0"
|
||||
$finalPath = ""
|
||||
$environmentPSModulePath = [Environment]::GetEnvironmentVariable("PSModulePath", "Machine")
|
||||
$existingPaths = $environmentPSModulePath -split ';' -replace '\\$',''
|
||||
|
||||
if ($existingPaths -notcontains $azureRMModulePath) {
|
||||
$finalPath = $azureRMModulePath
|
||||
}
|
||||
|
||||
if ($existingPaths -notcontains $azureModulePath) {
|
||||
if($finalPath -ne "") {
|
||||
$finalPath = $finalPath + ";" + $azureModulePath
|
||||
}
|
||||
else {
|
||||
$finalPath = $azureModulePath
|
||||
Write-Host "Installing '$psmoduleName' to the '$installPSModulePath' path:"
|
||||
$psmoduleVersions = $psAzureModulesToInstall[$psmoduleName]
|
||||
foreach($psmoduleVersion in $psmoduleVersions)
|
||||
{
|
||||
$psmodulePath = Join-Path $installPSModulePath "${psmoduleName}_${psmoduleVersion}"
|
||||
Write-Host " - $psmoduleVersion [$psmodulePath]"
|
||||
try
|
||||
{
|
||||
Save-Module -Path $psmodulePath -Name $psmoduleName -RequiredVersion $psmoduleVersion -Force -ErrorAction Stop
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "Error: $_"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($finalPath -ne "") {
|
||||
[Environment]::SetEnvironmentVariable("PSModulePath", $finalPath + ";" + $env:PSModulePath, "Machine")
|
||||
}
|
||||
|
||||
$env:PSModulePath = $env:PSModulePath.TrimStart(';')
|
||||
|
||||
foreach ($uri in $azurePsUri)
|
||||
{
|
||||
$targetFile = Download-Zip -BlobUri $uri
|
||||
Extract-Zip -ZipFilePath $targetFile -TargetLocation $extractLocation
|
||||
}
|
||||
# Add AzureRM and Azure modules to the PSModulePath
|
||||
$finalModulePath = '{0};{1};{2}' -f "${installPSModulePath}\azurerm_2.1.0", "${installPSModulePath}\azure_2.1.0", $env:PSModulePath
|
||||
[Environment]::SetEnvironmentVariable("PSModulePath", $finalModulePath, "Machine")
|
||||
8
images/win/scripts/Installers/Install-Bazel.ps1
Normal file
8
images/win/scripts/Installers/Install-Bazel.ps1
Normal file
@@ -0,0 +1,8 @@
|
||||
################################################################################
|
||||
## File: Install-Bazel.ps1
|
||||
## Desc: Install Bazel and Bazelisk (A user-friendly launcher for Bazel)
|
||||
################################################################################
|
||||
|
||||
choco install bazel -y
|
||||
|
||||
npm install -g @bazel/bazelisk
|
||||
@@ -18,7 +18,7 @@ $GoogleSvcs | Set-SvcWithErrHandling -Arguments @{StartupType = "Disabled"};
|
||||
|
||||
$regGoogleUpdatePath = "HKLM:\SOFTWARE\Policies\Google\Update";
|
||||
$regGoogleUpdateChrome = "HKLM:\SOFTWARE\Policies\Google\Chrome";
|
||||
($regGoogleUpdatePath, $regGoogleUpdateChrome) | ForEach-Object {
|
||||
($regGoogleUpdatePath, $regGoogleUpdateChrome) | ForEach-Object {
|
||||
New-Item -Path $_ -Force;
|
||||
}
|
||||
|
||||
@@ -39,4 +39,44 @@ $regGoogleParameters | ForEach-Object {
|
||||
New-ItemProperty @Arguments;
|
||||
}
|
||||
|
||||
# Reinstall Chrome Web Driver
|
||||
Write-Host "Install Chrome WebDriver"
|
||||
$DestinationPath = "$($env:SystemDrive)\";
|
||||
$ChromeDriverPath = "${DestinationPath}SeleniumWebDrivers\ChromeDriver";
|
||||
|
||||
if (-not (Test-Path -Path $ChromeDriverPath)) {
|
||||
New-Item -Path $ChromeDriverPath -ItemType "directory"
|
||||
}
|
||||
|
||||
$RegistryPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
|
||||
$ChromePath = (Get-ItemProperty "$RegistryPath\chrome.exe").'(default)';
|
||||
[version]$ChromeVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($ChromePath).ProductVersion;
|
||||
Write-Host "Chrome version: [$ChromeVersion]";
|
||||
|
||||
$ChromeDriverVersionUri = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$($ChromeVersion.Major).$($ChromeVersion.Minor).$($ChromeVersion.Build)";
|
||||
Write-Host "Chrome driver version Uri [$ChromeDriverVersionUri]";
|
||||
Write-Host "Getting the Chrome driver version...";
|
||||
$ChromeDriverVersion = Invoke-WebRequest -Uri $ChromeDriverVersionUri;
|
||||
Write-Host "Current Chrome driver version: [$ChromeDriverVersion]";
|
||||
|
||||
$ChromeDriverZipDownloadUri = "https://chromedriver.storage.googleapis.com/$($ChromeDriverVersion.ToString())/chromedriver_win32.zip";
|
||||
Write-Host "Chrome driver zip file download Uri: [$ChromeDriverZipDownloadUri]";
|
||||
|
||||
$DestFile= "$ChromeDriverPath\chromedriver_win32.zip";
|
||||
$ChromeDriverVersion.Content | Out-File -FilePath "$ChromeDriverPath\versioninfo.txt" -Force;
|
||||
|
||||
Write-Host "Chrome driver download....";
|
||||
Invoke-WebRequest -Uri $ChromeDriverZipDownloadUri -OutFile $DestFile;
|
||||
|
||||
Write-Host "Chrome driver install....";
|
||||
Expand-Archive -Path "$ChromeDriverPath\chromedriver_win32.zip" -DestinationPath $ChromeDriverPath -Force;
|
||||
Remove-Item -Path "$ChromeDriverPath\chromedriver_win32.zip" -Force;
|
||||
|
||||
Write-Host "Setting the environment variables"
|
||||
|
||||
setx ChromeWebDriver "$ChromeDriverPath" /M;
|
||||
|
||||
$regEnvKey = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\';
|
||||
$PathValue = Get-ItemPropertyValue -Path $regEnvKey -Name 'Path';
|
||||
$PathValue += ";$ChromeDriverPath\";
|
||||
Set-ItemProperty -Path $regEnvKey -Name 'Path' -Value $PathValue;
|
||||
|
||||
@@ -66,7 +66,8 @@ function InstallAllValidSdks()
|
||||
Invoke-WebRequest -Uri $dotnetChannel.'releases.json' -UseBasicParsing -OutFile "releases-$channelVersion.json"
|
||||
$currentReleases = Get-Content -Path "releases-$channelVersion.json" | ConvertFrom-Json
|
||||
# filtering out the preview/rc releases
|
||||
$currentReleases = $currentReleases.'releases' | Where-Object { !$_.'release-version'.Contains('-') } | Sort-Object { [Version] $_.'release-version' }
|
||||
# Remove version 3.1.102 from install list, .NET gave a heads-up that this might cause issues and they are working on a fix. https://github.com/dotnet/aspnetcore/issues/19133
|
||||
$currentReleases = $currentReleases.'releases' | Where-Object { !$_.'release-version'.Contains('-') -and !$_.'release-version'.Contains('3.1.2') } | Sort-Object { [Version] $_.'release-version' }
|
||||
ForEach ($release in $currentReleases)
|
||||
{
|
||||
if ($release.'sdks'.Count -gt 0)
|
||||
@@ -78,8 +79,7 @@ function InstallAllValidSdks()
|
||||
# Sort the sdks on version
|
||||
$sdks = @($release.'sdk');
|
||||
|
||||
# Remove version 3.1.102 from install list, .NET gave a heads-up that this might cause issues and they are working on a fix.
|
||||
$sdks += $release.'sdks' | Where-Object { !$_.'version'.Equals('3.1.102') -and !$_.'version'.Contains('-') -and !$_.'version'.Equals($release.'sdk'.'version') }
|
||||
$sdks += $release.'sdks' | Where-Object { !$_.'version'.Contains('-') -and !$_.'version'.Equals($release.'sdk'.'version') }
|
||||
$sdks = $sdks | Sort-Object { [Version] $_.'version' }
|
||||
|
||||
ForEach ($sdk in $sdks)
|
||||
|
||||
@@ -4,3 +4,38 @@
|
||||
################################################################################
|
||||
|
||||
choco install microsoft-edge -y
|
||||
|
||||
# Install Microsoft Edge Web Driver
|
||||
Write-Host "Install Edge WebDriver"
|
||||
$DestinationPath = "$($env:SystemDrive)\";
|
||||
|
||||
$EdgeDriverPath = "${DestinationPath}SeleniumWebDrivers\EdgeDriver"
|
||||
if (-not (Test-Path -Path $EdgeDriverPath)) {
|
||||
New-Item -Path $EdgeDriverPath -ItemType "directory"
|
||||
}
|
||||
|
||||
$RegistryPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
|
||||
$EdgePath = (Get-ItemProperty "$RegistryPath\msedge.exe").'(default)'
|
||||
[version]$EdgeVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($EdgePath).ProductVersion
|
||||
$EdgeDriverVersionUrl = "https://msedgedriver.azureedge.net/LATEST_RELEASE_$($EdgeVersion.Major)"
|
||||
$EdgeDriverVersionFile = "$EdgeDriverPath\versioninfo.txt"
|
||||
Invoke-WebRequest -Uri $EdgeDriverVersionUrl -OutFile $EdgeDriverVersionFile
|
||||
|
||||
Write-Host "Microsoft Edge driver download started"
|
||||
$EdgeDriverLatestVersion = Get-Content -Path $EdgeDriverVersionFile
|
||||
$EdgeDriverDownloadUrl="https://msedgedriver.azureedge.net/${EdgeDriverLatestVersion}/edgedriver_win64.zip"
|
||||
$DestFile = "$EdgeDriverPath\edgedriver_win64.zip"
|
||||
Invoke-WebRequest -Uri $EdgeDriverDownloadUrl -OutFile $DestFile
|
||||
|
||||
Write-Host "Microsoft Edge driver installation started"
|
||||
Expand-Archive -Path $DestFile -DestinationPath $EdgeDriverPath -Force
|
||||
Remove-Item -Path $DestFile -Force
|
||||
|
||||
Write-Host "Setting the environment variables"
|
||||
|
||||
setx EdgeWebDriver "$EdgeDriverPath" /M;
|
||||
|
||||
$regEnvKey = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\';
|
||||
$PathValue = Get-ItemPropertyValue -Path $regEnvKey -Name 'Path';
|
||||
$PathValue += ";$EdgeDriverPath\";
|
||||
Set-ItemProperty -Path $regEnvKey -Name 'Path' -Value $PathValue;
|
||||
|
||||
@@ -26,18 +26,27 @@ $firefoxPreferencesFolder = Join-Path $firefoxDirectoryPath "defaults\pref"
|
||||
New-Item -path $firefoxPreferencesFolder -Name 'local-settings.js' -Value 'pref("general.config.obscure_value", 0);
|
||||
pref("general.config.filename", "mozilla.cfg");' -ItemType file -force
|
||||
|
||||
# Install Firefox gecko Web Driver
|
||||
Write-Host "Install Firefox WebDriver"
|
||||
$DestinationPath = "$($env:SystemDrive)\";
|
||||
$SeleniumWebDriverPath = Join-Path $DestinationPath "SeleniumWebDrivers"
|
||||
|
||||
$geckodriverJson = Invoke-RestMethod "https://api.github.com/repos/mozilla/geckodriver/releases/latest"
|
||||
$geckodriverWindowsAsset = $geckodriverJson.assets | Where-Object { $_.name -Match "win64" } | Select-Object -First 1
|
||||
|
||||
Write-Host "Geckodriver version: $($geckodriverJson.tag_name)"
|
||||
|
||||
$geckodriverVersion = $geckodriverJson.tag_name
|
||||
Write-Host "Geckodriver version: $geckodriverVersion"
|
||||
|
||||
$DriversZipFile = $geckodriverWindowsAsset.name
|
||||
Write-Host "Selenium drivers download and install..."
|
||||
|
||||
$FirefoxDriverPath = Join-Path $env:SystemDrive "SeleniumWebDrivers\GeckoDriver"
|
||||
$FirefoxDriverPath = Join-Path $SeleniumWebDriverPath "GeckoDriver"
|
||||
|
||||
if (-not (Test-Path -Path $FirefoxDriverPath)) {
|
||||
New-Item -Path $FirefoxDriverPath -ItemType "directory"
|
||||
}
|
||||
|
||||
$geckodriverVersion.Substring(1) | Out-File -FilePath "$FirefoxDriverPath\versioninfo.txt" -Force;
|
||||
|
||||
# Install Firefox Web Driver
|
||||
Write-Host "FireFox driver download...."
|
||||
@@ -63,4 +72,4 @@ Write-Host "Setting the environment variables"
|
||||
Add-MachinePathItem -PathItem $FireFoxDriverPath
|
||||
setx GeckoWebDriver "$FirefoxDriverPath" /M;
|
||||
|
||||
exit 0
|
||||
exit 0
|
||||
|
||||
@@ -12,7 +12,6 @@ choco install git -y --package-parameters="/GitAndUnixToolsOnPath /WindowsTermin
|
||||
# Disable GCM machine-wide
|
||||
[Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine)
|
||||
|
||||
Add-MachinePathItem "C:\Program Files\Git\usr\bin"
|
||||
Add-MachinePathItem "C:\Program Files\Git\bin"
|
||||
|
||||
exit 0
|
||||
|
||||
32
images/win/scripts/Installers/Install-IEWebDriver.ps1
Normal file
32
images/win/scripts/Installers/Install-IEWebDriver.ps1
Normal file
@@ -0,0 +1,32 @@
|
||||
################################################################################
|
||||
## File: Install-SeleniumWebDrivers.ps1
|
||||
## Desc: Install Selenium Web Drivers
|
||||
################################################################################
|
||||
$DestinationPath = "$($env:SystemDrive)\";
|
||||
$DriversZipFile = "SeleniumWebDrivers.zip"
|
||||
Write-Host "Destination path: [$DestinationPath]";
|
||||
Write-Host "Selenium drivers download and install...";
|
||||
try {
|
||||
Invoke-WebRequest -UseBasicParsing -Uri "https://seleniumwebdrivers.blob.core.windows.net/seleniumwebdrivers/${DriversZipFile}" -OutFile $DriversZipFile;
|
||||
}
|
||||
catch {
|
||||
Write-Error "[!] Failed to download $DriversZipFile";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
$TempSeleniumDir = Join-Path $Env:TEMP "SeleniumWebDrivers"
|
||||
Expand-Archive -Path $DriversZipFile -DestinationPath $Env:TEMP -Force;
|
||||
Remove-Item $DriversZipFile;
|
||||
|
||||
$SeleniumWebDriverPath = Join-Path $DestinationPath "SeleniumWebDrivers"
|
||||
$IEDriverPathTemp = Join-Path $TempSeleniumDir 'IEDriver'
|
||||
|
||||
if (-not (Test-Path -Path $SeleniumWebDriverPath)) {
|
||||
New-Item -Path $SeleniumWebDriverPath -ItemType "directory"
|
||||
}
|
||||
|
||||
Move-Item -Path "$IEDriverPathTemp" -Destination $SeleniumWebDriverPath
|
||||
|
||||
Write-Host "Setting the environment variables"
|
||||
|
||||
setx IEWebDriver "C:\SeleniumWebDrivers\IEDriver" /M;
|
||||
6
images/win/scripts/Installers/Install-Packer.ps1
Normal file
6
images/win/scripts/Installers/Install-Packer.ps1
Normal file
@@ -0,0 +1,6 @@
|
||||
################################################################################
|
||||
## File: Install-Packer.ps1
|
||||
## Desc: Install Packer
|
||||
################################################################################
|
||||
|
||||
choco install packer -y
|
||||
@@ -1,96 +0,0 @@
|
||||
################################################################################
|
||||
## File: Install-SeleniumWebDrivers.ps1
|
||||
## Desc: Install Selenium Web Drivers
|
||||
################################################################################
|
||||
$DestinationPath = "$($env:SystemDrive)\";
|
||||
$DriversZipFile = "SeleniumWebDrivers.zip"
|
||||
Write-Host "Destination path: [$DestinationPath]";
|
||||
Write-Host "Selenium drivers download and install...";
|
||||
try {
|
||||
Invoke-WebRequest -UseBasicParsing -Uri "https://seleniumwebdrivers.blob.core.windows.net/seleniumwebdrivers/${DriversZipFile}" -OutFile $DriversZipFile;
|
||||
}
|
||||
catch {
|
||||
Write-Error "[!] Failed to download $DriversZipFile";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
$TempSeleniumDir = Join-Path $Env:TEMP "SeleniumWebDrivers"
|
||||
Expand-Archive -Path $DriversZipFile -DestinationPath $Env:TEMP -Force;
|
||||
Remove-Item $DriversZipFile;
|
||||
|
||||
$SeleniumWebDriverPath = Join-Path $DestinationPath "SeleniumWebDrivers"
|
||||
$IEDriverPathTemp = Join-Path $TempSeleniumDir 'IEDriver'
|
||||
|
||||
if (-not (Test-Path -Path $SeleniumWebDriverPath)) {
|
||||
New-Item -Path $SeleniumWebDriverPath -ItemType "directory"
|
||||
}
|
||||
|
||||
Move-Item -Path "$IEDriverPathTemp" -Destination $SeleniumWebDriverPath
|
||||
|
||||
|
||||
# Reinstall Chrome Web Driver
|
||||
$ChromeDriverPath = "${DestinationPath}SeleniumWebDrivers\ChromeDriver";
|
||||
|
||||
if (-not (Test-Path -Path $ChromeDriverPath)) {
|
||||
New-Item -Path $ChromeDriverPath -ItemType "directory"
|
||||
}
|
||||
|
||||
$RegistryPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
|
||||
$ChromePath = (Get-ItemProperty "$RegistryPath\chrome.exe").'(default)';
|
||||
[version]$ChromeVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($ChromePath).ProductVersion;
|
||||
Write-Host "Chrome version: [$ChromeVersion]";
|
||||
|
||||
$ChromeDriverVersionUri = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$($ChromeVersion.Major).$($ChromeVersion.Minor).$($ChromeVersion.Build)";
|
||||
Write-Host "Chrome driver version Uri [$ChromeDriverVersionUri]";
|
||||
Write-Host "Getting the Chrome driver version...";
|
||||
$ChromeDriverVersion = Invoke-WebRequest -Uri $ChromeDriverVersionUri;
|
||||
Write-Host "Current Chrome driver version: [$ChromeDriverVersion]";
|
||||
|
||||
$ChromeDriverZipDownloadUri = "https://chromedriver.storage.googleapis.com/$($ChromeDriverVersion.ToString())/chromedriver_win32.zip";
|
||||
Write-Host "Chrome driver zip file download Uri: [$ChromeDriverZipDownloadUri]";
|
||||
|
||||
$DestFile= "$ChromeDriverPath\chromedriver_win32.zip";
|
||||
$ChromeDriverVersion.Content | Out-File -FilePath "$ChromeDriverPath\versioninfo.txt" -Force;
|
||||
|
||||
Write-Host "Chrome driver download....";
|
||||
Invoke-WebRequest -Uri $ChromeDriverZipDownloadUri -OutFile $DestFile;
|
||||
|
||||
Write-Host "Chrome driver install....";
|
||||
Expand-Archive -Path "$ChromeDriverPath\chromedriver_win32.zip" -DestinationPath $ChromeDriverPath -Force;
|
||||
Remove-Item -Path "$ChromeDriverPath\chromedriver_win32.zip" -Force;
|
||||
|
||||
# Install Microsoft Edge Web Driver
|
||||
Write-Host "Microsoft Edge driver download...."
|
||||
$EdgeDriverPath = "${DestinationPath}SeleniumWebDrivers\EdgeDriver"
|
||||
if (-not (Test-Path -Path $EdgeDriverPath)) {
|
||||
New-Item -Path $EdgeDriverPath -ItemType "directory"
|
||||
}
|
||||
|
||||
$EdgePath = (Get-ItemProperty "$RegistryPath\msedge.exe").'(default)'
|
||||
[version]$EdgeVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($EdgePath).ProductVersion
|
||||
$EdgeDriverVersionUrl = "https://msedgedriver.azureedge.net/LATEST_RELEASE_$($EdgeVersion.Major)"
|
||||
$EdgeDriverVersionFile = "$EdgeDriverPath\versioninfo.txt"
|
||||
Invoke-WebRequest -Uri $EdgeDriverVersionUrl -OutFile $EdgeDriverVersionFile
|
||||
|
||||
$EdgeDriverLatestVersion = Get-Content -Path $EdgeDriverVersionFile
|
||||
$EdgeDriverDownloadUrl="https://msedgedriver.azureedge.net/${EdgeDriverLatestVersion}/edgedriver_win64.zip"
|
||||
$DestFile = "$EdgeDriverPath\edgedriver_win64.zip"
|
||||
Invoke-WebRequest -Uri $EdgeDriverDownloadUrl -OutFile $DestFile
|
||||
|
||||
Write-Host "Microsoft Edge driver install...."
|
||||
Expand-Archive -Path $DestFile -DestinationPath $EdgeDriverPath -Force
|
||||
Remove-Item -Path $DestFile -Force
|
||||
|
||||
Write-Host "Setting the environment variables"
|
||||
|
||||
setx IEWebDriver "C:\SeleniumWebDrivers\IEDriver" /M;
|
||||
setx ChromeWebDriver "$ChromeDriverPath" /M;
|
||||
setx EdgeWebDriver "$EdgeDriverPath" /M;
|
||||
|
||||
$regEnvKey = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\';
|
||||
$PathValue = Get-ItemPropertyValue -Path $regEnvKey -Name 'Path';
|
||||
$PathValue += ";$ChromeDriverPath\";
|
||||
$PathValue += ";$EdgeDriverPath\";
|
||||
Set-ItemProperty -Path $regEnvKey -Name 'Path' -Value $PathValue;
|
||||
|
||||
exit 0;
|
||||
@@ -68,6 +68,7 @@ Push-Location -Path $sdk.FullName
|
||||
"platforms;android-22" `
|
||||
"platforms;android-21" `
|
||||
"platforms;android-19" `
|
||||
"build-tools;29.0.3" `
|
||||
"build-tools;29.0.2" `
|
||||
"build-tools;29.0.0" `
|
||||
"build-tools;28.0.3" `
|
||||
|
||||
35
images/win/scripts/Installers/Update-ImageData.ps1
Normal file
35
images/win/scripts/Installers/Update-ImageData.ps1
Normal file
@@ -0,0 +1,35 @@
|
||||
$os = Get-CimInstance -ClassName Win32_OperatingSystem
|
||||
$caption = $os.Caption
|
||||
$osName = $caption.Substring(0, $caption.LastIndexOf(" "))
|
||||
$osEdition = $caption.Substring($caption.LastIndexOf(" ")+1)
|
||||
$osVersion = $os.Version
|
||||
$imageVersion = $env:IMAGE_VERSION
|
||||
$imageDataFile = $env:IMAGEDATA_FILE
|
||||
$githubUrl="https://github.com/actions/virtual-environments/blob"
|
||||
|
||||
if ($caption -match "2019")
|
||||
{
|
||||
$imageLabel = "windows-2019"
|
||||
$softwareUrl = "${githubUrl}/win19/${imageVersion}/images/win/Windows2019-Readme.md"
|
||||
}
|
||||
|
||||
if ($caption -match "2016")
|
||||
{
|
||||
$imageLabel = "windows-2016"
|
||||
$softwareUrl = "${githubUrl}/win16/${imageVersion}/images/win/Windows2016-Readme.md"
|
||||
}
|
||||
|
||||
$json = @"
|
||||
[
|
||||
{
|
||||
"group": "Operating System",
|
||||
"detail": "${osName}\n${osVersion}\n${osEdition}"
|
||||
},
|
||||
{
|
||||
"group": "Virtual Environment",
|
||||
"detail": "Environment: ${imageLabel}\nVersion: ${imageVersion}\nIncluded Software: ${softwareUrl}"
|
||||
}
|
||||
]
|
||||
"@
|
||||
|
||||
$json | Out-File -FilePath $imageDataFile
|
||||
@@ -5,67 +5,92 @@
|
||||
|
||||
Import-Module -Name ImageHelpers -Force
|
||||
|
||||
$DefaultModule = Get-Module -Name AzureRM -ListAvailable | Select-Object -First 1
|
||||
|
||||
$env:PSModulePath = $env:PSModulePath + ";C:\Modules"
|
||||
|
||||
$azureModules = Get-Module -Name Azure -ListAvailable | Select-Object Name,Version,Path | Format-Table | Out-String
|
||||
|
||||
Write-Host "The Azure Modules finally present are:"
|
||||
$azureModules
|
||||
|
||||
if( ($azureModules -match "2.1.0") -and ($azureModules -match "3.8.0") -and ($azureModules -match "4.2.1") -and ($azureModules -match "5.1.1"))
|
||||
{
|
||||
Write-Host "Required Azure modules are present"
|
||||
}
|
||||
else {
|
||||
Write-Host "One or more required Azure modules are not present"
|
||||
throw "One or more required Azure modules are not present."
|
||||
}
|
||||
|
||||
|
||||
$azureRMModules = Get-Module -Name AzureRM -ListAvailable | Select-Object Name,Version,Path | Format-Table | Out-String
|
||||
|
||||
Write-Host "The AzureRM Modules finally present are:"
|
||||
$azureRMModules
|
||||
|
||||
if( ($azureRMModules -match "2.1.0") -and ($azureRMModules -match "3.8.0") -and ($azureRMModules -match "4.2.1") -and ($azureRMModules -match "5.1.1"))
|
||||
{
|
||||
Write-Host "Required AzureRM modules are present"
|
||||
|
||||
}
|
||||
else {
|
||||
Write-Host "One or more required AzureRM modules are not present"
|
||||
throw "One or more required AzureRM modules are not present."
|
||||
}
|
||||
|
||||
|
||||
$azureModules = Get-Module -Name AzureRM -ListAvailable
|
||||
|
||||
|
||||
# Adding description of the software to Markdown
|
||||
$SoftwareName = "Azure/AzureRM Powershell modules"
|
||||
|
||||
$Description = @"
|
||||
#### $($DefaultModule.Version)
|
||||
|
||||
This version is installed and is available via ``Get-Module -ListAvailable``
|
||||
"@
|
||||
|
||||
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
|
||||
|
||||
foreach( $module in $azureModules)
|
||||
function Add-ModuleDescription
|
||||
{
|
||||
if($module.Version -ne $DefaultModule.Version)
|
||||
param($DefaultModule, [String]$ModuleName)
|
||||
|
||||
# Adding description of the software to Markdown
|
||||
$softwareName = "$moduleName PowerShell module"
|
||||
|
||||
if ($defaultModule)
|
||||
{
|
||||
$description = "#### $($defaultModule.Version)`n`nThis version is installed and is available via ``Get-Module -ListAvailable``"
|
||||
}
|
||||
else
|
||||
{
|
||||
$Description = ""
|
||||
}
|
||||
|
||||
$CurrentModule = @"
|
||||
#### $($module.Version)
|
||||
Add-SoftwareDetailsToMarkdown -SoftwareName $softwareName -DescriptionMarkdown $description
|
||||
if($moduleName -eq 'Az')
|
||||
{
|
||||
$prop = @{n="Version";e={[Version]$_.Directory.Name}},@{n="Path";e={$_.FullName}}
|
||||
$azureModules = Get-ChildItem C:\Modules\az_*\Az\*\Az.psd1 | Select-Object $prop
|
||||
}
|
||||
else
|
||||
{
|
||||
$azureModules = Get-Module -Name $moduleName -ListAvailable | Sort-Object Version -Unique
|
||||
}
|
||||
|
||||
This version is saved but not installed
|
||||
_Location:_ $($module.Path)
|
||||
foreach($module in $azureModules)
|
||||
{
|
||||
if($module.Version -ne $defaultModule.Version)
|
||||
{
|
||||
|
||||
"@
|
||||
Add-ContentToMarkdown -Content $CurrentModule
|
||||
$currentModule = "#### $($module.Version)`n`nThis version is saved but not installed`n_Location:_ $($module.Path)"
|
||||
Add-ContentToMarkdown -Content $currentModule
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Validate-AzureModule
|
||||
{
|
||||
param([String]$ModuleName, [String[]]$ModuleVersions)
|
||||
|
||||
foreach($moduleVersion in $moduleVersions)
|
||||
{
|
||||
$modulePath = "${installPSModulePath}\${moduleName}_${moduleVersion}"
|
||||
# Import each module in PowerShell session
|
||||
$job = Start-Job -ScriptBlock {
|
||||
param($modulePath, $moduleName)
|
||||
|
||||
$env:PsModulePath = "$modulePath;$env:PsModulePath"
|
||||
Import-Module -Name $moduleName
|
||||
Get-Module -Name $moduleName
|
||||
} -ArgumentList $modulePath, $moduleName
|
||||
$isError = $job | Wait-Job | Foreach-Object ChildJobs | Where-Object {$_.Error}
|
||||
if($isError)
|
||||
{
|
||||
Write-Host "Required '$moduleName' module '$moduleVersion' version is not present"
|
||||
exit 1
|
||||
}
|
||||
$job | Receive-Job | Select-Object Name,Version,Path
|
||||
Remove-Job $job
|
||||
}
|
||||
}
|
||||
|
||||
# Modules path
|
||||
$installPSModulePath = 'C:\Modules'
|
||||
|
||||
# Validate Azure modules and versions
|
||||
$azurermVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "6.7.0", "6.13.1"
|
||||
Validate-AzureModule -ModuleName AzureRM -ModuleVersions $azurermVersions
|
||||
|
||||
$azureVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "5.3.0"
|
||||
Validate-AzureModule -ModuleName Azure -ModuleVersions $azureVersions
|
||||
|
||||
$azVersions = "1.0.0", "1.6.0", "2.3.2", "2.6.0", "3.1.0", "3.5.0"
|
||||
Validate-AzureModule -ModuleName Az -ModuleVersions $azVersions
|
||||
|
||||
# Get default modules version
|
||||
$defaultAzureRMModule = Get-Module -Name AzureRM -ListAvailable
|
||||
$defaultAzureModule = Get-Module -Name Azure -ListAvailable
|
||||
|
||||
# Add modules to the PSModulePath
|
||||
$env:PSModulePath = $env:PSModulePath + ";C:\Modules"
|
||||
|
||||
# Adding description of the software to Markdown
|
||||
Add-ModuleDescription -DefaultModule $defaultAzureRMModule -ModuleName AzureRM
|
||||
Add-ModuleDescription -DefaultModule $defaultAzureModule -ModuleName Azure
|
||||
Add-ModuleDescription -ModuleName Az
|
||||
44
images/win/scripts/Installers/Validate-Bazel.ps1
Normal file
44
images/win/scripts/Installers/Validate-Bazel.ps1
Normal file
@@ -0,0 +1,44 @@
|
||||
################################################################################
|
||||
## File: Validate-Bazel.ps1
|
||||
## Desc: Validate Bazel and Bazelisk (A user-friendly launcher for Bazel)
|
||||
################################################################################
|
||||
|
||||
if (Get-Command -Name 'bazel')
|
||||
{
|
||||
Write-Host "bazel on path"
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host 'bazel is not on path'
|
||||
exit 1
|
||||
}
|
||||
|
||||
if (Get-Command -Name 'bazelisk')
|
||||
{
|
||||
Write-Host "bazelisk on path"
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host 'bazelisk is not on path'
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Adding description of Bazel to Markdown
|
||||
$SoftwareName = "bazel"
|
||||
|
||||
$Description = @"
|
||||
_Version:_ $(bazel --version)<br/>
|
||||
"@
|
||||
|
||||
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
|
||||
|
||||
# Adding description of Bazelisk to Markdown
|
||||
$bazelisk_version = ((bazelisk version | Select-String "Bazelisk version:") -Split(" v"))[2]
|
||||
|
||||
$SoftwareName = "bazelisk"
|
||||
|
||||
$Description = @"
|
||||
_Version:_ $bazelisk_version<br/>
|
||||
"@
|
||||
|
||||
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
|
||||
@@ -15,7 +15,7 @@ else
|
||||
|
||||
# Adding description of the software to Markdown
|
||||
$SoftwareName = "Mercurial"
|
||||
$(hg --version).Split([System.Environment]::NewLine)[0] -match "\d+\.\d+\.\d+"
|
||||
$(hg --version).Split([System.Environment]::NewLine)[0] -match "\d+\.\d+"
|
||||
$MercurialVersion = $matches[0]
|
||||
|
||||
$Description = @"
|
||||
|
||||
24
images/win/scripts/Installers/Validate-Packer.ps1
Normal file
24
images/win/scripts/Installers/Validate-Packer.ps1
Normal file
@@ -0,0 +1,24 @@
|
||||
################################################################################
|
||||
## File: Validate-Packer.ps1
|
||||
## Desc: Validate Packer
|
||||
################################################################################
|
||||
|
||||
if (Get-Command -Name 'packer')
|
||||
{
|
||||
Write-Host "Packer is on path"
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host 'Packer is not on path'
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Adding description of the software to Markdown
|
||||
$SoftwareName = "Packer"
|
||||
$PackerVersion = packer --version
|
||||
|
||||
$Description = @"
|
||||
_Version:_ $PackerVersion<br/>
|
||||
"@
|
||||
|
||||
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
|
||||
@@ -36,9 +36,9 @@ if (
|
||||
(Get-Item "$EdgeDriverPath\msedgedriver.exe").VersionInfo
|
||||
|
||||
$versionFileName = "versioninfo.txt";
|
||||
$chromedriverversion = Get-Content -Path "$IEDriverPath\$versionFileName"
|
||||
$chromedriverversion = Get-Content -Path "$ChromeDriverPath\$versionFileName"
|
||||
$geckodriverversion = Get-Content -Path "$GeckoDriverPath\$versionFileName"
|
||||
$iedriverversion = Get-Content -Path "$ChromeDriverPath\$versionFileName"
|
||||
$iedriverversion = Get-Content -Path "$IEDriverPath\$versionFileName"
|
||||
$edgedriverversion = Get-Content -Path "$EdgeDriverPath\$versionFileName"
|
||||
|
||||
# Adding description of the software to Markdown
|
||||
|
||||
@@ -15,7 +15,7 @@ else
|
||||
|
||||
# Adding description of the software to Markdown
|
||||
$SoftwareName = "VSWhere"
|
||||
$VswhereVersion = $(vswhere)
|
||||
$VswhereVersion = (Get-Command -Name vswhere).FileVersionInfo.ProductVersion
|
||||
|
||||
$Description = @"
|
||||
_Version_: $VswhereVersion<br/>
|
||||
|
||||
@@ -15,7 +15,7 @@ else
|
||||
|
||||
# Adding description of the software to Markdown
|
||||
$SoftwareName = "zstd"
|
||||
$zstdVersion = $(zstd --version).Split(' ')[6].Split(',')[0]
|
||||
$zstdVersion = $(zstd --version).Split(' ')[6].Split(',')[0].Substring(1)
|
||||
|
||||
$Description = @"
|
||||
_Version:_ $zstdVersion<br/>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
Import-Module -Name ImageHelpers -Force
|
||||
|
||||
#SSDT for Visual Studio 2017 (15.8.2)
|
||||
$InstallerURI = 'https://download.microsoft.com/download/D/F/8/DF8B51B9-8E9F-47F3-A27B-33EEDADD8966/SSDT-Setup-ENU.exe'
|
||||
#SSDT for Visual Studio 2017 (15.9.3)
|
||||
$InstallerURI = 'https://download.microsoft.com/download/5/2/D/52DEF429-5B17-470C-82D9-654116080B15/SSDT-Setup-ENU.exe'
|
||||
$InstallerName = 'SSDT-Setup-ENU.exe'
|
||||
$logFilePath = "$env:TEMP\ssdtlog.txt"
|
||||
$ArgumentList = ('/install', 'INSTALLALL', '/passive', '/norestart', "/log `"$logFilePath`"")
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
###################################################################################
|
||||
## File: Install-AnalysisExtenstion.ps1
|
||||
## Desc: Install the Microsoft Analysis Services Projects Visual Studio extension
|
||||
###################################################################################
|
||||
|
||||
|
||||
$extensionUrl = "https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftAnalysisServicesModelingProjects/2.9.5/vspackage"
|
||||
$extensionDownloadPath = Join-Path $Env:TEMP "Microsoft.DataTools.AnalysisServices.vsix"
|
||||
Write-Host "Downloading Microsoft.DataTools.AnalysisServices.vsix extension"
|
||||
(New-Object System.Net.WebClient).DownloadFile($extensionUrl, $extensionDownloadPath)
|
||||
|
||||
Write-Host "Installing Microsoft.DataTools.AnalysisServices.vsix extension"
|
||||
try
|
||||
{
|
||||
$process = Start-Process `
|
||||
-FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VSIXInstaller.exe" `
|
||||
-ArgumentList ("/quiet", "$extensionDownloadPath") `
|
||||
-Wait `
|
||||
-PassThru
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "There is an error during Microsoft.DataTools.AnalysisServices.vsix installation"
|
||||
$_
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
$exitCode = $process.ExitCode
|
||||
|
||||
if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed
|
||||
{
|
||||
Write-Host "Microsoft.DataTools.AnalysisServices.vsix installed successfully"
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host "Unsuccessful exit code returned by the installation process: $exitCode."
|
||||
exit 1
|
||||
}
|
||||
|
||||
#Cleanup installation files
|
||||
Remove-Item -Force -Confirm:$false $extensionDownloadPath
|
||||
|
||||
exit $exitCode
|
||||
@@ -112,6 +112,15 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141 ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.x86.x64 ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre ' + `
|
||||
'--add Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre ' + `
|
||||
'--add Microsoft.VisualStudio.Component.Windows10SDK.16299 ' + `
|
||||
'--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + `
|
||||
'--add Microsoft.VisualStudio.Component.Windows10SDK.17763 ' + `
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
################################################################################
|
||||
## File: Validate-AnalysisExtenstion.ps1
|
||||
## Desc: Validate Microsoft Analysis Services Projects Visual Studio extension
|
||||
################################################################################
|
||||
|
||||
Import-Module -Name ImageHelpers -Force
|
||||
|
||||
#AnalysisPackage doesn't have any proper name in the state.packages.json file, only id is available
|
||||
$AnalysisPackageVersion = Get-VS19ExtensionVersion -packageName "04a86fc2-dbd5-4222-848e-911638e487fe"
|
||||
|
||||
# Adding description of the software to Markdown
|
||||
$SoftwareName = "Microsoft Analysis Services Projects Visual Studio Extension"
|
||||
|
||||
$Description = @"
|
||||
_Version:_ $AnalysisPackageVersion<br/>
|
||||
"@
|
||||
|
||||
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
|
||||
Reference in New Issue
Block a user