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 8a9649079..09d6aa356 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 09d6aa356..7bd0b5db3 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 5d6dd6360..81eaaada9 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 4c82ae09f..404df7fd9 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 dba6ab86d..59a8dc64e 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 55e1e86b8..27272672d 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 e3b33e064..2ccf3ac0d 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 0040049ea..edd54ff12 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 f4804307c..31a30cdc1 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 496fe3c2f..eaa2131e8 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 53e06aca6..fc42df2ab 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 43469901a..000000000 --- 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 59feea232..d15d90d53 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 b46eb8a60..37650046c 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 035edee25..7e2e5c141 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 790fc6a51..ea823a1dc 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 b16149328..52c99f267 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 5054e9a5d..d9757ecc4 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 fa33710fa..8d3a4fe56 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 fabbecd01..7d5479fdf 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 7a470cbf5..92db0e4ef 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 35e988ada..00e665172 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 394a73412..7a4207e5b 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 ac18ab5d9..000000000 --- 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 cb3cad4d5..000000000 --- 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 dd090297a..000000000 --- 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 b2d8d4a34..000000000 --- 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 17a934919..000000000 --- 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 39f1a2ea4..000000000 --- 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 20d3d7685..000000000 --- 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 3dd18a1cf..000000000 --- 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 e2b7571fa..000000000 --- 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 6d7c104aa..000000000 --- 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 000000000..1598b337c --- /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 000000000..bd1113301 --- /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 fda74d4bb..87595450d 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 000000000..c4e89e90c --- /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 23a4bf886..500a6be71 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 cad08ebb1..5367e2a0f 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 95f0a4810..5c1c1a3c1 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 7bd0b5db3..4166cf5ed 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 81eaaada9..a3be73f53 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 000000000..2d9164741 --- /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 500a6be71..2475f03d7 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 5367e2a0f..7314664dd 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 5c1c1a3c1..1ec55d1ef 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 004a7f3a7..a8512e61a 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 2475f03d7..ae036bdf3 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 7314664dd..9302e5cbe 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 1ec55d1ef..73ef44df4 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 8e1560eef..2ca0b8e01 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 f922dcc4d..b0de49a54 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 eaa2131e8..a75a946d3 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 fc42df2ab..38639f01a 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 72431f35f..c8cba0a0d 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 ab8f2cfc7..c36d31c50 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 0f0a8b625..e906f4eea 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 11da0bae3..3d1cb205e 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 000000000..77449de8f --- /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 a5d6e7a50..41d519b50 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 06b235266..73bc2f1de 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 f56e910f7..06e0bd255 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 a75a946d3..d87970a7f 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 38639f01a..4c3c09e32 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 8d3a4fe56..d03100bd3 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 00e665172..433d76da4 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 000000000..f6cb22d03 --- /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 8369a9944..7c0a3cfd1 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 a57594d9d..eb19a3ea0 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 5afc6e61f..81b2ae1b6 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 e57ccb981..376349866 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 2ca0b8e01..965b5fb93 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 b0de49a54..d4657c1c4 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 bd1113301..c4a9be861 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 41d519b50..96f09bd11 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 73bc2f1de..0d0dfa8b8 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 676de7b54..81e863406 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 dba6ab86d..220fab7cd 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 d87970a7f..f614bd0e3 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 4c3c09e32..b7437cd74 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 c8cba0a0d..e150e1a12 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 c36d31c50..282c03762 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 000000000..5ab9ad0d9 --- /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 376349866..27efea2b5 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 3d1cb205e..ed4fca73f 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 000000000..d1a689d45 --- /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 81b2ae1b6..000000000 --- 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 e906f4eea..000000000 --- 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 bd032ea30..000000000 --- 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 bc50a9bc5..000000000 --- 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 77449de8f..142a9917e 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 96f09bd11..3525f0c78 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 0d0dfa8b8..af76d7773 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 f614bd0e3..0b2bcae28 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 b7437cd74..700280b17 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 000000000..a6f238e7f --- /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 d4657c1c4..771bb3b7a 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 ba1d5f9a4..2dc90306c 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 87595450d..dd2be77de 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 e5c12e259..af608840b 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 b8fb43c69..43f81801c 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 000000000..e69de29bb diff --git a/images/linux/scripts/installers/preparemetadata.sh b/images/linux/scripts/installers/preparemetadata.sh index a26e10968..3feee8571 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 ae036bdf3..c1bc26603 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 9302e5cbe..7b7435162 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 73ef44df4..b83236a14 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 0b2bcae28..922e12040 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 700280b17..431d1af29 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 000000000..e69de29bb diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index 771bb3b7a..49f15be6f 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 5ab9ad0d9..0fd6bc8b6 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 43f81801c..0004c168b 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 3725f6ac5..72ec1d4d5 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