Merge pull request #1 from actions/master

PR
This commit is contained in:
nikita-bykov
2020-03-11 12:02:24 +03:00
committed by GitHub
69 changed files with 1558 additions and 977 deletions
@@ -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
View 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
View 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
View 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
View 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
View 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
View 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
View 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)"
+48 -38
View File
@@ -1,11 +1,16 @@
# Ubuntu 16.04.6 LTS # 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 - 7-Zip 9.20
- Ansible (ansible 2.9.4) - Ansible (ansible 2.9.4)
- AzCopy (azcopy 7.3.0-netcore) - 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) - 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: - Basic CLI:
- curl - curl
- dnsutils - dnsutils
@@ -26,23 +31,24 @@ The following software is installed on machines with the 20200217.1 update.
- sudo - sudo
- telnet - telnet
- time - time
- tzdata
- unzip - unzip
- upx - upx
- wget - wget
- zip - zip
- tzdata - zstd
- AWS CLI (aws-cli/1.18.0 Python/2.7.12 Linux/4.15.0-1069-azure botocore/1.15.0) - AWS CLI (aws-cli/1.18.11 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.11)
- build-essential - build-essential
- Clang 6.0 (6.0.1) - Clang 6.0 (6.0.1)
- Clang 8 (8.0.1) - Clang 8 (8.0.1)
- Clang 9 (9.0.1) - Clang 9 (9.0.1)
- CMake (cmake version 3.16.2) - CMake (cmake version 3.16.2)
- Docker Compose (docker-compose version 1.22.0, build f46880fe) - Docker Compose (docker-compose version 1.22.0, build f46880fe)
- Docker (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9) - Docker-Moby (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
- Docker (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
- .NET Core SDK: - .NET Core SDK:
- 3.1.101 - 3.1.101
- 3.1.100 - 3.1.100
- 3.0.103
- 3.0.102 - 3.0.102
- 3.0.101 - 3.0.101
- 3.0.100 - 3.0.100
@@ -67,11 +73,13 @@ The following software is installed on machines with the 20200217.1 update.
- 2.2.102 - 2.2.102
- 2.2.101 - 2.2.101
- 2.2.100 - 2.2.100
- 2.1.804
- 2.1.803 - 2.1.803
- 2.1.802 - 2.1.802
- 2.1.801 - 2.1.801
- 2.1.701 - 2.1.701
- 2.1.700 - 2.1.700
- 2.1.609
- 2.1.608 - 2.1.608
- 2.1.607 - 2.1.607
- 2.1.606 - 2.1.606
@@ -79,6 +87,7 @@ The following software is installed on machines with the 20200217.1 update.
- 2.1.604 - 2.1.604
- 2.1.603 - 2.1.603
- 2.1.602 - 2.1.602
- 2.1.512
- 2.1.511 - 2.1.511
- 2.1.510 - 2.1.510
- 2.1.509 - 2.1.509
@@ -97,23 +106,23 @@ The following software is installed on machines with the 20200217.1 update.
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4) - 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 - Geckodriver (); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.4.0 - GNU C++ 7.4.0
- GNU C++ 8.3.0 - GNU C++ 8.3.0
- GNU C++ 9.2.1 - GNU C++ 9.2.1
- GNU Fortran 8.3.0 - GNU Fortran 8.3.0
- GNU Fortran 9.2.1 - GNU Fortran 9.2.1
- Git (2.25.0) - Git (2.25.1)
- Git Large File Storage (LFS) (2.10.0) - Git Large File Storage (LFS) (2.10.0)
- Go 1.9 (go version go1.9.7 linux/amd64) - Go 1.9 (go version go1.9.7 linux/amd64)
- Go 1.10 (go version go1.10.8 linux/amd64) - Go 1.10 (go version go1.10.8 linux/amd64)
- Go 1.11 (go version go1.11.12 linux/amd64) - Go 1.11 (go version go1.11.12 linux/amd64)
- Go 1.12 (go version go1.12.7 linux/amd64) - Go 1.12 (go version go1.12.7 linux/amd64)
- Go 1.13 (go version go1.13 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 - 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 - Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library ) compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0 - 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 - Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library ) compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.1.0 - 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.0.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4) - 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.1)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) - 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) - 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) - Heroku (heroku/7.38.2 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.44.0 (rel)) - HHVM (HipHop VM 4.46.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252") - Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252")
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242") - 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 (11) (openjdk version "11.0.6" 2020-01-14 LTS)
- Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16) - 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) - 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)) - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.7.0 go1.13.6 linux/amd64) - Kind (kind v0.7.0 go1.13.6 linux/amd64)
- kubectl (Client Version: v1.17.3) - kubectl (Client Version: v1.17.3)
- helm (Client: v2.16.3+g1ee0254) - 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)) - Mercurial (Mercurial Distributed SCM (version 4.4.1))
- Miniconda (conda 4.7.12) - Miniconda (conda 4.7.12)
- Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:35 UTC 2020)) - 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 (mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper)
- MySQL Server (user:root password:root) - MySQL Server (user:root password:root)
- MS SQL Server Client Tools - MS SQL Server Client Tools
- Node.js (v12.16.0) - Node.js (v12.16.1)
- Grunt (grunt-cli v1.2.0) - Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.0 - Gulp (CLI version: 2.2.0
Local version: Unknown) Local version: Unknown)
- n (6.2.0) - n (6.3.1)
- Parcel (1.12.4) - Parcel (1.12.4)
- TypeScript (Version 3.7.5) - TypeScript (Version 3.8.3)
- Webpack (4.41.6) - Webpack (4.41.6)
- Webpack CLI (3.3.11) - Webpack CLI (3.3.11)
- Yarn (1.21.1) - Yarn (1.22.0)
- PhantomJS (2.1.1) - PhantomJS (2.1.1)
- PHP 5.6 (PHP 5.6.40-21+ubuntu16.04.1+deb.sury.org+1 (cli) ) - PHP 5.6 (PHP 5.6.40-24+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.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-9+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:53:10) ( 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.27-6+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:52:09) ( 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.14-6+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:51:13) ( 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.2 (cli) (built: Feb 5 2020 16:50:21) ( 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) - Composer (Composer version 1.9.3 2020-02-04 12:58:49)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate - Pollinate
@@ -177,11 +186,11 @@ Local version: Unknown)
- ruby (2.3.1p112) - ruby (2.3.1p112)
- gem (3.1.2) - gem (3.1.2)
- rustup (1.21.1) - rustup (1.21.1)
- rust (1.41.0) - rust (1.41.1)
- cargo (1.41.0) - cargo (1.41.0)
- rustfmt (1.4.11-stable) - rustfmt (1.4.11-stable)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.41.0) - rustdoc (1.41.1)
- bindgen (execute - bindgen (execute
the the
0.53.1) 0.53.1)
@@ -190,9 +199,9 @@ the
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server - Sphinx Open Source Search Server
- Subversion (svn, version 1.9.3 (r1718519)) - Subversion (svn, version 1.9.3 (r1718519))
- Terraform (Terraform v0.12.20) - Terraform (Terraform v0.12.21)
- Vcpkg 2020.02.04-unknownhash - Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (17.0.3) - Zeit Now CLI (17.0.4)
- Google Repository 58 - Google Repository 58
- Google Play services 49 - Google Play services 49
- Google APIs 24 - Google APIs 24
@@ -203,7 +212,7 @@ the
- Android Support Repository 47.0.0 - Android Support Repository 47.0.0
- Android Solver for ConstraintLayout 1.0.2 - Android Solver for ConstraintLayout 1.0.2
- Android Solver for ConstraintLayout 1.0.1 - 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 29
- Android SDK Platform 28 - Android SDK Platform 28
- Android SDK Platform 27 - Android SDK Platform 27
@@ -257,14 +266,15 @@ the
- Az Module (2.6.0) - Az Module (2.6.0)
- Az Module (2.8.0) - Az Module (2.8.0)
- Az Module (3.1.0) - Az Module (3.1.0)
- Az Module (3.5.0)
- Cached container images - Cached container images
- node:12-alpine (Digest: sha256:0d6db03a05b5d8b417204258cfa34f36eac1c00a54946fb31891e89a642eb449) - node:10 (Digest: sha256:df200903ff34c07c1b9112b4fd9d1342c11eb7d99525f2b366c487f91dda8131)
- node:12 (Digest: sha256:454651174f54836571258a329788574cf6552bddfd1a7113e769bd9fc3776fe6) - node:12 (Digest: sha256:facc1cbde6e5aa3255092b1a1417451953c80bd31ab5a4403f8bcd90b90a8407)
- node:10-alpine (Digest: sha256:6e6fdca8006b268936d285a4eadd0bac011b33184b4377c6f1cfc86c222fbb8d) - buildpack-deps:stretch (Digest: sha256:dc901bbf4b34e4ca8771c0d0773e557221452f97bcf0c732de7ecda3782bdf97)
- node:10 (Digest: sha256:e9d17a0920643d70677ba354398a0464e318fe5f488df8c28c0f895cda6ee2a3) - debian:9 (Digest: sha256:ddb131307ad9c70ebf8c7962ba73c20101f68c7a511915aea3ad3b7ad47b9d20)
- buildpack-deps:stretch (Digest: sha256:8bcd320ec29cf67052985f28891586fb853051f69ad0646fc7a49f47d6e3ee1a) - debian:8 (Digest: sha256:2c9b2323299846c5298c12db373da310f8114f2941ae3f496e95270cc8ca5ebd)
- debian:9 (Digest: sha256:da5274336981301e2c5f2edb54eaa4dccee70c39506f96d39377b46ea75e804e) - node:10-alpine (Digest: sha256:e8d05985dd93c380a83da00d676b081dad9cce148cb4ecdf26ed684fcff1449c)
- debian:8 (Digest: sha256:0e7a709bdf94e15391e9658271197e28a8c993f4d6bb8ee49d370886a9893351) - node:12-alpine (Digest: sha256:bba77d0ca8820b43af898b3c50d4e8b68dc703ebbd958319af2f21f2d3c309f5)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14) - alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
- alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178) - alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178)
- alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f) - alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f)
@@ -276,7 +286,7 @@ the
- Python 3.5.9 - Python 3.5.9
- Python 3.6.10 - Python 3.6.10
- Python 3.7.6 - Python 3.7.6
- Python 3.8.1 - Python 3.8.2
- Ruby: - Ruby:
- Ruby 2.4.9 - Ruby 2.4.9
- Ruby 2.5.7 - Ruby 2.5.7
+47 -37
View File
@@ -1,11 +1,16 @@
# Ubuntu 18.04.4 LTS # 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 - 7-Zip 16.02
- Ansible (ansible 2.9.4) - Ansible (ansible 2.9.4)
- AzCopy (azcopy 7.3.0-netcore) - 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) - 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: - Basic CLI:
- curl - curl
- dnsutils - dnsutils
@@ -26,23 +31,24 @@ The following software is installed on machines with the 20200217.1 update.
- sudo - sudo
- telnet - telnet
- time - time
- tzdata
- unzip - unzip
- upx - upx
- wget - wget
- zip - zip
- tzdata - zstd
- AWS CLI (aws-cli/1.18.0 Python/2.7.17 Linux/5.0.0-1031-azure botocore/1.15.0) - AWS CLI (aws-cli/1.18.11 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.11)
- build-essential - build-essential
- Clang 6.0 (6.0.1) - Clang 6.0 (6.0.1)
- Clang 8 (8.0.1) - Clang 8 (8.0.1)
- Clang 9 (9.0.0) - Clang 9 (9.0.0)
- CMake (cmake version 3.16.2) - CMake (cmake version 3.16.2)
- Docker Compose (docker-compose version 1.22.0, build f46880fe) - Docker Compose (docker-compose version 1.22.0, build f46880fe)
- Docker (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9) - Docker-Moby (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
- Docker (Docker version 3.0.10+azure, build 99c5edceb48d64c1aa5d09b8c9c499d431d98bb9)
- .NET Core SDK: - .NET Core SDK:
- 3.1.101 - 3.1.101
- 3.1.100 - 3.1.100
- 3.0.103
- 3.0.102 - 3.0.102
- 3.0.101 - 3.0.101
- 3.0.100 - 3.0.100
@@ -67,11 +73,13 @@ The following software is installed on machines with the 20200217.1 update.
- 2.2.102 - 2.2.102
- 2.2.101 - 2.2.101
- 2.2.100 - 2.2.100
- 2.1.804
- 2.1.803 - 2.1.803
- 2.1.802 - 2.1.802
- 2.1.801 - 2.1.801
- 2.1.701 - 2.1.701
- 2.1.700 - 2.1.700
- 2.1.609
- 2.1.608 - 2.1.608
- 2.1.607 - 2.1.607
- 2.1.606 - 2.1.606
@@ -79,6 +87,7 @@ The following software is installed on machines with the 20200217.1 update.
- 2.1.604 - 2.1.604
- 2.1.603 - 2.1.603
- 2.1.602 - 2.1.602
- 2.1.512
- 2.1.511 - 2.1.511
- 2.1.510 - 2.1.510
- 2.1.509 - 2.1.509
@@ -97,21 +106,21 @@ The following software is installed on machines with the 20200217.1 update.
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4) - 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 - Geckodriver (); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.4.0 - GNU C++ 7.4.0
- GNU C++ 8.3.0 - GNU C++ 8.3.0
- GNU C++ 9.2.1 - GNU C++ 9.2.1
- GNU Fortran 8.3.0 - GNU Fortran 8.3.0
- GNU Fortran 9.2.1 - GNU Fortran 9.2.1
- Git (2.25.0) - Git (2.25.1)
- Git Large File Storage (LFS) (2.10.0) - Git Large File Storage (LFS) (2.10.0)
- Go 1.11 (go version go1.11.12 linux/amd64) - Go 1.11 (go version go1.11.12 linux/amd64)
- Go 1.12 (go version go1.12.7 linux/amd64) - Go 1.12 (go version go1.12.7 linux/amd64)
- Go 1.13 (go version go1.13 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 - 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 - Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library ) compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0 - 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 - Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library ) compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.1.0 - 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.0.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4) - 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.1)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) - 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) - 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) - Heroku (heroku/7.38.2 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.44.0 (rel)) - HHVM (HipHop VM 4.46.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252") - Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252")
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242") - 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 (11) (openjdk version "11.0.6" 2020-01-14 LTS)
- Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16) - 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) - 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)) - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.7.0 go1.13.6 linux/amd64) - Kind (kind v0.7.0 go1.13.6 linux/amd64)
- kubectl (Client Version: v1.17.3) - kubectl (Client Version: v1.17.3)
- helm (Client: v2.16.3+g1ee0254) - 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)) - Mercurial (Mercurial Distributed SCM (version 4.5.3))
- Miniconda (conda 4.7.12) - Miniconda (conda 4.7.12)
- Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:20 UTC 2020)) - 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 (mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper)
- MySQL Server (user:root password:root) - MySQL Server (user:root password:root)
- MS SQL Server Client Tools - MS SQL Server Client Tools
- Node.js (v12.16.0) - Node.js (v12.16.1)
- Grunt (grunt-cli v1.2.0) - Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.0 - Gulp (CLI version: 2.2.0
Local version: Unknown) Local version: Unknown)
- n (6.2.0) - n (6.3.1)
- Parcel (1.12.4) - Parcel (1.12.4)
- TypeScript (Version 3.7.5) - TypeScript (Version 3.8.3)
- Webpack (4.41.6) - Webpack (4.41.6)
- Webpack CLI (3.3.11) - Webpack CLI (3.3.11)
- Yarn (1.21.1) - Yarn (1.22.0)
- PhantomJS (2.1.1) - 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.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.27-6+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:52:29) ( 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.14-6+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:51:32) ( 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.2 (cli) (built: Feb 5 2020 16:50:38) ( 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) - Composer (Composer version 1.9.3 2020-02-04 12:58:49)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate - Pollinate
- psql (PostgreSQL) 10.10 - psql (PostgreSQL) 10.12
- Powershell (PowerShell 6.2.4) - Powershell (PowerShell 6.2.4)
- ruby (2.5.1p57) - ruby (2.5.1p57)
- gem (3.1.2) - gem (3.1.2)
- rustup (1.21.1) - rustup (1.21.1)
- rust (1.41.0) - rust (1.41.1)
- cargo (1.41.0) - cargo (1.41.0)
- rustfmt (1.4.11-stable) - rustfmt (1.4.11-stable)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.41.0) - rustdoc (1.41.1)
- bindgen (execute - bindgen (execute
the the
0.53.1) 0.53.1)
@@ -186,9 +195,9 @@ the
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server - Sphinx Open Source Search Server
- Subversion (svn, version 1.9.7 (r1800392)) - Subversion (svn, version 1.9.7 (r1800392))
- Terraform (Terraform v0.12.20) - Terraform (Terraform v0.12.21)
- Vcpkg 2020.02.04-unknownhash - Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (17.0.3) - Zeit Now CLI (17.0.4)
- Google Repository 58 - Google Repository 58
- Google Play services 49 - Google Play services 49
- Google APIs 24 - Google APIs 24
@@ -197,7 +206,7 @@ the
- Google APIs 21 - Google APIs 21
- CMake 3.6.4111459 - CMake 3.6.4111459
- Android Support Repository 47.0.0 - 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 29
- Android SDK Platform 28 - Android SDK Platform 28
- Android SDK Platform 27 - Android SDK Platform 27
@@ -247,14 +256,15 @@ the
- Az Module (2.6.0) - Az Module (2.6.0)
- Az Module (2.8.0) - Az Module (2.8.0)
- Az Module (3.1.0) - Az Module (3.1.0)
- Az Module (3.5.0)
- Cached container images - Cached container images
- node:12-alpine (Digest: sha256:0d6db03a05b5d8b417204258cfa34f36eac1c00a54946fb31891e89a642eb449) - node:10 (Digest: sha256:df200903ff34c07c1b9112b4fd9d1342c11eb7d99525f2b366c487f91dda8131)
- node:12 (Digest: sha256:454651174f54836571258a329788574cf6552bddfd1a7113e769bd9fc3776fe6) - node:12 (Digest: sha256:facc1cbde6e5aa3255092b1a1417451953c80bd31ab5a4403f8bcd90b90a8407)
- node:10-alpine (Digest: sha256:6e6fdca8006b268936d285a4eadd0bac011b33184b4377c6f1cfc86c222fbb8d) - buildpack-deps:stretch (Digest: sha256:dc901bbf4b34e4ca8771c0d0773e557221452f97bcf0c732de7ecda3782bdf97)
- node:10 (Digest: sha256:e9d17a0920643d70677ba354398a0464e318fe5f488df8c28c0f895cda6ee2a3) - debian:9 (Digest: sha256:ddb131307ad9c70ebf8c7962ba73c20101f68c7a511915aea3ad3b7ad47b9d20)
- buildpack-deps:stretch (Digest: sha256:8bcd320ec29cf67052985f28891586fb853051f69ad0646fc7a49f47d6e3ee1a) - debian:8 (Digest: sha256:2c9b2323299846c5298c12db373da310f8114f2941ae3f496e95270cc8ca5ebd)
- debian:9 (Digest: sha256:da5274336981301e2c5f2edb54eaa4dccee70c39506f96d39377b46ea75e804e) - node:10-alpine (Digest: sha256:e8d05985dd93c380a83da00d676b081dad9cce148cb4ecdf26ed684fcff1449c)
- debian:8 (Digest: sha256:0e7a709bdf94e15391e9658271197e28a8c993f4d6bb8ee49d370886a9893351) - node:12-alpine (Digest: sha256:bba77d0ca8820b43af898b3c50d4e8b68dc703ebbd958319af2f21f2d3c309f5)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14) - alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
- alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178) - alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178)
- alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f) - alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f)
@@ -266,7 +276,7 @@ the
- Python 3.5.9 - Python 3.5.9
- Python 3.6.10 - Python 3.6.10
- Python 3.7.6 - Python 3.7.6
- Python 3.8.1 - Python 3.8.2
- Ruby: - Ruby:
- Ruby 2.4.9 - Ruby 2.4.9
- Ruby 2.5.7 - Ruby 2.5.7
+5 -1
View File
@@ -9,7 +9,11 @@ LSB_RELEASE=$(lsb_release -rs)
# Install Microsoft repository # Install Microsoft repository
wget https://packages.microsoft.com/config/ubuntu/$LSB_RELEASE/packages-microsoft-prod.deb wget https://packages.microsoft.com/config/ubuntu/$LSB_RELEASE/packages-microsoft-prod.deb
dpkg -i 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 # Install Microsoft GPG public key
curl -L https://packages.microsoft.com/keys/microsoft.asc | apt-key add - 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-17" \
"platforms;android-15" \ "platforms;android-15" \
"platforms;android-10" \ "platforms;android-10" \
"build-tools;29.0.3" \
"build-tools;29.0.2" \ "build-tools;29.0.2" \
"build-tools;29.0.0" \ "build-tools;29.0.0" \
"build-tools;28.0.3" \ "build-tools;28.0.3" \
@@ -110,6 +111,7 @@ DocumentInstalledItem "Android SDK Platform 17"
DocumentInstalledItem "Android SDK Platform 15" DocumentInstalledItem "Android SDK Platform 15"
DocumentInstalledItem "Android SDK Platform 10" DocumentInstalledItem "Android SDK Platform 10"
DocumentInstalledItem "Android SDK Patch Applier v4" 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.2"
DocumentInstalledItem "Android SDK Build-Tools 29.0.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.0"
DocumentInstalledItem "Android SDK Build-Tools 28.0.3" DocumentInstalledItem "Android SDK Build-Tools 28.0.3"
@@ -19,6 +19,8 @@ apt-fast install -y --no-install-recommends \
iproute2 \ iproute2 \
iputils-ping \ iputils-ping \
jq \ jq \
libc++-dev \
libc++abi-dev \
libcurl3 \ libcurl3 \
libicu55 \ libicu55 \
libunwind8 \ libunwind8 \
@@ -75,6 +77,8 @@ DocumentInstalledItemIndent "ftp"
DocumentInstalledItemIndent "iproute2" DocumentInstalledItemIndent "iproute2"
DocumentInstalledItemIndent "iputils-ping" DocumentInstalledItemIndent "iputils-ping"
DocumentInstalledItemIndent "jq" DocumentInstalledItemIndent "jq"
DocumentInstalledItemIndent "libc++-dev"
DocumentInstalledItemIndent "libc++abi-dev"
DocumentInstalledItemIndent "libcurl3" DocumentInstalledItemIndent "libcurl3"
DocumentInstalledItemIndent "libicu55" DocumentInstalledItemIndent "libicu55"
DocumentInstalledItemIndent "libunwind8" 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 apt-get install -y kubectl
# Install Helm # 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 # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
@@ -37,6 +37,7 @@ echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \
"platforms;android-21" \ "platforms;android-21" \
"platforms;android-19" \ "platforms;android-19" \
"platforms;android-17" \ "platforms;android-17" \
"build-tools;29.0.3" \
"build-tools;29.0.2" \ "build-tools;29.0.2" \
"build-tools;29.0.0" \ "build-tools;29.0.0" \
"build-tools;28.0.3" \ "build-tools;28.0.3" \
@@ -100,6 +101,7 @@ DocumentInstalledItem "Android SDK Platform 21"
DocumentInstalledItem "Android SDK Platform 19" DocumentInstalledItem "Android SDK Platform 19"
DocumentInstalledItem "Android SDK Platform 17" DocumentInstalledItem "Android SDK Platform 17"
DocumentInstalledItem "Android SDK Patch Applier v4" 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.2"
DocumentInstalledItem "Android SDK Build-Tools 29.0.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.0"
DocumentInstalledItem "Android SDK Build-Tools 28.0.3" 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 apt-get install -y kubectl
# Install Helm # 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 # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
@@ -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.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_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.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 # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
@@ -46,6 +47,11 @@ if ! pwsh -Command '$actualPSModulePath = $env:PSModulePath ; $env:PSModulePath
if (!(get-module -listavailable -name Az.accounts)) { if (!(get-module -listavailable -name Az.accounts)) {
Write-Host "Az Module was not installed"; $env:PSModulePath = $actualPSModulePath; exit 1 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 $env:PSModulePath = $actualPSModulePath'; then
exit 1 exit 1
fi fi
@@ -58,3 +64,4 @@ DocumentInstalledItem "Az Module (2.3.2)"
DocumentInstalledItem "Az Module (2.6.0)" DocumentInstalledItem "Az Module (2.6.0)"
DocumentInstalledItem "Az Module (2.8.0)" DocumentInstalledItem "Az Module (2.8.0)"
DocumentInstalledItem "Az Module (3.1.0)" DocumentInstalledItem "Az Module (3.1.0)"
DocumentInstalledItem "Az Module (3.5.0)"
+36
View 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)"
+2
View File
@@ -18,6 +18,7 @@ function InstallClang {
apt-get install -y "clang-$version" "lldb-$version" "lld-$version" apt-get install -y "clang-$version" "lldb-$version" "lld-$version"
else else
./llvm.sh $version ./llvm.sh $version
apt-get install -y "clang-format-$version"
fi fi
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
@@ -59,3 +60,4 @@ rm llvm.sh
# Make Clang 9 default # 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 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/apt.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
version="1.22.0" version="1.25.4"
# Install latest docker-compose from releases # 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 curl -L "https://github.com/docker/compose/releases/download/$version/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
+15 -7
View File
@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
################################################################################ ################################################################################
## File: docker-ce.sh ## File: docker-moby.sh
## Desc: Installs docker onto the image, but does not pre-pull any images ## Desc: Installs docker onto the image
################################################################################ ################################################################################
source $HELPER_SCRIPTS/apt.sh source $HELPER_SCRIPTS/apt.sh
@@ -15,10 +15,6 @@ if ! IsInstalled $docker_package; then
echo "Docker ($docker_package) was not found. Installing..." echo "Docker ($docker_package) was not found. Installing..."
apt-get remove -y moby-engine moby-cli apt-get remove -y moby-engine moby-cli
apt-get update 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 apt-get install -y moby-engine moby-cli
else else
echo "Docker ($docker_package) is already installed" echo "Docker ($docker_package) is already installed"
@@ -37,7 +33,19 @@ else
set +e set +e
fi 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 ## Add version information to the metadata file
echo "Documenting Docker version" echo "Documenting Docker version"
docker_version=$(docker -v) docker_version=$(docker -v)
DocumentInstalledItem "Docker ($docker_version)" DocumentInstalledItem "Docker-Moby ($docker_version)"
-34
View File
@@ -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 ## File: dotnetcore-sdk.sh
## Desc: Installs .NET Core SDK ## Desc: Installs .NET Core SDK
################################################################################ ################################################################################
source $HELPER_SCRIPTS/apt.sh source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
@@ -30,11 +29,19 @@ mksamples()
set -e set -e
# Disable telemetry
export DOTNET_CLI_TELEMETRY_OPTOUT=1
for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do
echo "Determing if .NET Core ($latest_package) is installed" echo "Determing if .NET Core ($latest_package) is installed"
if ! IsInstalled $latest_package; then if ! IsInstalled $latest_package; then
echo "Could not find .NET Core ($latest_package), installing..." echo "Could not find .NET Core ($latest_package), installing..."
#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 apt-get install $latest_package -y
else
apt-get install dotnet-sdk-3.1=3.1.101-1 -y
fi
else else
echo ".NET Core ($latest_package) is already installed" echo ".NET Core ($latest_package) is already installed"
fi fi
@@ -50,15 +57,13 @@ for release_url in ${release_urls[@]}; do
sdks=("${sdks[@]}" $(echo "${releases}" | jq '.releases[]' | jq '.sdks[]?' | jq '.version')) sdks=("${sdks[@]}" $(echo "${releases}" | jq '.releases[]' | jq '.sdks[]?' | jq '.version'))
done 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 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" url="https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$sdk/dotnet-sdk-$sdk-linux-x64.tar.gz"
echo "$url" >> urls echo "$url" >> urls
echo "Adding $url to list to download later" echo "Adding $url to list to download later"
fi
done done
# Download additional SDKs # Download additional SDKs
+1 -1
View File
@@ -49,5 +49,5 @@ if ! command -v geckodriver; then
fi fi
echo "Lastly, documenting what we added to the metadata file" 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" DocumentInstalledItem "Geckodriver (${ver}); Gecko Driver is available via GECKOWEBDRIVER environment variable"
+55
View 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 fi
echo "Lastly, documenting what we added to the metadata file" 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"
+3 -2
View File
@@ -25,6 +25,7 @@ apt-get install -y \
ghc-8.6.5 \ ghc-8.6.5 \
ghc-8.8.1 \ ghc-8.8.1 \
ghc-8.8.2 \ ghc-8.8.2 \
ghc-8.8.3 \
cabal-install-2.0 \ cabal-install-2.0 \
cabal-install-2.2 \ cabal-install-2.2 \
cabal-install-2.4 \ 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 # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
# Check all ghc versions # 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 if ! command -v /opt/ghc/$version/bin/ghc; then
echo "ghc $version was not installed" echo "ghc $version was not installed"
exit 1 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 for version in 2.0 2.2 2.4 3.0; do
DocumentInstalledItem "Haskell Cabal ($(/opt/cabal/$version/bin/cabal --version))" DocumentInstalledItem "Haskell Cabal ($(/opt/cabal/$version/bin/cabal --version))"
done 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))" DocumentInstalledItem "GHC ($(/opt/ghc/$version/bin/ghc --version))"
done done
DocumentInstalledItem "Haskell Stack ($(stack --version))" DocumentInstalledItem "Haskell Stack ($(stack --version))"
+6 -5
View File
@@ -23,17 +23,18 @@ function GetLatestJuliaRelease () {
function InstallJulia () { function InstallJulia () {
# Extract Major and Minor version from full version string # 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" 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" mkdir -p "$juliaInstallationPath"
tar -C "/usr/local/julia$juliaMajorAndMinorVersion" -xzf "julia-$1-linux-x86_64.tar.gz" --strip-components=1 julia tar -C "$juliaInstallationPath" -xzf "julia-$1-linux-x86_64.tar.gz" --strip-components=1
rm "julia-$1-linux-x86_64.tar.gz" rm "julia-$1-linux-x86_64.tar.gz"
# If this version of Julia is to be the default version, # If this version of Julia is to be the default version,
# symlink it into the path # symlink it into the path
if [ "$2" = true ]; then if [ "$2" = true ]; then
ln -s "/usr/local/julia$juliaMajorAndMinorVersion/bin/julia" /usr/bin/julia ln -s "$juliaInstallationPath/bin/julia" /usr/bin/julia
fi fi
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
@@ -49,7 +50,7 @@ function InstallJulia () {
fi fi
# Verify output of julia --version # 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" echo "Julia was not installed correctly"
exit 1 exit 1
fi fi
+4
View File
@@ -44,3 +44,7 @@ echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "MySQL ($(mysql --version))" DocumentInstalledItem "MySQL ($(mysql --version))"
DocumentInstalledItem "MySQL Server (user:root password:root)" DocumentInstalledItem "MySQL Server (user:root password:root)"
DocumentInstalledItem "MS SQL Server Client Tools" DocumentInstalledItem "MS SQL Server Client Tools"
# Disable mysql.service
systemctl is-active --quiet mysql.service && systemctl stop mysql.service
systemctl disable mysql.service
+25
View 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 the helpers for use with the script
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
LSB_RELEASE=$(lsb_release -rs)
# Install Powershell # Install Powershell
apt-get install -y powershell apt-get install -y powershell
@@ -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
+1 -2
View File
@@ -14,8 +14,7 @@ export CARGO_HOME=/usr/share/rust/.cargo
curl https://sh.rustup.rs -sSf | sh -s -- -y curl https://sh.rustup.rs -sSf | sh -s -- -y
# Add Cargo and Rust binaries to the machine path # Initialize environment variables
echo "PATH=${CARGO_HOME}/bin:$PATH" | tee -a /etc/environment
source $CARGO_HOME/env source $CARGO_HOME/env
# Install common tools # Install common tools
@@ -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
+35 -6
View File
@@ -15,6 +15,7 @@
"private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}", "private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
"image_folder": "/imagegeneration", "image_folder": "/imagegeneration",
"commit_file": "/imagegeneration/commit.txt", "commit_file": "/imagegeneration/commit.txt",
"imagedata_file": "/imagegeneration/imagedata.json",
"metadata_file": "/imagegeneration/metadatafile", "metadata_file": "/imagegeneration/metadatafile",
"installer_script_folder": "/imagegeneration/installers", "installer_script_folder": "/imagegeneration/installers",
"helper_script_folder": "/imagegeneration/helpers", "helper_script_folder": "/imagegeneration/helpers",
@@ -22,7 +23,9 @@
"capture_name_prefix": "packer", "capture_name_prefix": "packer",
"image_version": "dev", "image_version": "dev",
"image_os": "ubuntu16", "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"], "sensitive-variables": ["client_secret", "github_feed_token"],
"builders": [ "builders": [
@@ -107,6 +110,17 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "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", "type": "shell",
"inline": [ "inline": [
@@ -130,14 +144,12 @@
"{{template_dir}}/scripts/installers/cmake.sh", "{{template_dir}}/scripts/installers/cmake.sh",
"{{template_dir}}/scripts/installers/docker-compose.sh", "{{template_dir}}/scripts/installers/docker-compose.sh",
"{{template_dir}}/scripts/installers/docker-moby.sh", "{{template_dir}}/scripts/installers/docker-moby.sh",
"{{template_dir}}/scripts/installers/docker.sh", "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
"{{template_dir}}/scripts/installers/1604/dotnetcore-sdk.sh",
"{{template_dir}}/scripts/installers/erlang.sh", "{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh", "{{template_dir}}/scripts/installers/firefox.sh",
"{{template_dir}}/scripts/installers/gcc.sh", "{{template_dir}}/scripts/installers/gcc.sh",
"{{template_dir}}/scripts/installers/gfortran.sh", "{{template_dir}}/scripts/installers/gfortran.sh",
"{{template_dir}}/scripts/installers/git.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-chrome.sh",
"{{template_dir}}/scripts/installers/google-cloud-sdk.sh", "{{template_dir}}/scripts/installers/google-cloud-sdk.sh",
"{{template_dir}}/scripts/installers/haskell.sh", "{{template_dir}}/scripts/installers/haskell.sh",
@@ -153,20 +165,24 @@
"{{template_dir}}/scripts/installers/mono.sh", "{{template_dir}}/scripts/installers/mono.sh",
"{{template_dir}}/scripts/installers/mysql.sh", "{{template_dir}}/scripts/installers/mysql.sh",
"{{template_dir}}/scripts/installers/nodejs.sh", "{{template_dir}}/scripts/installers/nodejs.sh",
"{{template_dir}}/scripts/installers/bazel.sh",
"{{template_dir}}/scripts/installers/phantomjs.sh", "{{template_dir}}/scripts/installers/phantomjs.sh",
"{{template_dir}}/scripts/installers/1604/php.sh", "{{template_dir}}/scripts/installers/1604/php.sh",
"{{template_dir}}/scripts/installers/pollinate.sh", "{{template_dir}}/scripts/installers/pollinate.sh",
"{{template_dir}}/scripts/installers/postgresql.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/ruby.sh",
"{{template_dir}}/scripts/installers/rust.sh", "{{template_dir}}/scripts/installers/rust.sh",
"{{template_dir}}/scripts/installers/julia.sh",
"{{template_dir}}/scripts/installers/sbt.sh", "{{template_dir}}/scripts/installers/sbt.sh",
"{{template_dir}}/scripts/installers/selenium.sh", "{{template_dir}}/scripts/installers/selenium.sh",
"{{template_dir}}/scripts/installers/sphinx.sh", "{{template_dir}}/scripts/installers/sphinx.sh",
"{{template_dir}}/scripts/installers/subversion.sh", "{{template_dir}}/scripts/installers/subversion.sh",
"{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/terraform.sh",
"{{template_dir}}/scripts/installers/packer.sh",
"{{template_dir}}/scripts/installers/vcpkg.sh", "{{template_dir}}/scripts/installers/vcpkg.sh",
"{{template_dir}}/scripts/installers/zeit-now.sh", "{{template_dir}}/scripts/installers/zeit-now.sh",
"{{template_dir}}/scripts/installers/updatepath.sh",
"{{template_dir}}/scripts/installers/dpkg-config.sh" "{{template_dir}}/scripts/installers/dpkg-config.sh"
], ],
@@ -177,6 +193,19 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "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", "type": "file",
"source": "{{template_dir}}/toolcache-1604.json", "source": "{{template_dir}}/toolcache-1604.json",
@@ -186,7 +215,7 @@
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
"{{template_dir}}/scripts/installers/1604/android.sh", "{{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/helpers/containercache.sh",
"{{template_dir}}/scripts/installers/hosted-tool-cache.sh", "{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
"{{template_dir}}/scripts/installers/python.sh", "{{template_dir}}/scripts/installers/python.sh",
+35 -6
View File
@@ -15,6 +15,7 @@
"private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}", "private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
"image_folder": "/imagegeneration", "image_folder": "/imagegeneration",
"commit_file": "/imagegeneration/commit.txt", "commit_file": "/imagegeneration/commit.txt",
"imagedata_file": "/imagegeneration/imagedata.json",
"metadata_file": "/imagegeneration/metadatafile", "metadata_file": "/imagegeneration/metadatafile",
"installer_script_folder": "/imagegeneration/installers", "installer_script_folder": "/imagegeneration/installers",
"helper_script_folder": "/imagegeneration/helpers", "helper_script_folder": "/imagegeneration/helpers",
@@ -22,7 +23,9 @@
"capture_name_prefix": "packer", "capture_name_prefix": "packer",
"image_version": "dev", "image_version": "dev",
"image_os": "ubuntu18", "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"], "sensitive-variables": ["client_secret", "github_feed_token"],
"builders": [ "builders": [
@@ -110,6 +113,17 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "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", "type": "shell",
"inline": [ "inline": [
@@ -133,14 +147,12 @@
"{{template_dir}}/scripts/installers/cmake.sh", "{{template_dir}}/scripts/installers/cmake.sh",
"{{template_dir}}/scripts/installers/docker-compose.sh", "{{template_dir}}/scripts/installers/docker-compose.sh",
"{{template_dir}}/scripts/installers/docker-moby.sh", "{{template_dir}}/scripts/installers/docker-moby.sh",
"{{template_dir}}/scripts/installers/docker.sh", "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
"{{template_dir}}/scripts/installers/1804/dotnetcore-sdk.sh",
"{{template_dir}}/scripts/installers/erlang.sh", "{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh", "{{template_dir}}/scripts/installers/firefox.sh",
"{{template_dir}}/scripts/installers/gcc.sh", "{{template_dir}}/scripts/installers/gcc.sh",
"{{template_dir}}/scripts/installers/gfortran.sh", "{{template_dir}}/scripts/installers/gfortran.sh",
"{{template_dir}}/scripts/installers/git.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-chrome.sh",
"{{template_dir}}/scripts/installers/google-cloud-sdk.sh", "{{template_dir}}/scripts/installers/google-cloud-sdk.sh",
"{{template_dir}}/scripts/installers/haskell.sh", "{{template_dir}}/scripts/installers/haskell.sh",
@@ -156,20 +168,24 @@
"{{template_dir}}/scripts/installers/mono.sh", "{{template_dir}}/scripts/installers/mono.sh",
"{{template_dir}}/scripts/installers/mysql.sh", "{{template_dir}}/scripts/installers/mysql.sh",
"{{template_dir}}/scripts/installers/nodejs.sh", "{{template_dir}}/scripts/installers/nodejs.sh",
"{{template_dir}}/scripts/installers/bazel.sh",
"{{template_dir}}/scripts/installers/phantomjs.sh", "{{template_dir}}/scripts/installers/phantomjs.sh",
"{{template_dir}}/scripts/installers/1804/php.sh", "{{template_dir}}/scripts/installers/1804/php.sh",
"{{template_dir}}/scripts/installers/pollinate.sh", "{{template_dir}}/scripts/installers/pollinate.sh",
"{{template_dir}}/scripts/installers/postgresql.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/ruby.sh",
"{{template_dir}}/scripts/installers/rust.sh", "{{template_dir}}/scripts/installers/rust.sh",
"{{template_dir}}/scripts/installers/julia.sh",
"{{template_dir}}/scripts/installers/sbt.sh", "{{template_dir}}/scripts/installers/sbt.sh",
"{{template_dir}}/scripts/installers/selenium.sh", "{{template_dir}}/scripts/installers/selenium.sh",
"{{template_dir}}/scripts/installers/sphinx.sh", "{{template_dir}}/scripts/installers/sphinx.sh",
"{{template_dir}}/scripts/installers/subversion.sh", "{{template_dir}}/scripts/installers/subversion.sh",
"{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/terraform.sh",
"{{template_dir}}/scripts/installers/packer.sh",
"{{template_dir}}/scripts/installers/vcpkg.sh", "{{template_dir}}/scripts/installers/vcpkg.sh",
"{{template_dir}}/scripts/installers/zeit-now.sh", "{{template_dir}}/scripts/installers/zeit-now.sh",
"{{template_dir}}/scripts/installers/updatepath.sh",
"{{template_dir}}/scripts/installers/dpkg-config.sh" "{{template_dir}}/scripts/installers/dpkg-config.sh"
], ],
"environment_vars": [ "environment_vars": [
@@ -179,6 +195,19 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "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", "type": "file",
"source": "{{template_dir}}/toolcache-1804.json", "source": "{{template_dir}}/toolcache-1804.json",
@@ -188,7 +217,7 @@
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
"{{template_dir}}/scripts/installers/1804/android.sh", "{{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/helpers/containercache.sh",
"{{template_dir}}/scripts/installers/hosted-tool-cache.sh", "{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
"{{template_dir}}/scripts/installers/python.sh", "{{template_dir}}/scripts/installers/python.sh",
+40 -37
View File
@@ -1,5 +1,5 @@
# macOS Catalina 10.15.3 (19D76) # 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 #### Xcode 11.3.1 set by default
## Operating System ## 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 11: Zulu11.37+17-CA (build 11.0.6+10-LTS)
- Java 12: Zulu12.3+11-CA (build 12.0.2+3) - Java 12: Zulu12.3+11-CA (build 12.0.2+3)
- Java 13: Zulu13.29+9-CA (build 13.0.2+6-MTS) - 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 - Clang/LLVM 9.0.1
- gcc-8 (Homebrew GCC 8.3.0_2) 8.3.0 - gcc-8 (Homebrew GCC 8.3.0_2) 8.3.0
- gcc-9 (Homebrew GCC 9.2.0_3) 9.2.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 8.3.0_2) 8.3.0
- GNU Fortran (Homebrew GCC 9.2.0_3) 9.2.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 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 - PowerShell 6.2.4
- Python 2.7.17 - Python 2.7.17
- Python 3.7.6 - Python 3.7.6
- Ruby 2.7.0p0 - Ruby 2.6.5p114
- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.1.100 3.1.101 - .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.13.8 - Go 1.14
- PHP 7.4.2 - PHP 7.4.3
### Package Management ### Package Management
- Rustup 1.21.1 - Rustup 1.21.1
- Bundler version 2.1.4 - Bundler version 2.1.4
- Carthage 0.34.0 - Carthage 0.34.0
- CocoaPods 1.8.4 - CocoaPods 1.9.0
- Homebrew 2.2.6 - Homebrew 2.2.6
- NPM 6.13.4 - NPM 6.13.4
- Yarn 1.22.0 - 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 2.7)
- Pip 19.3.1 (python 3.7) - Pip 19.3.1 (python 3.7)
- Miniconda 4.7.12 - Miniconda 4.7.12
- RubyGems 3.1.2 - RubyGems 3.1.2
- Vcpkg 2020.02.04
### Project Management ### Project Management
- Apache Maven 3.6.3 - Apache Maven 3.6.3
- Gradle 6.2 - Gradle 6.2.1
### Utilities ### Utilities
- Curl 7.68.0 - 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 - Git LFS: 2.10.0
- GNU Wget 1.20.3 - GNU Wget 1.20.3
- Subversion (SVN) 1.13.0 - Subversion (SVN) 1.13.0
- GNU parallel 20200122 - GNU parallel 20200222
- OpenSSL 1.0.2t 10 Sep 2019 - OpenSSL 1.0.2t 10 Sep 2019
- jq 1.6 - jq 1.6
- gpg (GnuPG) 2.2.19 - gpg (GnuPG) 2.2.19
- psql (PostgreSQL) 12.1 - psql (PostgreSQL) 12.2
- aria2 1.35.0 - aria2 1.35.0
- azcopy 10.3.4 - azcopy 10.3.4
- zstd 1.4.4
### Tools ### Tools
- Fastlane 2.141.0 - Fastlane 2.142.0
- Cmake 3.16.4 - Cmake 3.16.4
- App Center CLI 2.3.3 - App Center CLI 2.3.3
- Azure CLI 2.0.81 - Azure CLI 2.1.0
### Browsers ### Browsers
- Google Chrome 80.0.3987.106 - Google Chrome 80.0.3987.122
- ChromeDriver 80.0.3987.106 - ChromeDriver 80.0.3987.106
- Microsoft Edge 80.0.361.54 - Microsoft Edge 80.0.361.62
- MSEdgeDriver 80.0.361.54 - MSEdgeDriver 80.0.361.62
- Mozilla Firefox 73.0 - Mozilla Firefox 73.0.1
- geckodriver 0.26.0 - geckodriver 0.26.0
### Toolcache ### Toolcache
@@ -88,7 +90,7 @@ The following software is installed on machines with the 20200217.2 update.
- 3.5.9 - 3.5.9
- 3.6.10 - 3.6.10
- 3.7.6 - 3.7.6
- 3.8.1 - 3.8.2
#### PyPy #### PyPy
- 2.7.17 - 2.7.17
@@ -96,20 +98,20 @@ The following software is installed on machines with the 20200217.2 update.
### Xamarin ### Xamarin
#### Visual Studio for Mac #### Visual Studio for Mac
- 8.4.5.19 - 8.4.7.17
#### Mono #### Mono
- 6.6.0.155 - 6.6.0.166
- 6.4.0.208 - 6.4.0.208
#### Xamarin.iOS #### Xamarin.iOS
- 13.10.0.17 - 13.10.0.21
- 13.8.3.0 - 13.8.3.0
- 13.6.0.12 - 13.6.0.12
- 13.4.0.2 - 13.4.0.2
#### Xamarin.Mac #### Xamarin.Mac
- 6.10.0.17 - 6.10.0.21
- 6.8.3.0 - 6.8.3.0
- 6.6.0.12 - 6.6.0.12
- 6.4.0.2 - 6.4.0.2
@@ -123,8 +125,8 @@ The following software is installed on machines with the 20200217.2 update.
### Xcode ### Xcode
| Version | Build | Path | | Version | Build | Path |
| --------------------------------- | --------------------------------- | --------------------------------- | | ---------------- | ------- | --------------------------------- |
| 11.4 (beta) | 11N111s | /Applications/Xcode_11.4_beta.app | | 11.4 (beta) | 11N123k | /Applications/Xcode_11.4_beta.app |
| 11.3.1 (default) | 11C505 | /Applications/Xcode_11.3.1.app | | 11.3.1 (default) | 11C505 | /Applications/Xcode_11.3.1.app |
| 11.3 | 11C29 | /Applications/Xcode_11.3.app | | 11.3 | 11C29 | /Applications/Xcode_11.3.app |
| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app | | 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
@@ -141,7 +143,7 @@ The following software is installed on machines with the 20200217.2 update.
#### Installed SDKs #### Installed SDKs
| SDK | SDK Name | Xcode Version | | 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 | | 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.0 | iphoneos13.0 | 11.0 |
| iOS 13.1 | iphoneos13.1 | 11.1 | | iOS 13.1 | iphoneos13.1 | 11.1 |
@@ -167,11 +169,11 @@ The following software is installed on machines with the 20200217.2 update.
#### Installed Simulators #### Installed Simulators
| OS | Xcode Version | 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.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.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.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.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) | | 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.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.2 | 11.2<br>11.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
@@ -189,12 +191,12 @@ The following software is installed on machines with the 20200217.2 update.
#### Android SDK Platform-Tools #### Android SDK Platform-Tools
| Package Name | Description | | Package Name | Description |
| ------------------------------------------- | ------------------------------------------- | | -------------- | ------------------------------------------- |
| platform-tools | Android SDK Platform-Tools, Revision 29.0.5 | | platform-tools | Android SDK Platform-Tools, Revision 29.0.6 |
#### Android SDK Platforms #### Android SDK Platforms
| Package Name | Description | | Package Name | Description |
| ----------------------------------- | ----------------------------------- | | ------------ | ----------------------------------- |
| android-24 | Android SDK Platform 24, Revision 2 | | android-24 | Android SDK Platform 24, Revision 2 |
| android-25 | Android SDK Platform 25, Revision 3 | | android-25 | Android SDK Platform 25, Revision 3 |
| android-26 | Android SDK Platform 26, Revision 2 | | android-26 | Android SDK Platform 26, Revision 2 |
@@ -204,7 +206,7 @@ The following software is installed on machines with the 20200217.2 update.
#### Android SDK Build-Tools #### Android SDK Build-Tools
| Package Name | Description | | Package Name | Description |
| ---------------------------------------- | ---------------------------------------- | | ---------------------- | -------------------------------------------- |
| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 | | 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.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.2 | Android SDK Build-Tools, Revision 24.0.2 |
@@ -229,18 +231,19 @@ The following software is installed on machines with the 20200217.2 update.
| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 | | 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.2 | Android SDK Build-Tools, Revision 29.0.2 |
| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 | | 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 #### Android Utils
| Package Name | Version | | Package Name | Version |
| ---------------- | ---------------- | | ---------------- | ------------ |
| cmake | 3.6.4111459 | | cmake | 3.6.4111459 |
| lldb | 3.1.4508709 | | lldb | 3.1.4508709 |
| ndk-bundle | 18.1.5063045 | | ndk-bundle | 18.1.5063045 |
| Android Emulator | 29.3.4 | | Android Emulator | 30.0.0 |
#### Android Google APIs #### Android Google APIs
| Package Name | Description | | Package Name | Description |
| --------------------------- | --------------------------- | | --------------------------- | ----------------------- |
| addon-google_apis-google-21 | Google APIs, Revision 1 | | addon-google_apis-google-21 | Google APIs, Revision 1 |
| addon-google_apis-google-22 | 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-23 | Google APIs, Revision 1 |
@@ -248,7 +251,7 @@ The following software is installed on machines with the 20200217.2 update.
#### Extra Packages #### Extra Packages
| Package Name | Version | | Package Name | Version |
| ----------------------------------------------- | ----------------------------------------------- | | ----------------------------------------------- | ------- |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
+60 -13
View File
@@ -19,6 +19,7 @@
"root_folder": "C:", "root_folder": "C:",
"image_folder": "C:\\image", "image_folder": "C:\\image",
"commit_file": "C:\\image\\commit.txt", "commit_file": "C:\\image\\commit.txt",
"imagedata_file": "C:\\imagedata.json",
"metadata_file": "C:\\image\\metadata.txt", "metadata_file": "C:\\image\\metadata.txt",
"helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\", "helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\",
"commit_url": "LATEST", "commit_url": "LATEST",
@@ -120,6 +121,16 @@
"setx ImageOS {{user `image_os` }} /m" "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", "type": "powershell",
"scripts":[ "scripts":[
@@ -277,11 +288,23 @@
"{{ template_dir }}/scripts/Installers/Install-NodeLts.ps1" "{{ template_dir }}/scripts/Installers/Install-NodeLts.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Bazel.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Install-7zip.ps1" "{{ template_dir }}/scripts/Installers/Install-7zip.ps1"
] ]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Packer.ps1"
]
}, },
{ {
"type": "file", "type": "file",
@@ -304,6 +327,12 @@
"{{ template_dir }}/scripts/Installers/Windows2016/Install-Python.ps1" "{{ template_dir }}/scripts/Installers/Windows2016/Install-Python.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Perl.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -338,6 +367,12 @@
"{{ template_dir }}/scripts/Installers/Install-Rust.ps1" "{{ template_dir }}/scripts/Installers/Install-Rust.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Julia.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -377,7 +412,7 @@
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "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" "{{ template_dir }}/scripts/Installers/Install-InnoSetup.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Perl.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -607,6 +636,12 @@
"{{ template_dir }}/scripts/Installers/Validate-Python.ps1" "{{ template_dir }}/scripts/Installers/Validate-Python.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Perl.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -651,6 +686,12 @@
"{{ template_dir }}/scripts/Installers/Validate-Rust.ps1" "{{ template_dir }}/scripts/Installers/Validate-Rust.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Julia.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -693,6 +734,12 @@
"{{ template_dir }}/scripts/Installers/Validate-NodeLts.ps1" "{{ template_dir }}/scripts/Installers/Validate-NodeLts.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -759,6 +806,12 @@
"{{ template_dir }}/scripts/Installers/Validate-7zip.ps1" "{{ template_dir }}/scripts/Installers/Validate-7zip.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Packer.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -783,12 +836,6 @@
"{{ template_dir }}/scripts/Installers/Validate-InnoSetup.ps1" "{{ template_dir }}/scripts/Installers/Validate-InnoSetup.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Perl.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
+93 -26
View File
@@ -1,6 +1,6 @@
# Windows Server 2016 # 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. Components marked with **\*** have been upgraded since the previous version of the image.
@@ -30,9 +30,9 @@ _Version:_ 6.2.4 <br/>
## Docker images ## Docker images
The following container images have been cached: 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/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:2053602020c89ff2d6c0d4005372ebc6cebcf866fb5785e562d91389aa467943)
* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:7e81f462be36ba1362062306426c65547e6d63b2eab0b5583808581081393a79) * mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:ca895ab76f1d3ab95f022cbca076e06b62daebafe61af34212bb3ed1fe982d78)
* mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:42be24b8810c861cc1b3fe75c5e99f75061cb45fdbae1de46d151c18cc8e6a9a) * mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:10e43e24be6eb5f3e19e705a88adb9794b569028f0e0d715d40f25e53e04c3fc)
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c) * microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
* mcr.microsoft.com/windows/nanoserver:10.0.14393.953 (Digest: sha256:fc60bd5ae0e61b334ce1cf1bcbf20c10c36b4c5482a01da319c9c989f9e6e268) * 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.Component.4.7.1.SDK * Microsoft.Net.Component.4.7.1.SDK
* Microsoft.Net.Component.4.7.1.TargetingPack * Microsoft.Net.Component.4.7.1.TargetingPack
* Microsoft.Net.ComponentGroup.4.7.1.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.2.DeveloperTools
* Microsoft.Net.Core.Component.SDK.1x * Microsoft.Net.Core.Component.SDK.1x
* Microsoft.NetCore.1x.ComponentGroup.Web * Microsoft.NetCore.1x.ComponentGroup.Web
@@ -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 _Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-19
## Azure/AzureRM Powershell modules ## AzureRM PowerShell module
#### 2.1.0 #### 2.1.0
@@ -335,22 +337,72 @@ This version is installed and is available via `Get-Module -ListAvailable`
This version is saved but not installed This version is saved but not installed
_Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1 _Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1
#### 4.2.1 #### 4.2.1
This version is saved but not installed This version is saved but not installed
_Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1 _Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1
#### 5.1.1 #### 5.1.1
This version is saved but not installed This version is saved but not installed
_Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1 _Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1
#### 6.7.0 #### 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 _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 ## TLS12
@@ -359,7 +411,7 @@ _Description:_ .NET has been configured to use TLS 1.2 by default
## Azure CLI ## Azure CLI
_Version:_ 2.0.81 _Version:_ 2.1.0
_Environment:_ _Environment:_
* PATH: contains location of az.cmd * PATH: contains location of az.cmd
@@ -369,7 +421,7 @@ _Version:_ azure-devops 0.17.0
## Python ## 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.1 (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.1 (x86)<br/> _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 ## PyPy
@@ -391,13 +443,13 @@ _Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
## Git ## Git
_Version:_ 2.25.0<br/> _Version:_ 2.25.1<br/>
_Environment:_ _Environment:_
* PATH: contains location of git.exe * PATH: contains location of git.exe
## Git Large File Storage (LFS) ## Git Large File Storage (LFS)
_Version:_ 2.9.2<br/> _Version:_ 2.10.0<br/>
_Environment:_ _Environment:_
* PATH: contains location of git-lfs.exe * PATH: contains location of git-lfs.exe
* GIT_LFS_PATH: location of git-lfs.exe * GIT_LFS_PATH: location of git-lfs.exe
@@ -448,11 +500,11 @@ _Environment:_
## PHP (x64) ## PHP (x64)
#### 7.4.2 #### 7.4.3
_Environment:_ _Environment:_
* PATH: contains the location of php.exe version 7.4.2 * PATH: contains the location of php.exe version 7.4.3
* PHPROOT: root directory of the PHP 7.4.2 installation * PHPROOT: root directory of the PHP 7.4.3 installation
## Ruby (x64) ## Ruby (x64)
@@ -464,7 +516,7 @@ _Environment:_
## Rust (64-bit) ## Rust (64-bit)
#### 1.41.0 #### 1.41.1
_Location:_ C:\Rust\.cargo\bin _Location:_ C:\Rust\.cargo\bin
_Environment:_ _Environment:_
* PATH: contains the location of rustc.exe * PATH: contains the location of rustc.exe
@@ -482,17 +534,17 @@ _Environment:_
## Google Chrome ## Google Chrome
_version:_ _version:_
80.0.3987.106 80.0.3987.122
## Microsoft Edge ## Microsoft Edge
_version:_ _version:_
80.0.361.54 80.0.361.62
## Mozilla Firefox ## Mozilla Firefox
_version:_ _version:_
72.0.1 73.0.1
## Selenium Web Drivers ## Selenium Web Drivers
@@ -508,7 +560,7 @@ _Environment:_
#### Gecko Driver #### Gecko Driver
_version:_ _version:_
0.24.0
_Environment:_ _Environment:_
* GeckoWebDriver: location of geckodriver.exe * GeckoWebDriver: location of geckodriver.exe
@@ -532,7 +584,7 @@ _Environment:_
## Node.js ## Node.js
_Version:_ 12.16.0<br/> _Version:_ 12.16.1<br/>
_Architecture:_ x64<br/> _Architecture:_ x64<br/>
_Environment:_ _Environment:_
* PATH: contains location of node.exe<br/> * PATH: contains location of node.exe<br/>
@@ -573,26 +625,27 @@ _Environment:_
## Maven ## Maven
_Version:_ 3.6.2<br/> _Version:_ 3.6.3<br/>
_Environment:_ _Environment:_
* PATH: contains location of mvn.bat * PATH: contains location of mvn.bat
* M2_HOME: Maven installation root * M2_HOME: Maven installation root
## Gradle ## Gradle
_Version:_ 6.0.1<br/> _Version:_ 6.2.1<br/>
_Environment:_ _Environment:_
* PATH: contains location of gradle * PATH: contains location of gradle
## Cmake ## Cmake
_Version:_ 3.16.2<br/> _Version:_ 3.16.4<br/>
_Environment:_ _Environment:_
* PATH: contains location of cmake.exe * PATH: contains location of cmake.exe
## SQL Server Data Tier Application Framework (x64) ## SQL Server Data Tier Application Framework (x64)
_Version:_ 15.0.4538.1<br/> _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 ## .NET Core
@@ -604,6 +657,7 @@ _Environment:_
_SDK:_ _SDK:_
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101 * 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100 * 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.102 C:\Program Files\dotnet\sdk\3.0.102
* 3.0.101 C:\Program Files\dotnet\sdk\3.0.101 * 3.0.101 C:\Program Files\dotnet\sdk\3.0.101
* 3.0.100 C:\Program Files\dotnet\sdk\3.0.100 * 3.0.100 C:\Program Files\dotnet\sdk\3.0.100
@@ -628,11 +682,13 @@ _SDK:_
* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102 * 2.2.102 C:\Program Files\dotnet\sdk\2.2.102
* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101 * 2.2.101 C:\Program Files\dotnet\sdk\2.2.101
* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100 * 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.803 C:\Program Files\dotnet\sdk\2.1.803
* 2.1.802 C:\Program Files\dotnet\sdk\2.1.802 * 2.1.802 C:\Program Files\dotnet\sdk\2.1.802
* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801 * 2.1.801 C:\Program Files\dotnet\sdk\2.1.801
* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701 * 2.1.701 C:\Program Files\dotnet\sdk\2.1.701
* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700 * 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.608 C:\Program Files\dotnet\sdk\2.1.608
* 2.1.607 C:\Program Files\dotnet\sdk\2.1.607 * 2.1.607 C:\Program Files\dotnet\sdk\2.1.607
* 2.1.606 C:\Program Files\dotnet\sdk\2.1.606 * 2.1.606 C:\Program Files\dotnet\sdk\2.1.606
@@ -640,6 +696,7 @@ _SDK:_
* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604 * 2.1.604 C:\Program Files\dotnet\sdk\2.1.604
* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603 * 2.1.603 C:\Program Files\dotnet\sdk\2.1.603
* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602 * 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.511 C:\Program Files\dotnet\sdk\2.1.511
* 2.1.510 C:\Program Files\dotnet\sdk\2.1.510 * 2.1.510 C:\Program Files\dotnet\sdk\2.1.510
* 2.1.509 C:\Program Files\dotnet\sdk\2.1.509 * 2.1.509 C:\Program Files\dotnet\sdk\2.1.509
@@ -663,6 +720,7 @@ _SDK:_
_Runtime:_ _Runtime:_
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1 * 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.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.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 * 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1
* 3.0.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.0 * 3.0.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.0
@@ -683,6 +741,7 @@ _Runtime:_
* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4 * 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.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.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.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 * 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14
* 2.1.13 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13 * 2.1.13 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13
@@ -717,7 +776,7 @@ _Environment:_
## TypeScript ## TypeScript
_Version:_ Version 3.7.5<br/> _Version:_ Version 3.8.3<br/>
## Miniconda ## Miniconda
@@ -727,7 +786,7 @@ _Environment:_
## Azure CosmosDb Emulator ## Azure CosmosDb Emulator
_Version:_ 2.9.1.0<br/> _Version:_ 2.9.2.0<br/>
_Location:_ C:\Program Files\Azure Cosmos DB Emulator\ _Location:_ C:\Program Files\Azure Cosmos DB Emulator\
## 7zip ## 7zip
@@ -742,6 +801,10 @@ _Version:_ <br/>
_Version:_ jq-1.6<br/> _Version:_ jq-1.6<br/>
## zstd
_Version:_ v1.4.0<br/>
## Inno Setup ## Inno Setup
_Version:_ 6.0.3<br/> _Version:_ 6.0.3<br/>
@@ -780,3 +843,7 @@ _Environment:_
_Version:_ kind v0.7.0 go1.13.6 windows/amd64<br/> _Version:_ kind v0.7.0 go1.13.6 windows/amd64<br/>
_Environment:_ _Environment:_
* PATH: contains location of kind.exe * PATH: contains location of kind.exe
## bazel
_Version:_ bazel 2.1.0<br/>
+76 -5
View File
@@ -19,6 +19,7 @@
"root_folder": "C:", "root_folder": "C:",
"image_folder": "C:\\image", "image_folder": "C:\\image",
"commit_file": "C:\\image\\commit.txt", "commit_file": "C:\\image\\commit.txt",
"imagedata_file": "C:\\imagedata.json",
"metadata_file": "C:\\image\\metadata.txt", "metadata_file": "C:\\image\\metadata.txt",
"helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\", "helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\",
"commit_id": "LATEST", "commit_id": "LATEST",
@@ -120,6 +121,16 @@
"setx ImageOS {{user `image_os` }} /m" "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", "type": "powershell",
"scripts":[ "scripts":[
@@ -172,6 +183,12 @@
"{{ template_dir }}/scripts/Installers/Windows2019/Install-Wix.ps1" "{{ template_dir }}/scripts/Installers/Windows2019/Install-Wix.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"valid_exit_codes": [ "valid_exit_codes": [
@@ -204,6 +221,12 @@
"{{ template_dir }}/scripts/Installers/Windows2019/Validate-Wix.ps1" "{{ template_dir }}/scripts/Installers/Windows2019/Validate-Wix.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -252,6 +275,12 @@
"{{ template_dir }}/scripts/Installers/Install-7zip.ps1" "{{ template_dir }}/scripts/Installers/Install-7zip.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Packer.ps1"
]
},
{ {
"type": "file", "type": "file",
"source": "{{template_dir}}/toolcache-2019.json", "source": "{{template_dir}}/toolcache-2019.json",
@@ -273,6 +302,12 @@
"{{ template_dir }}/scripts/Installers/Windows2019/Install-Python.ps1" "{{ template_dir }}/scripts/Installers/Windows2019/Install-Python.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Perl.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -307,6 +342,12 @@
"{{ template_dir }}/scripts/Installers/Install-Rust.ps1" "{{ template_dir }}/scripts/Installers/Install-Rust.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Julia.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -346,7 +387,7 @@
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Install-SeleniumWebDrivers.ps1" "{{ template_dir }}/scripts/Installers/Install-IEWebDriver.ps1"
] ]
}, },
{ {
@@ -482,13 +523,13 @@
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Install-InnoSetup.ps1" "{{ template_dir }}/scripts/Installers/Install-Zstd.ps1"
] ]
}, },
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "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" "{{ template_dir }}/scripts/Installers/Install-Kind.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Bazel.ps1"
]
},
{ {
"type": "windows-restart", "type": "windows-restart",
"restart_timeout": "10m" "restart_timeout": "10m"
@@ -576,6 +623,12 @@
"{{ template_dir }}/scripts/Installers/Validate-Python.ps1" "{{ template_dir }}/scripts/Installers/Validate-Python.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Perl.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -620,6 +673,12 @@
"{{ template_dir }}/scripts/Installers/Validate-Rust.ps1" "{{ template_dir }}/scripts/Installers/Validate-Rust.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Julia.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -727,6 +786,12 @@
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Validate-7zip.ps1" "{{ template_dir }}/scripts/Installers/Validate-7zip.ps1"
] ]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Packer.ps1"
]
}, },
{ {
"type": "powershell", "type": "powershell",
@@ -743,13 +808,13 @@
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Validate-InnoSetup.ps1" "{{ template_dir }}/scripts/Installers/Validate-Zstd.ps1"
] ]
}, },
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "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" "{{ template_dir }}/scripts/Installers/Validate-Kind.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1"
]
},
{ {
"type": "file", "type": "file",
"source": "C:\\InstalledSoftware.md", "source": "C:\\InstalledSoftware.md",
+96 -31
View File
@@ -1,6 +1,6 @@
# Windows Server 2019 # 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. Components marked with **\*** have been upgraded since the previous version of the image.
@@ -19,7 +19,7 @@ _Environment:_
## Docker-compose ## Docker-compose
_Version:_ 1.25.3<br/> _Version:_ 1.25.4<br/>
_Environment:_ _Environment:_
* PATH: contains location of docker-compose.exe * PATH: contains location of docker-compose.exe
@@ -30,10 +30,10 @@ _Version:_ 6.2.4 <br/>
## Docker images ## Docker images
The following container images have been cached: The following container images have been cached:
* mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:7437a0cac8abeb7b540ef249e6c9b5da6e3e218579b187e8a5d4528919497eba) * mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:746e54a4398bff0ad516d02fdb9eec5cba1a3b5ba0c15a82c051fc3dc753fe85)
* mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:05c753fb084d83f9742727a301f19bcbb2912b9a58f3ca659ba4c9d3e9b9fec2) * mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:708a9492c51140a07a0bd160c508dd6d17f3b061af0a3f53de607d671ee7176a)
* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:fb04ac71d809a06bd695d7647cff47a1c5ceb2e2b11c1ed7dd32283158522e36) * mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:39ba615d7a739fcdd9fc95b97882672d5af7d0861dd16b51b238c822765d2b8d)
* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:85433707a809232402827a359c80d0aa08226e7833aa2914be2113e694d2b6ae) * mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:4201fb07c1ece2ef0bad7b518fd487d030cd49de98b81b3ed8b98e71432df463)
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c) * microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
## Visual Studio 2019 Enterprise ## Visual Studio 2019 Enterprise
@@ -54,6 +54,9 @@ The following workloads and components are installed with Visual Studio 2019:
* Microsoft.Component.VC.Runtime.UCRTSDK * Microsoft.Component.VC.Runtime.UCRTSDK
* Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools * Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools
* Microsoft.Net.ComponentGroup.4.7.1.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.Net.ComponentGroup.4.7.DeveloperTools
* Microsoft.VisualStudio.Component.AspNet45 * Microsoft.VisualStudio.Component.AspNet45
* Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools * Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools
@@ -131,7 +134,8 @@ _Path:_ C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
## Windows Driver Kit ## Windows Driver Kit
_Version:_ 10.0.18362.0<br/> _WDK Version:_ 10.1.18362.1<br/>
_WDK Visual Studio Extension Version:_ 10.0.18346.0<br/>
## Azure Service Fabric ## 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 _Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-19
## Azure/AzureRM Powershell modules ## AzureRM PowerShell module
#### 2.1.0 #### 2.1.0
@@ -313,22 +317,72 @@ This version is installed and is available via `Get-Module -ListAvailable`
This version is saved but not installed This version is saved but not installed
_Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1 _Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1
#### 4.2.1 #### 4.2.1
This version is saved but not installed This version is saved but not installed
_Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1 _Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1
#### 5.1.1 #### 5.1.1
This version is saved but not installed This version is saved but not installed
_Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1 _Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1
#### 6.7.0 #### 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 _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 ## TLS12
@@ -337,7 +391,7 @@ _Description:_ .NET has been configured to use TLS 1.2 by default
## Azure CLI ## Azure CLI
_Version:_ 2.0.81 _Version:_ 2.1.0
_Environment:_ _Environment:_
* PATH: contains location of az.cmd * PATH: contains location of az.cmd
@@ -347,7 +401,7 @@ _Version:_ azure-devops 0.17.0
## Python ## 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.1 (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.1 (x86)<br/> _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 ## PyPy
@@ -369,13 +423,13 @@ _Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
## Git ## Git
_Version:_ 2.25.0<br/> _Version:_ 2.25.1<br/>
_Environment:_ _Environment:_
* PATH: contains location of git.exe * PATH: contains location of git.exe
## Git Large File Storage (LFS) ## Git Large File Storage (LFS)
_Version:_ 2.9.2<br/> _Version:_ 2.10.0<br/>
_Environment:_ _Environment:_
* PATH: contains location of git-lfs.exe * PATH: contains location of git-lfs.exe
* GIT_LFS_PATH: location of git-lfs.exe * GIT_LFS_PATH: location of git-lfs.exe
@@ -421,11 +475,11 @@ _Environment:_
## PHP (x64) ## PHP (x64)
#### 7.4.2 #### 7.4.3
_Environment:_ _Environment:_
* PATH: contains the location of php.exe version 7.4.2 * PATH: contains the location of php.exe version 7.4.3
* PHPROOT: root directory of the PHP 7.4.2 installation * PHPROOT: root directory of the PHP 7.4.3 installation
## Ruby (x64) ## Ruby (x64)
@@ -437,7 +491,7 @@ _Environment:_
## Rust (64-bit) ## Rust (64-bit)
#### 1.41.0 #### 1.41.1
_Location:_ C:\Rust\.cargo\bin _Location:_ C:\Rust\.cargo\bin
_Environment:_ _Environment:_
* PATH: contains the location of rustc.exe * PATH: contains the location of rustc.exe
@@ -455,17 +509,17 @@ _Environment:_
## Google Chrome ## Google Chrome
_version:_ _version:_
80.0.3987.100 80.0.3987.122
## Microsoft Edge ## Microsoft Edge
_version:_ _version:_
80.0.361.50 80.0.361.62
## Mozilla Firefox ## Mozilla Firefox
_version:_ _version:_
72.0.1 73.0.1
## Selenium Web Drivers ## Selenium Web Drivers
@@ -481,7 +535,7 @@ _Environment:_
#### Gecko Driver #### Gecko Driver
_version:_ _version:_
0.24.0
_Environment:_ _Environment:_
* GeckoWebDriver: location of geckodriver.exe * GeckoWebDriver: location of geckodriver.exe
@@ -489,7 +543,7 @@ _Environment:_
#### IE Driver #### IE Driver
_version:_ _version:_
80.0.3987.16 80.0.3987.106
_Environment:_ _Environment:_
* IEWebDriver: location of IEDriverServer.exe * IEWebDriver: location of IEDriverServer.exe
@@ -505,7 +559,7 @@ _Environment:_
## Node.js ## Node.js
_Version:_ 12.16.0<br/> _Version:_ 12.16.1<br/>
_Architecture:_ x64<br/> _Architecture:_ x64<br/>
_Environment:_ _Environment:_
* PATH: contains location of node.exe<br/> * PATH: contains location of node.exe<br/>
@@ -546,26 +600,27 @@ _Environment:_
## Maven ## Maven
_Version:_ 3.6.2<br/> _Version:_ 3.6.3<br/>
_Environment:_ _Environment:_
* PATH: contains location of mvn.bat * PATH: contains location of mvn.bat
* M2_HOME: Maven installation root * M2_HOME: Maven installation root
## Gradle ## Gradle
_Version:_ 6.0.1<br/> _Version:_ 6.2.1<br/>
_Environment:_ _Environment:_
* PATH: contains location of gradle * PATH: contains location of gradle
## Cmake ## Cmake
_Version:_ 3.16.2<br/> _Version:_ 3.16.4<br/>
_Environment:_ _Environment:_
* PATH: contains location of cmake.exe * PATH: contains location of cmake.exe
## SQL Server Data Tier Application Framework (x64) ## SQL Server Data Tier Application Framework (x64)
_Version:_ 15.0.4538.1<br/> _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 ## .NET Core
@@ -577,6 +632,7 @@ _Environment:_
_SDK:_ _SDK:_
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101 * 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100 * 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.102 C:\Program Files\dotnet\sdk\3.0.102
* 3.0.101 C:\Program Files\dotnet\sdk\3.0.101 * 3.0.101 C:\Program Files\dotnet\sdk\3.0.101
* 3.0.100 C:\Program Files\dotnet\sdk\3.0.100 * 3.0.100 C:\Program Files\dotnet\sdk\3.0.100
@@ -601,11 +657,13 @@ _SDK:_
* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102 * 2.2.102 C:\Program Files\dotnet\sdk\2.2.102
* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101 * 2.2.101 C:\Program Files\dotnet\sdk\2.2.101
* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100 * 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.803 C:\Program Files\dotnet\sdk\2.1.803
* 2.1.802 C:\Program Files\dotnet\sdk\2.1.802 * 2.1.802 C:\Program Files\dotnet\sdk\2.1.802
* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801 * 2.1.801 C:\Program Files\dotnet\sdk\2.1.801
* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701 * 2.1.701 C:\Program Files\dotnet\sdk\2.1.701
* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700 * 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.608 C:\Program Files\dotnet\sdk\2.1.608
* 2.1.607 C:\Program Files\dotnet\sdk\2.1.607 * 2.1.607 C:\Program Files\dotnet\sdk\2.1.607
* 2.1.606 C:\Program Files\dotnet\sdk\2.1.606 * 2.1.606 C:\Program Files\dotnet\sdk\2.1.606
@@ -613,6 +671,7 @@ _SDK:_
* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604 * 2.1.604 C:\Program Files\dotnet\sdk\2.1.604
* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603 * 2.1.603 C:\Program Files\dotnet\sdk\2.1.603
* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602 * 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.511 C:\Program Files\dotnet\sdk\2.1.511
* 2.1.510 C:\Program Files\dotnet\sdk\2.1.510 * 2.1.510 C:\Program Files\dotnet\sdk\2.1.510
* 2.1.509 C:\Program Files\dotnet\sdk\2.1.509 * 2.1.509 C:\Program Files\dotnet\sdk\2.1.509
@@ -634,6 +693,7 @@ _SDK:_
_Runtime:_ _Runtime:_
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1 * 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.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.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 * 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1
* 3.0.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.0 * 3.0.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.0
@@ -654,6 +714,7 @@ _Runtime:_
* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4 * 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.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.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.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 * 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14
* 2.1.13 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13 * 2.1.13 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13
@@ -685,7 +746,7 @@ _Environment:_
## TypeScript ## TypeScript
_Version:_ Version 3.7.5<br/> _Version:_ Version 3.8.3<br/>
## Miniconda ## Miniconda
@@ -695,7 +756,7 @@ _Environment:_
## Azure CosmosDb Emulator ## Azure CosmosDb Emulator
_Version:_ 2.9.1.0<br/> _Version:_ 2.9.2.0<br/>
_Location:_ C:\Program Files\Azure Cosmos DB Emulator\ _Location:_ C:\Program Files\Azure Cosmos DB Emulator\
## 7zip ## 7zip
@@ -739,7 +800,7 @@ _Environment:_
## VSWhere ## VSWhere
_Version_: Visual Studio Locator version 2.8.4+ff0de50053 [query version 2.3.2200.14893] Copyright (C) Microsoft Corporation. All rights reserved. instanceId: c902162b installDate: 2/12/2020 11:02:21 PM 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-02-12T23:02:21.9476668Z 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/> _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 * PATH: contains location of vswhere.exe
## Kubectl ## Kubectl
@@ -753,3 +814,7 @@ _Environment:_
_Version:_ kind v0.7.0 go1.13.6 windows/amd64<br/> _Version:_ kind v0.7.0 go1.13.6 windows/amd64<br/>
_Environment:_ _Environment:_
* PATH: contains location of kind.exe * PATH: contains location of kind.exe
## bazel
_Version:_ bazel 2.1.0<br/>
@@ -3,195 +3,66 @@
## Desc: Install Azure PowerShell modules ## 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 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 #### NOW The correct Modules need to be saved in C:\Modules
$installPSModulePath = 'C:\Modules'
if($(Test-Path -LiteralPath "C:\Modules") -eq $true) if(-not (Test-Path -LiteralPath $installPSModulePath))
{ {
Write-Host "C:\Modules directory is already present. Beginning to clear it up completely" Write-Host "Creating '$installPSModulePath' folder to store PowerShell Azure modules"
Remove-Item -Path "C:\Modules" -Recurse -Force $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:" Write-Host "Installing '$psmoduleName' to the '$installPSModulePath' path:"
$directoryListing $psmoduleVersions = $psAzureModulesToInstall[$psmoduleName]
} foreach($psmoduleVersion in $psmoduleVersions)
else { {
Write-Host "The Directory is clean. There are no contents present in it" $psmodulePath = Join-Path $installPSModulePath "${psmoduleName}_${psmoduleVersion}"
} Write-Host " - $psmoduleVersion [$psmodulePath]"
try
# Download and unzip the stored AzurePSModules from the vstsagentools public blob {
$extractLocation = "C:\Modules" Save-Module -Path $psmodulePath -Name $psmoduleName -RequiredVersion $psmoduleVersion -Force -ErrorAction Stop
$azurePsUri = @( }
"https://vstsagenttools.blob.core.windows.net/tools/azurepowershellmodules/AzurePSModules.M157.20190808.27979.zip", catch
"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" Write-Host "Error: $_"
) exit 1
$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
} }
} }
if($finalPath -ne "") { # Add AzureRM and Azure modules to the PSModulePath
[Environment]::SetEnvironmentVariable("PSModulePath", $finalPath + ";" + $env:PSModulePath, "Machine") $finalModulePath = '{0};{1};{2}' -f "${installPSModulePath}\azurerm_2.1.0", "${installPSModulePath}\azure_2.1.0", $env:PSModulePath
} [Environment]::SetEnvironmentVariable("PSModulePath", $finalModulePath, "Machine")
$env:PSModulePath = $env:PSModulePath.TrimStart(';')
foreach ($uri in $azurePsUri)
{
$targetFile = Download-Zip -BlobUri $uri
Extract-Zip -ZipFilePath $targetFile -TargetLocation $extractLocation
}
@@ -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
@@ -39,4 +39,44 @@ $regGoogleParameters | ForEach-Object {
New-ItemProperty @Arguments; 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" Invoke-WebRequest -Uri $dotnetChannel.'releases.json' -UseBasicParsing -OutFile "releases-$channelVersion.json"
$currentReleases = Get-Content -Path "releases-$channelVersion.json" | ConvertFrom-Json $currentReleases = Get-Content -Path "releases-$channelVersion.json" | ConvertFrom-Json
# filtering out the preview/rc releases # 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) ForEach ($release in $currentReleases)
{ {
if ($release.'sdks'.Count -gt 0) if ($release.'sdks'.Count -gt 0)
@@ -78,8 +79,7 @@ function InstallAllValidSdks()
# Sort the sdks on version # Sort the sdks on version
$sdks = @($release.'sdk'); $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'.Contains('-') -and !$_.'version'.Equals($release.'sdk'.'version') }
$sdks += $release.'sdks' | Where-Object { !$_.'version'.Equals('3.1.102') -and !$_.'version'.Contains('-') -and !$_.'version'.Equals($release.'sdk'.'version') }
$sdks = $sdks | Sort-Object { [Version] $_.'version' } $sdks = $sdks | Sort-Object { [Version] $_.'version' }
ForEach ($sdk in $sdks) ForEach ($sdk in $sdks)
@@ -4,3 +4,38 @@
################################################################################ ################################################################################
choco install microsoft-edge -y 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); New-Item -path $firefoxPreferencesFolder -Name 'local-settings.js' -Value 'pref("general.config.obscure_value", 0);
pref("general.config.filename", "mozilla.cfg");' -ItemType file -force pref("general.config.filename", "mozilla.cfg");' -ItemType file -force
# Install Firefox gecko Web Driver
Write-Host "Install Firefox WebDriver" 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" $geckodriverJson = Invoke-RestMethod "https://api.github.com/repos/mozilla/geckodriver/releases/latest"
$geckodriverWindowsAsset = $geckodriverJson.assets | Where-Object { $_.name -Match "win64" } | Select-Object -First 1 $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 $DriversZipFile = $geckodriverWindowsAsset.name
Write-Host "Selenium drivers download and install..." 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 # Install Firefox Web Driver
Write-Host "FireFox driver download...." Write-Host "FireFox driver download...."
@@ -12,7 +12,6 @@ choco install git -y --package-parameters="/GitAndUnixToolsOnPath /WindowsTermin
# Disable GCM machine-wide # Disable GCM machine-wide
[Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine) [Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine)
Add-MachinePathItem "C:\Program Files\Git\usr\bin"
Add-MachinePathItem "C:\Program Files\Git\bin" Add-MachinePathItem "C:\Program Files\Git\bin"
exit 0 exit 0
@@ -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;
@@ -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-22" `
"platforms;android-21" ` "platforms;android-21" `
"platforms;android-19" ` "platforms;android-19" `
"build-tools;29.0.3" `
"build-tools;29.0.2" ` "build-tools;29.0.2" `
"build-tools;29.0.0" ` "build-tools;29.0.0" `
"build-tools;28.0.3" ` "build-tools;28.0.3" `
@@ -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 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 # Adding description of the software to Markdown
$SoftwareName = "Azure/AzureRM Powershell modules" function Add-ModuleDescription
$Description = @"
#### $($DefaultModule.Version)
This version is installed and is available via ``Get-Module -ListAvailable``
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
foreach( $module in $azureModules)
{ {
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 = ""
}
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
}
foreach($module in $azureModules)
{
if($module.Version -ne $defaultModule.Version)
{ {
$CurrentModule = @" $currentModule = "#### $($module.Version)`n`nThis version is saved but not installed`n_Location:_ $($module.Path)"
#### $($module.Version) Add-ContentToMarkdown -Content $currentModule
}
This version is saved but not installed
_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
@@ -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 # Adding description of the software to Markdown
$SoftwareName = "Mercurial" $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] $MercurialVersion = $matches[0]
$Description = @" $Description = @"
@@ -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 (Get-Item "$EdgeDriverPath\msedgedriver.exe").VersionInfo
$versionFileName = "versioninfo.txt"; $versionFileName = "versioninfo.txt";
$chromedriverversion = Get-Content -Path "$IEDriverPath\$versionFileName" $chromedriverversion = Get-Content -Path "$ChromeDriverPath\$versionFileName"
$geckodriverversion = Get-Content -Path "$GeckoDriverPath\$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" $edgedriverversion = Get-Content -Path "$EdgeDriverPath\$versionFileName"
# Adding description of the software to Markdown # Adding description of the software to Markdown
@@ -15,7 +15,7 @@ else
# Adding description of the software to Markdown # Adding description of the software to Markdown
$SoftwareName = "VSWhere" $SoftwareName = "VSWhere"
$VswhereVersion = $(vswhere) $VswhereVersion = (Get-Command -Name vswhere).FileVersionInfo.ProductVersion
$Description = @" $Description = @"
_Version_: $VswhereVersion<br/> _Version_: $VswhereVersion<br/>
@@ -15,7 +15,7 @@ else
# Adding description of the software to Markdown # Adding description of the software to Markdown
$SoftwareName = "zstd" $SoftwareName = "zstd"
$zstdVersion = $(zstd --version).Split(' ')[6].Split(',')[0] $zstdVersion = $(zstd --version).Split(' ')[6].Split(',')[0].Substring(1)
$Description = @" $Description = @"
_Version:_ $zstdVersion<br/> _Version:_ $zstdVersion<br/>
@@ -5,8 +5,8 @@
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
#SSDT for Visual Studio 2017 (15.8.2) #SSDT for Visual Studio 2017 (15.9.3)
$InstallerURI = 'https://download.microsoft.com/download/D/F/8/DF8B51B9-8E9F-47F3-A27B-33EEDADD8966/SSDT-Setup-ENU.exe' $InstallerURI = 'https://download.microsoft.com/download/5/2/D/52DEF429-5B17-470C-82D9-654116080B15/SSDT-Setup-ENU.exe'
$InstallerName = 'SSDT-Setup-ENU.exe' $InstallerName = 'SSDT-Setup-ENU.exe'
$logFilePath = "$env:TEMP\ssdtlog.txt" $logFilePath = "$env:TEMP\ssdtlog.txt"
$ArgumentList = ('/install', 'INSTALLALL', '/passive', '/norestart', "/log `"$logFilePath`"") $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.TestAdapterForGoogleTest ' + `
'--add Microsoft.VisualStudio.Component.VC.v141 ' + ` '--add Microsoft.VisualStudio.Component.VC.v141 ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.x86.x64 ' + ` '--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.16299 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + ` '--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.17763 ' + ` '--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