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 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)) 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)) 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/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" 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/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 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/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/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 23a4bf886..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", @@ -184,6 +189,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", @@ -196,7 +202,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`}}", @@ -257,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", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index cad08ebb1..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", @@ -188,6 +193,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", @@ -200,7 +206,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`}}", @@ -261,7 +268,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 95f0a4810..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", @@ -190,6 +195,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", @@ -201,7 +207,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`}}", @@ -262,7 +269,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/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 | diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 496fe3c2f..922e12040 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -84,11 +84,26 @@ "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", "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": [ @@ -107,10 +122,13 @@ { "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/Windows2016/Initialize-VM.ps1" + "{{ template_dir }}/scripts/Installers/Install-PowerShellModules.ps1", + "{{ template_dir }}/scripts/Installers/Initialize-VM.ps1" ], "execution_policy": "unrestricted" }, @@ -170,13 +188,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Docker.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2016/Update-DockerImages.ps1" + "{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1" ] }, { @@ -185,8 +197,11 @@ 0, 3010 ], + "environment_vars":[ + "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`}}" @@ -323,16 +338,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":[ @@ -480,13 +485,13 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-AWS.ps1" + "{{ template_dir }}/scripts/Installers/Install-R.ps1" ] }, { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1" + "{{ template_dir }}/scripts/Installers/Install-AWS.ps1" ] }, { @@ -656,70 +661,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 +685,6 @@ "{{ template_dir }}/scripts/Installers/Validate-Stack.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureCosmosDbEmulator.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -781,6 +722,7 @@ ], "environment_vars":[ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", + "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}", "ROOT_FOLDER={{user `root_folder`}}" ] }, @@ -788,6 +730,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/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index 8a9649079..4166cf5ed 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -1,33 +1,33 @@ # Microsoft Windows Server 2016 Datacenter -- OS Version: 10.0.14393 Build 3750 -- Image Version: 20200706.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 - 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) - 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 @@ -37,26 +37,27 @@ - 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 +- 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.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 @@ -67,27 +68,34 @@ - 7zip 19.00 ### CLI Tools -- Azure CLI 2.8.0 -- azcopy 10.4.3 +- Azure CLI 2.9.1 +- azcopy 10.5.0 - Azure DevOps CLI extension 0.18.0 -- AWS CLI 2.0.28 +- AWS CLI 2.0.31 - 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 301.0.0 + +### Rust packages: +- bindgen 0.54.1 +- cbindgen 0.14.3 +- cargo-audit 0.12.0 +- 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.58 -- Microsoft Edge Driver 83.0.478.58 -- Mozilla Firefox 78.0.1 +- 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 @@ -130,8 +138,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 @@ -141,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 @@ -178,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: @@ -253,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 | @@ -428,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` @@ -479,7 +487,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` diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 53e06aca6..431d1af29 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -84,11 +84,26 @@ "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", "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": [ @@ -107,10 +122,13 @@ { "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/Windows2019/Initialize-VM.ps1" + "{{ template_dir }}/scripts/Installers/Install-PowerShellModules.ps1", + "{{ template_dir }}/scripts/Installers/Initialize-VM.ps1" ], "execution_policy": "unrestricted" }, @@ -178,13 +196,7 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Docker.ps1" - ] - }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Windows2019/Update-DockerImages.ps1" + "{{ template_dir }}/scripts/Installers/Update-DockerImages.ps1" ] }, { @@ -193,8 +205,11 @@ 0, 3010 ], + "environment_vars":[ + "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`}}" @@ -298,16 +313,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":[ @@ -455,13 +460,13 @@ { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-AWS.ps1" + "{{ template_dir }}/scripts/Installers/Install-R.ps1" ] }, { "type": "powershell", "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1" + "{{ template_dir }}/scripts/Installers/Install-AWS.ps1" ] }, { @@ -655,58 +660,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 +684,6 @@ "{{ template_dir }}/scripts/Installers/Validate-Stack.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AzureCosmosDbEmulator.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -749,18 +702,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 +721,7 @@ ], "environment_vars":[ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", + "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}", "ROOT_FOLDER={{user `root_folder`}}" ] }, @@ -787,6 +729,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-Readme.md b/images/win/Windows2019-Readme.md index 5d6dd6360..a3be73f53 100644 --- a/images/win/Windows2019-Readme.md +++ b/images/win/Windows2019-Readme.md @@ -1,33 +1,36 @@ # Microsoft Windows Server 2019 Datacenter -- OS Version: 10.0.17763 Build 1282 -- Image Version: 20200706.1 +- OS Version: 10.0.17763 Build 1339 +- Image Version: 20200720.1 + +## Enabled windows optional features +- Windows Subsystem for Linux ## 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 - 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) - 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 @@ -37,26 +40,27 @@ - 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 +- 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.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 @@ -67,27 +71,34 @@ - 7zip 19.00 ### CLI Tools -- Azure CLI 2.8.0 -- azcopy 10.4.3 +- Azure CLI 2.9.1 +- azcopy 10.5.0 - Azure DevOps CLI extension 0.18.0 -- AWS CLI 2.0.28 +- AWS CLI 2.0.31 - 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 301.0.0 + +### Rust packages: +- bindgen 0.54.1 +- cbindgen 0.14.3 +- cargo-audit 0.12.0 +- 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.58 -- Microsoft Edge Driver 83.0.478.58 -- Mozilla Firefox 78.0.1 +- 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 @@ -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 @@ -141,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 @@ -178,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 | @@ -234,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 | @@ -405,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` @@ -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` 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/ImageHelpers/ImageHelpers.psm1 b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 index 72431f35f..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' @@ -33,5 +34,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..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 { <# diff --git a/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 new file mode 100644 index 000000000..0fd6bc8b6 --- /dev/null +++ b/images/win/scripts/ImageHelpers/VisualStudioHelpers.ps1 @@ -0,0 +1,80 @@ +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-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/Installers/Windows2019/Initialize-VM.ps1 b/images/win/scripts/Installers/Initialize-VM.ps1 similarity index 91% rename from images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 rename to images/win/scripts/Installers/Initialize-VM.ps1 index e57ccb981..27efea2b5 100644 --- a/images/win/scripts/Installers/Windows2019/Initialize-VM.ps1 +++ b/images/win/scripts/Installers/Initialize-VM.ps1 @@ -30,16 +30,8 @@ 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 +# Set TLS1.2 +[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" Write-Host "Disable Antivirus" Set-MpPreference -DisableRealtimeMonitoring $true @@ -55,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 ) { @@ -108,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 @@ -121,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" @@ -130,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/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..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)) @@ -52,4 +50,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..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 @@ -17,4 +13,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/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-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/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-VS.ps1 b/images/win/scripts/Installers/Install-VS.ps1 new file mode 100644 index 000000000..ed4fca73f --- /dev/null +++ b/images/win/scripts/Installers/Install-VS.ps1 @@ -0,0 +1,52 @@ +################################################################################ +## File: Install-VS.ps1 +## Desc: Install Visual Studio +################################################################################ + +$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 +$subVersion = $toolset.visualStudio.subversion +$bootstrapperUrl = "https://aka.ms/vs/${subVersion}/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 +} + +$vsInstallRoot = Get-VisualStudioPath + +# Initialize Visual Studio Experimental Instance +& "$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 + +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/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/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/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/Installers/Windows2016/Initialize-VM.ps1 b/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 deleted file mode 100644 index 5afc6e61f..000000000 --- a/images/win/scripts/Installers/Windows2016/Initialize-VM.ps1 +++ /dev/null @@ -1,140 +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" - -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 - -# 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 0f0a8b625..000000000 --- a/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 +++ /dev/null @@ -1,111 +0,0 @@ -################################################################################ -## File: Install-VS2017.ps1 -## Desc: Install Visual Studio 2017 -################################################################################ - -$ErrorActionPreference = "Stop" - -Import-Module -Name ImageHelpers -Force - -$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" - -# Install VS -Install-VisualStudio -BootstrapperUrl $BootstrapperUrl -WorkLoads $WorkLoads - -# 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 -} - -$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" - -# 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 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/Install-VS2019.ps1 b/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 deleted file mode 100644 index 11da0bae3..000000000 --- a/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 +++ /dev/null @@ -1,143 +0,0 @@ -################################################################################ -## File: Install-VS2019.ps1 -## Desc: Install Visual Studio 2019 -################################################################################ -$ErrorActionPreference = "Stop" - -Import-Module -Name ImageHelpers -Force - -$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" - -# Install VS -Install-VisualStudio -BootstrapperUrl $BootstrapperUrl -WorkLoads $WorkLoads - -# 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 -} - -$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" - -# Initialize Visual Studio Experimental Instance -& "$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 - -# 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 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/SoftwareReport/SoftwareReport.Common.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 index 8e1560eef..965b5fb93 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 { @@ -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 f922dcc4d..49f15be6f 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 @@ -13,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 @@ -35,14 +36,12 @@ $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), (Get-PHPVersion), (Get-JuliaVersion), (Get-PerlVersion), - (Get-PowershellCoreVersion), (Get-NodeVersion) ) @@ -74,6 +73,7 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-BazelVersion), (Get-BazeliskVersion), (Get-CMakeVersion), + (Get-RVersion), (Get-DockerVersion), (Get-DockerComposeVersion), (Get-GitVersion), @@ -115,7 +115,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), @@ -187,7 +191,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 += @' ``` @@ -198,6 +206,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/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/SoftwareReport/SoftwareReport.VisualStudio.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 index b8fb43c69..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 @@ -35,8 +22,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' 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..c4a9be861 --- /dev/null +++ b/images/win/scripts/Tests/PowerShellModules.Tests.ps1 @@ -0,0 +1,68 @@ +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 + + 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..dd2be77de 100644 --- a/images/win/scripts/Tests/Tools.Tests.ps1 +++ b/images/win/scripts/Tests/Tools.Tests.ps1 @@ -6,12 +6,102 @@ 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 "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 + $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 diff --git a/images/win/scripts/Tests/VisualStudio.Tests.ps1 b/images/win/scripts/Tests/VisualStudio.Tests.ps1 new file mode 100644 index 000000000..142a9917e --- /dev/null +++ b/images/win/scripts/Tests/VisualStudio.Tests.ps1 @@ -0,0 +1,25 @@ +Describe "Visual Studio" { + Context "Basic" { + It "Catalog.json" { + Get-VsCatalogJsonPath | Should -Exist + } + + It "Devenv.exe" { + $vsInstallRoot = Get-VisualStudioPath + $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..3525f0c78 100644 --- a/images/win/toolsets/toolset-2016.json +++ b/images/win/toolsets/toolset-2016.json @@ -1,146 +1,230 @@ -{ - "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" + ] + } + ], + "powershellModules": [ + {"name": "DockerMsftProvider"}, + {"name": "MarkdownPS"}, + {"name": "Pester"}, + {"name": "PowerShellGet"}, + {"name": "PSWindowsUpdate"}, + {"name": "SqlServer"}, + {"name": "VSSetup"} + ], + "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", + "subversion" : "15", + "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..af76d7773 100644 --- a/images/win/toolsets/toolset-2019.json +++ b/images/win/toolsets/toolset-2019.json @@ -1,155 +1,261 @@ -{ - "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" + ] + } + ], + "powershellModules": [ + {"name": "DockerMsftProvider"}, + {"name": "MarkdownPS"}, + {"name": "Pester"}, + {"name": "PowerShellGet"}, + {"name": "PSWindowsUpdate"}, + {"name": "SqlServer"}, + {"name": "VSSetup"} + ], + "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", + "subversion" : "16", + "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 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']