From d5dd4408d385c699efc619a126ad9ca8ea4bfe54 Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Tue, 14 Jul 2020 07:59:29 +0000 Subject: [PATCH 01/26] Updating readme file for win16 version 20200713.1 --- images/win/Windows2016-Readme.md | 39 ++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index 8a964907..09d6aa35 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -1,6 +1,9 @@ # Microsoft Windows Server 2016 Datacenter - OS Version: 10.0.14393 Build 3750 -- Image Version: 20200706.1 +- Image Version: 20200713.1 + +## Enabled windows optional features +- Windows Subsystem for Linux ## Installed Software ### Language and Runtime @@ -20,7 +23,7 @@ ### Package Management - Chocolatey 0.10.15 -- Vcpkg 2020.02.04 +- Vcpkg 2020.06.15 - NPM 6.14.5 - Yarn 1.22.4 - pip 20.1.1 (python 3.7) @@ -37,7 +40,7 @@ - sbt 1.3.13 ### Tools -- Azure CosmosDb Emulator 2.11.1.0 +- Azure CosmosDb Emulator 2.11.2.0 - Bazel 3.3.1 - Bazelisk 1.5.0 - CMake 3.17.3 @@ -53,10 +56,11 @@ - MySQL 5.7.21.0 - Mercurial 5.0 - NSIS 3.5.0.20200106 +- Newman 5.1.1 - OpenSSL 1.1.1 - Packer 1.6.0 - SQLPS 1.0 -- SQLServer PS 21.1.18221 +- SQLServer PS 21.1.18226 - Subversion (SVN) 1.8.17 - ghc 8.10.1 - Cabal 3.2.0.0 @@ -68,21 +72,28 @@ ### CLI Tools - Azure CLI 2.8.0 -- azcopy 10.4.3 +- azcopy 10.5.0 - Azure DevOps CLI extension 0.18.0 -- AWS CLI 2.0.28 +- AWS CLI 2.0.30 - AWS SAM CLI 0.53.0 -- Alibaba CLI 3.0.26 +- AWS Session Manager CLI 1.1.61.0 +- Alibaba Cloud CLI 3.0.26 - Cloud Foundry CLI 6.51.0 - Hub CLI 2.14.2 -- Google Cloud SDK 299.0.0 +- Google Cloud SDK 300.0.0 + +### Rust packages: +- bindgen 0.54.1 +- cbindgen 0.14.3 +- cargo-audit 0.12.0 +- cargo-outdated v0.9.10 ### Browsers and webdrivers - Google Chrome 83.0.4103.116 - Chrome Driver 83.0.4103.39 -- Microsoft Edge 83.0.478.58 -- Microsoft Edge Driver 83.0.478.58 -- Mozilla Firefox 78.0.1 +- Microsoft Edge 83.0.478.61 +- Microsoft Edge Driver 83.0.478.61 +- Mozilla Firefox 78.0.2 - Gecko Driver 0.26.0 - IE Driver 3.150.1.0 @@ -130,8 +141,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | ------- | ------------ | | 8.17.0 | x64 | | 10.21.0 | x64 | -| 12.18.1 | x64 | -| 14.4.0 | x64 | +| 12.18.2 | x64 | +| 14.5.0 | x64 | #### Python @@ -479,7 +490,7 @@ All other versions are saved but not installed. | android-27 | Android SDK Platform 27, Revision 3 | | android-28 | Android SDK Platform 28, Revision 6 | | android-29 | Android SDK Platform 29, Revision 4 | -| android-30 | Android SDK Platform 30, Revision 1 | +| android-30 | Android SDK Platform 30, Revision 2 | ### Android SDK Build-Tools `Location C:\Program Files (x86)\Android\android-sdk\build-tools` From a1aec37950c069d2986bff2a459988959f009e37 Mon Sep 17 00:00:00 2001 From: Alena Sviridenko Date: Tue, 14 Jul 2020 11:14:03 +0300 Subject: [PATCH 02/26] removed WSL note --- images/win/Windows2016-Readme.md | 43 +++++++++++++++----------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index 09d6aa35..7bd0b5db 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -2,9 +2,6 @@ - OS Version: 10.0.14393 Build 3750 - Image Version: 20200713.1 -## Enabled windows optional features -- Windows Subsystem for Linux - ## Installed Software ### Language and Runtime - Java 1.7.0_232 @@ -99,10 +96,10 @@ ### MSYS2 - Pacman 5.2.1 -``` -Location: C:\msys64 - -Note: MSYS2 is pre-installed on image but not added to PATH. +``` +Location: C:\msys64 + +Note: MSYS2 is pre-installed on image but not added to PATH. ``` ### Cached Tools #### Boost @@ -111,18 +108,18 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | 1.69.0 | x64, x86 | BOOST_ROOT_1_69_0 | | 1.72.0 | x64, x86 | BOOST_ROOT_1_72_0 | ##### Notes: -``` -1. Environment variable "BOOST_ROOT" is not set by default. - Please make sure you set this variable value to proper value - from table above depending on the Boost version you are using. -2. If Boost was built using the boost-cmake project or from Boost 1.70.0 - on it provides a package configuration file for use with find_package's config mode. - This module looks for the package configuration file called BoostConfig.cmake or boost-config.cmake - and stores the result in CACHE entry "Boost_DIR". If found, the package configuration file - is loaded and this module returns with no further action. - See documentation of the Boost CMake package configuration for details on what it provides. - Set Boost_NO_BOOST_CMAKE to ON, to disable the search for boost-cmake. - Link: https://cmake.org/cmake/help/latest/module/FindBoost.html +``` +1. Environment variable "BOOST_ROOT" is not set by default. + Please make sure you set this variable value to proper value + from table above depending on the Boost version you are using. +2. If Boost was built using the boost-cmake project or from Boost 1.70.0 + on it provides a package configuration file for use with find_package's config mode. + This module looks for the package configuration file called BoostConfig.cmake or boost-config.cmake + and stores the result in CACHE entry "Boost_DIR". If found, the package configuration file + is loaded and this module returns with no further action. + See documentation of the Boost CMake package configuration for details on what it provides. + Set Boost_NO_BOOST_CMAKE to ON, to disable the search for boost-cmake. + Link: https://cmake.org/cmake/help/latest/module/FindBoost.html ``` #### Go @@ -465,10 +462,10 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | Az | 1.0.0
1.6.0
2.3.2
2.6.0
3.1.0
3.5.0
3.8.0
4.3.0 | C:\Modules\az_\ | | Azure | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
5.3.0 | C:\Modules\azure_\ | | AzureRM | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
6.7.0
6.13.1 | C:\Modules\azurerm_\ | -``` -Azure PowerShell module 2.1.0 and AzureRM PowerShell module 2.1.0 are installed -and are available via 'Get-Module -ListAvailable'. -All other versions are saved but not installed. +``` +Azure PowerShell module 2.1.0 and AzureRM PowerShell module 2.1.0 are installed +and are available via 'Get-Module -ListAvailable'. +All other versions are saved but not installed. ``` ### Android SDK Tools | Package Name | Description | From 95222e07e94ec86d400c670bdc2f92f5a2b20fd0 Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Tue, 14 Jul 2020 21:25:03 +0000 Subject: [PATCH 03/26] Updating readme file for win19 version 20200714.1 --- images/win/Windows2019-Readme.md | 41 ++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md index 5d6dd636..81eaaada 100644 --- a/images/win/Windows2019-Readme.md +++ b/images/win/Windows2019-Readme.md @@ -1,6 +1,9 @@ # Microsoft Windows Server 2019 Datacenter - OS Version: 10.0.17763 Build 1282 -- Image Version: 20200706.1 +- Image Version: 20200714.1 + +## Enabled windows optional features +- Windows Subsystem for Linux ## Installed Software ### Language and Runtime @@ -20,7 +23,7 @@ ### Package Management - Chocolatey 0.10.15 -- Vcpkg 2020.02.04 +- Vcpkg 2020.06.15 - NPM 6.14.5 - Yarn 1.22.4 - pip 20.1.1 (python 3.7) @@ -37,8 +40,8 @@ - sbt 1.3.13 ### Tools -- Azure CosmosDb Emulator 2.11.1.0 -- Bazel 3.3.1 +- Azure CosmosDb Emulator 2.11.2.0 +- Bazel 3.4.1 - Bazelisk 1.5.0 - CMake 3.17.3 - Docker 19.03.5 @@ -53,10 +56,11 @@ - MySQL 5.7.21.0 - Mercurial 5.0 - NSIS 3.5.0.20200106 +- Newman 5.1.2 - OpenSSL 1.1.1 - Packer 1.6.0 - SQLPS 1.0 -- SQLServer PS 21.1.18221 +- SQLServer PS 21.1.18226 - Subversion (SVN) 1.8.17 - ghc 8.10.1 - Cabal 3.2.0.0 @@ -68,21 +72,28 @@ ### CLI Tools - Azure CLI 2.8.0 -- azcopy 10.4.3 +- azcopy 10.5.0 - Azure DevOps CLI extension 0.18.0 -- AWS CLI 2.0.28 +- AWS CLI 2.0.30 - AWS SAM CLI 0.53.0 -- Alibaba CLI 3.0.26 +- AWS Session Manager CLI 1.1.61.0 +- Alibaba Cloud CLI 3.0.26 - Cloud Foundry CLI 6.51.0 - Hub CLI 2.14.2 -- Google Cloud SDK 299.0.0 +- Google Cloud SDK 300.0.0 + +### Rust packages: +- bindgen 0.54.1 +- cbindgen 0.14.3 +- cargo-audit 0.12.0 +- cargo-outdated v0.9.10 ### Browsers and webdrivers - Google Chrome 83.0.4103.116 - Chrome Driver 83.0.4103.39 -- Microsoft Edge 83.0.478.58 -- Microsoft Edge Driver 83.0.478.58 -- Mozilla Firefox 78.0.1 +- Microsoft Edge 83.0.478.61 +- Microsoft Edge Driver 83.0.478.61 +- Mozilla Firefox 78.0.2 - Gecko Driver 0.26.0 - IE Driver 3.150.1.0 @@ -130,8 +141,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | ------- | ------------ | | 8.17.0 | x64 | | 10.21.0 | x64 | -| 12.18.1 | x64 | -| 14.4.0 | x64 | +| 12.18.2 | x64 | +| 14.5.0 | x64 | #### Python @@ -456,7 +467,7 @@ All other versions are saved but not installed. | android-27 | Android SDK Platform 27, Revision 3 | | android-28 | Android SDK Platform 28, rev 6, Revision 6 | | android-29 | Android SDK Platform 29, Revision 4 | -| android-30 | Android SDK Platform 30, Revision 1 | +| android-30 | Android SDK Platform 30, Revision 2 | ### Android SDK Build-Tools `Location C:\Program Files (x86)\Android\android-sdk\build-tools` From 2975b2a562ccff09284fd3c068b5cce67dca8b8b Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Fri, 17 Jul 2020 14:19:06 +0000 Subject: [PATCH 04/26] Updating readme file for ubuntu16 version 20200717.1 --- images/linux/Ubuntu1604-README.md | 67 +++++++++++++++++-------------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/images/linux/Ubuntu1604-README.md b/images/linux/Ubuntu1604-README.md index 4c82ae09..404df7fd 100644 --- a/images/linux/Ubuntu1604-README.md +++ b/images/linux/Ubuntu1604-README.md @@ -1,12 +1,12 @@ # Ubuntu 16.04.6 LTS -The following software is installed on machines with the 20200709.0 update. +The following software is installed on machines with the 20200717.1 update. *** - 7-Zip 9.20 - Ansible (ansible 2.9.10) - AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy10 (available by azcopy10 alias) 10.5.0 -- Azure CLI (azure-cli 2.8.0) +- Azure CLI (azure-cli 2.9.1) - Azure CLI (azure-devops 0.18.0) - Basic packages: - dnsutils @@ -63,8 +63,8 @@ The following software is installed on machines with the 20200709.0 update. - bzip2 - sqlite3 - libcurl3 -- Alibaba Cloud CLI (3.0.50) -- AWS CLI (aws-cli/1.18.97 Python/2.7.12 Linux/4.15.0-1089-azure botocore/1.17.20) +- Alibaba Cloud CLI (3.0.53) +- AWS CLI (aws-cli/1.18.99 Python/2.7.12 Linux/4.15.0-1091-azure botocore/1.17.22) - AWS CLI Session manager plugin (1.1.61.0) - build-essential - nvm (0.35.3) @@ -78,11 +78,13 @@ Target: x86_64-unknown-linux-gnu - Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b) - Docker-Buildx (0.4.1+azure) - .NET Core SDK: + - 3.1.302 - 3.1.301 - 3.1.300 - 3.1.202 - 3.1.201 - 3.1.200 + - 3.1.106 - 3.1.105 - 3.1.104 - 3.1.103 @@ -93,6 +95,7 @@ Target: x86_64-unknown-linux-gnu - 3.0.102 - 3.0.101 - 3.0.100 + - 2.1.808 - 2.1.807 - 2.1.806 - 2.1.805 @@ -102,6 +105,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.801 - 2.1.701 - 2.1.700 + - 2.1.613 - 2.1.612 - 2.1.611 - 2.1.610 @@ -113,6 +117,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.604 - 2.1.603 - 2.1.602 + - 2.1.516 - 2.1.515 - 2.1.514 - 2.1.513 @@ -135,7 +140,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.301 - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2) -- Firefox (Mozilla Firefox 78.0.1) +- Firefox (Mozilla Firefox 78.0.2) - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.5.0 - GNU C++ 8.4.0 @@ -146,34 +151,34 @@ Target: x86_64-unknown-linux-gnu - Git Large File Storage (LFS) (2.11.0) - Git-ftp (1.0.2) - Hub CLI (2.14.2) -- GitHub CLI 0.10.1 -- Google Chrome (Google Chrome 83.0.4103.116 ) -- ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (300.0.0) +- GitHub CLI 0.11.0 +- Google Chrome (Google Chrome 84.0.4147.89 ) +- ChromeDriver 84.0.4147.30 (48b3e868b4cc0aa7e8149519690b6f6949e110a8-refs/branch-heads/4147@{#310}); Chrome Driver is available via CHROMEWEBDRIVER environment variable +- Google Cloud SDK (301.0.0) - Haskell Cabal (cabal-install version 3.2.0.0 compiled using version 3.2.0.0 of the Cabal library ) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1) - Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0) -- Heroku (heroku/7.42.3 linux-x64 node-v12.16.2) +- Heroku (heroku/7.42.4 linux-x64 node-v12.16.2) - HHVM (HipHop VM 4.56.1 (rel)) - ImageMagick - Azul Zulu OpenJDK: - - 7 (openjdk version "1.7.0_262") + - 7 (openjdk version "1.7.0_272") - Adopt OpenJDK: - - 8 (openjdk version "1.8.0_252") (default) - - 11 (openjdk version "11.0.7" 2020-04-14) + - 8 (openjdk version "1.8.0_262") (default) + - 11 (openjdk version "11.0.8" 2020-07-14) - 12 (openjdk version "12.0.2" 2019-07-16) - Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018) - Gradle 6.5.1 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.8.1 go1.14.2 linux/amd64) -- kubectl (Client Version: v1.18.5) +- kubectl (Client Version: v1.18.6) - helm (v3.2.4+g0ad800e) - minikube version: v1.12.0 - oc CLI Client Version: 4.5.0-202005291417-9933eb9 -- Leiningen (Leiningen 2.9.4 on Java 1.8.0_252 OpenJDK 64-Bit Server VM) +- Leiningen (Leiningen 2.9.4 on Java 1.8.0_262 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 4.4.1)) - Miniconda (conda 4.8.3) - Mono (Mono JIT compiler version 6.10.0.104 (tarball Fri Jun 26 19:43:02 UTC 2020)) @@ -187,12 +192,12 @@ compiled using version 3.2.0.0 of the Cabal library ) Local version: Unknown) - n (6.6.0) - Parcel (1.12.4) -- TypeScript (Version 3.9.6) +- TypeScript (Version 3.9.7) - Webpack (4.43.0) - Webpack CLI (3.3.12) - Yarn (1.22.4) -- Newman (5.1.1) -- Bazel (bazel 3.3.1) +- Newman (5.1.2) +- Bazel (bazel 3.4.1) - Bazelisk (1.5.0) - ORAS CLI 0.8.1 - PhantomJS (2.1.1) @@ -201,20 +206,20 @@ Local version: Unknown) - PHP 7.1 (PHP 7.1.33-16+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:26:44) ( NTS )) - PHP 7.2 (PHP 7.2.32-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jul 9 2020 16:33:33) ( NTS )) - PHP 7.3 (PHP 7.3.19-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jun 12 2020 07:48:10) ( NTS )) -- PHP 7.4 (PHP 7.4.7 (cli) (built: Jun 12 2020 07:43:48) ( NTS )) -- Composer (Composer version 1.10.8 2020-06-24 21:23:30) +- PHP 7.4 (PHP 7.4.8 (cli) (built: Jul 13 2020 16:45:28) ( NTS )) +- Composer (Composer version 1.10.9 2020-07-16 12:57:00) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate - psql (PostgreSQL) 12.3 -- Powershell (PowerShell 7.0.2) +- Powershell (PowerShell 7.0.3) - ruby (2.3.1p112) - gem (3.1.4) - rustup (1.22.1) -- rust (1.44.1) -- cargo (1.44.1) -- rustfmt (1.4.16-stable) +- rust (1.45.0) +- cargo (1.45.0) +- rustfmt (1.4.15-stable) - clippy (0.0.212) -- rustdoc (1.44.1) +- rustdoc (1.45.0) - bindgen (0.54.1) - cbindgen (0.14.3) - cargo audit (0.12.0) @@ -227,10 +232,10 @@ Local version: Unknown) - Terraform (Terraform v0.12.28) - Packer (1.6.0) - Vcpkg 2020.06.15-unknownhash -- Vercel CLI (19.1.1) -- MongoDB on Linux (2020-07-10T00:07:14.041+0000 I CONTROL [initandlisten] db version v4.2.8 -2020-07-10T00:07:14.041+0000 I CONTROL [initandlisten] git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f -2020-07-10T00:07:14.041+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016) +- Vercel CLI (19.1.2) +- MongoDB on Linux (2020-07-17T10:45:19.237+0000 I CONTROL [initandlisten] db version v4.2.8 +2020-07-17T10:45:19.237+0000 I CONTROL [initandlisten] git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f +2020-07-17T10:45:19.237+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016) - Haveged 1.9.1-3 - Google Repository 58 - Google Play services 49 @@ -350,5 +355,5 @@ Local version: Unknown) - boost 1.69.0 - boost 1.72.0 - AWS SAM CLI, version 0.53.0 -- Homebrew on Linux (Homebrew 2.4.5 -Homebrew/linuxbrew-core (git revision 799e0; last commit 2020-07-09)) +- Homebrew on Linux (Homebrew 2.4.7 +Homebrew/linuxbrew-core (git revision 13cb0b; last commit 2020-07-17)) From ba6ba58e2781bda4101b89b0551cfa6710c7a77b Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Fri, 17 Jul 2020 14:20:54 +0000 Subject: [PATCH 05/26] Updating readme file for ubuntu20 version 20200717.1 --- images/linux/Ubuntu2004-README.md | 71 +++++++++++++++++-------------- 1 file changed, 38 insertions(+), 33 deletions(-) diff --git a/images/linux/Ubuntu2004-README.md b/images/linux/Ubuntu2004-README.md index dba6ab86..59a8dc64 100644 --- a/images/linux/Ubuntu2004-README.md +++ b/images/linux/Ubuntu2004-README.md @@ -1,12 +1,12 @@ # Ubuntu 20.04 LTS -The following software is installed on machines with the 20200709.0 update. +The following software is installed on machines with the 20200717.1 update. *** - 7-Zip 16.02 - Ansible (ansible 2.9.6) - AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy10 (available by azcopy10 alias) 10.5.0 -- Azure CLI (azure-cli 2.8.0) +- Azure CLI (azure-cli 2.9.1) - Azure CLI (azure-devops 0.18.0) - Basic packages: - dnsutils @@ -60,8 +60,8 @@ The following software is installed on machines with the 20200709.0 update. - bzip2 - sqlite3 - libcurl4 -- Alibaba Cloud CLI (3.0.50) -- AWS CLI (aws-cli/2.0.29 Python/3.7.3 Linux/5.4.0-1019-azure botocore/2.0.0dev33) +- Alibaba Cloud CLI (3.0.53) +- AWS CLI (aws-cli/2.0.31 Python/3.7.3 Linux/5.4.0-1020-azure botocore/2.0.0dev35) - AWS CLI Session manager plugin (1.1.61.0) - build-essential - Clang 6.0 (6.0.1) @@ -77,17 +77,20 @@ Target: x86_64-unknown-linux-gnu - Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b) - Docker-Buildx (0.4.1+azure) - .NET Core SDK: + - 3.1.302 - 3.1.301 - 3.1.300 - 3.1.202 - 3.1.201 - 3.1.200 + - 3.1.106 - 3.1.105 - 3.1.104 - 3.1.103 - 3.1.102 - 3.1.101 - 3.1.100 + - 2.1.808 - 2.1.807 - 2.1.806 - 2.1.805 @@ -97,6 +100,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.801 - 2.1.701 - 2.1.700 + - 2.1.613 - 2.1.612 - 2.1.611 - 2.1.610 @@ -108,6 +112,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.604 - 2.1.603 - 2.1.602 + - 2.1.516 - 2.1.515 - 2.1.514 - 2.1.513 @@ -130,7 +135,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.301 - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2) -- Firefox (Mozilla Firefox 78.0.1) +- Firefox (Mozilla Firefox 78.0.2) - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.5.0 - GNU C++ 8.4.0 @@ -141,31 +146,31 @@ Target: x86_64-unknown-linux-gnu - Git Large File Storage (LFS) (2.11.0) - Git-ftp (1.6.0) - Hub CLI (2.14.2) -- GitHub CLI 0.10.1 -- Google Chrome (Google Chrome 83.0.4103.116 ) -- ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (300.0.0) +- GitHub CLI 0.11.0 +- Google Chrome (Google Chrome 84.0.4147.89 ) +- ChromeDriver 84.0.4147.30 (48b3e868b4cc0aa7e8149519690b6f6949e110a8-refs/branch-heads/4147@{#310}); Chrome Driver is available via CHROMEWEBDRIVER environment variable +- Google Cloud SDK (301.0.0) - Haskell Cabal (cabal-install version 3.2.0.0 compiled using version 3.2.0.0 of the Cabal library ) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1) - Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0) -- Heroku (heroku/7.42.3 linux-x64 node-v12.16.2) -- HHVM (HipHop VM 4.65.0 (rel)) +- Heroku (heroku/7.42.4 linux-x64 node-v12.16.2) +- HHVM (HipHop VM 4.66.1 (rel)) - ImageMagick - Adopt OpenJDK: - - 8 (openjdk version "1.8.0_252") - - 11 (openjdk version "11.0.7" 2020-04-14) (default) + - 8 (openjdk version "1.8.0_262") + - 11 (openjdk version "11.0.8" 2020-07-14) (default) - Ant (Apache Ant(TM) version 1.10.7 compiled on October 24 2019) - Gradle 6.5.1 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.8.1 go1.14.2 linux/amd64) -- kubectl (Client Version: v1.18.5) +- kubectl (Client Version: v1.18.6) - helm (v3.2.4+g0ad800e) - minikube version: v1.12.0 - oc CLI Client Version: 4.5.0-202005291417-9933eb9 -- Leiningen (Leiningen 2.9.4 on Java 11.0.7 OpenJDK 64-Bit Server VM) +- Leiningen (Leiningen 2.9.4 on Java 11.0.8 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 5.3.1)) - Miniconda (conda 4.8.3) - Mono (Mono JIT compiler version 6.10.0.104 (tarball Fri Jun 26 19:38:44 UTC 2020)) @@ -180,34 +185,34 @@ compiled using version 3.2.0.0 of the Cabal library ) Local version: Unknown) - n (6.6.0) - Parcel (1.12.4) -- TypeScript (Version 3.9.6) +- TypeScript (Version 3.9.7) - Webpack (4.43.0) - Webpack CLI (3.3.12) - Yarn (1.22.4) -- Newman (5.1.1) -- Bazel (bazel 3.3.1) +- Newman (5.1.2) +- Bazel (bazel 3.4.1) - Bazelisk (1.5.0) - ORAS CLI 0.8.1 - PhantomJS (2.1.1) -- PHP 7.4 (PHP 7.4.7 (cli) (built: Jun 12 2020 07:44:38) ( NTS )) +- PHP 7.4 (PHP 7.4.8 (cli) (built: Jul 13 2020 16:46:22) ( NTS )) > To use ppa:ondrej/php APT repository On Ubuntu 20.04 it is necessary to add it to the APT sources - -apt-add-repository -apt-get - -- Composer (Composer version 1.10.8 2020-06-24 21:23:30) +``` +apt-add-repository ppa:ondrej/php -y +apt-get update +``` +- Composer (Composer version 1.10.9 2020-07-16 12:57:00) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate - psql (PostgreSQL) 12.3 -- Powershell (PowerShell 7.0.2) +- Powershell (PowerShell 7.0.3) - ruby (2.7.0p0) - gem (3.1.2) - rustup (1.22.1) -- rust (1.44.1) -- cargo (1.44.1) -- rustfmt (1.4.16-stable) +- rust (1.45.0) +- cargo (1.45.0) +- rustfmt (1.4.15-stable) - clippy (0.0.212) -- rustdoc (1.44.1) +- rustdoc (1.45.0) - bindgen (0.54.1) - cbindgen (0.14.3) - cargo audit (0.12.0) @@ -221,7 +226,7 @@ apt-get - Terraform (Terraform v0.12.28) - Packer (1.6.0) - Vcpkg 2020.06.15-unknownhash -- Vercel CLI (19.1.1) +- Vercel CLI (19.1.2) - Haveged 1.9.1-6ubuntu1 - Google Repository 58 - Google Play services 49 @@ -246,7 +251,7 @@ apt-get - Android SDK Build-Tools 27.0.1 - Android SDK Build-Tools 27.0.0 - Android NDK 21.3.6528147 -- Az Module (4.3.0) +- Az Module (4.4.0) - Cached container images - node:12-alpine (Digest: sha256:1660c1b9d3fd9711eb9936e66d4656954cd14b0d2b23a2185c39587dad0239b4) - node:12 (Digest: sha256:1e17e0fdecf65b7b86e50875ad5f11ae181a8d0351806babd61b332bc32a2c15) @@ -287,5 +292,5 @@ apt-get - go: - go 1.14.4 - AWS SAM CLI, version 0.53.0 -- Homebrew on Linux (Homebrew 2.4.5 -Homebrew/linuxbrew-core (git revision 799e0; last commit 2020-07-09)) +- Homebrew on Linux (Homebrew 2.4.7 +Homebrew/linuxbrew-core (git revision e31d440; last commit 2020-07-17)) From fa86d7077ac7c33fd812e75b0db2abe1a372b4ac Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Fri, 17 Jul 2020 14:26:30 +0000 Subject: [PATCH 06/26] Updating readme file for ubuntu18 version 20200717.1 --- images/linux/Ubuntu1804-README.md | 69 +++++++++++++++++-------------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md index 55e1e86b..27272672 100644 --- a/images/linux/Ubuntu1804-README.md +++ b/images/linux/Ubuntu1804-README.md @@ -1,12 +1,12 @@ # Ubuntu 18.04.4 LTS -The following software is installed on machines with the 20200709.0 update. +The following software is installed on machines with the 20200717.1 update. *** - 7-Zip 16.02 - Ansible (ansible 2.9.10) - AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy10 (available by azcopy10 alias) 10.5.0 -- Azure CLI (azure-cli 2.8.0) +- Azure CLI (azure-cli 2.9.1) - Azure CLI (azure-devops 0.18.0) - Basic packages: - dnsutils @@ -60,8 +60,8 @@ The following software is installed on machines with the 20200709.0 update. - bzip2 - sqlite3 - libcurl3 -- Alibaba Cloud CLI (3.0.50) -- AWS CLI (aws-cli/1.18.97 Python/2.7.17 Linux/5.3.0-1028-azure botocore/1.17.20) +- Alibaba Cloud CLI (3.0.53) +- AWS CLI (aws-cli/1.18.99 Python/2.7.17 Linux/5.3.0-1032-azure botocore/1.17.22) - AWS CLI Session manager plugin (1.1.61.0) - build-essential - Clang 6.0 (6.0.0) @@ -77,11 +77,13 @@ Target: x86_64-unknown-linux-gnu - Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b) - Docker-Buildx (0.4.1+azure) - .NET Core SDK: + - 3.1.302 - 3.1.301 - 3.1.300 - 3.1.202 - 3.1.201 - 3.1.200 + - 3.1.106 - 3.1.105 - 3.1.104 - 3.1.103 @@ -92,6 +94,7 @@ Target: x86_64-unknown-linux-gnu - 3.0.102 - 3.0.101 - 3.0.100 + - 2.1.808 - 2.1.807 - 2.1.806 - 2.1.805 @@ -101,6 +104,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.801 - 2.1.701 - 2.1.700 + - 2.1.613 - 2.1.612 - 2.1.611 - 2.1.610 @@ -112,6 +116,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.604 - 2.1.603 - 2.1.602 + - 2.1.516 - 2.1.515 - 2.1.514 - 2.1.513 @@ -134,7 +139,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.301 - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2) -- Firefox (Mozilla Firefox 78.0.1) +- Firefox (Mozilla Firefox 78.0.2) - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.5.0 - GNU C++ 8.4.0 @@ -145,34 +150,34 @@ Target: x86_64-unknown-linux-gnu - Git Large File Storage (LFS) (2.11.0) - Git-ftp (1.3.1) - Hub CLI (2.14.2) -- GitHub CLI 0.10.1 -- Google Chrome (Google Chrome 83.0.4103.116 ) -- ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (300.0.0) +- GitHub CLI 0.11.0 +- Google Chrome (Google Chrome 84.0.4147.89 ) +- ChromeDriver 84.0.4147.30 (48b3e868b4cc0aa7e8149519690b6f6949e110a8-refs/branch-heads/4147@{#310}); Chrome Driver is available via CHROMEWEBDRIVER environment variable +- Google Cloud SDK (301.0.0) - Haskell Cabal (cabal-install version 3.2.0.0 compiled using version 3.2.0.0 of the Cabal library ) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1) - Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0) -- Heroku (heroku/7.42.3 linux-x64 node-v12.16.2) -- HHVM (HipHop VM 4.65.0 (rel)) +- Heroku (heroku/7.42.4 linux-x64 node-v12.16.2) +- HHVM (HipHop VM 4.66.1 (rel)) - ImageMagick - Azul Zulu OpenJDK: - - 7 (openjdk version "1.7.0_262") + - 7 (openjdk version "1.7.0_272") - Adopt OpenJDK: - - 8 (openjdk version "1.8.0_252") (default) - - 11 (openjdk version "11.0.7" 2020-04-14) + - 8 (openjdk version "1.8.0_262") (default) + - 11 (openjdk version "11.0.8" 2020-07-14) - 12 (openjdk version "12.0.2" 2019-07-16) - Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019) - Gradle 6.5.1 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.8.1 go1.14.2 linux/amd64) -- kubectl (Client Version: v1.18.5) +- kubectl (Client Version: v1.18.6) - helm (v3.2.4+g0ad800e) - minikube version: v1.12.0 - oc CLI Client Version: 4.5.0-202005291417-9933eb9 -- Leiningen (Leiningen 2.9.4 on Java 1.8.0_252 OpenJDK 64-Bit Server VM) +- Leiningen (Leiningen 2.9.4 on Java 1.8.0_262 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 4.5.3)) - Miniconda (conda 4.8.3) - Mono (Mono JIT compiler version 6.10.0.104 (tarball Fri Jun 26 19:38:24 UTC 2020)) @@ -187,32 +192,32 @@ compiled using version 3.2.0.0 of the Cabal library ) Local version: Unknown) - n (6.6.0) - Parcel (1.12.4) -- TypeScript (Version 3.9.6) +- TypeScript (Version 3.9.7) - Webpack (4.43.0) - Webpack CLI (3.3.12) - Yarn (1.22.4) -- Newman (5.1.1) -- Bazel (bazel 3.3.1) +- Newman (5.1.2) +- Bazel (bazel 3.4.1) - Bazelisk (1.5.0) - ORAS CLI 0.8.1 - PhantomJS (2.1.1) - PHP 7.1 (PHP 7.1.33-16+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:11) ( NTS )) - PHP 7.2 (PHP 7.2.32-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jul 9 2020 16:33:55) ( NTS )) - PHP 7.3 (PHP 7.3.20-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jul 9 2020 16:34:09) ( NTS )) -- PHP 7.4 (PHP 7.4.7 (cli) (built: Jun 12 2020 07:44:05) ( NTS )) -- Composer (Composer version 1.10.8 2020-06-24 21:23:30) +- PHP 7.4 (PHP 7.4.8 (cli) (built: Jul 13 2020 16:45:47) ( NTS )) +- Composer (Composer version 1.10.9 2020-07-16 12:57:00) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate - psql (PostgreSQL) 12.3 -- Powershell (PowerShell 7.0.2) +- Powershell (PowerShell 7.0.3) - ruby (2.5.1p57) - gem (3.1.4) - rustup (1.22.1) -- rust (1.44.1) -- cargo (1.44.1) -- rustfmt (1.4.16-stable) +- rust (1.45.0) +- cargo (1.45.0) +- rustfmt (1.4.15-stable) - clippy (0.0.212) -- rustdoc (1.44.1) +- rustdoc (1.45.0) - bindgen (0.54.1) - cbindgen (0.14.3) - cargo audit (0.12.0) @@ -225,10 +230,10 @@ Local version: Unknown) - Terraform (Terraform v0.12.28) - Packer (1.6.0) - Vcpkg 2020.06.15-unknownhash -- Vercel CLI (19.1.1) -- MongoDB on Linux (2020-07-09T23:51:28.041+0000 I CONTROL [initandlisten] db version v4.2.8 -2020-07-09T23:51:28.041+0000 I CONTROL [initandlisten] git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f -2020-07-09T23:51:28.041+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020) +- Vercel CLI (19.1.2) +- MongoDB on Linux (2020-07-17T10:52:50.926+0000 I CONTROL [initandlisten] db version v4.2.8 +2020-07-17T10:52:50.926+0000 I CONTROL [initandlisten] git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f +2020-07-17T10:52:50.926+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020) - Haveged 1.9.1-6 - Google Repository 58 - Google Play services 49 @@ -342,5 +347,5 @@ Local version: Unknown) - boost 1.69.0 - boost 1.72.0 - AWS SAM CLI, version 0.53.0 -- Homebrew on Linux (Homebrew 2.4.5 -Homebrew/linuxbrew-core (git revision 799e0; last commit 2020-07-09)) +- Homebrew on Linux (Homebrew 2.4.7 +Homebrew/linuxbrew-core (git revision 13cb0b; last commit 2020-07-17)) From 4d52a94a722375c8a9214c1a1fd5a114f755a942 Mon Sep 17 00:00:00 2001 From: xVemu <38427679+xVemu@users.noreply.github.com> Date: Sun, 19 Jul 2020 13:29:11 +0200 Subject: [PATCH 07/26] Add Android SDK Build-Tools 30.0.1 to Ubuntu --- images/linux/scripts/installers/1604/android.sh | 2 ++ images/linux/scripts/installers/1804/android.sh | 2 ++ images/linux/scripts/installers/2004/android.sh | 2 ++ 3 files changed, 6 insertions(+) diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index e3b33e06..2ccf3ac0 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -57,6 +57,7 @@ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "platforms;android-17" \ "platforms;android-15" \ "platforms;android-10" \ + "build-tools;30.0.1" \ "build-tools;30.0.0" \ "build-tools;29.0.3" \ "build-tools;29.0.2" \ @@ -132,6 +133,7 @@ DocumentInstalledItem "Android SDK Platform 17" DocumentInstalledItem "Android SDK Platform 15" DocumentInstalledItem "Android SDK Platform 10" DocumentInstalledItem "Android SDK Patch Applier v4" +DocumentInstalledItem "Android SDK Build-Tools 30.0.1" DocumentInstalledItem "Android SDK Build-Tools 30.0.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.3" DocumentInstalledItem "Android SDK Build-Tools 29.0.2" diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index 0040049e..edd54ff1 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -55,6 +55,7 @@ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "platforms;android-21" \ "platforms;android-19" \ "platforms;android-17" \ + "build-tools;30.0.1" \ "build-tools;30.0.0" \ "build-tools;29.0.3" \ "build-tools;29.0.2" \ @@ -122,6 +123,7 @@ DocumentInstalledItem "Android SDK Platform 21" DocumentInstalledItem "Android SDK Platform 19" DocumentInstalledItem "Android SDK Platform 17" DocumentInstalledItem "Android SDK Patch Applier v4" +DocumentInstalledItem "Android SDK Build-Tools 30.0.1" DocumentInstalledItem "Android SDK Build-Tools 30.0.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.3" DocumentInstalledItem "Android SDK Build-Tools 29.0.2" diff --git a/images/linux/scripts/installers/2004/android.sh b/images/linux/scripts/installers/2004/android.sh index f4804307..31a30cdc 100644 --- a/images/linux/scripts/installers/2004/android.sh +++ b/images/linux/scripts/installers/2004/android.sh @@ -53,6 +53,7 @@ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "platforms;android-29" \ "platforms;android-28" \ "platforms;android-27" \ + "build-tools;30.0.1" \ "build-tools;30.0.0" \ "build-tools;29.0.3" \ "build-tools;29.0.2" \ @@ -83,6 +84,7 @@ DocumentInstalledItem "Android SDK Platform 29" DocumentInstalledItem "Android SDK Platform 28" DocumentInstalledItem "Android SDK Platform 27" DocumentInstalledItem "Android SDK Patch Applier v4" +DocumentInstalledItem "Android SDK Build-Tools 30.0.1" DocumentInstalledItem "Android SDK Build-Tools 30.0.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.3" DocumentInstalledItem "Android SDK Build-Tools 29.0.2" From 23aade159cf9a2928bb89e01c6bfcdb2e43a8269 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com> Date: Tue, 21 Jul 2020 09:50:01 +0300 Subject: [PATCH 08/26] Replace current validates with pester testing approach #1 (#1253) * first part * fix session manager plugin * rework AWS installation * azure cosmos db tests * azure devops cli * add azmodules test * put brackets * add root folder * remove validate aliyun * add azure modules * update modules test * docker, baze, dotnetsdk * DACFx * add azdevopscli * change to Should -BeTrue * nitpicks * remove extra * add azurecli * remove BeforeAll for DACFx * a bit of refactoring * fix templates * remove disk space validation * rename to powershell modules * fix templates --- images/win/Windows2016-Azure.json | 77 +---------------- images/win/Windows2019-Azure.json | 77 +---------------- .../scripts/Installers/Install-AWS-SAM.ps1 | 7 -- images/win/scripts/Installers/Install-AWS.ps1 | 26 ++---- .../scripts/Installers/Install-AliyunCli.ps1 | 4 +- .../win/scripts/Installers/Install-AzCopy.ps1 | 4 +- .../scripts/Installers/Install-AzureCli.ps1 | 1 + .../Install-AzureCosmosDbEmulator.ps1 | 4 +- .../Installers/Install-AzureDevOpsCli.ps1 | 2 + .../Installers/Install-AzureModules.ps1 | 4 +- .../win/scripts/Installers/Install-Bazel.ps1 | 4 +- .../win/scripts/Installers/Install-DACFx.ps1 | 4 +- .../win/scripts/Installers/Install-Docker.ps1 | 4 +- .../scripts/Installers/Install-DotnetSDK.ps1 | 2 + .../scripts/Installers/Validate-AWS-SAM.ps1 | 14 ---- .../scripts/Installers/Validate-AliyunCli.ps1 | 14 ---- .../scripts/Installers/Validate-AzCopy.ps1 | 10 --- .../Validate-AzureCosmosDbEmulator.ps1 | 38 --------- .../Installers/Validate-AzureDevOpsCli.ps1 | 17 ---- .../Installers/Validate-AzureModules.ps1 | 44 ---------- .../win/scripts/Installers/Validate-Bazel.ps1 | 26 ------ .../win/scripts/Installers/Validate-DACFx.ps1 | 24 ------ .../scripts/Installers/Validate-Docker.ps1 | 26 ------ .../scripts/Installers/Validate-DotnetSDK.ps1 | 16 ---- images/win/scripts/Tests/DotnetSDK.Tests.ps1 | 26 ++++++ .../scripts/Tests/PowerShellModules.Tests.ps1 | 44 ++++++++++ images/win/scripts/Tests/Tools.Tests.ps1 | 84 +++++++++++++++++++ 27 files changed, 190 insertions(+), 413 deletions(-) delete mode 100644 images/win/scripts/Installers/Install-AWS-SAM.ps1 delete mode 100644 images/win/scripts/Installers/Validate-AWS-SAM.ps1 delete mode 100644 images/win/scripts/Installers/Validate-AliyunCli.ps1 delete mode 100644 images/win/scripts/Installers/Validate-AzCopy.ps1 delete mode 100644 images/win/scripts/Installers/Validate-AzureCosmosDbEmulator.ps1 delete mode 100644 images/win/scripts/Installers/Validate-AzureDevOpsCli.ps1 delete mode 100644 images/win/scripts/Installers/Validate-AzureModules.ps1 delete mode 100644 images/win/scripts/Installers/Validate-Bazel.ps1 delete mode 100644 images/win/scripts/Installers/Validate-DACFx.ps1 delete mode 100644 images/win/scripts/Installers/Validate-Docker.ps1 delete mode 100644 images/win/scripts/Installers/Validate-DotnetSDK.ps1 create mode 100644 images/win/scripts/Tests/DotnetSDK.Tests.ps1 create mode 100644 images/win/scripts/Tests/PowerShellModules.Tests.ps1 diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 496fe3c2..eaa2131e 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -167,12 +167,6 @@ "type": "windows-restart", "restart_timeout": "30m" }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Docker.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -483,12 +477,6 @@ "{{ template_dir }}/scripts/Installers/Install-AWS.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -656,70 +644,12 @@ "type": "windows-restart", "restart_timeout": "30m" }, - { - "type": "powershell", - "environment_vars":[ - "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", - "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureModules.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureCli.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AWS-SAM.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureDevOpsCli.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzCopy.ps1" - ] - }, { "type": "powershell", "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-Svn.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-DACFx.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-DotnetSDK.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -738,12 +668,6 @@ "{{ template_dir }}/scripts/Installers/Validate-Stack.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureCosmosDbEmulator.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -781,6 +705,7 @@ ], "environment_vars":[ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", + "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}", "ROOT_FOLDER={{user `root_folder`}}" ] }, diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 53e06aca..fc42df2a 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -175,12 +175,6 @@ "type": "windows-restart", "restart_timeout": "10m" }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Docker.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -458,12 +452,6 @@ "{{ template_dir }}/scripts/Installers/Install-AWS.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -655,58 +643,12 @@ "type": "windows-restart", "restart_timeout": "10m" }, - { - "type": "powershell", - "environment_vars":[ - "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", - "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureModules.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureCli.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AWS-SAM.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureDevOpsCli.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzCopy.ps1" - ] - }, { "type": "powershell", "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-Svn.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-DACFx.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-DotnetSDK.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -725,12 +667,6 @@ "{{ template_dir }}/scripts/Installers/Validate-Stack.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureCosmosDbEmulator.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -749,18 +685,6 @@ "{{ template_dir }}/scripts/Installers/Validate-VSWhere.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -780,6 +704,7 @@ ], "environment_vars":[ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", + "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}", "ROOT_FOLDER={{user `root_folder`}}" ] }, diff --git a/images/win/scripts/Installers/Install-AWS-SAM.ps1 b/images/win/scripts/Installers/Install-AWS-SAM.ps1 deleted file mode 100644 index 43469901..00000000 --- a/images/win/scripts/Installers/Install-AWS-SAM.ps1 +++ /dev/null @@ -1,7 +0,0 @@ -################################################################################ -## File: Install-AWS-SAM.ps1 -## Desc: Install aws sam cli -## https://aws.amazon.com/serverless/sam/ -################################################################################ - -Install-Binary -Url "https://github.com/awslabs/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi" -Name "AWS_SAM_CLI_64_PY3.msi" diff --git a/images/win/scripts/Installers/Install-AWS.ps1 b/images/win/scripts/Installers/Install-AWS.ps1 index 59feea23..d15d90d5 100644 --- a/images/win/scripts/Installers/Install-AWS.ps1 +++ b/images/win/scripts/Installers/Install-AWS.ps1 @@ -1,28 +1,18 @@ ################################################################################ -## File: Install-awscli.ps1 -## Desc: Install awscli +## File: Install-AWS.ps1 +## Desc: Install AWS tools(AWS CLI, Session Manager Plugin for the AWS CLI, AWS SAM CLI) ################################################################################ +# Install AWS CLI Choco-Install -PackageName awscli -$env:Path = $env:Path + ";$env:ProgramFiles\Amazon\AWSCLIV2" -if (Get-Command -Name 'aws') -{ - Write-Host 'awscli on path' -} -else -{ - Write-Host 'awscli is not on path' - exit 1 -} - +# Install Session Manager Plugin for the AWS CLI $sessionManagerName = "SessionManagerPluginSetup.exe" $sessionManagerUrl = "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/$sessionManagerName" Install-Binary -Url $sessionManagerUrl -Name $sessionManagerName -ArgumentList ("/silent", "/install") $env:Path = $env:Path + ";$env:ProgramFiles\Amazon\SessionManagerPlugin\bin" -$sessionMessage = session-manager-plugin -Write-Host "$sessionMessage" -if ($sessionMessage -notmatch "*plugin was installed successfully*") { - exit 1 -} \ No newline at end of file +# Install AWS SAM CLI +Install-Binary -Url "https://github.com/awslabs/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi" -Name "AWS_SAM_CLI_64_PY3.msi" + +Invoke-PesterTests -TestFile "Tools" -TestName "AWS" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-AliyunCli.ps1 b/images/win/scripts/Installers/Install-AliyunCli.ps1 index b46eb8a6..37650046 100644 --- a/images/win/scripts/Installers/Install-AliyunCli.ps1 +++ b/images/win/scripts/Installers/Install-AliyunCli.ps1 @@ -3,4 +3,6 @@ ## Desc: Install Alibaba Cloud CLI ################################################################################ -Choco-Install -PackageName aliyun-cli \ No newline at end of file +Choco-Install -PackageName aliyun-cli + +Invoke-PesterTests -TestFile "Tools" -TestName "AliyunCli" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-AzCopy.ps1 b/images/win/scripts/Installers/Install-AzCopy.ps1 index 035edee2..7e2e5c14 100644 --- a/images/win/scripts/Installers/Install-AzCopy.ps1 +++ b/images/win/scripts/Installers/Install-AzCopy.ps1 @@ -3,4 +3,6 @@ ## Desc: Install AzCopy10 ################################################################################ -Choco-Install -PackageName azcopy10 \ No newline at end of file +Choco-Install -PackageName azcopy10 + +Invoke-PesterTests -TestFile "Tools" -TestName "AzCopy" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-AzureCli.ps1 b/images/win/scripts/Installers/Install-AzureCli.ps1 index 790fc6a5..ea823a1d 100644 --- a/images/win/scripts/Installers/Install-AzureCli.ps1 +++ b/images/win/scripts/Installers/Install-AzureCli.ps1 @@ -10,3 +10,4 @@ New-Item -ItemType "directory" -Path $AzureCliExtensionPath [Environment]::SetEnvironmentVariable("AZURE_EXTENSION_DIR", $AzureCliExtensionPath, [System.EnvironmentVariableTarget]::Machine) +Invoke-PesterTests -TestFile "Tools" -TestName "AzureCli" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-AzureCosmosDbEmulator.ps1 b/images/win/scripts/Installers/Install-AzureCosmosDbEmulator.ps1 index b1614932..52c99f26 100644 --- a/images/win/scripts/Installers/Install-AzureCosmosDbEmulator.ps1 +++ b/images/win/scripts/Installers/Install-AzureCosmosDbEmulator.ps1 @@ -8,4 +8,6 @@ Import-Module -Name ImageHelpers -Force $InstallerName = "AzureCosmosDBEmulator.msi" $InstallerUrl = "https://aka.ms/cosmosdb-emulator" -Install-Binary -Url $InstallerUrl -Name $InstallerName \ No newline at end of file +Install-Binary -Url $InstallerUrl -Name $InstallerName + +Invoke-PesterTests -TestFile "Tools" -TestName "Azure Cosmos DB Emulator" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-AzureDevOpsCli.ps1 b/images/win/scripts/Installers/Install-AzureDevOpsCli.ps1 index 5054e9a5..d9757ecc 100644 --- a/images/win/scripts/Installers/Install-AzureDevOpsCli.ps1 +++ b/images/win/scripts/Installers/Install-AzureDevOpsCli.ps1 @@ -4,3 +4,5 @@ ################################################################################ az extension add -n azure-devops + +Invoke-PesterTests -TestFile "Tools" -TestName "Azure DevOps CLI" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-AzureModules.ps1 b/images/win/scripts/Installers/Install-AzureModules.ps1 index fa33710f..8d3a4fe5 100644 --- a/images/win/scripts/Installers/Install-AzureModules.ps1 +++ b/images/win/scripts/Installers/Install-AzureModules.ps1 @@ -52,4 +52,6 @@ foreach ($module in $modules) # Add modules to the PSModulePath $psModuleMachinePath += $env:PSModulePath -[Environment]::SetEnvironmentVariable("PSModulePath", $psModuleMachinePath, "Machine") \ No newline at end of file +[Environment]::SetEnvironmentVariable("PSModulePath", $psModuleMachinePath, "Machine") + +Invoke-PesterTests -TestFile "PowerShellModules" -TestName "AzureModules" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-Bazel.ps1 b/images/win/scripts/Installers/Install-Bazel.ps1 index fabbecd0..7d5479fd 100644 --- a/images/win/scripts/Installers/Install-Bazel.ps1 +++ b/images/win/scripts/Installers/Install-Bazel.ps1 @@ -5,4 +5,6 @@ Choco-Install -PackageName bazel -npm install -g @bazel/bazelisk \ No newline at end of file +npm install -g @bazel/bazelisk + +Invoke-PesterTests -TestFile "Tools" -TestName "Bazel" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-DACFx.ps1 b/images/win/scripts/Installers/Install-DACFx.ps1 index 7a470cbf..92db0e4e 100644 --- a/images/win/scripts/Installers/Install-DACFx.ps1 +++ b/images/win/scripts/Installers/Install-DACFx.ps1 @@ -8,4 +8,6 @@ Import-Module -Name ImageHelpers -Force $InstallerName = "DacFramework.msi" $InstallerUrl = "https://go.microsoft.com/fwlink/?linkid=2128142" -Install-Binary -Url $InstallerUrl -Name $InstallerName \ No newline at end of file +Install-Binary -Url $InstallerUrl -Name $InstallerName + +Invoke-PesterTests -TestFile "Tools" -TestName "DACFx" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-Docker.ps1 b/images/win/scripts/Installers/Install-Docker.ps1 index 35e988ad..00e66517 100644 --- a/images/win/scripts/Installers/Install-Docker.ps1 +++ b/images/win/scripts/Installers/Install-Docker.ps1 @@ -17,4 +17,6 @@ Write-Host "Install-Package Docker-Compose" Choco-Install -PackageName docker-compose Write-Host "Install Helm" -Choco-Install -PackageName kubernetes-helm \ No newline at end of file +Choco-Install -PackageName kubernetes-helm + +Invoke-PesterTests -TestFile "Tools" -TestName "Docker" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-DotnetSDK.ps1 b/images/win/scripts/Installers/Install-DotnetSDK.ps1 index 394a7341..7a4207e5 100644 --- a/images/win/scripts/Installers/Install-DotnetSDK.ps1 +++ b/images/win/scripts/Installers/Install-DotnetSDK.ps1 @@ -113,3 +113,5 @@ function RunPostInstallationSteps() InstallAllValidSdks RunPostInstallationSteps + +Invoke-PesterTests -TestFile "DotnetSDK" \ No newline at end of file diff --git a/images/win/scripts/Installers/Validate-AWS-SAM.ps1 b/images/win/scripts/Installers/Validate-AWS-SAM.ps1 deleted file mode 100644 index ac18ab5d..00000000 --- a/images/win/scripts/Installers/Validate-AWS-SAM.ps1 +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -## File: Validate-AWS-SAM.ps1 -## Desc: Validate aws sam cli -################################################################################ - -if (Get-Command -Name 'sam') -{ - Write-Host 'AWS SAM CLI on path' -} -else -{ - Write-Host 'AWS SAM CLI is not on path' - exit 1 -} diff --git a/images/win/scripts/Installers/Validate-AliyunCli.ps1 b/images/win/scripts/Installers/Validate-AliyunCli.ps1 deleted file mode 100644 index cb3cad4d..00000000 --- a/images/win/scripts/Installers/Validate-AliyunCli.ps1 +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -## File: Validate-AliyunCli.ps1 -## Desc: Validate Alibaba Cloud CLI -################################################################################ - -if (Get-Command -Name 'aliyun') -{ - Write-Host 'Alibaba Cloud CLI on path' -} -else -{ - Write-Host 'Alibaba Cloud CLI is not on path' - exit 1 -} diff --git a/images/win/scripts/Installers/Validate-AzCopy.ps1 b/images/win/scripts/Installers/Validate-AzCopy.ps1 deleted file mode 100644 index dd090297..00000000 --- a/images/win/scripts/Installers/Validate-AzCopy.ps1 +++ /dev/null @@ -1,10 +0,0 @@ -################################################################################ -## File: Validate-AzCopy.ps1 -## Desc: Validate AzCopy10 -################################################################################ -if (Get-Command -Name 'azcopy') { - Write-Host "$(azcopy --version) on path" -} else { - Write-Error "azcopy not on path" - exit 1 -} \ No newline at end of file diff --git a/images/win/scripts/Installers/Validate-AzureCosmosDbEmulator.ps1 b/images/win/scripts/Installers/Validate-AzureCosmosDbEmulator.ps1 deleted file mode 100644 index b2d8d4a3..00000000 --- a/images/win/scripts/Installers/Validate-AzureCosmosDbEmulator.ps1 +++ /dev/null @@ -1,38 +0,0 @@ -################################################################################ -## File: Validate-AzureCosmosDbEmulator.ps1 -## Desc: Validate Azure CosmosDb Emulator installation. -################################################################################ - -$SoftwareName = 'Azure CosmosDb Emulator' -$regKey = gci HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | gp | ? { $_.DisplayName -eq 'Azure Cosmos DB Emulator' } - -if ($regKey -eq $null) -{ - Write-Host "The $regKey registry key is not set" - exit 1 -} -else -{ - Write-Host "The $regKey registry key is set" -} - -$installDir = $regKey.InstallLocation -if ($installDir -eq $null) -{ - Write-Host "The $SoftwareName installation directory registry value is not set" - exit 1 -} -else -{ - Write-Host "The $SoftwareName installation directory registry value is set to: $installDir" -} - -$exeFilePath = Join-Path $installDir 'CosmosDB.Emulator.exe' -if (!(Test-Path $exeFilePath)) -{ - Write-Host "$SoftwareName is not installed" - exit 1 -} - -$fileVersion = (Get-Item $exeFilePath).VersionInfo.FileVersion -Write-Host "$SoftwareName is successfully installed: $fileVersion" diff --git a/images/win/scripts/Installers/Validate-AzureDevOpsCli.ps1 b/images/win/scripts/Installers/Validate-AzureDevOpsCli.ps1 deleted file mode 100644 index 17a93491..00000000 --- a/images/win/scripts/Installers/Validate-AzureDevOpsCli.ps1 +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -## File: Validate-AzureDevOpsCli.ps1 -## Desc: Validate Azure DevOps CLI -################################################################################ - -az devops -h - -if ($LastExitCode -ne 0) -{ - Write-Error "Azure DevOps Cli extension not present" - exit 1 -} -else -{ - Write-Host "Azure DevOps Cli extension is present" -} - diff --git a/images/win/scripts/Installers/Validate-AzureModules.ps1 b/images/win/scripts/Installers/Validate-AzureModules.ps1 deleted file mode 100644 index 39f1a2ea..00000000 --- a/images/win/scripts/Installers/Validate-AzureModules.ps1 +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################ -## File: Validate-AzureModules.ps1 -## Desc: Validate Azure PowerShell modules -################################################################################ - -$ErrorActionPreference = "Stop" - -$modulesRootPath = $env:PSMODULES_ROOT_FOLDER - -# Get modules content from toolset -$modules = (Get-ToolsetContent).azureModules - -foreach ($module in $modules) -{ - foreach ($version in $module.versions) - { - $moduleName = $module.name - $modulePath = Join-Path -Path $modulesRootPath -ChildPath "$($module.name)_${version}" - - Write-Host "Trying to import ${moduleName}_${version}..." - $testJob = Start-Job -ScriptBlock { - param ( - $modulePath, - $moduleName - ) - - $env:PsModulePath = "$modulePath;$env:PsModulePath" - Import-Module -Name $moduleName - Get-Module -Name $moduleName - - } -ArgumentList $modulePath, $moduleName - - $isError = $testJob | Wait-Job | Foreach-Object ChildJobs | Where-Object { $_.Error } - if ($isError) - { - Write-Host "Required ${moduleName} module ${version} version is not present" - - exit 1 - } - - $testJob | Receive-Job | Select-Object Name,Version,Path - Remove-Job $testJob - } -} \ No newline at end of file diff --git a/images/win/scripts/Installers/Validate-Bazel.ps1 b/images/win/scripts/Installers/Validate-Bazel.ps1 deleted file mode 100644 index 20d3d768..00000000 --- a/images/win/scripts/Installers/Validate-Bazel.ps1 +++ /dev/null @@ -1,26 +0,0 @@ -################################################################################ -## 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 -} - - diff --git a/images/win/scripts/Installers/Validate-DACFx.ps1 b/images/win/scripts/Installers/Validate-DACFx.ps1 deleted file mode 100644 index 3dd18a1c..00000000 --- a/images/win/scripts/Installers/Validate-DACFx.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -#################################################################################### -## File: Validate-DACFx.ps1 -## Desc: Validate SQL ServerĀ® Data-Tier Application Framework (DACFx) for Windows -#################################################################################### - -$env:PATH = $env:Path + ';C:\Program Files\Microsoft SQL Server\120\DAC\bin;C:\Program Files\Microsoft SQL Server\130\DAC\bin;C:\Program Files\Microsoft SQL Server\140\DAC\bin;C:\Program Files\Microsoft SQL Server\150\DAC\bin' - -if (Get-Command -Name 'SqlPackage') -{ - Write-Host "DACFx is installed at path" (Get-Command -Name 'SqlPackage').Source -} -else -{ - throw "DACFx is not installed!" -} - -if (Get-Command -Name 'SqlLocalDB') -{ - Write-Host "SQL Server Express LocalDB is available at " (Get-Command -Name SqlLocalDB).Source -} -else -{ - throw "SqlLocalDB is not installed!" -} diff --git a/images/win/scripts/Installers/Validate-Docker.ps1 b/images/win/scripts/Installers/Validate-Docker.ps1 deleted file mode 100644 index e2b7571f..00000000 --- a/images/win/scripts/Installers/Validate-Docker.ps1 +++ /dev/null @@ -1,26 +0,0 @@ -################################################################################ -## File: Validate-Docker.ps1 -## Desc: Validate Docker. -################################################################################ - -if ((Get-Command -Name 'docker') -and (Get-Command -Name 'docker-compose')) -{ - Write-Host "docker $(docker version) on path" - Write-Host "docker-compose $(docker-compose version) on path" -} -else -{ - Write-Host "docker or docker-compose are not on path" - exit 1 -} - -# Validate helm -if (Get-Command -Name 'helm') -{ - Write-Host "helm on path" -} -else -{ - Write-Host 'helm is not on path' - exit 1 -} diff --git a/images/win/scripts/Installers/Validate-DotnetSDK.ps1 b/images/win/scripts/Installers/Validate-DotnetSDK.ps1 deleted file mode 100644 index 6d7c104a..00000000 --- a/images/win/scripts/Installers/Validate-DotnetSDK.ps1 +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -## File: Validate-DotnetSDK.ps1 -## Desc: Validate dotnet -################################################################################ - -if (Get-Command -Name 'dotnet') -{ - Write-Host "dotnet $(dotnet --version) on path" -} -else -{ - Write-Host "dotnet is not on path" - exit 1 -} - - diff --git a/images/win/scripts/Tests/DotnetSDK.Tests.ps1 b/images/win/scripts/Tests/DotnetSDK.Tests.ps1 new file mode 100644 index 00000000..1598b337 --- /dev/null +++ b/images/win/scripts/Tests/DotnetSDK.Tests.ps1 @@ -0,0 +1,26 @@ +$releaseIndexUrl = "https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases-index.json" +$dotnetChannels = (New-Object system.net.webclient).DownloadString($releaseIndexUrl) | ConvertFrom-Json +$dotnetVersions = $dotnetChannels.'releases-index' | Where-Object { (!$_."support-phase".Equals('preview') -and !$_."support-phase".Equals('eol')) } | Select-Object -ExpandProperty "channel-version" + +Describe "Dotnet SDK" { + + Context "Default" { + It "Default Dotnet SDK is available" { + "dotnet --version" | Should -ReturnZeroExitCode + } + } + + foreach ($version in $dotnetVersions) { + Context "Dotnet $version" { + $dotnet = @{ dotnetVersion = $version } + + It "SDK $version is available" -TestCases $dotnet { + (dotnet --list-sdks | Where-Object { $_ -match "${dotnetVersion}\.[0-9]*" }).Count | Should -BeGreaterThan 0 + } + + It "Runtime $version is available" -TestCases $dotnet { + (dotnet --list-runtimes | Where-Object { $_ -match "${dotnetVersion}\.[0-9]*" }).Count | Should -BeGreaterThan 0 + } + } + } +} \ No newline at end of file diff --git a/images/win/scripts/Tests/PowerShellModules.Tests.ps1 b/images/win/scripts/Tests/PowerShellModules.Tests.ps1 new file mode 100644 index 00000000..bd111330 --- /dev/null +++ b/images/win/scripts/Tests/PowerShellModules.Tests.ps1 @@ -0,0 +1,44 @@ +Describe "AzureModules" { + $modules = (Get-ToolsetContent).azureModules + $modulesRootPath = $env:PSMODULES_ROOT_FOLDER + + foreach ($module in $modules) { + $moduleName = $module.name + + Context "$moduleName" { + + foreach ($version in $module.versions) { + $modulePath = Join-Path -Path $modulesRootPath -ChildPath "${moduleName}_${version}" + $moduleInfo = @{ moduleName = $moduleName; modulePath = $modulePath; expectedVersion = $version } + It " exists in modules directory" -TestCases $moduleInfo { + $testJob = Start-Job -ScriptBlock { + param ( + $modulePath, + $moduleName + ) + + # Disable warning messages to prevent additional warnings about Az and Azurerm modules in the same session + $WarningPreference = "SilentlyContinue" + + $env:PsModulePath = "$modulePath;$env:PsModulePath" + Import-Module -Name $moduleName + (Get-Module -Name $moduleName).Version.ToString() + + } -ArgumentList $modulePath, $moduleName + + $moduleVersion = $testJob | Wait-Job | Receive-Job + Remove-Job $testJob + $moduleVersion | Should -Match $expectedVersion + } + } + + if ($module.default) { + $moduleInfo = @{ moduleName = $moduleName; moduleDefault = $module.default } + It " set as default" -TestCases $moduleInfo { + $moduleVersion = (Get-Module -ListAvailable -Name $moduleName).Version.ToString() + $moduleVersion | Should -Match $moduleDefault + } + } + } + } +} \ No newline at end of file diff --git a/images/win/scripts/Tests/Tools.Tests.ps1 b/images/win/scripts/Tests/Tools.Tests.ps1 index fda74d4b..87595450 100644 --- a/images/win/scripts/Tests/Tools.Tests.ps1 +++ b/images/win/scripts/Tests/Tools.Tests.ps1 @@ -6,12 +6,96 @@ Describe "7-Zip" { } } +Describe "AliyunCli" { + It "AliyunCli" { + "aliyun version" | Should -ReturnZeroExitCode + } +} + +Describe "AWS" { + It "AWS CLI" { + "aws --version" | Should -ReturnZeroExitCode + } + + It "Session Manager Plugin for the AWS CLI" { + session-manager-plugin | Out-String | Should -Match "plugin was installed successfully" + } + + It "AWS SAM CLI" { + "sam --version" | Should -ReturnZeroExitCode + } +} + +Describe "AzCopy" { + It "AzCopy" { + "azcopy --version" | Should -ReturnZeroExitCode + } +} + +Describe "Azure Cosmos DB Emulator" { + $cosmosDbEmulatorRegKey = Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Get-ItemProperty | Where-Object { $_.DisplayName -eq 'Azure Cosmos DB Emulator' } + $installDir = $cosmosDbEmulatorRegKey.InstallLocation + + It "Azure Cosmos DB Emulator install location registry key exists" -TestCases @{installDir = $installDir} { + $installDir | Should -Not -BeNullOrEmpty + } + + It "Azure Cosmos DB Emulator exe file exists" -TestCases @{installDir = $installDir} { + $exeFilePath = Join-Path $installDir 'CosmosDB.Emulator.exe' + $exeFilePath | Should -Exist + } +} + +Describe "AzureCli" { + It "AzureCli" { + "az --version" | Should -ReturnZeroExitCode + } +} + +Describe "Azure DevOps CLI" { + It "az devops" { + "az devops -h" | Should -ReturnZeroExitCode + } +} + +Describe "Bazel" { + It "" -TestCases @( + @{ ToolName = "bazel" } + @{ ToolName = "bazelisk" } + ) { + "$ToolName --version"| Should -ReturnZeroExitCode + } +} + Describe "CMake" { It "cmake" { "cmake --version" | Should -ReturnZeroExitCode } } +Describe "DACFx" { + It "DACFx" { + (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*).DisplayName -Contains "Microsoft SQL Server Data-Tier Application Framework (x64)" | Should -BeTrue + $sqlPackagePath = 'C:\Program Files\Microsoft SQL Server\150\DAC\bin\SqlPackage.exe' + $sqlLocalDBPath = 'C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe' + "${sqlPackagePath}" | Should -Exist + "${sqlLocalDBPath}" | Should -Exist + } + } + +Describe "Docker" { + It "" -TestCases @( + @{ ToolName = "docker" } + @{ ToolName = "docker-compose" } + ) { + "$ToolName --version"| Should -ReturnZeroExitCode + } + + It "Helm" { + "helm version --short" | Should -ReturnZeroExitCode + } +} + Describe "Kind" { It "Kind" { "kind version" | Should -ReturnZeroExitCode From 8e72c3056004f747f670b7201ad84d588d3aae70 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Tue, 21 Jul 2020 11:18:11 +0300 Subject: [PATCH 09/26] Add R tool for linux (#1263) * add r for ubuntu * remove head comments * fix documentation Co-authored-by: Dmitry Shibanov --- images/linux/scripts/installers/r.sh | 10 ++++++++++ images/linux/ubuntu1604.json | 1 + images/linux/ubuntu1804.json | 1 + images/linux/ubuntu2004.json | 1 + 4 files changed, 13 insertions(+) create mode 100644 images/linux/scripts/installers/r.sh diff --git a/images/linux/scripts/installers/r.sh b/images/linux/scripts/installers/r.sh new file mode 100644 index 00000000..c4e89e90 --- /dev/null +++ b/images/linux/scripts/installers/r.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Source the helpers for use with the script +source $HELPER_SCRIPTS/document.sh + +# install R +sudo apt-get install -y r-base +version=$(R --version | grep "R version" | cut -d " " -f 3) + +DocumentInstalledItem "R $version" diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index 23a4bf88..500a6be7 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -184,6 +184,7 @@ "{{template_dir}}/scripts/installers/postgresql.sh", "{{template_dir}}/scripts/installers/powershellcore.sh", "{{template_dir}}/scripts/installers/ruby.sh", + "{{template_dir}}/scripts/installers/r.sh", "{{template_dir}}/scripts/installers/rust.sh", "{{template_dir}}/scripts/installers/julia.sh", "{{template_dir}}/scripts/installers/sbt.sh", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index cad08ebb..5367e2a0 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -188,6 +188,7 @@ "{{template_dir}}/scripts/installers/postgresql.sh", "{{template_dir}}/scripts/installers/powershellcore.sh", "{{template_dir}}/scripts/installers/ruby.sh", + "{{template_dir}}/scripts/installers/r.sh", "{{template_dir}}/scripts/installers/rust.sh", "{{template_dir}}/scripts/installers/julia.sh", "{{template_dir}}/scripts/installers/sbt.sh", diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index 95f0a481..5c1c1a3c 100644 --- a/images/linux/ubuntu2004.json +++ b/images/linux/ubuntu2004.json @@ -190,6 +190,7 @@ "{{template_dir}}/scripts/installers/postgresql.sh", "{{template_dir}}/scripts/installers/powershellcore.sh", "{{template_dir}}/scripts/installers/ruby.sh", + "{{template_dir}}/scripts/installers/r.sh", "{{template_dir}}/scripts/installers/rust.sh", "{{template_dir}}/scripts/installers/julia.sh", "{{template_dir}}/scripts/installers/sbt.sh", From 18482ebb24e79783bd478a2be8565ab575f62850 Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Tue, 21 Jul 2020 10:06:04 +0000 Subject: [PATCH 10/26] Updating readme file for win16 version 20200720.1 --- images/win/Windows2016-Readme.md | 98 ++++++++++++++++---------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index 7bd0b5db..4166cf5e 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -1,21 +1,21 @@ # Microsoft Windows Server 2016 Datacenter -- OS Version: 10.0.14393 Build 3750 -- Image Version: 20200713.1 +- OS Version: 10.0.14393 Build 3808 +- Image Version: 20200720.1 ## Installed Software ### Language and Runtime - Java 1.7.0_232 -- Java 1.8.0_252 (default) -- Java 11.0.7 +- Java 1.8.0_262 (default) +- Java 11.0.8 - Java 13.0.2 -- Rust 1.44.1 +- Rust 1.45.0 - Python 3.7.8 - Ruby 2.5.8p224 - Go 1.14.4 - PHP 7.4.7 - Julia 1.4.2 - Perl 5.30.2 -- PowerShell 7.0.2 +- PowerShell 7.0.3 - Node 12.18.2 ### Package Management @@ -27,7 +27,7 @@ - Miniconda 4.6.14 - RubyGems 3.1.4 - Helm 3.2.4 -- Composer 1.10.8 +- Composer 1.10.9 - NuGet 5.6.0.6591 ### Project Management @@ -38,22 +38,22 @@ ### Tools - Azure CosmosDb Emulator 2.11.2.0 -- Bazel 3.3.1 +- Bazel 3.4.1 - Bazelisk 1.5.0 -- CMake 3.17.3 +- CMake 3.18.0 - Docker 19.03.5 - Docker-compose 1.26.0 - Git 2.27.0 - Git LFS 2.11.0 - InnoSetup 6.0.5 - jq 1.6 -- Kubectl 1.18.5 +- Kubectl 1.18.6 - Kind 0.8.1 - Mingw-w64 8.1.0 - MySQL 5.7.21.0 - Mercurial 5.0 - NSIS 3.5.0.20200106 -- Newman 5.1.1 +- Newman 5.1.2 - OpenSSL 1.1.1 - Packer 1.6.0 - SQLPS 1.0 @@ -68,38 +68,38 @@ - 7zip 19.00 ### CLI Tools -- Azure CLI 2.8.0 +- Azure CLI 2.9.1 - azcopy 10.5.0 - Azure DevOps CLI extension 0.18.0 -- AWS CLI 2.0.30 +- AWS CLI 2.0.31 - AWS SAM CLI 0.53.0 - AWS Session Manager CLI 1.1.61.0 - Alibaba Cloud CLI 3.0.26 - Cloud Foundry CLI 6.51.0 - Hub CLI 2.14.2 -- Google Cloud SDK 300.0.0 +- Google Cloud SDK 301.0.0 ### Rust packages: - bindgen 0.54.1 - cbindgen 0.14.3 - cargo-audit 0.12.0 -- cargo-outdated v0.9.10 +- cargo-outdated v0.9.11 ### Browsers and webdrivers -- Google Chrome 83.0.4103.116 -- Chrome Driver 83.0.4103.39 -- Microsoft Edge 83.0.478.61 -- Microsoft Edge Driver 83.0.478.61 +- Google Chrome 84.0.4147.89 +- Chrome Driver 84.0.4147.30 +- Microsoft Edge 84.0.522.40 +- Microsoft Edge Driver 84.0.522.40 - Mozilla Firefox 78.0.2 - Gecko Driver 0.26.0 - IE Driver 3.150.1.0 ### MSYS2 -- Pacman 5.2.1 -``` -Location: C:\msys64 - -Note: MSYS2 is pre-installed on image but not added to PATH. +- Pacman 5.2.2 +``` +Location: C:\msys64 + +Note: MSYS2 is pre-installed on image but not added to PATH. ``` ### Cached Tools #### Boost @@ -108,18 +108,18 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | 1.69.0 | x64, x86 | BOOST_ROOT_1_69_0 | | 1.72.0 | x64, x86 | BOOST_ROOT_1_72_0 | ##### Notes: -``` -1. Environment variable "BOOST_ROOT" is not set by default. - Please make sure you set this variable value to proper value - from table above depending on the Boost version you are using. -2. If Boost was built using the boost-cmake project or from Boost 1.70.0 - on it provides a package configuration file for use with find_package's config mode. - This module looks for the package configuration file called BoostConfig.cmake or boost-config.cmake - and stores the result in CACHE entry "Boost_DIR". If found, the package configuration file - is loaded and this module returns with no further action. - See documentation of the Boost CMake package configuration for details on what it provides. - Set Boost_NO_BOOST_CMAKE to ON, to disable the search for boost-cmake. - Link: https://cmake.org/cmake/help/latest/module/FindBoost.html +``` +1. Environment variable "BOOST_ROOT" is not set by default. + Please make sure you set this variable value to proper value + from table above depending on the Boost version you are using. +2. If Boost was built using the boost-cmake project or from Boost 1.70.0 + on it provides a package configuration file for use with find_package's config mode. + This module looks for the package configuration file called BoostConfig.cmake or boost-config.cmake + and stores the result in CACHE entry "Boost_DIR". If found, the package configuration file + is loaded and this module returns with no further action. + See documentation of the Boost CMake package configuration for details on what it provides. + Set Boost_NO_BOOST_CMAKE to ON, to disable the search for boost-cmake. + Link: https://cmake.org/cmake/help/latest/module/FindBoost.html ``` #### Go @@ -149,7 +149,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | 3.5.4 | x64, x86 | | 3.6.8 | x64, x86 | | 3.7.8 (Default) | x64, x86 | -| 3.8.3 | x64, x86 | +| 3.8.4 | x64, x86 | #### Ruby @@ -186,7 +186,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH. ### Visual Studio Enterprise 2017 | Name | Version | Path | | ----------------------------- | --------------- | -------------------------------------------------------------- | -| Visual Studio Enterprise 2017 | 15.9.28307.1177 | C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise | +| Visual Studio Enterprise 2017 | 15.9.28307.1216 | C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise | #### Workloads, components and extensions: @@ -261,9 +261,9 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | Microsoft.Net.ComponentGroup.4.7.DeveloperTools | 15.6.27406.0 | | Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 15.8.27825.0 | | Microsoft.Net.ComponentGroup.TargetingPacks.Common | 15.6.27406.0 | -| Microsoft.Net.Core.Component.SDK.1x | 15.6.27406.0 | +| Microsoft.Net.Core.Component.SDK.1x | 15.9.28307.1209 | | Microsoft.Net.Core.Component.SDK.2.1 | 15.8.27924.0 | -| Microsoft.NetCore.1x.ComponentGroup.Web | 15.6.27406.0 | +| Microsoft.NetCore.1x.ComponentGroup.Web | 15.9.28307.1209 | | Microsoft.NetCore.ComponentGroup.DevelopmentTools.2.1 | 15.8.27924.0 | | Microsoft.NetCore.ComponentGroup.Web.2.1 | 15.8.27924.0 | | Microsoft.VisualStudio.Component.AppInsights.Tools | 15.8.27825.0 | @@ -436,20 +436,20 @@ Note: MSYS2 is pre-installed on image but not added to PATH. ### .NET Core SDK `Location C:\Program Files\dotnet\sdk` -- 1.1.14 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 +- 1.1.14 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 ### .NET Core Runtime `Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 `Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 `Location: C:\Program Files\dotnet\shared\Microsoft.NETCore.App` -- 1.0.16 1.1.13 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 +- 1.0.16 1.1.13 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 `Location: C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App` -- 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 +- 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 ### .NET Framework `Type: Developer Pack` @@ -462,10 +462,10 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | Az | 1.0.0
1.6.0
2.3.2
2.6.0
3.1.0
3.5.0
3.8.0
4.3.0 | C:\Modules\az_\ | | Azure | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
5.3.0 | C:\Modules\azure_\ | | AzureRM | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
6.7.0
6.13.1 | C:\Modules\azurerm_\ | -``` -Azure PowerShell module 2.1.0 and AzureRM PowerShell module 2.1.0 are installed -and are available via 'Get-Module -ListAvailable'. -All other versions are saved but not installed. +``` +Azure PowerShell module 2.1.0 and AzureRM PowerShell module 2.1.0 are installed +and are available via 'Get-Module -ListAvailable'. +All other versions are saved but not installed. ``` ### Android SDK Tools | Package Name | Description | From 4a6a3a99140b5075594b466984088c23c4fe6ef9 Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Tue, 21 Jul 2020 15:40:43 +0000 Subject: [PATCH 11/26] Updating readme file for win19 version 20200720.1 --- images/win/Windows2019-Readme.md | 58 ++++++++++++++++---------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md index 81eaaada..a3be73f5 100644 --- a/images/win/Windows2019-Readme.md +++ b/images/win/Windows2019-Readme.md @@ -1,6 +1,6 @@ # Microsoft Windows Server 2019 Datacenter -- OS Version: 10.0.17763 Build 1282 -- Image Version: 20200714.1 +- OS Version: 10.0.17763 Build 1339 +- Image Version: 20200720.1 ## Enabled windows optional features - Windows Subsystem for Linux @@ -8,17 +8,17 @@ ## Installed Software ### Language and Runtime - Java 1.7.0_232 -- Java 1.8.0_252 (default) -- Java 11.0.7 +- Java 1.8.0_262 (default) +- Java 11.0.8 - Java 13.0.2 -- Rust 1.44.1 +- Rust 1.45.0 - Python 3.7.8 - Ruby 2.5.8p224 - Go 1.14.4 - PHP 7.4.7 - Julia 1.4.2 - Perl 5.30.2 -- PowerShell 7.0.2 +- PowerShell 7.0.3 - Node 12.18.2 ### Package Management @@ -30,7 +30,7 @@ - Miniconda 4.6.14 - RubyGems 3.1.4 - Helm 3.2.4 -- Composer 1.10.8 +- Composer 1.10.9 - NuGet 5.6.0.6591 ### Project Management @@ -43,14 +43,14 @@ - Azure CosmosDb Emulator 2.11.2.0 - Bazel 3.4.1 - Bazelisk 1.5.0 -- CMake 3.17.3 +- CMake 3.18.0 - Docker 19.03.5 - Docker-compose 1.26.0 - Git 2.27.0 - Git LFS 2.11.0 - InnoSetup 6.0.5 - jq 1.6 -- Kubectl 1.18.5 +- Kubectl 1.18.6 - Kind 0.8.1 - Mingw-w64 8.1.0 - MySQL 5.7.21.0 @@ -71,34 +71,34 @@ - 7zip 19.00 ### CLI Tools -- Azure CLI 2.8.0 +- Azure CLI 2.9.1 - azcopy 10.5.0 - Azure DevOps CLI extension 0.18.0 -- AWS CLI 2.0.30 +- AWS CLI 2.0.31 - AWS SAM CLI 0.53.0 - AWS Session Manager CLI 1.1.61.0 - Alibaba Cloud CLI 3.0.26 - Cloud Foundry CLI 6.51.0 - Hub CLI 2.14.2 -- Google Cloud SDK 300.0.0 +- Google Cloud SDK 301.0.0 ### Rust packages: - bindgen 0.54.1 - cbindgen 0.14.3 - cargo-audit 0.12.0 -- cargo-outdated v0.9.10 +- cargo-outdated v0.9.11 ### Browsers and webdrivers -- Google Chrome 83.0.4103.116 -- Chrome Driver 83.0.4103.39 -- Microsoft Edge 83.0.478.61 -- Microsoft Edge Driver 83.0.478.61 +- Google Chrome 84.0.4147.89 +- Chrome Driver 84.0.4147.30 +- Microsoft Edge 84.0.522.40 +- Microsoft Edge Driver 84.0.522.40 - Mozilla Firefox 78.0.2 - Gecko Driver 0.26.0 - IE Driver 3.150.1.0 ### MSYS2 -- Pacman 5.2.1 +- Pacman 5.2.2 ``` Location: C:\msys64 @@ -152,7 +152,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | 3.5.4 | x64, x86 | | 3.6.8 | x64, x86 | | 3.7.8 (Default) | x64, x86 | -| 3.8.3 | x64, x86 | +| 3.8.4 | x64, x86 | #### Ruby @@ -189,13 +189,13 @@ Note: MSYS2 is pre-installed on image but not added to PATH. ### Visual Studio Enterprise 2019 | Name | Version | Path | | ----------------------------- | -------------- | -------------------------------------------------------------- | -| Visual Studio Enterprise 2019 | 16.6.30225.117 | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise | +| Visual Studio Enterprise 2019 | 16.6.30309.148 | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise | #### Workloads, components and extensions: | Package | version | | ------------------------------------------------------------------------- | -------------- | -| Component.Android.NDK.R16B | 16.6.30225.117 | +| Component.Android.NDK.R16B | 16.6.30309.148 | | Component.Android.SDK25.Private | 16.0.28625.61 | | Component.Android.SDK28 | 16.2.29003.222 | | Component.Ant | 1.9.3.8 | @@ -245,10 +245,10 @@ Note: MSYS2 is pre-installed on image but not added to PATH. | Microsoft.Net.ComponentGroup.4.7.DeveloperTools | 16.3.29207.166 | | Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 16.3.29207.166 | | Microsoft.Net.ComponentGroup.TargetingPacks.Common | 16.0.28516.191 | -| Microsoft.Net.Core.Component.SDK.2.1 | 16.6.30202.64 | +| Microsoft.Net.Core.Component.SDK.2.1 | 16.6.30309.148 | | Microsoft.NetCore.Component.DevelopmentTools | 16.5.29721.120 | -| Microsoft.NetCore.Component.Runtime.3.1 | 16.6.30202.64 | -| Microsoft.NetCore.Component.SDK | 16.6.30202.64 | +| Microsoft.NetCore.Component.Runtime.3.1 | 16.6.30309.148 | +| Microsoft.NetCore.Component.SDK | 16.6.30309.148 | | Microsoft.NetCore.Component.Web | 16.5.29721.120 | | Microsoft.VisualStudio.Component.AppInsights.Tools | 16.5.29515.121 | | Microsoft.VisualStudio.Component.AspNet45 | 16.0.28315.86 | @@ -416,20 +416,20 @@ Note: MSYS2 is pre-installed on image but not added to PATH. ### .NET Core SDK `Location C:\Program Files\dotnet\sdk` -- 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 +- 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 ### .NET Core Runtime `Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 `Location: C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 `Location: C:\Program Files\dotnet\shared\Microsoft.NETCore.App` -- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 +- 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.20 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 `Location: C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App` -- 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 +- 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 ### .NET Framework `Type: Developer Pack` From 5e23b76186d788db568ddc5134b0050efb1c33b2 Mon Sep 17 00:00:00 2001 From: Nikita Bykov <49442273+nikita-bykov@users.noreply.github.com> Date: Wed, 22 Jul 2020 09:42:50 +0300 Subject: [PATCH 12/26] Add swig support (#1265) * added swig support * removed apt-get update * updated swig.sh Co-authored-by: Nikita Bykov --- images/linux/scripts/installers/swig.sh | 18 ++++++++++++++++++ images/linux/ubuntu1604.json | 3 ++- images/linux/ubuntu1804.json | 3 ++- images/linux/ubuntu2004.json | 3 ++- 4 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 images/linux/scripts/installers/swig.sh diff --git a/images/linux/scripts/installers/swig.sh b/images/linux/scripts/installers/swig.sh new file mode 100644 index 00000000..2d916474 --- /dev/null +++ b/images/linux/scripts/installers/swig.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Source the helpers for use with the script +source $HELPER_SCRIPTS/document.sh + +# Install Swig +sudo apt-get install -y swig + +# 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 swig; then + echo "Swig was not installed" + exit 1 +fi + +# Document what was added to the image +echo "Lastly, documenting what we added to the metadata file" +DocumentInstalledItem "Swig $(swig -version | sed -n 2p | cut -d ' ' -f 3)" diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index 500a6be7..2475f03d 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -197,7 +197,8 @@ "{{template_dir}}/scripts/installers/vercel.sh", "{{template_dir}}/scripts/installers/dpkg-config.sh", "{{template_dir}}/scripts/installers/mongodb.sh", - "{{template_dir}}/scripts/installers/rndgenerator.sh" + "{{template_dir}}/scripts/installers/rndgenerator.sh", + "{{template_dir}}/scripts/installers/swig.sh" ], "environment_vars": [ "METADATA_FILE={{user `metadata_file`}}", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 5367e2a0..7314664d 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -201,7 +201,8 @@ "{{template_dir}}/scripts/installers/vercel.sh", "{{template_dir}}/scripts/installers/dpkg-config.sh", "{{template_dir}}/scripts/installers/mongodb.sh", - "{{template_dir}}/scripts/installers/rndgenerator.sh" + "{{template_dir}}/scripts/installers/rndgenerator.sh", + "{{template_dir}}/scripts/installers/swig.sh" ], "environment_vars": [ "METADATA_FILE={{user `metadata_file`}}", diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index 5c1c1a3c..1ec55d1e 100644 --- a/images/linux/ubuntu2004.json +++ b/images/linux/ubuntu2004.json @@ -202,7 +202,8 @@ "{{template_dir}}/scripts/installers/vcpkg.sh", "{{template_dir}}/scripts/installers/vercel.sh", "{{template_dir}}/scripts/installers/dpkg-config.sh", - "{{template_dir}}/scripts/installers/rndgenerator.sh" + "{{template_dir}}/scripts/installers/rndgenerator.sh", + "{{template_dir}}/scripts/installers/swig.sh" ], "environment_vars": [ "METADATA_FILE={{user `metadata_file`}}", From 16f3e4b83ce020e743104ba413a04892abbf1e7c Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Wed, 22 Jul 2020 09:41:09 +0000 Subject: [PATCH 13/26] Copy Python for build aws sam cli (#1267) * Copy Python for build aws sam cli * Minor fix * Set sudo user * Move sudo to templates --- images/linux/scripts/installers/aws-sam-cli.sh | 14 ++++++++------ images/linux/ubuntu1604.json | 2 +- images/linux/ubuntu1804.json | 2 +- images/linux/ubuntu2004.json | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/images/linux/scripts/installers/aws-sam-cli.sh b/images/linux/scripts/installers/aws-sam-cli.sh index 004a7f3a..a8512e61 100644 --- a/images/linux/scripts/installers/aws-sam-cli.sh +++ b/images/linux/scripts/installers/aws-sam-cli.sh @@ -15,13 +15,15 @@ wget $TarballUrl -O $TarballPath tar -xzvf $TarballPath -C /tmp cd /tmp/awslabs-aws-sam-cli* -# Use python 3.7 from toolcache to install aws sam, setuptools package required for the installation -Python3Dir=$(echo /opt/hostedtoolcache/Python/3.7*/x64) +mkdir /opt/python-aws-sam-cli +cp -r /opt/hostedtoolcache/Python/3.7* /opt/python-aws-sam-cli + +# Use copy of python 3.7 from toolcache to install aws sam, setuptools package required for the installation +Python3Dir=$(echo /opt/python-aws-sam-cli/3.7*/x64) Python3BinDir="${Python3Dir}/bin" -export PATH="$Python3Dir:$Python3BinDir:$PATH" -python3 -m pip install setuptools -python3 setup.py install -sudo ln -sf ${Python3BinDir}/sam /usr/local/bin/sam +$Python3BinDir/python3 -m pip install setuptools +$Python3BinDir/python3 setup.py install +ln -sf ${Python3BinDir}/sam /usr/local/bin/sam # Run tests to determine that the software installed as expected echo "Testing to make sure that script performed as expected, and basic scenarios work" diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index 2475f03d..ae036bdf 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -259,7 +259,7 @@ "METADATA_FILE={{user `metadata_file`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}" ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 7314664d..9302e5cb 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -263,7 +263,7 @@ "METADATA_FILE={{user `metadata_file`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}" ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index 1ec55d1e..73ef44df 100644 --- a/images/linux/ubuntu2004.json +++ b/images/linux/ubuntu2004.json @@ -264,7 +264,7 @@ "METADATA_FILE={{user `metadata_file`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}" ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", From 99bd7bf03562dcc66027c59ed4f86cc4d2dcfcb0 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Wed, 22 Jul 2020 13:17:15 +0300 Subject: [PATCH 14/26] Fix documentation for rust packages (#1236) * fix documentation for rust * remove output * fix docs * fix doc Co-authored-by: Dmitry Shibanov --- .../win/scripts/SoftwareReport/SoftwareReport.Common.psm1 | 2 +- .../scripts/SoftwareReport/SoftwareReport.Generator.ps1 | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 index 8e1560ee..2ca0b8e0 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 @@ -34,7 +34,7 @@ function Get-JavaVersionsList { function Get-RustVersion { $rustVersion = [regex]::matches($(rustc --version), "\d+\.\d+\.\d+").Value - return "Rust ${rustVersion}" + return $rustVersion } function Get-BindgenVersion { diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index f922dcc4..b0de49a5 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -35,7 +35,6 @@ $markdown += New-MDHeader "Language and Runtime" -Level 3 $markdown += New-MDList -Lines (Get-JavaVersionsList -DefaultVersion "1.8.0") -Style Unordered -NoNewLine $markdown += New-MDList -Style Unordered -Lines @( - (Get-RustVersion), (Get-PythonVersion), (Get-RubyVersion), (Get-GoVersion), @@ -115,7 +114,11 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-GoogleCloudSDKVersion) ) -$markdown += New-MDHeader "Rust packages:" -Level 3 +$markdown += New-MDHeader "Rust Tools" -Level 3 +$markdown += New-MDList -Style Unordered -Lines @( + "Rust $(Get-RustVersion)" +) +$markdown += New-MDHeader "Packages" -Level 4 $markdown += New-MDList -Style Unordered -Lines @( (Get-BindgenVersion), (Get-CbindgenVersion), From 532b49be6f0df18717cea1ef93f0e0b67f9fe2c3 Mon Sep 17 00:00:00 2001 From: Dibir Magomedsaygitov <61747324+dibir-magomedsaygitov@users.noreply.github.com> Date: Wed, 22 Jul 2020 14:04:40 +0300 Subject: [PATCH 15/26] Implement new Pester Tests for Visual Studio (#1251) * implement pester tests for visual studio * fix components list --- images/win/Windows2016-Azure.json | 23 +- images/win/Windows2019-Azure.json | 23 +- .../scripts/ImageHelpers/ImageHelpers.psm1 | 4 + .../scripts/ImageHelpers/InstallHelpers.ps1 | 30 ++ .../Installers/Windows2016/Install-VS2017.ps1 | 101 +---- .../Installers/Windows2019/Install-VS2019.ps1 | 128 +----- .../win/scripts/Tests/VisualStudio.Tests.ps1 | 27 ++ images/win/toolsets/toolset-2016.json | 364 +++++++++------- images/win/toolsets/toolset-2019.json | 404 +++++++++++------- 9 files changed, 591 insertions(+), 513 deletions(-) create mode 100644 images/win/scripts/Tests/VisualStudio.Tests.ps1 diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index eaa2131e..a75a946d 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -89,6 +89,16 @@ "source": "{{ template_dir }}/scripts/Tests", "destination": "{{user `image_folder`}}" }, + { + "type": "file", + "source": "{{template_dir}}/toolsets/toolcache-2016.json", + "destination": "{{user `root_folder`}}/toolcache.json" + }, + { + "type": "file", + "source": "{{template_dir}}/toolsets/toolset-2016.json", + "destination": "{{user `toolset_json_path`}}" + }, { "type": "windows-shell", "inline": [ @@ -179,6 +189,9 @@ 0, 3010 ], + "environment_vars":[ + "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" + ], "scripts":[ "{{ template_dir }}/scripts/Installers/Windows2016/Install-VS2017.ps1" ], @@ -317,16 +330,6 @@ "{{ template_dir }}/scripts/Installers/Install-Packer.ps1" ] }, - { - "type": "file", - "source": "{{template_dir}}/toolsets/toolcache-2016.json", - "destination": "{{user `root_folder`}}/toolcache.json" - }, - { - "type": "file", - "source": "{{template_dir}}/toolsets/toolset-2016.json", - "destination": "{{user `toolset_json_path`}}" - }, { "type": "powershell", "environment_vars":[ diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index fc42df2a..38639f01 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -89,6 +89,16 @@ "source": "{{ template_dir }}/scripts/Tests", "destination": "{{user `image_folder`}}" }, + { + "type": "file", + "source": "{{template_dir}}/toolsets/toolcache-2019.json", + "destination": "{{user `root_folder`}}/toolcache.json" + }, + { + "type": "file", + "source": "{{template_dir}}/toolsets/toolset-2019.json", + "destination": "{{user `toolset_json_path`}}" + }, { "type": "windows-shell", "inline": [ @@ -187,6 +197,9 @@ 0, 3010 ], + "environment_vars":[ + "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" + ], "scripts":[ "{{ template_dir }}/scripts/Installers/Windows2019/Install-VS2019.ps1" ], @@ -292,16 +305,6 @@ "{{ template_dir }}/scripts/Installers/Install-Packer.ps1" ] }, - { - "type": "file", - "source": "{{template_dir}}/toolsets/toolcache-2019.json", - "destination": "{{user `root_folder`}}/toolcache.json" - }, - { - "type": "file", - "source": "{{template_dir}}/toolsets/toolset-2019.json", - "destination": "{{user `toolset_json_path`}}" - }, { "type": "powershell", "environment_vars":[ diff --git a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 index 72431f35..c8cba0a0 100644 --- a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 +++ b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 @@ -33,5 +33,9 @@ Export-ModuleMember -Function @( 'Get-WhichTool' 'Get-EnvironmentVariable' 'Invoke-PesterTests' + 'Get-VsCatalogJsonPath' + 'Get-VisualStudioPath' 'Install-AndroidSDKPackages' + 'Get-VisualStudioPackages' + 'Get-VisualStudioComponents' ) diff --git a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 index ab8f2cfc..c36d31c5 100644 --- a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 +++ b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 @@ -464,6 +464,36 @@ function Extract-7Zip { } } +function Get-VsCatalogJsonPath { + $instanceFolder = Get-Item "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances\*" | Select-Object -First 1 + return Join-Path $instanceFolder.FullName "catalog.json" +} + +function Get-VisualStudioPath { + Param + ( + [Parameter(Mandatory=$true)] + [string]$Version, + [Parameter(Mandatory=$true)] + [string]$Edition + ) + + return "${env:ProgramFiles(x86)}\Microsoft Visual Studio\${Version}\${Edition}" +} + +function Get-VisualStudioPackages +{ + $packagePath = "$env:ProgramData\Microsoft\VisualStudio\Packages\_Instances\*\state.packages.json" + $instanceFolders = Get-ChildItem -Path $packagePath + (Get-Content -Path $instanceFolders | ConvertFrom-Json).packages +} + +function Get-VisualStudioComponents { + $vsPackages = Get-VisualStudioPackages | Where-Object type -in 'Component', 'Workload' + $vsPackages | Sort-Object Id | Select-Object @{n = 'Package'; e = {$_.Id}} | + Where-Object { $_.Package -notmatch "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}" } +} + function Install-AndroidSDKPackages { Param ( diff --git a/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 b/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 index 0f0a8b62..e906f4ee 100644 --- a/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 +++ b/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 @@ -5,86 +5,20 @@ $ErrorActionPreference = "Stop" -Import-Module -Name ImageHelpers -Force +$toolset = Get-ToolsetContent +$requiredComponents = $toolset.visualStudio.workloads | ForEach-Object { "--add $_" } +$workLoads = @( + "--allWorkloads --includeRecommended" + $requiredComponents + "--remove Component.CPython3.x64" +) +$workLoadsArgument = [String]::Join(" ", $workLoads) -$WorkLoads = '--allWorkloads --includeRecommended ' + ` - '--add Microsoft.Net.Component.4.6.2.SDK ' + ` - '--add Microsoft.Net.Component.4.6.2.TargetingPack ' + ` - '--add Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools ' + ` - '--add Microsoft.Net.Component.4.7.SDK ' + ` - '--add Microsoft.Net.Component.4.7.TargetingPack ' + ` - '--add Microsoft.Net.ComponentGroup.4.7.DeveloperTools ' + ` - '--add Microsoft.Net.Component.4.7.1.SDK ' + ` - '--add Microsoft.Net.Component.4.7.1.TargetingPack ' + ` - '--add Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools ' + ` - '--add Microsoft.Net.Component.4.7.2.SDK ' + ` - '--add Microsoft.Net.Component.4.7.2.TargetingPack ' + ` - '--add Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools ' + ` - '--add Microsoft.Net.Core.Component.SDK.1x ' + ` - '--add Microsoft.NetCore.1x.ComponentGroup.Web ' + ` - '--add Microsoft.VisualStudio.Component.Azure.Storage.AzCopy ' + ` - '--add Microsoft.VisualStudio.Component.PowerShell.Tools ' + ` - '--add Microsoft.VisualStudio.Component.VC.140 ' + ` - '--add Component.Dotfuscator ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATL ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATL.ARM ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATL.ARM64 ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATLMFC ' + ` - '--add Microsoft.VisualStudio.Component.VC.ClangC2 ' + ` - '--add Microsoft.VisualStudio.Component.VC.CLI.Support ' + ` - '--add Microsoft.VisualStudio.Component.VC.Modules.x86.x64 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.10240 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.10586 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.14393 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop ' + ` - '--add Component.Unreal ' + ` - '--add Component.Unreal.Android ' + ` - '--add Component.Android.SDK23 ' + ` - '--add Microsoft.VisualStudio.Component.TestTools.WebLoadTest ' + ` - '--add Microsoft.VisualStudio.Web.Mvc4.ComponentGroup ' + ` - '--add Component.Linux.CMake ' + ` - '--add Microsoft.Component.PythonTools.UWP ' + ` - '--remove Component.CPython3.x64 ' + ` - '--add Microsoft.Component.VC.Runtime.OSSupport ' + ` - '--add Microsoft.VisualStudio.Component.VC.Tools.ARM ' + ` - '--add Microsoft.VisualStudio.ComponentGroup.UWP.VC ' + ` - '--add Microsoft.VisualStudio.Component.VSSDK ' + ` - '--add Microsoft.VisualStudio.Component.LinqToSql ' + ` - '--add Microsoft.VisualStudio.Component.TestTools.CodedUITest ' + ` - '--add Microsoft.VisualStudio.Component.TestTools.Core ' + ` - '--add Microsoft.VisualStudio.Component.TypeScript.2.0 ' + ` - '--add Microsoft.VisualStudio.Component.TypeScript.2.1 ' + ` - '--add Microsoft.VisualStudio.Component.TypeScript.2.2 ' + ` - '--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm ' + ` - '--add Microsoft.VisualStudio.Component.DslTools ' + ` - '--add Microsoft.VisualStudio.Component.Windows81SDK ' + ` - '--add Microsoft.VisualStudio.Component.WinXP ' + ` - '--add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81 ' + ` - '--add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP ' + ` - '--add Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Managed ' + ` - '--add Microsoft.Component.Blend.SDK.WPF ' + ` - '--add Microsoft.Component.VC.Runtime.UCRTSDK ' + ` - '--add Microsoft.VisualStudio.Component.Sharepoint.BuildTools ' + ` - '--add Microsoft.VisualStudio.Component.TeamOffice.BuildTools ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATL.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.17763 ' + ` - '--add Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre '+ ` - '--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.Workflow.BuildTools ' + ` - '--add Microsoft.VisualStudio.Workload.Office ' + ` - '--add Microsoft.VisualStudio.Workload.OfficeBuildTools ' - -$ReleaseInPath = "Enterprise" -$BootstrapperUrl = "https://aka.ms/vs/15/release/vs_${ReleaseInPath}.exe" +$releaseInPath = $toolset.visualStudio.edition +$bootstrapperUrl = "https://aka.ms/vs/15/release/vs_${releaseInPath}.exe" # Install VS -Install-VisualStudio -BootstrapperUrl $BootstrapperUrl -WorkLoads $WorkLoads +Install-VisualStudio -BootstrapperUrl $bootstrapperUrl -WorkLoads $workLoadsArgument # Find the version of VS installed for this instance # Only supports a single instance @@ -97,15 +31,14 @@ if ($instanceFolders -is [array]) exit 1 } -$catalogContent = Get-Content -Path ($instanceFolders.FullName + '\catalog.json') -$catalog = $catalogContent | ConvertFrom-Json -$version = $catalog.info.id -$VSInstallRoot = "C:\Program Files (x86)\Microsoft Visual Studio\2017\$ReleaseInPath" -Write-Host "Visual Studio version ${version} installed" +$visualStudioVersion = $toolset.visualStudio.version +$vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $releaseInPath # Initialize Visual Studio Experimental Instance for integration testing -& "$VSInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit | Wait-Process +& "$vsInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit | Wait-Process # Updating content of MachineState.json file to disable autoupdate of VSIX extensions $newContent = '{"Extensions":[{"Key":"1e906ff5-9da8-4091-a299-5c253c55fdc9","Value":{"ShouldAutoUpdate":false}},{"Key":"Microsoft.VisualStudio.Web.AzureFunctions","Value":{"ShouldAutoUpdate":false}}],"ShouldAutoUpdate":false,"ShouldCheckForUpdates":false}' -Set-Content -Path "$VSInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent +Set-Content -Path "$vsInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent + +Invoke-PesterTests -TestFile "VisualStudio" \ No newline at end of file diff --git a/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 b/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 index 11da0bae..3d1cb205 100644 --- a/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 +++ b/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 @@ -2,114 +2,23 @@ ## File: Install-VS2019.ps1 ## Desc: Install Visual Studio 2019 ################################################################################ + $ErrorActionPreference = "Stop" -Import-Module -Name ImageHelpers -Force +$toolset = Get-ToolsetContent +$requiredComponents = $toolset.visualStudio.workloads | ForEach-Object { "--add $_" } +$workLoads = @( + "--allWorkloads --includeRecommended" + $requiredComponents + "--remove Component.CPython3.x64" +) +$workLoadsArgument = [String]::Join(" ", $workLoads) -$WorkLoads = '--allWorkloads --includeRecommended ' + ` - '--add Component.Dotfuscator ' + ` - '--add Component.Linux.CMake ' + ` - '--add Component.UnityEngine.x64 ' + ` - '--add Component.UnityEngine.x86 ' + ` - '--add Component.Unreal.Android ' + ` - '--add Microsoft.Component.Azure.DataLake.Tools ' + ` - '--add Microsoft.Component.CookiecutterTools ' + ` - '--add Microsoft.Component.PythonTools.Miniconda ' + ` - '--add Microsoft.Component.PythonTools.Web ' + ` - '--add Microsoft.Component.VC.Runtime.UCRTSDK ' + ` - '--add Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools ' + ` - '--add Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools ' + ` - '--add Microsoft.Net.Component.4.7.2.SDK ' + ` - '--add Microsoft.Net.Component.4.7.2.TargetingPack ' + ` - '--add Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools ' + ` - '--add Microsoft.Net.ComponentGroup.4.7.DeveloperTools ' + ` - '--add Microsoft.VisualStudio.Component.AspNet45 ' + ` - '--add Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools ' + ` - '--add Microsoft.VisualStudio.Component.Azure.MobileAppsSdk ' + ` - '--add Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools ' + ` - '--add Microsoft.VisualStudio.Component.Azure.Storage.AzCopy ' + ` - '--add Microsoft.VisualStudio.Component.Debugger.JustInTime ' + ` - '--add Microsoft.VisualStudio.Component.DslTools ' + ` - '--add Microsoft.VisualStudio.Component.EntityFramework ' + ` - '--add Microsoft.VisualStudio.Component.FSharp.Desktop ' + ` - '--add Microsoft.VisualStudio.Component.LinqToSql ' + ` - '--add Microsoft.VisualStudio.Component.SQL.SSDT ' + ` - '--add Microsoft.VisualStudio.Component.PortableLibrary ' + ` - '--add Microsoft.VisualStudio.Component.Sharepoint.BuildTools ' + ` - '--add Microsoft.VisualStudio.Component.TeamOffice ' + ` - '--add Microsoft.VisualStudio.Component.TeamOffice.BuildTools ' + ` - '--add Microsoft.VisualStudio.Component.TestTools.CodedUITest ' + ` - '--add Microsoft.VisualStudio.Component.TestTools.WebLoadTest ' + ` - '--add Microsoft.VisualStudio.Component.UWP.VC.ARM64 ' + ` - '--add Microsoft.VisualStudio.Component.VC.140 ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATL.ARM ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATLMFC ' + ` - '--add Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.CLI.Support ' + ` - '--add Microsoft.VisualStudio.Component.VC.CMake.Project ' + ` - '--add Microsoft.VisualStudio.Component.VC.DiagnosticTools ' + ` - '--add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset ' + ` - '--add Microsoft.VisualStudio.Component.VC.MFC.ARM ' + ` - '--add Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.MFC.ARM64 ' + ` - '--add Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.Redist.MSM ' + ` - '--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest ' + ` - '--add Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest ' + ` - '--add Microsoft.VisualStudio.Component.VC.v141 ' + ` - '--add Microsoft.VisualStudio.Component.VC.v141.x86.x64 ' + ` - '--add Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre ' + ` - '--add Microsoft.VisualStudio.Component.VC.v141.ATL ' + ` - '--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 ' + ` - '--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.VC.14.25.x86.x64 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.16299 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.17763 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.18362 ' + ` - '--add Microsoft.VisualStudio.Component.Windows10SDK.19041 ' + ` - '--add Microsoft.VisualStudio.Component.WinXP ' + ` - '--add Microsoft.VisualStudio.Component.Workflow.BuildTools ' + ` - '--add Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices ' + ` - '--add Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools ' + ` - '--add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang ' + ` - '--add Microsoft.VisualStudio.ComponentGroup.Web.CloudTools ' + ` - '--add Microsoft.VisualStudio.Workload.Azure ' + ` - '--add Microsoft.VisualStudio.Workload.Data ' + ` - '--add Microsoft.VisualStudio.Workload.DataScience ' + ` - '--add Microsoft.VisualStudio.Workload.ManagedDesktop ' + ` - '--add Microsoft.VisualStudio.Workload.ManagedGame ' + ` - '--add Microsoft.VisualStudio.Workload.NativeCrossPlat ' + ` - '--add Microsoft.VisualStudio.Workload.NativeDesktop ' + ` - '--add Microsoft.VisualStudio.Workload.NativeGame ' + ` - '--add Microsoft.VisualStudio.Workload.NativeMobile ' + ` - '--add Microsoft.VisualStudio.Workload.NetCoreTools ' + ` - '--add Microsoft.VisualStudio.Workload.NetCrossPlat ' + ` - '--add Microsoft.VisualStudio.Workload.NetWeb ' + ` - '--add Microsoft.VisualStudio.Workload.Node ' + ` - '--add Microsoft.VisualStudio.Workload.Office ' + ` - '--add Microsoft.VisualStudio.Workload.Python ' + ` - '--remove Component.CPython3.x64 ' + ` - '--add Microsoft.VisualStudio.Workload.Universal ' + ` - '--add Microsoft.VisualStudio.Workload.VisualStudioExtension ' + ` - '--add Component.MDD.Linux ' + ` - '--add Component.MDD.Linux.GCC.arm' - -$ReleaseInPath = "Enterprise" -$BootstrapperUrl = "https://aka.ms/vs/16/release/vs_${ReleaseInPath}.exe" +$releaseInPath = $toolset.visualStudio.edition +$bootstrapperUrl = "https://aka.ms/vs/16/release/vs_${releaseInPath}.exe" # Install VS -Install-VisualStudio -BootstrapperUrl $BootstrapperUrl -WorkLoads $WorkLoads +Install-VisualStudio -BootstrapperUrl $bootstrapperUrl -WorkLoads $workLoadsArgument # Find the version of VS installed for this instance # Only supports a single instance @@ -122,18 +31,15 @@ if ($instanceFolders -is [array]) exit 1 } -$catalogContent = Get-Content -Path ($instanceFolders.FullName + '\catalog.json') -$catalog = $catalogContent | ConvertFrom-Json -$version = $catalog.info.id -$VSInstallRoot = "C:\Program Files (x86)\Microsoft Visual Studio\2019\$ReleaseInPath" -Write-Host "Visual Studio version ${version} installed" +$visualStudioVersion = $toolset.visualStudio.version +$vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $releaseInPath # Initialize Visual Studio Experimental Instance -& "$VSInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit +& "$vsInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit # Updating content of MachineState.json file to disable autoupdate of VSIX extensions $newContent = '{"Extensions":[{"Key":"1e906ff5-9da8-4091-a299-5c253c55fdc9","Value":{"ShouldAutoUpdate":false}},{"Key":"Microsoft.VisualStudio.Web.AzureFunctions","Value":{"ShouldAutoUpdate":false}}],"ShouldAutoUpdate":false,"ShouldCheckForUpdates":false}' -Set-Content -Path "$VSInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent +Set-Content -Path "$vsInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent # Install Windows 10 SDK version 10.0.14393.795 $sdkUrl = "https://go.microsoft.com/fwlink/p/?LinkId=838916" @@ -141,3 +47,5 @@ $sdkFileName = "sdksetup14393.exe" $argumentList = ("/q", "/norestart", "/ceip off", "/features OptionId.WindowsSoftwareDevelopmentKit") Install-Binary -Url $sdkUrl -Name $sdkFileName -ArgumentList $argumentList + +Invoke-PesterTests -TestFile "VisualStudio" \ No newline at end of file diff --git a/images/win/scripts/Tests/VisualStudio.Tests.ps1 b/images/win/scripts/Tests/VisualStudio.Tests.ps1 new file mode 100644 index 00000000..77449de8 --- /dev/null +++ b/images/win/scripts/Tests/VisualStudio.Tests.ps1 @@ -0,0 +1,27 @@ +Describe "Visual Studio" { + Context "Basic" { + It "Catalog.json" { + Get-VsCatalogJsonPath | Should -Exist + } + + It "Devenv.exe" { + $visualStudioEdition = Get-ToolsetContent | Select-Object -ExpandProperty visualStudio | Select-Object -ExpandProperty edition + $visualStudioVersion = Get-ToolsetContent | Select-Object -ExpandProperty visualStudio | Select-Object -ExpandProperty version + $vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $visualStudioEdition + $devenvexePath = "${vsInstallRoot}\Common7\IDE\devenv.exe" + $devenvexePath | Should -Exist + } + } + + Context "Visual Studio components" { + $expectedComponents = Get-ToolsetContent | Select-Object -ExpandProperty visualStudio | Select-Object -ExpandProperty workloads + $testCases = $expectedComponents | ForEach-Object { @{ComponentName = $_} } + BeforeAll { + $installedComponents = Get-VisualStudioComponents | Select-Object -ExpandProperty Package + } + + It "" -TestCases $testCases { + $installedComponents | Should -Contain $ComponentName + } + } +} \ No newline at end of file diff --git a/images/win/toolsets/toolset-2016.json b/images/win/toolsets/toolset-2016.json index a5d6e7a5..41d519b5 100644 --- a/images/win/toolsets/toolset-2016.json +++ b/images/win/toolsets/toolset-2016.json @@ -1,146 +1,220 @@ -{ - "toolcache": [ - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", - "arch": "x64", - "platform" : "win32", - "versions": [ - "2.7.*", - "3.5.*", - "3.6.*", - "3.7.*", - "3.8.*" - ], - "default": "3.7.*" - }, - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", - "arch": "x86", - "platform" : "win32", - "versions": [ - "2.7.*", - "3.5.*", - "3.6.*", - "3.7.*", - "3.8.*" - ] - }, - { - "name": "PyPy", - "arch": "x86", - "platform" : "win32", - "versions": [ - "2.7", - "3.6" - ] - }, - { - "name": "node", - "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", - "arch": "x64", - "platform" : "win32", - "versions": [ - "8.*", - "10.*", - "12.*", - "14.*" - ] - }, - { - "name": "go", - "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", - "arch": "x64", - "platform" : "win32", - "versions": [ - "1.9.*", - "1.10.*", - "1.11.*", - "1.12.*", - "1.13.*", - "1.14.*" - ], - "default": "1.14.*" - }, - { - "name": "Boost", - "url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json", - "arch": "x86_64", - "platform" : "win32", - "toolset": "msvc14.1", - "versions": [ - "1.69.0", - "1.72.0" - ] - } - ], - "azureModules": [ - { - "name": "azurerm", - "versions": [ - "2.1.0", - "3.8.0", - "4.2.1", - "5.1.1", - "6.7.0", - "6.13.1" - ], - "default": "2.1.0" - }, - { - "name": "azure", - "versions": [ - "2.1.0", - "3.8.0", - "4.2.1", - "5.1.1", - "5.3.0" - ], - "default": "2.1.0" - }, - { - "name": "az", - "versions": [ - "1.0.0", - "1.6.0", - "2.3.2", - "2.6.0", - "3.1.0", - "3.5.0", - "3.8.0", - "4.3.0", - "4.4.0" - ] - } - ], - "android": { - "platform_list": [ - "android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19" - ], - "build_tools": [ - "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0" - ], - "extra_list": [ - "android;m2repository", - "google;m2repository", - "google;google_play_services", - "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", - "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", - "m2repository;com;android;support;constraint;constraint-layout;1.0.2", - "m2repository;com;android;support;constraint;constraint-layout;1.0.1" - ], - "addon_list": [ - "addon-google_apis-google-24", - "addon-google_apis-google-23", - "addon-google_apis-google-22", - "addon-google_apis-google-21" - ], - "additional_tools": [ - "cmake;3.6.4111459", - "cmake;3.10.2.4988404", - "patcher;v4", - "ndk-bundle" - ] - } +{ + "toolcache": [ + { + "name": "Python", + "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", + "arch": "x64", + "platform" : "win32", + "versions": [ + "2.7.*", + "3.5.*", + "3.6.*", + "3.7.*", + "3.8.*" + ], + "default": "3.7.*" + }, + { + "name": "Python", + "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", + "arch": "x86", + "platform" : "win32", + "versions": [ + "2.7.*", + "3.5.*", + "3.6.*", + "3.7.*", + "3.8.*" + ] + }, + { + "name": "PyPy", + "arch": "x86", + "platform" : "win32", + "versions": [ + "2.7", + "3.6" + ] + }, + { + "name": "node", + "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", + "arch": "x64", + "platform" : "win32", + "versions": [ + "8.*", + "10.*", + "12.*", + "14.*" + ] + }, + { + "name": "go", + "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", + "arch": "x64", + "platform" : "win32", + "versions": [ + "1.9.*", + "1.10.*", + "1.11.*", + "1.12.*", + "1.13.*", + "1.14.*" + ], + "default": "1.14.*" + }, + { + "name": "Boost", + "url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json", + "arch": "x86_64", + "platform" : "win32", + "toolset": "msvc14.1", + "versions": [ + "1.69.0", + "1.72.0" + ] + } + ], + "azureModules": [ + { + "name": "azurerm", + "versions": [ + "2.1.0", + "3.8.0", + "4.2.1", + "5.1.1", + "6.7.0", + "6.13.1" + ], + "default": "2.1.0" + }, + { + "name": "azure", + "versions": [ + "2.1.0", + "3.8.0", + "4.2.1", + "5.1.1", + "5.3.0" + ], + "default": "2.1.0" + }, + { + "name": "az", + "versions": [ + "1.0.0", + "1.6.0", + "2.3.2", + "2.6.0", + "3.1.0", + "3.5.0", + "3.8.0", + "4.3.0", + "4.4.0" + ] + } + ], + "android": { + "platform_list": [ + "android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19" + ], + "build_tools": [ + "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0" + ], + "extra_list": [ + "android;m2repository", + "google;m2repository", + "google;google_play_services", + "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", + "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", + "m2repository;com;android;support;constraint;constraint-layout;1.0.2", + "m2repository;com;android;support;constraint;constraint-layout;1.0.1" + ], + "addon_list": [ + "addon-google_apis-google-24", + "addon-google_apis-google-23", + "addon-google_apis-google-22", + "addon-google_apis-google-21" + ], + "additional_tools": [ + "cmake;3.6.4111459", + "cmake;3.10.2.4988404", + "patcher;v4", + "ndk-bundle" + ] + }, + "visualStudio": { + "version" : "2017", + "edition" : "Enterprise", + "workloads": [ + "Microsoft.Net.Component.4.6.2.SDK", + "Microsoft.Net.Component.4.6.2.TargetingPack", + "Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools", + "Microsoft.Net.Component.4.7.SDK", + "Microsoft.Net.Component.4.7.TargetingPack", + "Microsoft.Net.ComponentGroup.4.7.DeveloperTools", + "Microsoft.Net.Component.4.7.1.SDK", + "Microsoft.Net.Component.4.7.1.TargetingPack", + "Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools", + "Microsoft.Net.Component.4.7.2.SDK", + "Microsoft.Net.Component.4.7.2.TargetingPack", + "Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools", + "Microsoft.Net.Core.Component.SDK.1x", + "Microsoft.NetCore.1x.ComponentGroup.Web", + "Microsoft.VisualStudio.Component.Azure.Storage.AzCopy", + "Microsoft.VisualStudio.Component.VC.140", + "Component.Dotfuscator", + "Microsoft.VisualStudio.Component.VC.ATL", + "Microsoft.VisualStudio.Component.VC.ATL.ARM", + "Microsoft.VisualStudio.Component.VC.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.ATLMFC", + "Microsoft.VisualStudio.Component.VC.ClangC2", + "Microsoft.VisualStudio.Component.VC.CLI.Support", + "Microsoft.VisualStudio.Component.VC.Modules.x86.x64", + "Microsoft.VisualStudio.Component.Windows10SDK.10240", + "Microsoft.VisualStudio.Component.Windows10SDK.10586", + "Microsoft.VisualStudio.Component.Windows10SDK.14393", + "Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop", + "Component.Unreal", + "Component.Unreal.Android", + "Component.Android.SDK23", + "Microsoft.VisualStudio.Component.TestTools.WebLoadTest", + "Microsoft.VisualStudio.Web.Mvc4.ComponentGroup", + "Component.Linux.CMake", + "Microsoft.Component.PythonTools.UWP", + "Microsoft.Component.VC.Runtime.OSSupport", + "Microsoft.VisualStudio.Component.VC.Tools.ARM", + "Microsoft.VisualStudio.ComponentGroup.UWP.VC", + "Microsoft.VisualStudio.Component.VSSDK", + "Microsoft.VisualStudio.Component.LinqToSql", + "Microsoft.VisualStudio.Component.TestTools.CodedUITest", + "Microsoft.VisualStudio.Component.TestTools.Core", + "Microsoft.VisualStudio.Component.TypeScript.2.0", + "Microsoft.VisualStudio.Component.TypeScript.2.1", + "Microsoft.VisualStudio.Component.TypeScript.2.2", + "Microsoft.VisualStudio.Component.VC.Tools.ARM64", + "Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm", + "Microsoft.VisualStudio.Component.DslTools", + "Microsoft.VisualStudio.Component.Windows81SDK", + "Microsoft.VisualStudio.Component.WinXP", + "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81", + "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP", + "Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Managed", + "Microsoft.Component.Blend.SDK.WPF", + "Microsoft.Component.VC.Runtime.UCRTSDK", + "Microsoft.VisualStudio.Component.Sharepoint.Tools", + "Microsoft.VisualStudio.Component.TeamOffice", + "Microsoft.VisualStudio.Component.VC.ATL.Spectre", + "Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre", + "Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre", + "Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre", + "Microsoft.VisualStudio.Component.Windows10SDK.17134", + "Microsoft.VisualStudio.Component.Windows10SDK.17763", + "Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre", + "Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre", + "Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre", + "Microsoft.VisualStudio.Component.Workflow", + "Microsoft.VisualStudio.Workload.Office" + ] + } } \ No newline at end of file diff --git a/images/win/toolsets/toolset-2019.json b/images/win/toolsets/toolset-2019.json index 06b23526..73bc2f1d 100644 --- a/images/win/toolsets/toolset-2019.json +++ b/images/win/toolsets/toolset-2019.json @@ -1,155 +1,251 @@ -{ - "toolcache": [ - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", - "arch": "x64", - "platform" : "win32", - "versions": [ - "2.7.*", - "3.5.*", - "3.6.*", - "3.7.*", - "3.8.*" - ], - "default": "3.7.*" - }, - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", - "arch": "x86", - "platform" : "win32", - "versions": [ - "2.7.*", - "3.5.*", - "3.6.*", - "3.7.*", - "3.8.*" - ] - }, - { - "name": "PyPy", - "arch": "x86", - "platform" : "win32", - "versions": [ - "2.7", - "3.6" - ] - }, - { - "name": "node", - "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", - "arch": "x64", - "platform" : "win32", - "versions": [ - "8.*", - "10.*", - "12.*", - "14.*" - ] - }, - { - "name": "go", - "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", - "arch": "x64", - "platform" : "win32", - "versions": [ - "1.9.*", - "1.10.*", - "1.11.*", - "1.12.*", - "1.13.*", - "1.14.*" - ], - "default": "1.14.*" - }, - { - "name": "Boost", - "url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json", - "arch": "x86_64", - "platform" : "win32", - "toolset": "msvc14.1", - "versions": [ - "1.69.0" - ] - }, - { - "name": "Boost", - "url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json", - "arch": "x86_64", - "platform" : "win32", - "toolset": "msvc14.2", - "versions": [ - "1.72.0" - ] - } - ], - "azureModules": [ - { - "name": "azurerm", - "versions": [ - "2.1.0", - "3.8.0", - "4.2.1", - "5.1.1", - "6.7.0", - "6.13.1" - ], - "default": "2.1.0" - }, - { - "name": "azure", - "versions": [ - "2.1.0", - "3.8.0", - "4.2.1", - "5.1.1", - "5.3.0" - ], - "default": "2.1.0" - }, - { - "name": "az", - "versions": [ - "1.0.0", - "1.6.0", - "2.3.2", - "2.6.0", - "3.1.0", - "3.5.0", - "3.8.0", - "4.3.0", - "4.4.0" - ] - } - ], - "android": { - "platform_list": [ - "android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19" - ], - "build_tools": [ - "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0" - ], - "extra_list": [ - "android;m2repository", - "google;m2repository", - "google;google_play_services", - "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", - "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", - "m2repository;com;android;support;constraint;constraint-layout;1.0.2", - "m2repository;com;android;support;constraint;constraint-layout;1.0.1" - ], - "addon_list": [ - "addon-google_apis-google-24", - "addon-google_apis-google-23", - "addon-google_apis-google-22", - "addon-google_apis-google-21" - ], - "additional_tools": [ - "cmake;3.6.4111459", - "cmake;3.10.2.4988404", - "patcher;v4", - "ndk-bundle" - ] - } +{ + "toolcache": [ + { + "name": "Python", + "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", + "arch": "x64", + "platform" : "win32", + "versions": [ + "2.7.*", + "3.5.*", + "3.6.*", + "3.7.*", + "3.8.*" + ], + "default": "3.7.*" + }, + { + "name": "Python", + "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", + "arch": "x86", + "platform" : "win32", + "versions": [ + "2.7.*", + "3.5.*", + "3.6.*", + "3.7.*", + "3.8.*" + ] + }, + { + "name": "PyPy", + "arch": "x86", + "platform" : "win32", + "versions": [ + "2.7", + "3.6" + ] + }, + { + "name": "node", + "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", + "arch": "x64", + "platform" : "win32", + "versions": [ + "8.*", + "10.*", + "12.*", + "14.*" + ] + }, + { + "name": "go", + "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", + "arch": "x64", + "platform" : "win32", + "versions": [ + "1.9.*", + "1.10.*", + "1.11.*", + "1.12.*", + "1.13.*", + "1.14.*" + ], + "default": "1.14.*" + }, + { + "name": "Boost", + "url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json", + "arch": "x86_64", + "platform" : "win32", + "toolset": "msvc14.1", + "versions": [ + "1.69.0" + ] + }, + { + "name": "Boost", + "url" : "https://raw.githubusercontent.com/actions/boost-versions/main/versions-manifest.json", + "arch": "x86_64", + "platform" : "win32", + "toolset": "msvc14.2", + "versions": [ + "1.72.0" + ] + } + ], + "azureModules": [ + { + "name": "azurerm", + "versions": [ + "2.1.0", + "3.8.0", + "4.2.1", + "5.1.1", + "6.7.0", + "6.13.1" + ], + "default": "2.1.0" + }, + { + "name": "azure", + "versions": [ + "2.1.0", + "3.8.0", + "4.2.1", + "5.1.1", + "5.3.0" + ], + "default": "2.1.0" + }, + { + "name": "az", + "versions": [ + "1.0.0", + "1.6.0", + "2.3.2", + "2.6.0", + "3.1.0", + "3.5.0", + "3.8.0", + "4.3.0", + "4.4.0" + ] + } + ], + "android": { + "platform_list": [ + "android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19" + ], + "build_tools": [ + "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0" + ], + "extra_list": [ + "android;m2repository", + "google;m2repository", + "google;google_play_services", + "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", + "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", + "m2repository;com;android;support;constraint;constraint-layout;1.0.2", + "m2repository;com;android;support;constraint;constraint-layout;1.0.1" + ], + "addon_list": [ + "addon-google_apis-google-24", + "addon-google_apis-google-23", + "addon-google_apis-google-22", + "addon-google_apis-google-21" + ], + "additional_tools": [ + "cmake;3.6.4111459", + "cmake;3.10.2.4988404", + "patcher;v4", + "ndk-bundle" + ] + }, + "visualStudio": { + "version" : "2019", + "edition" : "Enterprise", + "workloads": [ + "Component.Dotfuscator", + "Component.Linux.CMake", + "Component.UnityEngine.x64", + "Component.Unreal.Android", + "Microsoft.Component.Azure.DataLake.Tools", + "Microsoft.Component.PythonTools.Miniconda", + "Microsoft.Component.PythonTools.Web", + "Microsoft.Component.VC.Runtime.UCRTSDK", + "Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools", + "Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools", + "Microsoft.Net.Component.4.7.2.SDK", + "Microsoft.Net.Component.4.7.2.TargetingPack", + "Microsoft.Net.ComponentGroup.4.7.DeveloperTools", + "Microsoft.VisualStudio.Component.AspNet45", + "Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools", + "Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools", + "Microsoft.VisualStudio.Component.Azure.Storage.AzCopy", + "Microsoft.VisualStudio.Component.Debugger.JustInTime", + "Microsoft.VisualStudio.Component.DslTools", + "Microsoft.VisualStudio.Component.EntityFramework", + "Microsoft.VisualStudio.Component.FSharp.Desktop", + "Microsoft.VisualStudio.Component.LinqToSql", + "Microsoft.VisualStudio.Component.SQL.SSDT", + "Microsoft.VisualStudio.Component.Sharepoint.Tools", + "Microsoft.VisualStudio.Component.PortableLibrary", + "Microsoft.VisualStudio.Component.TeamOffice", + "Microsoft.VisualStudio.Component.TestTools.CodedUITest", + "Microsoft.VisualStudio.Component.TestTools.WebLoadTest", + "Microsoft.VisualStudio.Component.UWP.VC.ARM64", + "Microsoft.VisualStudio.Component.VC.140", + "Microsoft.VisualStudio.Component.VC.ATL.ARM", + "Microsoft.VisualStudio.Component.VC.ATLMFC", + "Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre", + "Microsoft.VisualStudio.Component.VC.CLI.Support", + "Microsoft.VisualStudio.Component.VC.CMake.Project", + "Microsoft.VisualStudio.Component.VC.DiagnosticTools", + "Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset", + "Microsoft.VisualStudio.Component.VC.MFC.ARM", + "Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre", + "Microsoft.VisualStudio.Component.VC.MFC.ARM64", + "Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre", + "Microsoft.VisualStudio.Component.VC.Redist.MSM", + "Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre", + "Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre", + "Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre", + "Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest", + "Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest", + "Microsoft.VisualStudio.Component.VC.v141.x86.x64", + "Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre", + "Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre", + "Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre", + "Microsoft.VisualStudio.Component.VC.v141.ATL", + "Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre", + "Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre", + "Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre", + "Microsoft.VisualStudio.Component.VC.v141.MFC", + "Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre", + "Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre", + "Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre", + "Microsoft.VisualStudio.Component.VC.14.25.x86.x64", + "Microsoft.VisualStudio.Component.Windows10SDK.16299", + "Microsoft.VisualStudio.Component.Windows10SDK.17134", + "Microsoft.VisualStudio.Component.Windows10SDK.17763", + "Microsoft.VisualStudio.Component.Windows10SDK.18362", + "Microsoft.VisualStudio.Component.Windows10SDK.19041", + "Microsoft.VisualStudio.Component.WinXP", + "Microsoft.VisualStudio.Component.Workflow", + "Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices", + "Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools", + "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang", + "Microsoft.VisualStudio.ComponentGroup.Web.CloudTools", + "Microsoft.VisualStudio.Workload.Azure", + "Microsoft.VisualStudio.Workload.Data", + "Microsoft.VisualStudio.Workload.DataScience", + "Microsoft.VisualStudio.Workload.ManagedDesktop", + "Microsoft.VisualStudio.Workload.ManagedGame", + "Microsoft.VisualStudio.Workload.NativeCrossPlat", + "Microsoft.VisualStudio.Workload.NativeDesktop", + "Microsoft.VisualStudio.Workload.NativeGame", + "Microsoft.VisualStudio.Workload.NativeMobile", + "Microsoft.VisualStudio.Workload.NetCoreTools", + "Microsoft.VisualStudio.Workload.NetCrossPlat", + "Microsoft.VisualStudio.Workload.NetWeb", + "Microsoft.VisualStudio.Workload.Node", + "Microsoft.VisualStudio.Workload.Office", + "Microsoft.VisualStudio.Workload.Python", + "Microsoft.VisualStudio.Workload.Universal", + "Microsoft.VisualStudio.Workload.VisualStudioExtension", + "Component.MDD.Linux", + "Component.MDD.Linux.GCC.arm" + ] + } } \ No newline at end of file From 544204ec06d4303a207deeb945d8324318a2e290 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Jul 2020 13:17:07 +0300 Subject: [PATCH 16/26] Disable auto triage rules for type of issue (#1286) * disable auto triage bugs, questions * Update triage-rules.yml --- triage-rules.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/triage-rules.yml b/triage-rules.yml index f56e910f..06e0bd25 100644 --- a/triage-rules.yml +++ b/triage-rules.yml @@ -136,10 +136,10 @@ rules: # Types - valueFor: '**Question, Bug, or Feature?**' contains: Feature - addLabels: ['enhancement'] + addLabels: ['feature request'] - valueFor: '**Question, Bug, or Feature?**' contains: Bug - addLabels: ['bug'] + addLabels: ['investigate'] - valueFor: '**Question, Bug, or Feature?**' contains: Question addLabels: ['question'] From 00463a8fab04c72e094d38904192ce0b9bdb6ce6 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov <47745270+al-cheb@users.noreply.github.com> Date: Thu, 23 Jul 2020 16:32:41 +0300 Subject: [PATCH 17/26] [Windows] Add the list of installed PowerShell modules to documentation (#1266) * documenation about powershell modules * add powershell modules documenation * add PSMODULES_ROOT_FOLDER --- images/win/Windows2016-Azure.json | 8 ++++- images/win/Windows2019-Azure.json | 8 ++++- .../Installers/Install-AzureModules.ps1 | 2 -- .../win/scripts/Installers/Install-Docker.ps1 | 4 --- .../Installers/Install-PowerShellModules.ps1 | 34 +++++++++++++++++++ .../Installers/Install-SQLPowerShellTools.ps1 | 4 --- .../Installers/Install-WindowsUpdates.ps1 | 1 - .../Installers/Windows2016/Initialize-VM.ps1 | 11 ------ .../Installers/Windows2019/Initialize-VM.ps1 | 11 ------ .../SoftwareReport/SoftwareReport.Common.psm1 | 15 ++++++++ .../SoftwareReport.Generator.ps1 | 14 +++++--- .../scripts/Tests/PowerShellModules.Tests.ps1 | 24 +++++++++++++ images/win/toolsets/toolset-2016.json | 8 +++++ images/win/toolsets/toolset-2019.json | 8 +++++ 14 files changed, 112 insertions(+), 40 deletions(-) create mode 100644 images/win/scripts/Installers/Install-PowerShellModules.ps1 diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index a75a946d..d87970a7 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -117,9 +117,12 @@ { "type": "powershell", "environment_vars": [ - "ImageVersion={{user `image_version`}}" + "ImageVersion={{user `image_version`}}", + "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", + "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}" ], "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-PowerShellModules.ps1", "{{ template_dir }}/scripts/Installers/Windows2016/Initialize-VM.ps1" ], "execution_policy": "unrestricted" @@ -716,6 +719,9 @@ "type": "powershell", "inline": [ "pwsh -File '{{user `image_folder`}}\\SoftwareReport\\SoftwareReport.Generator.ps1'" + ], + "environment_vars":[ + "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" ] }, { diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 38639f01..4c3c09e3 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -117,9 +117,12 @@ { "type": "powershell", "environment_vars": [ - "ImageVersion={{user `image_version`}}" + "ImageVersion={{user `image_version`}}", + "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", + "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}" ], "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-PowerShellModules.ps1", "{{ template_dir }}/scripts/Installers/Windows2019/Initialize-VM.ps1" ], "execution_policy": "unrestricted" @@ -715,6 +718,9 @@ "type": "powershell", "inline": [ "pwsh -File '{{user `image_folder`}}\\SoftwareReport\\SoftwareReport.Generator.ps1'" + ], + "environment_vars":[ + "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" ] }, { diff --git a/images/win/scripts/Installers/Install-AzureModules.ps1 b/images/win/scripts/Installers/Install-AzureModules.ps1 index 8d3a4fe5..d03100bd 100644 --- a/images/win/scripts/Installers/Install-AzureModules.ps1 +++ b/images/win/scripts/Installers/Install-AzureModules.ps1 @@ -5,8 +5,6 @@ $ErrorActionPreference = "Stop" -Set-PSRepository -InstallationPolicy Trusted -Name PSGallery - # The correct Modules need to be saved in C:\Modules $installPSModulePath = $env:PSMODULES_ROOT_FOLDER if (-not (Test-Path -LiteralPath $installPSModulePath)) diff --git a/images/win/scripts/Installers/Install-Docker.ps1 b/images/win/scripts/Installers/Install-Docker.ps1 index 00e66517..433d76da 100644 --- a/images/win/scripts/Installers/Install-Docker.ps1 +++ b/images/win/scripts/Installers/Install-Docker.ps1 @@ -5,10 +5,6 @@ ## can continue. ################################################################################ -Set-PSRepository -InstallationPolicy Trusted -Name PSGallery -Write-Host "Install-Module DockerProvider" -Install-Module DockerMsftProvider -Force - Write-Host "Install-Package Docker" Install-Package -Name docker -ProviderName DockerMsftProvider -Force Start-Service docker diff --git a/images/win/scripts/Installers/Install-PowerShellModules.ps1 b/images/win/scripts/Installers/Install-PowerShellModules.ps1 new file mode 100644 index 00000000..f6cb22d0 --- /dev/null +++ b/images/win/scripts/Installers/Install-PowerShellModules.ps1 @@ -0,0 +1,34 @@ +$ErrorActionPreference = "Stop" + +# Set TLS1.2 +[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" + +Write-Host "Setup PowerShellGet" +Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force + +# Specifies the installation policy +Set-PSRepository -InstallationPolicy Trusted -Name PSGallery + +# Install PowerShell modules +$modules = (Get-ToolsetContent).powershellModules + +foreach($module in $modules) +{ + $moduleName = $module.name + Write-Host "Installing ${moduleName} module" + + if ($module.versions) + { + foreach ($version in $module.versions) + { + Write-Host " - $version" + Install-Module -Name $moduleName -RequiredVersion $version -Scope AllUsers -SkipPublisherCheck -Force + } + continue + } + + Install-Module -Name $moduleName -Scope AllUsers -SkipPublisherCheck -Force +} + +Import-Module Pester +Invoke-PesterTests -TestFile "PowerShellModules" -TestName "PowerShellModules" \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-SQLPowerShellTools.ps1 b/images/win/scripts/Installers/Install-SQLPowerShellTools.ps1 index 8369a994..7c0a3cfd 100644 --- a/images/win/scripts/Installers/Install-SQLPowerShellTools.ps1 +++ b/images/win/scripts/Installers/Install-SQLPowerShellTools.ps1 @@ -19,7 +19,3 @@ Install-Binary -Url $SharedManagementObjectsUrl -Name $SharedManagementObjectsNa $PowerShellToolsName = "PowerShellTools.msi" $PowerShellToolsUrl = "${BaseUrl}/${PowerShellToolsName}" Install-Binary -Url $PowerShellToolsUrl -Name $PowerShellToolsName - -# install sqlserver PS module -Set-PSRepository -Name PSGallery -InstallationPolicy Trusted -Install-Module -Name SqlServer -AllowClobber \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-WindowsUpdates.ps1 b/images/win/scripts/Installers/Install-WindowsUpdates.ps1 index a57594d9..eb19a3ea 100644 --- a/images/win/scripts/Installers/Install-WindowsUpdates.ps1 +++ b/images/win/scripts/Installers/Install-WindowsUpdates.ps1 @@ -5,5 +5,4 @@ ################################################################################ Write-Host "Run windows updates" -Install-Module -Name PSWindowsUpdate -Force -AllowClobber Get-WUInstall -MicrosoftUpdate -AcceptAll -Install -IgnoreUserInput -IgnoreReboot diff --git a/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 b/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 index 5afc6e61..81b2ae1b 100644 --- a/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 +++ b/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 @@ -33,17 +33,6 @@ function Disable-UserAccessControl { # Set TLS1.2 [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" -Import-Module -Name ImageHelpers -Force - -Write-Host "Setup PowerShellGet" -# Set-PSRepository -InstallationPolicy Trusted -Name PSGallery -Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Install-Module -Name PowerShellGet -Force -Set-PSRepository -InstallationPolicy Trusted -Name PSGallery - -Write-Host "Install the latest Pester version" -Install-Module Pester -Scope AllUsers -SkipPublisherCheck -Force - Write-Host "Disable Antivirus" Set-MpPreference -DisableRealtimeMonitoring $true diff --git a/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 b/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 index e57ccb98..37634986 100644 --- a/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 +++ b/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 @@ -30,17 +30,6 @@ function Disable-UserAccessControl { Write-Host "User Access Control (UAC) has been disabled." } -Import-Module -Name ImageHelpers -Force - -Write-Host "Setup PowerShellGet" -# Set-PSRepository -InstallationPolicy Trusted -Name PSGallery -Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Install-Module -Name PowerShellGet -Force -Set-PSRepository -InstallationPolicy Trusted -Name PSGallery - -Write-Host "Install the latest Pester version" -Install-Module Pester -Scope AllUsers -SkipPublisherCheck -Force - Write-Host "Disable Antivirus" Set-MpPreference -DisableRealtimeMonitoring $true diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 index 2ca0b8e0..965b5fb9 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 @@ -243,6 +243,21 @@ function Get-PowerShellAzureModules { } } +function Get-PowerShellModules { + $modules = (Get-ToolsetContent).powershellModules.name + + $psModules = Get-Module -Name $modules -ListAvailable | Sort-Object Name | Group-Object Name + $psModules | ForEach-Object { + $moduleName = $_.Name + $moduleVersions = ($_.group.Version | Sort-Object -Unique) -join '
' + + [PSCustomObject]@{ + Module = $moduleName + Version = $moduleVersions + } + } +} + function Get-CachedDockerImages { return (docker images --digests --format "* {{.Repository}}:{{.Tag}}").Split("*") | Where-Object { $_ } } diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index b0de49a5..d4657c1c 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -1,6 +1,3 @@ -# Install MarkdownPS module for software report generation -Install-Module MarkdownPS -Force -Scope AllUsers - Import-Module MarkdownPS Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking @@ -41,7 +38,6 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-PHPVersion), (Get-JuliaVersion), (Get-PerlVersion), - (Get-PowershellCoreVersion), (Get-NodeVersion) ) @@ -190,7 +186,11 @@ $markdown += "``Location $($frameworks.Path)``" $markdown += New-MDNewLine $markdown += New-MDList -Lines $frameworks.Versions -Style Unordered -$markdown += New-MDHeader "Azure Powershell Modules" -Level 3 +# PowerShell Tools +$markdown += New-MDHeader "PowerShell Tools" -Level 3 +$markdown += New-MDList -Lines (Get-PowershellCoreVersion) -Style Unordered + +$markdown += New-MDHeader "Azure Powershell Modules" -Level 4 $markdown += Get-PowerShellAzureModules | New-MDTable $markdown += @' ``` @@ -201,6 +201,10 @@ All other versions are saved but not installed. '@ $markdown += New-MDNewLine +$markdown += New-MDHeader "Powershell Modules" -Level 4 +$markdown += Get-PowerShellModules | New-MDTable +$markdown += New-MDNewLine + # Android section $androidInstalledPackages = Get-AndroidInstalledPackages diff --git a/images/win/scripts/Tests/PowerShellModules.Tests.ps1 b/images/win/scripts/Tests/PowerShellModules.Tests.ps1 index bd111330..c4a9be86 100644 --- a/images/win/scripts/Tests/PowerShellModules.Tests.ps1 +++ b/images/win/scripts/Tests/PowerShellModules.Tests.ps1 @@ -1,3 +1,27 @@ +Describe "PowerShellModules" { + $modules = (Get-ToolsetContent).powershellModules + $withoutVersionsModules = $modules | Where-Object {-not $_.versions} | ForEach-Object { + @{moduleName = $_.name} + } + + $withVersionsModules = $modules | Where-Object {$_.versions} | ForEach-Object { + $moduleName = $_.name + $_.versions | ForEach-Object { + @{moduleName = $moduleName; expectedVersion = $_} + } + } + + It " is installed" -TestCases $withoutVersionsModules { + Get-Module -Name $moduleName -ListAvailable | Should -BeTrue + } + + if ($withVersionsModules) { + It " with is installed" -TestCases $withVersionsModules { + (Get-Module -Name $moduleName -ListAvailable).Version -contains $expectedVersion | Should -BeTrue + } + } +} + Describe "AzureModules" { $modules = (Get-ToolsetContent).azureModules $modulesRootPath = $env:PSMODULES_ROOT_FOLDER diff --git a/images/win/toolsets/toolset-2016.json b/images/win/toolsets/toolset-2016.json index 41d519b5..96f09bd1 100644 --- a/images/win/toolsets/toolset-2016.json +++ b/images/win/toolsets/toolset-2016.json @@ -75,6 +75,14 @@ ] } ], + "powershellModules": [ + {"name": "DockerMsftProvider"}, + {"name": "MarkdownPS"}, + {"name": "Pester"}, + {"name": "PowerShellGet"}, + {"name": "PSWindowsUpdate"}, + {"name": "SqlServer"} + ], "azureModules": [ { "name": "azurerm", diff --git a/images/win/toolsets/toolset-2019.json b/images/win/toolsets/toolset-2019.json index 73bc2f1d..0d0dfa8b 100644 --- a/images/win/toolsets/toolset-2019.json +++ b/images/win/toolsets/toolset-2019.json @@ -84,6 +84,14 @@ ] } ], + "powershellModules": [ + {"name": "DockerMsftProvider"}, + {"name": "MarkdownPS"}, + {"name": "Pester"}, + {"name": "PowerShellGet"}, + {"name": "PSWindowsUpdate"}, + {"name": "SqlServer"} + ], "azureModules": [ { "name": "azurerm", From 97e19070559019d98156f8cf36fdeebd9cc24a81 Mon Sep 17 00:00:00 2001 From: "no-reply@microsoft.com" Date: Thu, 23 Jul 2020 22:04:19 +0000 Subject: [PATCH 18/26] Updating readme file for macos-10.15 version 20200716.2 --- images/macos/macos-10.15-Readme.md | 94 ++++++++++++++++-------------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/images/macos/macos-10.15-Readme.md b/images/macos/macos-10.15-Readme.md index 676de7b5..81e86340 100644 --- a/images/macos/macos-10.15-Readme.md +++ b/images/macos/macos-10.15-Readme.md @@ -1,18 +1,18 @@ # macOS info -- System Version: macOS 10.15.5 (19F101) -- Kernel Version: Darwin 19.5.0 +- System Version: macOS 10.15.6 (19G73) +- Kernel Version: Darwin 19.6.0 - System Integrity Protection: Enabled -- Image Version: 20200707.3 +- Image Version: 20200716.2 ## Installed Software ### Language and Runtime - Java 1.7: (Zulu 7.38.0.11-CA-macosx) (build 1.7.0_262-b10) -- Java 1.8: (AdoptOpenJDK)(build 1.8.0_252-b09) (default) -- Java 11: AdoptOpenJDK (build 11.0.7+10) +- Java 1.8: (AdoptOpenJDK)(build 1.8.0_262-b10) (default) +- Java 11: AdoptOpenJDK (build 11.0.8+10) - Java 12: AdoptOpenJDK (build 12.0.2+10) - Java 13: AdoptOpenJDK (build 13.0.2+8) -- Java 14: AdoptOpenJDK (build 14.0.1+7) -- Rust 1.44.1 +- Java 14: AdoptOpenJDK (build 14.0.2+12) +- Rust 1.45.0 - Clang/LLVM 10.0.0 - gcc-8 (Homebrew GCC 8.4.0_1) 8.4.0 - gcc-9 (Homebrew GCC 9.3.0) 9.3.0 @@ -23,25 +23,25 @@ - NVM - Cached node versions: v6.17.1 v8.17.0 v10.21.0 v12.18.2 v13.14.0 v14.5.0 - PowerShell 7.0.2 - Python 2.7.17 -- Python 3.7.8 +- Python 3.8.4 - Ruby 2.6.6p146 -- .NET SDK 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.602 2.1.603 2.1.604 2.1.607 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 3.1.201 3.1.300 3.1.301 -- Go 1.14.4 -- PHP 7.4.7 +- .NET SDK 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.602 2.1.603 2.1.604 2.1.607 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 3.1.201 3.1.300 3.1.301 3.1.302 +- Go 1.14.5 +- PHP 7.4.8 - julia 1.4.2 ### Package Management -- Rustup 1.22.0 +- Rustup 1.22.1 - Vcpkg 2020.06.15 - Bundler version 2.1.4 - Carthage 0.35.0 - CocoaPods 1.9.3 -- Homebrew 2.4.4 +- Homebrew 2.4.7 - NPM 6.14.5 - Yarn 1.22.4 - NuGet 5.6.0.6489 - Pip 19.3.1 (python 2.7) -- Pip 20.0.2 (python 3.7) +- Pip 20.1.1 (python 3.8) - Miniconda 4.8.3 - RubyGems 3.1.4 @@ -54,7 +54,7 @@ - Curl 7.71.1 - Git: 2.27.0 - Git LFS: 2.11.0 -- GitHub CLI: 0.10.1 +- GitHub CLI: 0.11.0 - Hub CLI: 2.14.2 - GNU Wget 1.20.3 - Subversion (SVN) 1.14.0 @@ -62,13 +62,13 @@ - GNU parallel 20200622 - OpenSSL 1.0.2t 10 Sep 2019 `(/usr/local/opt/openssl -> /usr/local/Cellar/openssl/1.0.2t)` - jq 1.6 -- gpg (GnuPG) 2.2.20 +- gpg (GnuPG) 2.2.21 - psql (PostgreSQL) 12.3 - PostgreSQL 12.3 - aria2 1.35.0 -- azcopy 10.4.3 +- azcopy 10.5.0 - zstd 1.4.5 -- bazel 3.3.1 +- bazel 3.4.1 - bazelisk v1.5.0 - helm v3.2.4+g0ad800e - virtualbox 6.1.10r138449 @@ -76,28 +76,31 @@ - mongod v4.2.8 - Vagrant 2.2.9 - 7-Zip 16.02 +- Newman 5.1.2 + ### Tools -- Fastlane 2.151.1 +- Fastlane 2.152.0 - Cmake 3.17.3 -- App Center CLI 2.6.1 -- Azure CLI 2.8.0 -- AWS CLI 2.0.29 +- App Center CLI 2.6.3 +- Azure CLI 2.9.1 +- AWS CLI 2.0.31 - AWS SAM CLI 0.53.0 -- Aliyun CLI 3.0.50 -- GHCup v0.1.5-p2 +- AWS Session Manager CLI 1.1.61.0 +- Aliyun CLI 3.0.53 +- GHCup v0.1.6 - GHC 8.10.1 - Cabal 3.2.0.0 - Stack 2.3.1 ### Browsers -- Safari 13.1.1 (15609.2.9.1.2) -- SafariDriver 13.1.1 (15609.2.9.1.2) -- Google Chrome 83.0.4103.116 -- ChromeDriver 83.0.4103.39 -- Microsoft Edge 83.0.478.58 -- MSEdgeDriver 83.0.478.61 -- Mozilla Firefox 78.0.1 +- Safari 13.1.2 (15609.3.5.1.3) +- SafariDriver 13.1.2 (15609.3.5.1.3) +- Google Chrome 84.0.4147.89 +- ChromeDriver 84.0.4147.30 +- Microsoft Edge 83.0.478.64 +- MSEdgeDriver 83.0.478.64 +- Mozilla Firefox 78.0.2 - geckodriver 0.26.0 ### Cached Tools @@ -170,18 +173,18 @@ - NUnit 3.6.1 ### Xcode -| Version | Build | Path | -| -------------- | -------- | --------------------------------- | -| 12.0 (beta) | 12A6163b | /Applications/Xcode_12_beta.app | -| 11.6 (beta) | 11N700h | /Applications/Xcode_11.6_beta.app | -| 11.5 (default) | 11E608c | /Applications/Xcode_11.5.app | -| 11.4.1 | 11E503a | /Applications/Xcode_11.4.1.app | -| 11.4 | 11E146 | /Applications/Xcode_11.4.app | -| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app | -| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app | -| 11.1 | 11A1027 | /Applications/Xcode_11.1.app | -| 11.0 | 11A420a | /Applications/Xcode_11.app | -| 10.3 | 10G8 | /Applications/Xcode_10.3.app | +| Version | Build | Path | +| -------------- | -------- | ------------------------------- | +| 12.0 (beta) | 12A6163b | /Applications/Xcode_12_beta.app | +| 11.6 (default) | 11E708 | /Applications/Xcode_11.6.app | +| 11.5 | 11E608c | /Applications/Xcode_11.5.app | +| 11.4.1 | 11E503a | /Applications/Xcode_11.4.1.app | +| 11.4 | 11E146 | /Applications/Xcode_11.4.app | +| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app | +| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app | +| 11.1 | 11A1027 | /Applications/Xcode_11.1.app | +| 11.0 | 11A420a | /Applications/Xcode_11.app | +| 10.3 | 10G8 | /Applications/Xcode_10.3.app | #### Xcode Support Tools - Nomad CLI 3.1.4 @@ -243,7 +246,7 @@ | iOS 13.1 | 11.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) | | iOS 13.2 | 11.2.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) | | iOS 13.3 | 11.3.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) | -| iOS 13.4 | 11.4
11.4.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (2nd generation)
iPad Pro (9.7-inch)
iPad (7th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Air (3rd generation) | +| iOS 13.4 | 11.4
11.4.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad (7th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Air (3rd generation)
iPhone SE (2nd generation) | | iOS 13.5 | 11.5 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (2nd generation)
iPad Pro (9.7-inch)
iPad (7th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Air (3rd generation) | | iOS 13.6 | 11.6 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (2nd generation)
iPad Pro (9.7-inch)
iPad (7th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Air (3rd generation) | | iOS 14.0 | 12.0 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (2nd generation)
iPad Pro (9.7-inch)
iPad (7th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Air (3rd generation) | @@ -279,7 +282,7 @@ | android-27 | Android SDK Platform 27, Revision 3 | | android-28 | Android SDK Platform 28, Revision 6 | | android-29 | Android SDK Platform 29, Revision 4 | -| android-30 | Android SDK Platform 30, Revision 1 | +| android-30 | Android SDK Platform 30, Revision 2 | #### Android SDK Build-Tools | Package Name | Description | @@ -309,6 +312,7 @@ | build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 | | build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 | | build-tools-30.0.0 | Android SDK Build-Tools, Revision 30.0.0 | +| build-tools-30.0.1 | Android SDK Build-Tools, Revision 30.0.1 | #### Android NDKs | Version | Path | From 1234c84344fd5e5095a0f3c858be933397f02ec0 Mon Sep 17 00:00:00 2001 From: Image generation service account Date: Fri, 24 Jul 2020 07:37:42 +0000 Subject: [PATCH 19/26] Updating readme file for ubuntu20 version 20200723.1 --- images/linux/Ubuntu2004-README.md | 103 ++++++++++++++++-------------- 1 file changed, 54 insertions(+), 49 deletions(-) diff --git a/images/linux/Ubuntu2004-README.md b/images/linux/Ubuntu2004-README.md index dba6ab86..220fab7c 100644 --- a/images/linux/Ubuntu2004-README.md +++ b/images/linux/Ubuntu2004-README.md @@ -1,12 +1,12 @@ # Ubuntu 20.04 LTS -The following software is installed on machines with the 20200709.0 update. +The following software is installed on machines with the 20200723.1 update. *** - 7-Zip 16.02 - Ansible (ansible 2.9.6) - AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy10 (available by azcopy10 alias) 10.5.0 -- Azure CLI (azure-cli 2.8.0) +- Azure CLI (azure-cli 2.9.1) - Azure CLI (azure-devops 0.18.0) - Basic packages: - dnsutils @@ -60,8 +60,8 @@ The following software is installed on machines with the 20200709.0 update. - bzip2 - sqlite3 - libcurl4 -- Alibaba Cloud CLI (3.0.50) -- AWS CLI (aws-cli/2.0.29 Python/3.7.3 Linux/5.4.0-1019-azure botocore/2.0.0dev33) +- Alibaba Cloud CLI (3.0.54) +- AWS CLI (aws-cli/2.0.33 Python/3.7.3 Linux/5.4.0-1020-azure botocore/2.0.0dev37) - AWS CLI Session manager plugin (1.1.61.0) - build-essential - Clang 6.0 (6.0.1) @@ -77,17 +77,20 @@ Target: x86_64-unknown-linux-gnu - Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b) - Docker-Buildx (0.4.1+azure) - .NET Core SDK: + - 3.1.302 - 3.1.301 - 3.1.300 - 3.1.202 - 3.1.201 - 3.1.200 + - 3.1.106 - 3.1.105 - 3.1.104 - 3.1.103 - 3.1.102 - 3.1.101 - 3.1.100 + - 2.1.808 - 2.1.807 - 2.1.806 - 2.1.805 @@ -97,6 +100,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.801 - 2.1.701 - 2.1.700 + - 2.1.613 - 2.1.612 - 2.1.611 - 2.1.610 @@ -108,6 +112,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.604 - 2.1.603 - 2.1.602 + - 2.1.516 - 2.1.515 - 2.1.514 - 2.1.513 @@ -130,7 +135,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.301 - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2) -- Firefox (Mozilla Firefox 78.0.1) +- Firefox (Mozilla Firefox 78.0.2) - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.5.0 - GNU C++ 8.4.0 @@ -141,31 +146,31 @@ Target: x86_64-unknown-linux-gnu - Git Large File Storage (LFS) (2.11.0) - Git-ftp (1.6.0) - Hub CLI (2.14.2) -- GitHub CLI 0.10.1 -- Google Chrome (Google Chrome 83.0.4103.116 ) -- ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (300.0.0) +- GitHub CLI 0.11.0 +- Google Chrome (Google Chrome 84.0.4147.89 ) +- ChromeDriver 84.0.4147.30 (48b3e868b4cc0aa7e8149519690b6f6949e110a8-refs/branch-heads/4147@{#310}); Chrome Driver is available via CHROMEWEBDRIVER environment variable +- Google Cloud SDK (302.0.0) - Haskell Cabal (cabal-install version 3.2.0.0 compiled using version 3.2.0.0 of the Cabal library ) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1) - Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0) -- Heroku (heroku/7.42.3 linux-x64 node-v12.16.2) -- HHVM (HipHop VM 4.65.0 (rel)) +- Heroku (heroku/7.42.5 linux-x64 node-v12.16.2) +- HHVM (HipHop VM 4.67.0 (rel)) - ImageMagick - Adopt OpenJDK: - - 8 (openjdk version "1.8.0_252") - - 11 (openjdk version "11.0.7" 2020-04-14) (default) + - 8 (openjdk version "1.8.0_262") + - 11 (openjdk version "11.0.8" 2020-07-14) (default) - Ant (Apache Ant(TM) version 1.10.7 compiled on October 24 2019) - Gradle 6.5.1 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.8.1 go1.14.2 linux/amd64) -- kubectl (Client Version: v1.18.5) +- kubectl (Client Version: v1.18.6) - helm (v3.2.4+g0ad800e) -- minikube version: v1.12.0 +- minikube version: v1.12.1 - oc CLI Client Version: 4.5.0-202005291417-9933eb9 -- Leiningen (Leiningen 2.9.4 on Java 11.0.7 OpenJDK 64-Bit Server VM) +- Leiningen (Leiningen 2.9.4 on Java 11.0.8 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 5.3.1)) - Miniconda (conda 4.8.3) - Mono (Mono JIT compiler version 6.10.0.104 (tarball Fri Jun 26 19:38:44 UTC 2020)) @@ -174,54 +179,54 @@ compiled using version 3.2.0.0 of the Cabal library ) - MS SQL Server Client Tools - MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service' - nvm (0.35.3) -- Node.js (v12.18.2) +- Node.js (v12.18.3) - Grunt (grunt-cli v1.3.2) - Gulp (CLI version: 2.3.0 Local version: Unknown) - n (6.6.0) - Parcel (1.12.4) -- TypeScript (Version 3.9.6) +- TypeScript (Version 3.9.7) - Webpack (4.43.0) - Webpack CLI (3.3.12) - Yarn (1.22.4) -- Newman (5.1.1) -- Bazel (bazel 3.3.1) +- Newman (5.1.2) +- Bazel (bazel 3.4.1) - Bazelisk (1.5.0) - ORAS CLI 0.8.1 - PhantomJS (2.1.1) -- PHP 7.4 (PHP 7.4.7 (cli) (built: Jun 12 2020 07:44:38) ( NTS )) +- PHP 7.4 (PHP 7.4.8 (cli) (built: Jul 13 2020 16:46:22) ( NTS )) > To use ppa:ondrej/php APT repository On Ubuntu 20.04 it is necessary to add it to the APT sources - -apt-add-repository -apt-get - -- Composer (Composer version 1.10.8 2020-06-24 21:23:30) +``` +apt-add-repository ppa:ondrej/php -y +apt-get update +``` +- Composer (Composer version 1.10.9 2020-07-16 12:57:00) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate - psql (PostgreSQL) 12.3 -- Powershell (PowerShell 7.0.2) +- Powershell (PowerShell 7.0.3) - ruby (2.7.0p0) - gem (3.1.2) - rustup (1.22.1) -- rust (1.44.1) -- cargo (1.44.1) -- rustfmt (1.4.16-stable) +- rust (1.45.0) +- cargo (1.45.0) +- rustfmt (1.4.15-stable) - clippy (0.0.212) -- rustdoc (1.44.1) +- rustdoc (1.45.0) - bindgen (0.54.1) - cbindgen (0.14.3) - cargo audit (0.12.0) -- cargo outdated (v0.9.10) +- cargo outdated (v0.9.11) - Julia (julia version 1.4.2) - sbt (copying runtime jar... 1.3.13) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Sphinx Open Source Search Server - Subversion (svn, version 1.13.0 (r1867053)) -- Terraform (Terraform v0.12.28) +- Terraform (Terraform v0.12.29) - Packer (1.6.0) - Vcpkg 2020.06.15-unknownhash -- Vercel CLI (19.1.1) +- Vercel CLI (19.2.0) - Haveged 1.9.1-6ubuntu1 - Google Repository 58 - Google Play services 49 @@ -246,16 +251,16 @@ apt-get - Android SDK Build-Tools 27.0.1 - Android SDK Build-Tools 27.0.0 - Android NDK 21.3.6528147 -- Az Module (4.3.0) +- Az Module (4.4.0) - Cached container images + - node:10 (Digest: sha256:45ce6645bb55155699292c9f8f203203a77b05fb90b65dd29b7bf91ec4c9e168) + - node:12 (Digest: sha256:d06fdb39d49bd3be77a4523fe763a868218b82a36562575d6a1ca7863354807b) + - buildpack-deps:stretch (Digest: sha256:d95db8b9293c71d0f9b6a12d96d1ace65af81fd6535e5cb07078df85b3147a76) + - debian:9 (Digest: sha256:e984d8384d582e61f128920ec63c18a46bb23bc67d7c29a8311a44a69077edab) + - debian:8 (Digest: sha256:dfc9cc982d07c28c2513ad4a97330b38485c0cceea4bd8b217c39d32423e4d29) + - node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766) - node:12-alpine (Digest: sha256:1660c1b9d3fd9711eb9936e66d4656954cd14b0d2b23a2185c39587dad0239b4) - - node:12 (Digest: sha256:1e17e0fdecf65b7b86e50875ad5f11ae181a8d0351806babd61b332bc32a2c15) - jekyll/builder:latest (Digest: sha256:98cda359955f25f18c4bcc78536cdfd30e7ded689b1f52fcd513c75cbe4e751e) - - node:10 (Digest: sha256:f9e66964ec6e9a78693929b58b3d95aadf03cc70e47f6d276d1e0943853c2bb5) - - buildpack-deps:stretch (Digest: sha256:23c6d55a4d5ad7c9476638196920d67a97702433b5b48465496af6ab3214e7e4) - - debian:9 (Digest: sha256:c6c98a905e230d779a92e6a329ff7ecad13b8ee0d21da8b013cee0df7e91c170) - - debian:8 (Digest: sha256:38a0be899b925afb5524130771850d3d8dd00619a6b50171cab4fab7d7ae8108) - - node:10-alpine (Digest: sha256:177cdb2546eb321b7127aa1c45353c5b778959c9e30da29570ff85098786d776) - alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011) - alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35) - alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14) @@ -275,17 +280,17 @@ apt-get - Python 3.5.9 - Python 3.6.11 - Python 3.7.8 - - Python 3.8.3 + - Python 3.8.5 - PyPy: - PyPy 2.7.13 [PyPy 7.3.1 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] - PyPy 3.6.9 [PyPy 7.3.1 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] - node: - node 8.17.0 - - node 10.21.0 - - node 12.18.2 - - node 14.5.0 + - node 10.22.0 + - node 12.18.3 + - node 14.6.0 - go: - - go 1.14.4 -- AWS SAM CLI, version 0.53.0 -- Homebrew on Linux (Homebrew 2.4.5 -Homebrew/linuxbrew-core (git revision 799e0; last commit 2020-07-09)) + - go 1.14.6 +- AWS SAM CLI, version 1.0.0 +- Homebrew on Linux (Homebrew 2.4.8 +Homebrew/linuxbrew-core (git revision 01e06; last commit 2020-07-22)) From 21165eb5784546cfe909ccffe688b2f1ebb7b30a Mon Sep 17 00:00:00 2001 From: Dibir Magomedsaygitov <61747324+dibir-magomedsaygitov@users.noreply.github.com> Date: Fri, 24 Jul 2020 18:43:19 +0300 Subject: [PATCH 20/26] [Windows] Refactor virtual-env image generation provisioners (#1288) * refactor virtual-env image generation provisioners --- images/win/Windows2016-Azure.json | 6 +- images/win/Windows2019-Azure.json | 6 +- .../scripts/ImageHelpers/ImageHelpers.psm1 | 1 + .../scripts/ImageHelpers/InstallHelpers.ps1 | 92 ------------- .../ImageHelpers/VisualStudioHelpers.ps1 | 76 +++++++++++ .../{Windows2019 => }/Initialize-VM.ps1 | 17 ++- .../Install-VS2019.ps1 => Install-VS.ps1} | 23 ++-- .../Installers/Update-DockerImages.ps1 | 33 +++++ .../Installers/Windows2016/Initialize-VM.ps1 | 129 ------------------ .../Installers/Windows2016/Install-VS2017.ps1 | 44 ------ .../Windows2016/Update-DockerImages.ps1 | 24 ---- .../Windows2019/Update-DockerImages.ps1 | 24 ---- .../win/scripts/Tests/VisualStudio.Tests.ps1 | 4 +- images/win/toolsets/toolset-2016.json | 4 +- images/win/toolsets/toolset-2019.json | 4 +- 15 files changed, 149 insertions(+), 338 deletions(-) create mode 100644 images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 rename images/win/scripts/Installers/{Windows2019 => }/Initialize-VM.ps1 (95%) rename images/win/scripts/Installers/{Windows2019/Install-VS2019.ps1 => Install-VS.ps1} (72%) create mode 100644 images/win/scripts/Installers/Update-DockerImages.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 delete mode 100644 images/win/scripts/Installers/Windows2016/Update-DockerImages.ps1 delete mode 100644 images/win/scripts/Installers/Windows2019/Update-DockerImages.ps1 diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index d87970a7..f614bd0e 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -123,7 +123,7 @@ ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-PowerShellModules.ps1", - "{{ template_dir }}/scripts/Installers/Windows2016/Initialize-VM.ps1" + "{{ template_dir }}/scripts/Installers/Initialize-VM.ps1" ], "execution_policy": "unrestricted" }, @@ -183,7 +183,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Update-DockerImages.ps1" + "{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1" ] }, { @@ -196,7 +196,7 @@ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" ], "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Install-VS2017.ps1" + "{{ template_dir }}/scripts/Installers/Install-VS.ps1" ], "elevated_user": "{{user `install_user`}}", "elevated_password": "{{user `install_password`}}" diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 4c3c09e3..b7437cd7 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -123,7 +123,7 @@ ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-PowerShellModules.ps1", - "{{ template_dir }}/scripts/Installers/Windows2019/Initialize-VM.ps1" + "{{ template_dir }}/scripts/Installers/Initialize-VM.ps1" ], "execution_policy": "unrestricted" }, @@ -191,7 +191,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Update-DockerImages.ps1" + "{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1" ] }, { @@ -204,7 +204,7 @@ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" ], "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Install-VS2019.ps1" + "{{ template_dir }}/scripts/Installers/Install-VS.ps1" ], "elevated_user": "{{user `install_user`}}", "elevated_password": "{{user `install_password`}}" diff --git a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 index c8cba0a0..e150e1a1 100644 --- a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 +++ b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 @@ -5,6 +5,7 @@ param() . $PSScriptRoot\InstallHelpers.ps1 . $PSScriptRoot\ChocoHelpers.ps1 . $PSScriptRoot\TestsHelpers.ps1 +. $PSScriptRoot\VisualStudioHelpers.ps1 Export-ModuleMember -Function @( 'Test-MachinePath' diff --git a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 index c36d31c5..282c0376 100644 --- a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 +++ b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 @@ -63,68 +63,6 @@ function Install-Binary } } -Function Install-VisualStudio -{ - <# - .SYNOPSIS - A helper function to install Visual Studio. - - .DESCRIPTION - Prepare system environment, and install Visual Studio bootstrapper with selected workloads. - - .PARAMETER BootstrapperUrl - The URL from which the bootstrapper will be downloaded. Required parameter. - - .PARAMETER WorkLoads - The string that contain workloads that will be passed to the installer. - #> - - Param - ( - [Parameter(Mandatory)] - [String] $BootstrapperUrl, - [String] $WorkLoads - ) - - Write-Host "Downloading Bootstrapper ..." - $BootstrapperName = [IO.Path]::GetFileName($BootstrapperUrl) - $bootstrapperFilePath = Start-DownloadWithRetry -Url $BootstrapperUrl -Name $BootstrapperName - - try - { - Write-Host "Enable short name support on Windows needed for Xamarin Android AOT, defaults appear to have been changed in Azure VMs" - $shortNameEnableProcess = Start-Process -FilePath fsutil.exe -ArgumentList ('8dot3name', 'set', '0') -Wait -PassThru - - $shortNameEnableExitCode = $shortNameEnableProcess.ExitCode - if ($shortNameEnableExitCode -ne 0) - { - Write-Host "Enabling short name support on Windows failed. This needs to be enabled prior to VS 2017 install for Xamarin Andriod AOT to work." - exit $shortNameEnableExitCode - } - - Write-Host "Starting Install ..." - $bootstrapperArgumentList = ('/c', $bootstrapperFilePath, $WorkLoads, '--quiet', '--norestart', '--wait', '--nocache' ) - $process = Start-Process -FilePath cmd.exe -ArgumentList $bootstrapperArgumentList -Wait -PassThru - - $exitCode = $process.ExitCode - if ($exitCode -eq 0 -or $exitCode -eq 3010) - { - Write-Host "Installation successful" - return $exitCode - } - else - { - Write-Host "Non zero exit code returned by the installation process : $exitCode" - exit $exitCode - } - } - catch - { - Write-Host "Failed to install Visual Studio; $($_.Exception.Message)" - exit -1 - } -} - function Stop-SvcWithErrHandling { <# @@ -464,36 +402,6 @@ function Extract-7Zip { } } -function Get-VsCatalogJsonPath { - $instanceFolder = Get-Item "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances\*" | Select-Object -First 1 - return Join-Path $instanceFolder.FullName "catalog.json" -} - -function Get-VisualStudioPath { - Param - ( - [Parameter(Mandatory=$true)] - [string]$Version, - [Parameter(Mandatory=$true)] - [string]$Edition - ) - - return "${env:ProgramFiles(x86)}\Microsoft Visual Studio\${Version}\${Edition}" -} - -function Get-VisualStudioPackages -{ - $packagePath = "$env:ProgramData\Microsoft\VisualStudio\Packages\_Instances\*\state.packages.json" - $instanceFolders = Get-ChildItem -Path $packagePath - (Get-Content -Path $instanceFolders | ConvertFrom-Json).packages -} - -function Get-VisualStudioComponents { - $vsPackages = Get-VisualStudioPackages | Where-Object type -in 'Component', 'Workload' - $vsPackages | Sort-Object Id | Select-Object @{n = 'Package'; e = {$_.Id}} | - Where-Object { $_.Package -notmatch "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}" } -} - function Install-AndroidSDKPackages { Param ( diff --git a/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 new file mode 100644 index 00000000..5ab9ad0d --- /dev/null +++ b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 @@ -0,0 +1,76 @@ +Function Install-VisualStudio +{ + <# + .SYNOPSIS + A helper function to install Visual Studio. + + .DESCRIPTION + Prepare system environment, and install Visual Studio bootstrapper with selected workloads. + + .PARAMETER BootstrapperUrl + The URL from which the bootstrapper will be downloaded. Required parameter. + + .PARAMETER WorkLoads + The string that contain workloads that will be passed to the installer. + #> + + Param + ( + [Parameter(Mandatory)] + [String] $BootstrapperUrl, + [String] $WorkLoads + ) + + Write-Host "Downloading Bootstrapper ..." + $BootstrapperName = [IO.Path]::GetFileName($BootstrapperUrl) + $bootstrapperFilePath = Start-DownloadWithRetry -Url $BootstrapperUrl -Name $BootstrapperName + + try + { + Write-Host "Enable short name support on Windows needed for Xamarin Android AOT, defaults appear to have been changed in Azure VMs" + $shortNameEnableProcess = Start-Process -FilePath fsutil.exe -ArgumentList ('8dot3name', 'set', '0') -Wait -PassThru + + $shortNameEnableExitCode = $shortNameEnableProcess.ExitCode + if ($shortNameEnableExitCode -ne 0) + { + Write-Host "Enabling short name support on Windows failed. This needs to be enabled prior to VS 2017 install for Xamarin Andriod AOT to work." + exit $shortNameEnableExitCode + } + + Write-Host "Starting Install ..." + $bootstrapperArgumentList = ('/c', $bootstrapperFilePath, $WorkLoads, '--quiet', '--norestart', '--wait', '--nocache' ) + $process = Start-Process -FilePath cmd.exe -ArgumentList $bootstrapperArgumentList -Wait -PassThru + + $exitCode = $process.ExitCode + if ($exitCode -eq 0 -or $exitCode -eq 3010) + { + Write-Host "Installation successful" + return $exitCode + } + else + { + Write-Host "Non zero exit code returned by the installation process : $exitCode" + exit $exitCode + } + } + catch + { + Write-Host "Failed to install Visual Studio; $($_.Exception.Message)" + exit -1 + } +} + +function Get-VsCatalogJsonPath { + $instanceFolder = Get-Item "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances\*" | Select-Object -First 1 + return Join-Path $instanceFolder.FullName "catalog.json" +} + +function Get-VisualStudioPath { + return (Get-VSSetupInstance | Select-VSSetupInstance -Product *).InstallationPath +} + +function Get-VisualStudioComponents { + $vsPackages = (Get-VSSetupInstance | Select-VSSetupInstance -Product *).Packages.Id + $vsPackages | Select-Object @{n = 'Package'; e = {$_}} | + Where-Object { $_.Package -notmatch "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}" } +} diff --git a/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 b/images/win/scripts/Installers/Initialize-VM.ps1 similarity index 95% rename from images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 rename to images/win/scripts/Installers/Initialize-VM.ps1 index 37634986..27efea2b 100644 --- a/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 +++ b/images/win/scripts/Installers/Initialize-VM.ps1 @@ -30,6 +30,9 @@ function Disable-UserAccessControl { Write-Host "User Access Control (UAC) has been disabled." } +# Set TLS1.2 +[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" + Write-Host "Disable Antivirus" Set-MpPreference -DisableRealtimeMonitoring $true @@ -44,10 +47,15 @@ else { } # Install .NET Framework 3.5 (required by Chocolatey) -Install-WindowsFeature -Name NET-Framework-Features -IncludeAllSubFeature # Explicitly install all 4.7 sub features to include ASP.Net. # As of 1/16/2019, WinServer 19 lists .Net 4.7 as NET-Framework-45-Features +Install-WindowsFeature -Name NET-Framework-Features -IncludeAllSubFeature Install-WindowsFeature -Name NET-Framework-45-Features -IncludeAllSubFeature +if (Test-IsWin16) { + Install-WindowsFeature -Name BITS -IncludeAllSubFeature + Install-WindowsFeature -Name DSC-Service +} + # Install FS-iSCSITarget-Server $fsResult = Install-WindowsFeature -Name FS-iSCSITarget-Server -IncludeAllSubFeature -IncludeManagementTools if ( $fsResult.Success ) { @@ -97,7 +105,6 @@ else { } # Run the installer -[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" Invoke-Expression ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) # Turn off confirmation @@ -110,6 +117,11 @@ Remove-Item -Path $env:ChocolateyInstall\bin\cpack.exe -Force # Install webpi Choco-Install -PackageName webpicmd +if (Test-IsWin16) { + # Install vcredist140 + Choco-Install -PackageName vcredist140 +} + # Expand disk size of OS drive New-Item -Path d:\ -Name cmds.txt -ItemType File -Force Add-Content -Path d:\cmds.txt "SELECT VOLUME=C`r`nEXTEND" @@ -119,4 +131,3 @@ Write-Host $expandResult Write-Host "Disk sizes after expansion" wmic logicaldisk get size,freespace,caption - diff --git a/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 b/images/win/scripts/Installers/Install-VS.ps1 similarity index 72% rename from images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 rename to images/win/scripts/Installers/Install-VS.ps1 index 3d1cb205..ed4fca73 100644 --- a/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 +++ b/images/win/scripts/Installers/Install-VS.ps1 @@ -1,6 +1,6 @@ ################################################################################ -## File: Install-VS2019.ps1 -## Desc: Install Visual Studio 2019 +## File: Install-VS.ps1 +## Desc: Install Visual Studio ################################################################################ $ErrorActionPreference = "Stop" @@ -15,7 +15,8 @@ $workLoads = @( $workLoadsArgument = [String]::Join(" ", $workLoads) $releaseInPath = $toolset.visualStudio.edition -$bootstrapperUrl = "https://aka.ms/vs/16/release/vs_${releaseInPath}.exe" +$subVersion = $toolset.visualStudio.subversion +$bootstrapperUrl = "https://aka.ms/vs/${subVersion}/release/vs_${releaseInPath}.exe" # Install VS Install-VisualStudio -BootstrapperUrl $bootstrapperUrl -WorkLoads $workLoadsArgument @@ -31,8 +32,7 @@ if ($instanceFolders -is [array]) exit 1 } -$visualStudioVersion = $toolset.visualStudio.version -$vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $releaseInPath +$vsInstallRoot = Get-VisualStudioPath # Initialize Visual Studio Experimental Instance & "$vsInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit @@ -41,11 +41,12 @@ $vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $re $newContent = '{"Extensions":[{"Key":"1e906ff5-9da8-4091-a299-5c253c55fdc9","Value":{"ShouldAutoUpdate":false}},{"Key":"Microsoft.VisualStudio.Web.AzureFunctions","Value":{"ShouldAutoUpdate":false}}],"ShouldAutoUpdate":false,"ShouldCheckForUpdates":false}' Set-Content -Path "$vsInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent -# Install Windows 10 SDK version 10.0.14393.795 -$sdkUrl = "https://go.microsoft.com/fwlink/p/?LinkId=838916" -$sdkFileName = "sdksetup14393.exe" -$argumentList = ("/q", "/norestart", "/ceip off", "/features OptionId.WindowsSoftwareDevelopmentKit") - -Install-Binary -Url $sdkUrl -Name $sdkFileName -ArgumentList $argumentList +if (Test-IsWin19) { + # Install Windows 10 SDK version 10.0.14393.795 + $sdkUrl = "https://go.microsoft.com/fwlink/p/?LinkId=838916" + $sdkFileName = "sdksetup14393.exe" + $argumentList = ("/q", "/norestart", "/ceip off", "/features OptionId.WindowsSoftwareDevelopmentKit") + Install-Binary -Url $sdkUrl -Name $sdkFileName -ArgumentList $argumentList +} Invoke-PesterTests -TestFile "VisualStudio" \ No newline at end of file diff --git a/images/win/scripts/Installers/Update-DockerImages.ps1 b/images/win/scripts/Installers/Update-DockerImages.ps1 new file mode 100644 index 00000000..d1a689d4 --- /dev/null +++ b/images/win/scripts/Installers/Update-DockerImages.ps1 @@ -0,0 +1,33 @@ +################################################################################ +## File: Update-DockerImages.ps1 +## Desc: Pull some standard docker images. +## Must be run after docker is installed. +################################################################################ + +function DockerPull { + Param ([string]$image) + + Write-Host Installing $image ... + docker pull $image + + if (!$?) { + Write-Host "Docker pull failed with a non-zero exit code" + exit 1 + } +} + +if (Test-IsWin16) { + DockerPull mcr.microsoft.com/windows/servercore:ltsc2016 + DockerPull mcr.microsoft.com/windows/nanoserver:10.0.14393.953 + DockerPull mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 + DockerPull mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 +} + +if (Test-IsWin19) { + DockerPull mcr.microsoft.com/windows/servercore:ltsc2019 + DockerPull mcr.microsoft.com/windows/nanoserver:1809 + DockerPull mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 + DockerPull mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 +} + +DockerPull microsoft/aspnetcore-build:1.0-2.0 diff --git a/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 b/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 deleted file mode 100644 index 81b2ae1b..00000000 --- a/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 +++ /dev/null @@ -1,129 +0,0 @@ -################################################################################ -## File: Initialize-VM.ps1 -## Desc: VM initialization script, machine level configuration -################################################################################ - -function Disable-InternetExplorerESC { - $AdminKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}" - $UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}" - Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -Force - Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -Force - - $ieProcess = Get-Process -Name Explorer -ErrorAction SilentlyContinue - - if ($ieProcess){ - Stop-Process -Name Explorer -Force -ErrorAction Continue - } - - Write-Host "IE Enhanced Security Configuration (ESC) has been disabled." -} - -function Disable-InternetExplorerWelcomeScreen { - $AdminKey = "HKLM:\Software\Policies\Microsoft\Internet Explorer\Main" - New-Item -Path $AdminKey -Value 1 -Force - Set-ItemProperty -Path $AdminKey -Name "DisableFirstRunCustomize" -Value 1 -Force - Write-Host "Disabled IE Welcome screen" -} - -function Disable-UserAccessControl { - Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorAdmin" -Value 00000000 -Force - Write-Host "User Access Control (UAC) has been disabled." -} - -# Set TLS1.2 -[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" - -Write-Host "Disable Antivirus" -Set-MpPreference -DisableRealtimeMonitoring $true - -# Disable Windows Update -$AutoUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -If (Test-Path -Path $AutoUpdatePath) { - Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 1 - Write-Host "Disabled Windows Update" -} -else { - Write-Host "Windows Update key does not exist" -} - -# Install Windows .NET Features -Install-WindowsFeature -Name NET-Framework-Features -IncludeAllSubFeature -Install-WindowsFeature -Name NET-Framework-45-Features -IncludeAllSubFeature -Install-WindowsFeature -Name BITS -IncludeAllSubFeature -Install-WindowsFeature -Name DSC-Service - -# Install FS-iSCSITarget-Server -$fsResult = Install-WindowsFeature -Name FS-iSCSITarget-Server -IncludeAllSubFeature -IncludeManagementTools -if ( $fsResult.Success ) { - Write-Host "FS-iSCSITarget-Server has been successfully installed" -} else { - Write-Host "Failed to install FS-iSCSITarget-Server" - exit 1 -} - -Write-Host "Disable UAC" -Disable-UserAccessControl - -Write-Host "Disable IE Welcome Screen" -Disable-InternetExplorerWelcomeScreen - -Write-Host "Disable IE ESC" -Disable-InternetExplorerESC - -Write-Host "Setting local execution policy" -Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope MachinePolicy -ErrorAction Continue | Out-Null -Get-ExecutionPolicy -List - -Write-Host "Enable long path behavior" -# See https://docs.microsoft.com/en-us/windows/desktop/fileio/naming-a-file#maximum-path-length-limitation -Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 - -Write-Host "Install chocolatey" -$chocoExePath = 'C:\ProgramData\Chocolatey\bin' - -if ($($env:Path).ToLower().Contains($($chocoExePath).ToLower())) { - Write-Host "Chocolatey found in PATH, skipping install..." - Exit -} - -# Add to system PATH -$systemPath = [Environment]::GetEnvironmentVariable('Path', [System.EnvironmentVariableTarget]::Machine) -$systemPath += ';' + $chocoExePath -[Environment]::SetEnvironmentVariable("PATH", $systemPath, [System.EnvironmentVariableTarget]::Machine) - -# Update local process' path -$userPath = [Environment]::GetEnvironmentVariable('Path', [System.EnvironmentVariableTarget]::User) -if ($userPath) { - $env:Path = $systemPath + ";" + $userPath -} -else { - $env:Path = $systemPath -} - -# Run the installer -Invoke-Expression ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) - -# Turn off confirmation -choco feature enable -n allowGlobalConfirmation - -# https://github.com/chocolatey/choco/issues/89 -# Remove some of the command aliases, like `cpack` #89 -Remove-Item -Path $env:ChocolateyInstall\bin\cpack.exe -Force - -# Install webpi -Choco-Install -PackageName webpicmd - -# Install vcredist140 -Choco-Install -PackageName vcredist140 - -# Expand disk size of OS drive -New-Item -Path d:\ -Name cmds.txt -ItemType File -Force -Add-Content -Path d:\cmds.txt "SELECT VOLUME=C`r`nEXTEND" - -$expandResult = (diskpart /s 'd:\cmds.txt') -Write-Host $expandResult - -Write-Host "Disk sizes after expansion" -wmic logicaldisk get size,freespace,caption - - diff --git a/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 b/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 deleted file mode 100644 index e906f4ee..00000000 --- a/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################ -## File: Install-VS2017.ps1 -## Desc: Install Visual Studio 2017 -################################################################################ - -$ErrorActionPreference = "Stop" - -$toolset = Get-ToolsetContent -$requiredComponents = $toolset.visualStudio.workloads | ForEach-Object { "--add $_" } -$workLoads = @( - "--allWorkloads --includeRecommended" - $requiredComponents - "--remove Component.CPython3.x64" -) -$workLoadsArgument = [String]::Join(" ", $workLoads) - -$releaseInPath = $toolset.visualStudio.edition -$bootstrapperUrl = "https://aka.ms/vs/15/release/vs_${releaseInPath}.exe" - -# Install VS -Install-VisualStudio -BootstrapperUrl $bootstrapperUrl -WorkLoads $workLoadsArgument - -# Find the version of VS installed for this instance -# Only supports a single instance -$vsProgramData = Get-Item -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances" -$instanceFolders = Get-ChildItem -Path $vsProgramData.FullName - -if ($instanceFolders -is [array]) -{ - Write-Host "More than one instance installed" - exit 1 -} - -$visualStudioVersion = $toolset.visualStudio.version -$vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $releaseInPath - -# Initialize Visual Studio Experimental Instance for integration testing -& "$vsInstallRoot\Common7\IDE\devenv.exe" /RootSuffix Exp /ResetSettings General.vssettings /Command File.Exit | Wait-Process - -# Updating content of MachineState.json file to disable autoupdate of VSIX extensions -$newContent = '{"Extensions":[{"Key":"1e906ff5-9da8-4091-a299-5c253c55fdc9","Value":{"ShouldAutoUpdate":false}},{"Key":"Microsoft.VisualStudio.Web.AzureFunctions","Value":{"ShouldAutoUpdate":false}}],"ShouldAutoUpdate":false,"ShouldCheckForUpdates":false}' -Set-Content -Path "$vsInstallRoot\Common7\IDE\Extensions\MachineState.json" -Value $newContent - -Invoke-PesterTests -TestFile "VisualStudio" \ No newline at end of file diff --git a/images/win/scripts/Installers/Windows2016/Update-DockerImages.ps1 b/images/win/scripts/Installers/Windows2016/Update-DockerImages.ps1 deleted file mode 100644 index bd032ea3..00000000 --- a/images/win/scripts/Installers/Windows2016/Update-DockerImages.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -## File: Update-DockerImages.ps1 -## Desc: Pull some standard docker images. -## Must be run after docker is installed. -################################################################################ - -function DockerPull { - Param ([string]$image) - - Write-Host Installing $image ... - docker pull $image - - if (!$?) { - Write-Host "Docker pull failed with a non-zero exit code" - exit 1 - } -} - -DockerPull mcr.microsoft.com/windows/servercore:ltsc2016 -DockerPull mcr.microsoft.com/windows/nanoserver:10.0.14393.953 -DockerPull microsoft/aspnetcore-build:1.0-2.0 -DockerPull mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 -DockerPull mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 - diff --git a/images/win/scripts/Installers/Windows2019/Update-DockerImages.ps1 b/images/win/scripts/Installers/Windows2019/Update-DockerImages.ps1 deleted file mode 100644 index bc50a9bc..00000000 --- a/images/win/scripts/Installers/Windows2019/Update-DockerImages.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -## File: Update-DockerImages.ps1 -## Desc: Pull some standard docker images. -## Must be run after docker is installed. -################################################################################ - -function DockerPull { - Param ([string]$image) - - Write-Host Installing $image ... - docker pull $image - - if (!$?) { - Write-Host "Docker pull failed with a non-zero exit code" - exit 1 - } -} - -DockerPull mcr.microsoft.com/windows/servercore:ltsc2019 -DockerPull mcr.microsoft.com/windows/nanoserver:1809 -DockerPull microsoft/aspnetcore-build:1.0-2.0 -DockerPull mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 -DockerPull mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 - diff --git a/images/win/scripts/Tests/VisualStudio.Tests.ps1 b/images/win/scripts/Tests/VisualStudio.Tests.ps1 index 77449de8..142a9917 100644 --- a/images/win/scripts/Tests/VisualStudio.Tests.ps1 +++ b/images/win/scripts/Tests/VisualStudio.Tests.ps1 @@ -5,9 +5,7 @@ Describe "Visual Studio" { } It "Devenv.exe" { - $visualStudioEdition = Get-ToolsetContent | Select-Object -ExpandProperty visualStudio | Select-Object -ExpandProperty edition - $visualStudioVersion = Get-ToolsetContent | Select-Object -ExpandProperty visualStudio | Select-Object -ExpandProperty version - $vsInstallRoot = Get-VisualStudioPath -Version $visualStudioVersion -Edition $visualStudioEdition + $vsInstallRoot = Get-VisualStudioPath $devenvexePath = "${vsInstallRoot}\Common7\IDE\devenv.exe" $devenvexePath | Should -Exist } diff --git a/images/win/toolsets/toolset-2016.json b/images/win/toolsets/toolset-2016.json index 96f09bd1..3525f0c7 100644 --- a/images/win/toolsets/toolset-2016.json +++ b/images/win/toolsets/toolset-2016.json @@ -81,7 +81,8 @@ {"name": "Pester"}, {"name": "PowerShellGet"}, {"name": "PSWindowsUpdate"}, - {"name": "SqlServer"} + {"name": "SqlServer"}, + {"name": "VSSetup"} ], "azureModules": [ { @@ -153,6 +154,7 @@ }, "visualStudio": { "version" : "2017", + "subversion" : "15", "edition" : "Enterprise", "workloads": [ "Microsoft.Net.Component.4.6.2.SDK", diff --git a/images/win/toolsets/toolset-2019.json b/images/win/toolsets/toolset-2019.json index 0d0dfa8b..af76d777 100644 --- a/images/win/toolsets/toolset-2019.json +++ b/images/win/toolsets/toolset-2019.json @@ -90,7 +90,8 @@ {"name": "Pester"}, {"name": "PowerShellGet"}, {"name": "PSWindowsUpdate"}, - {"name": "SqlServer"} + {"name": "SqlServer"}, + {"name": "VSSetup"} ], "azureModules": [ { @@ -162,6 +163,7 @@ }, "visualStudio": { "version" : "2019", + "subversion" : "16", "edition" : "Enterprise", "workloads": [ "Component.Dotfuscator", From 0e0e62dceb520a880baee44be3e9e7412014952b Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Mon, 27 Jul 2020 11:41:47 +0300 Subject: [PATCH 21/26] Add R tools for windows (#1264) * add R for windows * fix tests * fix for tests * remove unused file * fix doc version for R Co-authored-by: Dmitry Shibanov --- images/win/Windows2016-Azure.json | 6 ++++++ images/win/Windows2019-Azure.json | 6 ++++++ images/win/scripts/Installers/Install-R.ps1 | 11 +++++++++++ .../SoftwareReport/SoftwareReport.Generator.ps1 | 1 + .../scripts/SoftwareReport/SoftwareReport.Tools.psm1 | 6 ++++++ images/win/scripts/Tests/Tools.Tests.ps1 | 6 ++++++ 6 files changed, 36 insertions(+) create mode 100644 images/win/scripts/Installers/Install-R.ps1 diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index f614bd0e..0b2bcae2 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -477,6 +477,12 @@ "{{ template_dir }}/scripts/Installers/Install-Cmake.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-R.ps1" + ] + }, { "type": "powershell", "scripts":[ diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index b7437cd7..700280b1 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -452,6 +452,12 @@ "{{ template_dir }}/scripts/Installers/Install-Cmake.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-R.ps1" + ] + }, { "type": "powershell", "scripts":[ diff --git a/images/win/scripts/Installers/Install-R.ps1 b/images/win/scripts/Installers/Install-R.ps1 new file mode 100644 index 00000000..a6f238e7 --- /dev/null +++ b/images/win/scripts/Installers/Install-R.ps1 @@ -0,0 +1,11 @@ +################################################################################ +## File: Install-R.ps1 +## Desc: Install R for Windows +################################################################################ + +Choco-Install R.Project +Choco-Install rtools + +$rscriptPath = Resolve-Path "C:\Program Files\R\*\bin\x64" +Add-MachinePathItem $rscriptPath +Invoke-PesterTests -TestFile "Tools" -TestName "R" \ No newline at end of file diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index d4657c1c..771bb3b7 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -69,6 +69,7 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-BazelVersion), (Get-BazeliskVersion), (Get-CMakeVersion), + (Get-RVersion), (Get-DockerVersion), (Get-DockerComposeVersion), (Get-GitVersion), diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 index ba1d5f9a..2dc90306 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 @@ -18,6 +18,12 @@ function Get-BazeliskVersion { return "Bazelisk $bazeliskVersion" } +function Get-RVersion { + ($(cmd /c "Rscript --version 2>&1") | Out-String) -match "R scripting front-end version (?\d+\.\d+\.\d+)" | Out-Null + $rVersion = $Matches.Version + return "R $rVersion" +} + function Get-CMakeVersion { ($(cmake -version) | Out-String) -match "cmake version (?\d+\.\d+\.\d+)" | Out-Null $cmakeVersion = $Matches.Version diff --git a/images/win/scripts/Tests/Tools.Tests.ps1 b/images/win/scripts/Tests/Tools.Tests.ps1 index 87595450..dd2be77d 100644 --- a/images/win/scripts/Tests/Tools.Tests.ps1 +++ b/images/win/scripts/Tests/Tools.Tests.ps1 @@ -73,6 +73,12 @@ Describe "CMake" { } } +Describe "R" { + It "Rscript" { + "Rscript --version" | Should -ReturnZeroExitCode + } +} + Describe "DACFx" { It "DACFx" { (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*).DisplayName -Contains "Microsoft SQL Server Data-Tier Application Framework (x64)" | Should -BeTrue From 5accac96c1dc1afa17f7637e1bcf71043384fbba Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Mon, 27 Jul 2020 16:30:51 +0300 Subject: [PATCH 22/26] Update Windows contribution guide (#1295) * Update CONTRIBUTING.md * resolve Ale's comments --- CONTRIBUTING.md | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e5c12e25..af608840 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,22 +14,44 @@ Please note that this project is released with a [Contributor Code of Conduct][c 1. [Fork][fork] and clone the repository 1. Create a new branch: `git checkout -b my-branch-name` -1. Make your changes, ensure that they include steps to install and validate post-install (e.g. [kind.sh](images/linux/scripts/installers/kind.sh)). - - Adding tool for Windows images: - - add tool installation script `Install-ToolName.ps1` (`/images/win/scripts/Installers`) - - add tool validation script `Validate-ToolName.ps1` (the same directory) - - add changes to document tool name and version to the software report generator: `images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1` that is used to generate software README file, e.g. [Windows2019-Readme.md](images/win/Windows2019-Readme.md) - +1. Make your changes, ensure that they include steps to install, validate post-install and update software report (please see [How to add new tool](CONTRIBUTING.md#how-to-add-new-tool) for details). 1. Test your changes by [creating VHD and deploying a VM](help/CreateImageAndAzureResources.md). 1. Push to your fork and [submit a pull request][pr] Here are a few things you can do that will increase the likelihood of your pull request being accepted: - Follow the style guide for [Powershell](https://github.com/PoshCode/PowerShellPracticeAndStyle) when writing Windows scripts. There is currently no set style for the Shell scripts that run Linux installs :soon:. -- Include complete details of why this is needed in the PR description. If it's a new piece tool being installed, consider cross-platform. If the tool is available in other platforms (MacOS, Windows, Linux), make sure you include it in as many as possible. +- Include complete details of why this is needed in the PR description. - Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests. - Write [good commit messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). +- For new tools: + - Make sure that the tool satisfies [Software Guidelines](README.md#software-guidelines). + - Create an issue and get an approval from us to add this tool to the image before creating the pull request. + +## How to add new tool +### General rules +- For every new tool add validation scripts and update software report script to make sure that it is included to documentation +- If the tool is available in other platforms (MacOS, Windows, Linux), make sure you include it in as many as possible. +- If installing a few versions of the tool, consider putting the list of versions in the corresponding `toolset.json` file. It will help other customers to configure their builds flexibly. See [toolset-windows-2016.json](images/win/toolsets/toolset-2019.json) as example. +- Use consistent naming across all files +- Validation scripts should be simple and shouldn't change image content + +### Windows +- Add a script that will install the tool and put the script in the `scripts/Installers` folder. +There are a bunch of helper functions that could simplify your code: `Choco-Install`, `Install-Binary`, `Install-VsixExtension`, ` Start-DownloadWithRetry`, `Test-IsWin16`, ` Test-IsWin19` (find the full list of helpers in [ImageHelpers.psm1](images/win/scripts/ImageHelpers/ImageHelpers.psm1)). +- Add a script that will validate the tool installation and put the script in the `scripts/Tests` folder. +We use [Pester v5](https://github.com/pester/pester) for validation scripts. If the tests for the tool are complex enough, create a separate `*.Tests.ps1`. Otherwise, use `Tools.Tests.ps1` for simple tests. +Add `Invoke-PesterTests -TestFile [-TestName ]` at the end of the installation script to make sure that your tests will be run. +- Add changes to the software report generator `images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1`. The software report generator is used to generate an image's README file, e.g. [Windows2019-Readme.md](images/win/Windows2019-Readme.md) and uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS). + +### Ubuntu +- Add a single script that will install, validate, and document the tool and put the script in the `script/Installers` folder. Use existing scripts such as [github-cli.sh](images/linux/scripts/installers/github-cli.sh) as a starting point. + - Use [helpers](images/linux/scripts/helpers/install.sh) to simplify installation process. + - Validation part should `exit 1` if any issue with installation. + - Use `DocumentInstalledItem ""` helper for building documentation. + +### macOS +We are in the process of preparing our macOS source to live in this repo so we can take contributions from the community. Until then, we appreciate your patience and ask you continue to make tool requests by filing issues. ## Resources From 97e4ea8356c3470319eedd442645607ddce6a985 Mon Sep 17 00:00:00 2001 From: Dibir Magomedsaygitov <61747324+dibir-magomedsaygitov@users.noreply.github.com> Date: Mon, 27 Jul 2020 18:28:18 +0300 Subject: [PATCH 23/26] fix wix toolset version numbers (#1302) --- .../scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 index b8fb43c6..43f81801 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 @@ -35,8 +35,8 @@ function Get-WDKVersion { function Get-VisualStudioExtensions { # Wix $vs = (Get-VisualStudioVersion).Name.Split()[-1] - $wixPackageVersion = (Get-VisualStudioPackages | Where-Object {$_.id -match 'WixToolset.VisualStudioExtension.Dev' -and $_.type -eq 'vsix'}).Version - $wixExtensionVersion = Get-WixVersion + $wixPackageVersion = Get-WixVersion + $wixExtensionVersion = (Get-VisualStudioPackages | Where-Object {$_.id -match 'WixToolset.VisualStudioExtension.Dev' -and $_.type -eq 'vsix'}).Version # WDK $wdkPackageVersion = Get-VSExtensionVersion -packageName 'Microsoft.Windows.DriverKit' From b7c69ef560089ddee2c51edf001df115c5eaec4c Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Tue, 28 Jul 2020 10:18:33 +0000 Subject: [PATCH 24/26] Add announcements to software documentation (#1285) * Add Windows announcements * Minor fix * Add Ubuntu announcements * Minor fix * Add announcements to win16 template * Cleanup announcement files * Rename announcements files --- images/linux/announcements.md | 0 images/linux/scripts/installers/preparemetadata.sh | 4 ++++ images/linux/ubuntu1604.json | 5 +++++ images/linux/ubuntu1804.json | 5 +++++ images/linux/ubuntu2004.json | 5 +++++ images/win/Windows2016-Azure.json | 5 +++++ images/win/Windows2019-Azure.json | 5 +++++ images/win/announcements.md | 0 .../win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 | 4 ++++ 9 files changed, 33 insertions(+) create mode 100644 images/linux/announcements.md create mode 100644 images/win/announcements.md diff --git a/images/linux/announcements.md b/images/linux/announcements.md new file mode 100644 index 00000000..e69de29b diff --git a/images/linux/scripts/installers/preparemetadata.sh b/images/linux/scripts/installers/preparemetadata.sh index a26e1096..3feee857 100644 --- a/images/linux/scripts/installers/preparemetadata.sh +++ b/images/linux/scripts/installers/preparemetadata.sh @@ -8,6 +8,10 @@ source $HELPER_SCRIPTS/document.sh WriteItem "" + +Announcements=$(cat $HELPER_SCRIPTS/announcements.md) +WriteItem $Announcements + AddTitle "$(lsb_release -ds)" WriteItem "The following software is installed on machines with the $IMAGE_VERSION update." WriteItem "***" diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index ae036bdf..c1bc2660 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -86,6 +86,11 @@ "source": "{{template_dir}}/scripts/helpers", "destination": "{{user `helper_script_folder`}}" }, + { + "type": "file", + "source": "{{template_dir}}/announcements.md", + "destination": "{{user `helper_script_folder`}}/announcements.md" + }, { "type": "file", "source": "{{template_dir}}/scripts/installers", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 9302e5cb..7b743516 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -89,6 +89,11 @@ "source": "{{template_dir}}/scripts/helpers", "destination": "{{user `helper_script_folder`}}" }, + { + "type": "file", + "source": "{{template_dir}}/announcements.md", + "destination": "{{user `helper_script_folder`}}/announcements.md" + }, { "type": "file", "source": "{{template_dir}}/scripts/installers", diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index 73ef44df..b83236a1 100644 --- a/images/linux/ubuntu2004.json +++ b/images/linux/ubuntu2004.json @@ -91,6 +91,11 @@ "source": "{{template_dir}}/scripts/helpers", "destination": "{{user `helper_script_folder`}}" }, + { + "type": "file", + "source": "{{template_dir}}/announcements.md", + "destination": "{{user `helper_script_folder`}}/announcements.md" + }, { "type": "file", "source": "{{template_dir}}/scripts/installers", diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 0b2bcae2..922e1204 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -84,6 +84,11 @@ "source": "{{ template_dir }}/scripts/SoftwareReport", "destination": "{{user `image_folder`}}" }, + { + "type": "file", + "source": "{{ template_dir }}/announcements.md", + "destination": "{{user `image_folder`}}/SoftwareReport/announcements.md" + }, { "type": "file", "source": "{{ template_dir }}/scripts/Tests", diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 700280b1..431d1af2 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -84,6 +84,11 @@ "source": "{{ template_dir }}/scripts/SoftwareReport", "destination": "{{user `image_folder`}}" }, + { + "type": "file", + "source": "{{ template_dir }}/announcements.md", + "destination": "{{user `image_folder`}}/SoftwareReport/announcements.md" + }, { "type": "file", "source": "{{ template_dir }}/scripts/Tests", diff --git a/images/win/announcements.md b/images/win/announcements.md new file mode 100644 index 00000000..e69de29b diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index 771bb3b7..49f15be6 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -10,6 +10,10 @@ Import-Module (Join-Path $PSScriptRoot "SoftwareReport.VisualStudio.psm1") -Disa $markdown = "" +$Announcements = Get-Content -Path $(Join-Path $PSScriptRoot "announcements.md") -Raw +$markdown += $Announcements +$markdown += New-MDNewLine + $OSName = Get-OSName $markdown += New-MDHeader "$OSName" -Level 1 From b0a922fa52fa084dc6407c6304363cf292b92ada Mon Sep 17 00:00:00 2001 From: Dibir Magomedsaygitov <61747324+dibir-magomedsaygitov@users.noreply.github.com> Date: Tue, 28 Jul 2020 18:07:31 +0300 Subject: [PATCH 25/26] [Windows] Add back to documentation versions of Visual Studio Components (#1304) * fix software report for visual studio extensions * resolve conflicts * fix issue with vs components * refactor code * add fliter to components extracting --- .../scripts/ImageHelpers/VisualStudioHelpers.ps1 | 12 ++++++++---- .../SoftwareReport.VisualStudio.psm1 | 15 +-------------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 index 5ab9ad0d..0fd6bc8b 100644 --- a/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 +++ b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 @@ -69,8 +69,12 @@ function Get-VisualStudioPath { return (Get-VSSetupInstance | Select-VSSetupInstance -Product *).InstallationPath } -function Get-VisualStudioComponents { - $vsPackages = (Get-VSSetupInstance | Select-VSSetupInstance -Product *).Packages.Id - $vsPackages | Select-Object @{n = 'Package'; e = {$_}} | - Where-Object { $_.Package -notmatch "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}" } +function Get-VisualStudioPackages { + return (Get-VSSetupInstance | Select-VSSetupInstance -Product *).Packages } + +function Get-VisualStudioComponents { + Get-VisualStudioPackages | Where-Object type -in 'Component', 'Workload' | + Sort-Object Id, Version | Select-Object @{n = 'Package'; e = {$_.Id}}, Version | + Where-Object { $_.Package -notmatch "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}" } +} \ No newline at end of file diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 index 43f81801..0004c168 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 @@ -1,10 +1,3 @@ -function Get-VisualStudioPackages -{ - $packagePath = "$env:ProgramData\Microsoft\VisualStudio\Packages\_Instances\*\state.packages.json" - $instanceFolders = Get-ChildItem -Path $packagePath - (Get-Content -Path $instanceFolders | ConvertFrom-Json).packages -} - function Get-VisualStudioVersion { $vsVersion = vswhere -format json | ConvertFrom-Json [PSCustomObject]@{ @@ -14,12 +7,6 @@ function Get-VisualStudioVersion { } } -function Get-VisualStudioComponents { - $vsPackages = Get-VisualStudioPackages | Where-Object type -in 'Component', 'Workload' - $vsPackages | Sort-Object Id, Version | Select-Object @{n = 'Package'; e = {$_.Id}}, Version | - Where-Object { $_.Package -notmatch "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}" } -} - function Get-WixVersion { $regKey = "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" $installedApplications = Get-ItemProperty -Path $regKey @@ -36,7 +23,7 @@ function Get-VisualStudioExtensions { # Wix $vs = (Get-VisualStudioVersion).Name.Split()[-1] $wixPackageVersion = Get-WixVersion - $wixExtensionVersion = (Get-VisualStudioPackages | Where-Object {$_.id -match 'WixToolset.VisualStudioExtension.Dev' -and $_.type -eq 'vsix'}).Version + $wixExtensionVersion = (Get-VisualStudioPackages | Where-Object {$_.Id -match 'WixToolset.VisualStudioExtension.Dev' -and $_.type -eq 'vsix'}).Version # WDK $wdkPackageVersion = Get-VSExtensionVersion -packageName 'Microsoft.Windows.DriverKit' From e767ccdc35ed40e2c919a8af80dd3ace22ba5d3f Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov <47745270+al-cheb@users.noreply.github.com> Date: Wed, 29 Jul 2020 09:26:24 +0300 Subject: [PATCH 26/26] openssl and libssl-dev doc version (#1312) --- images/linux/scripts/installers/php.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/images/linux/scripts/installers/php.sh b/images/linux/scripts/installers/php.sh index 3725f6ac..72ec1d4d 100644 --- a/images/linux/scripts/installers/php.sh +++ b/images/linux/scripts/installers/php.sh @@ -148,3 +148,5 @@ fi DocumentInstalledItem "Composer ($(composer --version))" DocumentInstalledItem "PHPUnit ($(phpunit --version))" +DocumentInstalledItem "$(openssl version)" +DocumentInstalledItem "Libssl $(dpkg -l libssl-dev | grep '^ii' | awk '{print $3}')" \ No newline at end of file