diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index e645485e..ec053a45 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -20,6 +20,7 @@ A clear and concise description of what the bug is, and why you consider it to b - [ ] macOS 10.15 - [ ] Ubuntu 16.04 LTS - [ ] Ubuntu 18.04 LTS +- [ ] Ubuntu 20.04 LTS - [ ] Windows Server 2016 R2 - [ ] Windows Server 2019 diff --git a/.github/ISSUE_TEMPLATE/tool-request.md b/.github/ISSUE_TEMPLATE/tool-request.md index 5cb1a740..6391c980 100644 --- a/.github/ISSUE_TEMPLATE/tool-request.md +++ b/.github/ISSUE_TEMPLATE/tool-request.md @@ -27,6 +27,7 @@ assignees: '' - [ ] macOS 10.15 - [ ] Ubuntu 16.04 LTS - [ ] Ubuntu 18.04 LTS +- [ ] Ubuntu 20.04 LTS - [ ] Windows Server 2016 R2 - [ ] Windows Server 2019 diff --git a/.github/workflows/create_github_release.yml b/.github/workflows/create_github_release.yml new file mode 100644 index 00000000..95e73815 --- /dev/null +++ b/.github/workflows/create_github_release.yml @@ -0,0 +1,24 @@ +name: Create GitHub release + +on: + repository_dispatch: + types: [create-github-release] + + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Create release for ${{ github.event.client_payload.ReleaseBranchName }} + uses: actions/create-release@v1.1.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.event.client_payload.ReleaseBranchName }} + release_name: ${{ github.event.client_payload.ReleaseTitle }} + body: ${{ github.event.client_payload.ReleaseBody }} + prerelease: ${{ github.event.client_payload.Prerelease }} + commitish: ${{ github.event.client_payload.Commitish }} \ No newline at end of file diff --git a/.github/workflows/create_pull_request.yml b/.github/workflows/create_pull_request.yml new file mode 100644 index 00000000..36b2508c --- /dev/null +++ b/.github/workflows/create_pull_request.yml @@ -0,0 +1,27 @@ +name: Create Pull Request + +on: + repository_dispatch: + types: [create-pr] + + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Create pull request for ${{ github.event.client_payload.ReleaseBranchName }} + uses: actions/github-script@v2 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + github.pulls.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: "${{ github.event.client_payload.PullRequestTitle }}", + head: "${{ github.event.client_payload.ReleaseBranchName }}", + base: "${{ github.event.client_payload.PullRequestBase }}", + body: `${{ github.event.client_payload.PullRequestBody }}` + }); \ No newline at end of file diff --git a/.github/workflows/merge_pull_request.yml b/.github/workflows/merge_pull_request.yml new file mode 100644 index 00000000..dd6f3fc6 --- /dev/null +++ b/.github/workflows/merge_pull_request.yml @@ -0,0 +1,24 @@ +name: Merge pull request + +on: + repository_dispatch: + types: [merge-pr] + + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Merge pull request for ${{ github.event.client_payload.ReleaseBranchName }} + uses: actions/github-script@v2 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + github.pulls.merge({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: ${{ github.event.client_payload.PullRequestNumber }} + }) \ No newline at end of file diff --git a/.github/workflows/update_github_release.yml b/.github/workflows/update_github_release.yml new file mode 100644 index 00000000..e6593ae9 --- /dev/null +++ b/.github/workflows/update_github_release.yml @@ -0,0 +1,30 @@ +name: Update release + +on: + repository_dispatch: + types: [update-github-release] + + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Update release for ${{ github.event.client_payload.ReleaseBranchName }} + uses: actions/github-script@v2 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const response = await github.repos.getReleaseByTag({ + owner: context.repo.owner, + repo: context.repo.repo, + tag: "${{ github.event.client_payload.ReleaseBranchName }}" + }); + github.repos.updateRelease({ + owner: context.repo.owner, + repo: context.repo.repo, + release_id: response.data.id, + prerelease: ${{ github.event.client_payload.Prerelease }} + }); diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2e287d1b..e5c12e25 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,6 +15,12 @@ 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. Test your changes by [creating VHD and deploying a VM](help/CreateImageAndAzureResources.md). 1. Push to your fork and [submit a pull request][pr] diff --git a/README.md b/README.md index b3cb7d45..ba03f9f2 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,21 @@ # GitHub Actions Virtual Environments This repository contains the source used to create the [virtual environments](https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners) for GitHub Actions hosted runners, as well as the VM images of [Microsoft-hosted agents](https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#use-a-microsoft-hosted-agent) used for Azure Pipelines. To file bug reports, or request that tools be added/updated, please [open an issue using the appropriate template](https://github.com/actions/virtual-environments/issues/new/choose). To build a VM machine from this repo's source, see the [instructions](./help/CreateImageAndAzureResources.md). -For general questions about using the virtual environments or writing your Actions workflow, please open requests in the [GitHub Actions Community Forum](https://github.community/t5/GitHub-Actions/bd-p/actions). +For general questions about using the virtual environments or writing your Actions workflow, please open requests in the [GitHub Actions Community Forum](https://github.community/c/github-actions/41). ## Available Environments | Environment | YAML Label | Included Software | Latest Release & Rollout Progress | | --------------------|---------------------|--------------------|---------------------| +| Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu20&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu20&redirect=1) | Ubuntu 18.04 | `ubuntu-latest` or `ubuntu-18.04` | [ubuntu-18.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&redirect=1) | Ubuntu 16.04 | `ubuntu-16.04` | [ubuntu-16.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&redirect=1) | -| macOS 10.15 | `macos-latest` or `macos-10.15` | [macOS-10.15] | *Coming soon* | +| macOS 10.15 | `macos-latest` or `macos-10.15` | [macOS-10.15] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=MacOS&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=MacOS&redirect=1) | Windows Server 2019 | `windows-latest` or `windows-2019` | [windows-2019] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&redirect=1) | Windows Server 2016 | `windows-2016` | [windows-2016] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&redirect=1) +``` +The Ubuntu 20.04 virtual environment is currently provided as a preview only. +The "ubuntu-latest" YAML workflow label still uses the Ubuntu 18.04 virtual environment. +``` ***Looking for other Linux distributions?*** We do not plan to offer other Linux distributions. We recommend using Docker if you'd like to build using other distributions with the hosted virtual environments. Alternatively, you can leverage [self-hosted runners] and fully customize your environment to your needs. @@ -44,6 +49,7 @@ we pin the tool to specific version(s). Low Impact changes will be pinned in this repository and marked with the [Announcement](https://github.com/actions/virtual-environments/labels/Announcement) label. * **Regular Weekly Rhythm** can be followed by watching [Releases](https://github.com/actions/virtual-environments/releases) to see when we generate candidate environments or deploy new ones. You can also track upcoming changes using the [awaiting-deployment](https://github.com/actions/virtual-environments/labels/awaiting-deployment) label. +[ubuntu-20.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu2004-README.md [ubuntu-18.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md [ubuntu-16.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1604-README.md [Windows-2019]: https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md diff --git a/images/linux/Ubuntu1604-README.md b/images/linux/Ubuntu1604-README.md index bf0f828b..90bb3dd9 100644 --- a/images/linux/Ubuntu1604-README.md +++ b/images/linux/Ubuntu1604-README.md @@ -1,92 +1,96 @@ # Ubuntu 16.04.6 LTS -The following software is installed on machines with the 20200517.1 update. +The following software is installed on machines with the 20200625.0 update. *** -- Homebrew on Linux (Homebrew 2.2.16 -Homebrew/linuxbrew-core (git revision a74a6a; last commit 2020-05-16)) +- Homebrew on Linux (Homebrew 2.4.2 +Homebrew/linuxbrew-core (git revision 58dca; last commit 2020-06-24)) - 7-Zip 9.20 -- Ansible (ansible 2.9.9) +- Ansible (ansible 2.9.10) - AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy10 (available by azcopy10 alias) 10.4.3 -- Azure CLI (azure-cli 2.5.1) +- Azure CLI (azure-cli 2.8.0) - Azure CLI (azure-devops 0.18.0) -- Basic CLI: - - curl +- Basic packages: - dnsutils - - file - - ftp - iproute2 - iputils-ping - - jq - libc++-dev - libc++abi-dev - libcurl3 - - libgbm-dev - libicu55 - libunwind8 - locales - - netcat - openssh-client + - tzdata + - zstd + - lib32z1 + - libxkbfile-dev + - pkg-config + - libsecret-1-dev + - libxss1 + - libgconf-2-4 + - dbus + - xvfb + - libgbm-dev + - libgtk-3-0 + - tk + - fakeroot + - dpkg + - rpm + - xz-utils + - xorriso + - zsync + - gnupg2 + - texinfo + - curl + - file + - ftp + - jq + - netcat + - ssh - parallel - rsync - shellcheck - sudo - telnet - time - - tzdata - unzip - - upx - - wget - zip - - zstd - - gnupg2 - - lib32z1 -- Alibaba Cloud CLI (3.0.43) -- AWS CLI (aws-cli/1.18.61 Python/2.7.12 Linux/4.15.0-1082-azure botocore/1.16.11) + - wget + - upx + - m4 + - bison + - flex +- Alibaba Cloud CLI (3.0.48) +- AWS CLI (aws-cli/1.18.87 Python/2.7.12 Linux/4.15.0-1089-azure botocore/1.17.10) - build-essential - nvm (0.35.3) - Clang 6.0 (6.0.0) - Clang 8 (8.0.0) - Clang 9 (9.0.1) -- Swift version 5.2.3 (swift-5.2.3-RELEASE) +- Swift version 5.2.4 (swift-5.2.4-RELEASE) Target: x86_64-unknown-linux-gnu - CMake (cmake version 3.17.0) -- Docker Compose (docker-compose version 1.25.4, build 8d51620a) -- Docker-Moby (Docker version 3.0.11+azure, build eb310fca49568dccd87c6136f774ef6fff2a1b51) -- Docker-Buildx (0.3.1+azure) +- Docker Compose (docker-compose version 1.26.0, build d4451659) +- Docker-Moby (Docker version 3.0.13+azure, build dd360c7c0de8d9132a3965db6a59d3ae74f43ba7) +- Docker-Buildx (0.4.1+azure) - .NET Core SDK: + - 3.1.301 + - 3.1.300 - 3.1.202 - 3.1.201 - 3.1.200 + - 3.1.105 - 3.1.104 - 3.1.103 + - 3.1.102 - 3.1.101 - 3.1.100 - 3.0.103 - 3.0.102 - 3.0.101 - 3.0.100 - - 2.2.402 - - 2.2.401 - - 2.2.301 - - 2.2.300 - - 2.2.207 - - 2.2.206 - - 2.2.205 - - 2.2.204 - - 2.2.203 - - 2.2.202 - - 2.2.110 - - 2.2.109 - - 2.2.108 - - 2.2.107 - - 2.2.106 - - 2.2.105 - - 2.2.104 - - 2.2.103 - - 2.2.102 - - 2.2.101 - - 2.2.100 + - 2.1.807 - 2.1.806 - 2.1.805 - 2.1.804 @@ -95,6 +99,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.801 - 2.1.701 - 2.1.700 + - 2.1.612 - 2.1.611 - 2.1.610 - 2.1.609 @@ -105,6 +110,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.604 - 2.1.603 - 2.1.602 + - 2.1.515 - 2.1.514 - 2.1.513 - 2.1.512 @@ -125,112 +131,100 @@ Target: x86_64-unknown-linux-gnu - 2.1.302 - 2.1.301 - 2.1.300 -- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0) -- Firefox (Mozilla Firefox 76.0.1) +- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2) +- Firefox (Mozilla Firefox 77.0.1) - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.5.0 - GNU C++ 8.4.0 - GNU C++ 9.3.0 - GNU Fortran 8.4.0 - GNU Fortran 9.3.0 -- Git (2.26.2) +- Git (2.27.0) - Git Large File Storage (LFS) (2.11.0) +- Git-ftp (1.0.2) - Hub CLI (2.14.2) -- Google Chrome (Google Chrome 81.0.4044.138 ) -- ChromeDriver 81.0.4044.138 (8c6c7ba89cc9453625af54f11fd83179e23450fa-refs/branch-heads/4044@{#999}); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (292.0.0) -- Haskell Cabal (cabal-install version 2.0.0.1 -compiled using version 2.0.1.1 of the Cabal library ) -- Haskell Cabal (cabal-install version 2.2.0.0 -compiled using version 2.2.0.1 of the Cabal library ) -- Haskell Cabal (cabal-install version 2.4.1.0 -compiled using version 2.4.1.0 of the Cabal library ) -- Haskell Cabal (cabal-install version 3.0.1.0 -compiled using version 3.0.2.0 of the Cabal library ) +- 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 (298.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.0.2) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.2) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.3) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.4) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.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.41.1 linux-x64 node-v12.16.2) +- Heroku (heroku/7.42.1 linux-x64 node-v12.16.2) - HHVM (HipHop VM 4.56.0 (rel)) - ImageMagick - Azul Zulu OpenJDK: - 7 (openjdk version "1.7.0_262") +- Adopt OpenJDK: - 8 (openjdk version "1.8.0_252") (default) - - 11 (openjdk version "11.0.7" 2020-04-14 LTS) + - 11 (openjdk version "11.0.7" 2020-04-14) - 12 (openjdk version "12.0.2" 2019-07-16) - Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018) -- Gradle 6.4.1 +- Gradle 6.5 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) -- Kind (kind v0.7.0 go1.13.6 linux/amd64) -- kubectl (Client Version: v1.18.2) -- helm (v3.2.1+gfe51cd1) +- Kind (kind v0.8.1 go1.14.2 linux/amd64) +- kubectl (Client Version: v1.18.4) +- helm (v3.2.4+g0ad800e) +- minikube version: v1.11.0 - Leiningen (Leiningen 2.9.3 on Java 1.8.0_252 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 4.4.1)) -- Miniconda (conda 4.8.2) +- Miniconda (conda 4.8.3) - Mono (Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:13:37 UTC 2020)) - MySQL (mysql Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using EditLine wrapper) - MySQL Server (user:root password:root) - 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' -- Node.js (v12.16.3) +- Node.js (v12.18.1) - Grunt (grunt-cli v1.2.0) -- Gulp (CLI version: 2.2.0 +- Gulp (CLI version: 2.3.0 Local version: Unknown) - n (6.5.1) - Parcel (1.12.4) -- TypeScript (Version 3.9.2) +- TypeScript (Version 3.9.5) - Webpack (4.43.0) -- Webpack CLI (3.3.11) +- Webpack CLI (3.3.12) - Yarn (1.22.4) -- Bazel (bazel 3.1.0) -- Bazelisk (1.4.0) +- Bazel (bazel 3.3.0) +- Bazelisk (1.5.0) - PhantomJS (2.1.1) - PHP 5.6 (PHP 5.6.40-29+ubuntu16.04.1+deb.sury.org+1 (cli) ) - PHP 7.0 (PHP 7.0.33-29+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 09:08:44) ( NTS )) - PHP 7.1 (PHP 7.1.33-16+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:26:44) ( NTS )) - PHP 7.2 (PHP 7.2.31-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:14) ( NTS )) -- PHP 7.3 (PHP 7.3.18-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 10:34:21) ( NTS )) -- PHP 7.4 (PHP 7.4.6 (cli) (built: May 14 2020 10:02:18) ( NTS )) -- Composer (Composer version 1.10.6 2020-05-06 10:28:10) +- PHP 7.3 (PHP 7.3.19-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jun 12 2020 07:48:10) ( NTS )) +- PHP 7.4 (PHP 7.4.7 (cli) (built: Jun 12 2020 07:43:48) ( NTS )) +- Composer (Composer version 1.10.8 2020-06-24 21:23:30) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate -- psql (PostgreSQL) 9.5.21 -- Powershell (PowerShell 7.0.1) +- psql (PostgreSQL) 12.3 +- Powershell (PowerShell 7.0.2) - ruby (2.3.1p112) -- gem (3.1.3) +- gem (3.1.4) - rustup (1.21.1) -- rust (1.43.1) -- cargo (1.43.0) -- rustfmt (1.4.12-stable) +- rust (1.44.1) +- cargo (1.44.1) +- rustfmt (1.4.16-stable) - clippy (0.0.212) -- rustdoc (1.43.1) -- bindgen (0.53.2) -- cbindgen (0.14.2) -- Julia (julia version 1.4.1) -- sbt (1.3.10) +- rustdoc (1.44.1) +- bindgen (0.54.0) +- cbindgen (0.14.3) +- Julia (julia version 1.4.2) +- sbt (1.3.12) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Sphinx Open Source Search Server - Subversion (svn, version 1.9.3 (r1718519)) -- Terraform (Terraform v0.12.25) -- Packer (1.5.6) +- Terraform (Terraform v0.12.28) +- Packer (1.6.0) - Vcpkg 2020.02.04-unknownhash -- Zeit Now CLI (19.0.1) -- MongoDB on Linux (2020-05-17T09:41:36.640+0000 I CONTROL [initandlisten] db version v4.2.6 -2020-05-17T09:41:36.640+0000 I CONTROL [initandlisten] git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8 -2020-05-17T09:41:36.640+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016) +- Vercel CLI (19.1.1) +- MongoDB on Linux (2020-06-25T20:59:19.024+0000 I CONTROL [initandlisten] db version v4.2.8 +2020-06-25T20:59:19.024+0000 I CONTROL [initandlisten] git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f +2020-06-25T20:59:19.024+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016) - Haveged 1.9.1-3 -- AWS SAM CLI, version 0.49.0 +- AWS SAM CLI, version 0.53.0 - Google Repository 58 - Google Play services 49 - Google APIs 24 @@ -242,7 +236,8 @@ Local version: Unknown) - Android Support Repository 47.0.0 - Android Solver for ConstraintLayout 1.0.2 - Android Solver for ConstraintLayout 1.0.1 -- Android SDK Platform-Tools 30.0.1 +- Android SDK Platform-Tools 30.0.3 +- Android SDK Platform 30 - Android SDK Platform 29 - Android SDK Platform 28 - Android SDK Platform 27 @@ -257,6 +252,7 @@ Local version: Unknown) - Android SDK Platform 15 - Android SDK Platform 10 - Android SDK Patch Applier v4 +- Android SDK Build-Tools 30.0.0 - Android SDK Build-Tools 29.0.3 - Android SDK Build-Tools 29.0.2 - Android SDK Build-Tools 29.0.0 @@ -288,7 +284,7 @@ Local version: Unknown) - Android SDK Build-Tools 20.0.0 - Android SDK Build-Tools 19.1.0 - Android SDK Build-Tools 17.0.0 -- Android NDK 21.1.6352462 +- Android NDK 21.3.6528147 - Android ConstraintLayout 1.0.2 - Android ConstraintLayout 1.0.1 - Az Module (1.0.0) @@ -298,15 +294,16 @@ Local version: Unknown) - Az Module (2.8.0) - Az Module (3.1.0) - Az Module (3.5.0) +- Az Module (3.8.0) - Cached container images - - node:10 (Digest: sha256:ce98742448dff008ff29b81816c148599e41e9cc580d17412ce7fb555bf57c6a) - - node:12 (Digest: sha256:880673b2184fec70c7cf342452ce4cfac6c378cfa79d4529f49887bc55eb9f41) - - jekyll/builder:latest (Digest: sha256:15d3241ba69bbc0bc62e40c30ec11d9dc4211fde0365a378bf1b9ec8c18eb57e) - - buildpack-deps:stretch (Digest: sha256:dee4275fc056551e1f83c5a3ea024510ca63f03ceedd9a1c29cbab70644b046b) - - debian:9 (Digest: sha256:d4de82f467cf1c7e022e95a1cb074b7d4d38f8ab2c20deeafd884c6a4531d94d) - - debian:8 (Digest: sha256:be49b17833279f2177dbaeef87226528af8a652595afc11dd85c8cd8ad7fcd26) - - node:12-alpine (Digest: sha256:84f5c9090cc741421b2376b2393e7d5fa2f89d36167c12eb57aef16dd64ecf6c) - - node:10-alpine (Digest: sha256:b2db1b026f1b01a6a91f39d8204b89c5c13d2b40a017dd4d9253ab066c9cf2cb) + - node:12-alpine (Digest: sha256:45694caf08b27f851b10f2ce30e986249d3b06590fefb7d327ba9a4fbd371d2b) + - node:12 (Digest: sha256:2b85f4981f92ee034b51a3c8bb22dbb451d650d5c12b6439a169f8adc750e4b6) + - 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) @@ -318,27 +315,29 @@ Local version: Unknown) - Ruby 2.5.8 - Ruby 2.6.6 - Ruby 2.7.1 -- PyPy: - - PyPy 2.7.17 - - PyPy 3.6.9 - Python (Python 2.7.12) - pip (pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)) - Python3 (Python 3.5.2) - pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)) -- Go 1.11.13 (go version go1.11.13 linux/amd64) -- Go 1.12.17 (go version go1.12.17 linux/amd64) -- Go 1.13.11 (go version go1.13.11 linux/amd64) -- Go 1.14.3 (go version go1.14.3 linux/amd64) - Python: - Python 2.7.18 - Python 3.5.9 - Python 3.6.10 - Python 3.7.7 - Python 3.8.3 +- 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.20.1 - - node 12.16.3 - - node 14.2.0 -- Boost C++ Libraries 1.69.0 -- Boost C++ Libraries 1.72.0 + - node 10.21.0 + - node 12.18.1 + - node 14.4.0 +- go: + - go 1.11.13 + - go 1.12.17 + - go 1.13.12 + - go 1.14.4 +- boost: + - boost 1.69.0 + - boost 1.72.0 diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md index e135ef32..26c1ba55 100644 --- a/images/linux/Ubuntu1804-README.md +++ b/images/linux/Ubuntu1804-README.md @@ -1,92 +1,95 @@ # Ubuntu 18.04.4 LTS -The following software is installed on machines with the 20200518.1 update. +The following software is installed on machines with the 20200625.0 update. *** -- Homebrew on Linux (Homebrew 2.2.16 -Homebrew/linuxbrew-core (git revision 60cbe0; last commit 2020-05-17)) +- Homebrew on Linux (Homebrew 2.4.2 +Homebrew/linuxbrew-core (git revision 58dca; last commit 2020-06-24)) - 7-Zip 16.02 -- Ansible (ansible 2.9.9) +- Ansible (ansible 2.9.10) - AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy10 (available by azcopy10 alias) 10.4.3 -- Azure CLI (azure-cli 2.5.1) +- Azure CLI (azure-cli 2.8.0) - Azure CLI (azure-devops 0.18.0) -- Basic CLI: - - curl +- Basic packages: - dnsutils - - file - - ftp - iproute2 - iputils-ping - - jq - - libcurl3 - - libgbm-dev - - libicu55 - libunwind8 - locales - - netcat - openssh-client + - tzdata + - upx + - zstd + - libxkbfile-dev + - pkg-config + - libsecret-1-dev + - libxss1 + - libgconf-2-4 + - dbus + - xvfb + - libgbm-dev + - libgtk-3-0 + - tk + - fakeroot + - dpkg + - rpm + - xz-utils + - xorriso + - zsync + - gnupg2 + - lib32z1 + - texinfo + - curl + - file + - ftp + - jq + - netcat + - ssh - parallel - rsync - shellcheck - sudo - telnet - time - - tzdata - unzip - - upx - - wget - zip - - zstd - - gnupg2 - - lib32z1 -- Alibaba Cloud CLI (3.0.43) -- AWS CLI (aws-cli/1.18.61 Python/2.7.17 Linux/5.3.0-1020-azure botocore/1.16.11) + - wget + - m4 + - bison + - flex + - libcurl3 +- Alibaba Cloud CLI (3.0.48) +- AWS CLI (aws-cli/1.18.87 Python/2.7.17 Linux/5.3.0-1031-azure botocore/1.17.10) - build-essential - Clang 6.0 (6.0.0) - Clang 8 (8.0.0) - Clang 9 (9.0.0) -- Swift version 5.2.3 (swift-5.2.3-RELEASE) +- Swift version 5.2.4 (swift-5.2.4-RELEASE) Target: x86_64-unknown-linux-gnu - CMake (cmake version 3.17.0) -- Podman (1.9.1) +- Podman (1.9.3) - Buildah (1.14.9) -- Skopeo (0.2.0) -- Docker Compose (docker-compose version 1.25.4, build 8d51620a) -- Docker-Moby (Docker version 3.0.11+azure, build eb310fca49568dccd87c6136f774ef6fff2a1b51) -- Docker-Buildx (0.3.1+azure) +- Skopeo (1.0.0) +- Docker Compose (docker-compose version 1.26.0, build d4451659) +- Docker-Moby (Docker version 3.0.13+azure, build dd360c7c0de8d9132a3965db6a59d3ae74f43ba7) +- Docker-Buildx (0.4.1+azure) - .NET Core SDK: + - 3.1.301 + - 3.1.300 - 3.1.202 - 3.1.201 - 3.1.200 + - 3.1.105 - 3.1.104 - 3.1.103 + - 3.1.102 - 3.1.101 - 3.1.100 - 3.0.103 - 3.0.102 - 3.0.101 - 3.0.100 - - 2.2.402 - - 2.2.401 - - 2.2.301 - - 2.2.300 - - 2.2.207 - - 2.2.206 - - 2.2.205 - - 2.2.204 - - 2.2.203 - - 2.2.202 - - 2.2.110 - - 2.2.109 - - 2.2.108 - - 2.2.107 - - 2.2.106 - - 2.2.105 - - 2.2.104 - - 2.2.103 - - 2.2.102 - - 2.2.101 - - 2.2.100 + - 2.1.807 - 2.1.806 - 2.1.805 - 2.1.804 @@ -95,6 +98,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.801 - 2.1.701 - 2.1.700 + - 2.1.612 - 2.1.611 - 2.1.610 - 2.1.609 @@ -105,6 +109,7 @@ Target: x86_64-unknown-linux-gnu - 2.1.604 - 2.1.603 - 2.1.602 + - 2.1.515 - 2.1.514 - 2.1.513 - 2.1.512 @@ -125,111 +130,99 @@ Target: x86_64-unknown-linux-gnu - 2.1.302 - 2.1.301 - 2.1.300 -- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0) -- Firefox (Mozilla Firefox 76.0.1) +- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2) +- Firefox (Mozilla Firefox 77.0.1) - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.5.0 - GNU C++ 8.4.0 - GNU C++ 9.3.0 - GNU Fortran 8.4.0 - GNU Fortran 9.3.0 -- Git (2.26.2) +- Git (2.27.0) - Git Large File Storage (LFS) (2.11.0) +- Git-ftp (1.3.1) - Hub CLI (2.14.2) -- Google Chrome (Google Chrome 81.0.4044.138 ) -- ChromeDriver 81.0.4044.138 (8c6c7ba89cc9453625af54f11fd83179e23450fa-refs/branch-heads/4044@{#999}); Chrome Driver is available via CHROMEWEBDRIVER environment variable -- Google Cloud SDK (292.0.0) -- Haskell Cabal (cabal-install version 2.0.0.1 -compiled using version 2.0.1.1 of the Cabal library ) -- Haskell Cabal (cabal-install version 2.2.0.0 -compiled using version 2.2.0.1 of the Cabal library ) -- Haskell Cabal (cabal-install version 2.4.1.0 -compiled using version 2.4.1.0 of the Cabal library ) -- Haskell Cabal (cabal-install version 3.0.1.0 -compiled using version 3.0.2.0 of the Cabal library ) +- 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 (298.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.0.2) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.2) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.3) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.4) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) -- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.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.41.1 linux-x64 node-v12.16.2) -- HHVM (HipHop VM 4.57.0 (rel)) +- Heroku (heroku/7.42.1 linux-x64 node-v12.16.2) +- HHVM (HipHop VM 4.62.0 (rel)) - ImageMagick - Azul Zulu OpenJDK: - 7 (openjdk version "1.7.0_262") +- Adopt OpenJDK: - 8 (openjdk version "1.8.0_252") (default) - - 11 (openjdk version "11.0.7" 2020-04-14 LTS) + - 11 (openjdk version "11.0.7" 2020-04-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.4.1 +- Gradle 6.5 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) -- Kind (kind v0.7.0 go1.13.6 linux/amd64) -- kubectl (Client Version: v1.18.2) -- helm (v3.2.1+gfe51cd1) +- Kind (kind v0.8.1 go1.14.2 linux/amd64) +- kubectl (Client Version: v1.18.4) +- helm (v3.2.4+g0ad800e) +- minikube version: v1.11.0 - Leiningen (Leiningen 2.9.3 on Java 1.8.0_252 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 4.5.3)) -- Miniconda (conda 4.8.2) +- Miniconda (conda 4.8.3) - Mono (Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:11:57 UTC 2020)) - MySQL (mysql Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using EditLine wrapper) - MySQL Server (user:root password:root) - 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.16.3) +- Node.js (v12.18.1) - Grunt (grunt-cli v1.2.0) -- Gulp (CLI version: 2.2.0 +- Gulp (CLI version: 2.3.0 Local version: Unknown) - n (6.5.1) - Parcel (1.12.4) -- TypeScript (Version 3.9.2) +- TypeScript (Version 3.9.5) - Webpack (4.43.0) -- Webpack CLI (3.3.11) +- Webpack CLI (3.3.12) - Yarn (1.22.4) -- Bazel (bazel 3.1.0) -- Bazelisk (1.4.0) +- Bazel (bazel 3.3.0) +- Bazelisk (1.5.0) - 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.31-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:35) ( NTS )) -- PHP 7.3 (PHP 7.3.18-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 10:34:44) ( NTS )) -- PHP 7.4 (PHP 7.4.6 (cli) (built: May 14 2020 10:02:44) ( NTS )) -- Composer (Composer version 1.10.6 2020-05-06 10:28:10) +- PHP 7.3 (PHP 7.3.19-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jun 12 2020 07:48:30) ( 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) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate -- psql (PostgreSQL) 10.12 -- Powershell (PowerShell 7.0.1) +- psql (PostgreSQL) 12.3 +- Powershell (PowerShell 7.0.2) - ruby (2.5.1p57) -- gem (3.1.3) +- gem (3.1.4) - rustup (1.21.1) -- rust (1.43.1) -- cargo (1.43.0) -- rustfmt (1.4.12-stable) +- rust (1.44.1) +- cargo (1.44.1) +- rustfmt (1.4.16-stable) - clippy (0.0.212) -- rustdoc (1.43.1) -- bindgen (0.53.2) -- cbindgen (0.14.2) -- Julia (julia version 1.4.1) -- sbt (1.3.10) +- rustdoc (1.44.1) +- bindgen (0.54.0) +- cbindgen (0.14.3) +- Julia (julia version 1.4.2) +- sbt (1.3.12) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Sphinx Open Source Search Server - Subversion (svn, version 1.9.7 (r1800392)) -- Terraform (Terraform v0.12.25) -- Packer (1.5.6) +- Terraform (Terraform v0.12.28) +- Packer (1.6.0) - Vcpkg 2020.02.04-unknownhash -- Zeit Now CLI (19.0.1) -- MongoDB on Linux (2020-05-18T09:20:20.102+0000 I CONTROL [initandlisten] db version v4.2.6 -2020-05-18T09:20:20.102+0000 I CONTROL [initandlisten] git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8 -2020-05-18T09:20:20.102+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020) +- Vercel CLI (19.1.1) +- MongoDB on Linux (2020-06-25T20:52:33.253+0000 I CONTROL [initandlisten] db version v4.2.8 +2020-06-25T20:52:33.253+0000 I CONTROL [initandlisten] git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f +2020-06-25T20:52:33.253+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020) - Haveged 1.9.1-6 -- AWS SAM CLI, version 0.49.0 +- AWS SAM CLI, version 0.53.0 - Google Repository 58 - Google Play services 49 - Google APIs 24 @@ -239,7 +232,8 @@ Local version: Unknown) - CMake 3.10.2.4988404 3.6.4111459 - Android Support Repository 47.0.0 -- Android SDK Platform-Tools 30.0.1 +- Android SDK Platform-Tools 30.0.3 +- Android SDK Platform 30 - Android SDK Platform 29 - Android SDK Platform 28 - Android SDK Platform 27 @@ -252,6 +246,7 @@ Local version: Unknown) - Android SDK Platform 19 - Android SDK Platform 17 - Android SDK Patch Applier v4 +- Android SDK Build-Tools 30.0.0 - Android SDK Build-Tools 29.0.3 - Android SDK Build-Tools 29.0.2 - Android SDK Build-Tools 29.0.0 @@ -283,7 +278,7 @@ Local version: Unknown) - Android SDK Build-Tools 20.0.0 - Android SDK Build-Tools 19.1.0 - Android SDK Build-Tools 17.0.0 -- Android NDK 21.1.6352462 +- Android NDK 21.3.6528147 - Az Module (1.0.0) - Az Module (1.6.0) - Az Module (2.3.2) @@ -291,15 +286,16 @@ Local version: Unknown) - Az Module (2.8.0) - Az Module (3.1.0) - Az Module (3.5.0) +- Az Module (3.8.0) - Cached container images - - node:10 (Digest: sha256:ce98742448dff008ff29b81816c148599e41e9cc580d17412ce7fb555bf57c6a) - - node:12 (Digest: sha256:880673b2184fec70c7cf342452ce4cfac6c378cfa79d4529f49887bc55eb9f41) - - jekyll/builder:latest (Digest: sha256:15d3241ba69bbc0bc62e40c30ec11d9dc4211fde0365a378bf1b9ec8c18eb57e) - - buildpack-deps:stretch (Digest: sha256:dee4275fc056551e1f83c5a3ea024510ca63f03ceedd9a1c29cbab70644b046b) - - debian:9 (Digest: sha256:d4de82f467cf1c7e022e95a1cb074b7d4d38f8ab2c20deeafd884c6a4531d94d) - - debian:8 (Digest: sha256:be49b17833279f2177dbaeef87226528af8a652595afc11dd85c8cd8ad7fcd26) - - node:12-alpine (Digest: sha256:84f5c9090cc741421b2376b2393e7d5fa2f89d36167c12eb57aef16dd64ecf6c) - - node:10-alpine (Digest: sha256:b2db1b026f1b01a6a91f39d8204b89c5c13d2b40a017dd4d9253ab066c9cf2cb) + - node:12-alpine (Digest: sha256:45694caf08b27f851b10f2ce30e986249d3b06590fefb7d327ba9a4fbd371d2b) + - node:12 (Digest: sha256:2b85f4981f92ee034b51a3c8bb22dbb451d650d5c12b6439a169f8adc750e4b6) + - 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) @@ -311,27 +307,29 @@ Local version: Unknown) - Ruby 2.5.8 - Ruby 2.6.6 - Ruby 2.7.1 -- PyPy: - - PyPy 2.7.17 - - PyPy 3.6.9 - Python (Python 2.7.17) - pip (pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)) - Python3 (Python 3.6.9) - pip3 (pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)) -- Go 1.11.13 (go version go1.11.13 linux/amd64) -- Go 1.12.17 (go version go1.12.17 linux/amd64) -- Go 1.13.11 (go version go1.13.11 linux/amd64) -- Go 1.14.3 (go version go1.14.3 linux/amd64) - Python: - Python 2.7.18 - Python 3.5.9 - Python 3.6.10 - Python 3.7.7 - Python 3.8.3 +- 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.20.1 - - node 12.16.3 - - node 14.2.0 -- Boost C++ Libraries 1.69.0 -- Boost C++ Libraries 1.72.0 + - node 10.21.0 + - node 12.18.1 + - node 14.4.0 +- go: + - go 1.11.13 + - go 1.12.17 + - go 1.13.12 + - go 1.14.4 +- boost: + - boost 1.69.0 + - boost 1.72.0 diff --git a/images/linux/Ubuntu2004-README.md b/images/linux/Ubuntu2004-README.md index 9c3d1255..56fa7992 100644 --- a/images/linux/Ubuntu2004-README.md +++ b/images/linux/Ubuntu2004-README.md @@ -1,46 +1,65 @@ # Ubuntu 20.04 LTS -The following software is installed on machines with the 20200531.1 update. +The following software is installed on machines with the 20200625.0 update. *** -- Homebrew on Linux (Homebrew 2.3.0 -Homebrew/linuxbrew-core (git revision 3d1df; last commit 2020-05-30)) +- Homebrew on Linux (Homebrew 2.4.2 +Homebrew/linuxbrew-core (git revision 58dca; last commit 2020-06-24)) - 7-Zip 16.02 - Ansible (ansible 2.9.6) - AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy10 (available by azcopy10 alias) 10.4.3 -- Azure CLI (azure-cli 2.6.0) +- Azure CLI (azure-cli 2.8.0) - Azure CLI (azure-devops 0.18.0) -- Basic CLI: - - curl +- Basic packages: - dnsutils - - file - - ftp - iproute2 - iputils-ping - - jq - - libcurl4 - - libgbm-dev - - libicu55 - libunwind8 - locales - - netcat - openssh-client + - tzdata + - upx + - zstd + - libxkbfile-dev + - pkg-config + - libsecret-1-dev + - libxss1 + - libgconf-2-4 + - dbus + - xvfb + - libgbm-dev + - libgtk-3-0 + - tk + - fakeroot + - dpkg + - rpm + - xz-utils + - xorriso + - zsync + - gnupg2 + - lib32z1 + - texinfo + - curl + - file + - ftp + - jq + - netcat + - ssh - parallel - rsync - shellcheck - sudo - telnet - time - - tzdata - unzip - - upx - - wget - zip - - zstd - - gnupg2 - - lib32z1 -- Alibaba Cloud CLI (3.0.45) -- AWS CLI (aws-cli/1.18.69 Python/2.7.18rc1 Linux/5.4.0-1012-azure botocore/1.16.19) + - wget + - m4 + - bison + - flex + - libcurl4 +- Alibaba Cloud CLI (3.0.48) +- AWS CLI (aws-cli/1.18.87 Python/2.7.18rc1 Linux/5.4.0-1019-azure botocore/1.17.10) - build-essential - Clang 6.0 (6.0.1) - Clang 8 (8.0.1) @@ -51,16 +70,22 @@ Target: x86_64-unknown-linux-gnu - Podman (podman --version) Buildah (buildah --version) Skopeo (skopeo --version) -- Docker Compose (docker-compose version 1.25.4, build 8d51620a) +- Docker Compose (docker-compose version 1.26.0, build d4451659) +- Docker-Moby (Docker version 19.03.11+azure, build dd360c7c0de8d9132a3965db6a59d3ae74f43ba7) +- Docker-Buildx (0.4.1+azure) - .NET Core SDK: + - 3.1.301 - 3.1.300 - 3.1.202 - 3.1.201 - 3.1.200 + - 3.1.105 - 3.1.104 - 3.1.103 + - 3.1.102 - 3.1.101 - 3.1.100 + - 2.1.807 - 2.1.806 - 2.1.805 - 2.1.804 @@ -69,6 +94,7 @@ Skopeo (skopeo --version) - 2.1.801 - 2.1.701 - 2.1.700 + - 2.1.612 - 2.1.611 - 2.1.610 - 2.1.609 @@ -79,6 +105,7 @@ Skopeo (skopeo --version) - 2.1.604 - 2.1.603 - 2.1.602 + - 2.1.515 - 2.1.514 - 2.1.513 - 2.1.512 @@ -100,97 +127,101 @@ Skopeo (skopeo --version) - 2.1.301 - 2.1.300 - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2) -- Firefox (Mozilla Firefox 76.0.1) +- Firefox (Mozilla Firefox 77.0.1) - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - GNU C++ 7.5.0 - GNU C++ 8.4.0 - GNU C++ 9.3.0 - GNU Fortran 8.4.0 - GNU Fortran 9.3.0 -- Git (2.26.2) +- Git (2.27.0) - Git Large File Storage (LFS) (2.11.0) - Git-ftp (1.6.0) - Hub CLI (2.14.2) -- Google Chrome (Google Chrome 83.0.4103.61 ) +- 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 (294.0.0) +- Google Cloud SDK (298.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.41.1 linux-x64 node-v12.16.2) -- HHVM (HipHop VM 4.59.0 (rel)) +- Heroku (heroku/7.42.1 linux-x64 node-v12.16.2) +- HHVM (HipHop VM 4.62.0 (rel)) - ImageMagick -- Azul Zulu OpenJDK: +- Adopt OpenJDK: - 8 (openjdk version "1.8.0_252") - - 11 (openjdk version "11.0.7" 2020-04-14 LTS) (default) - - 12 (openjdk version "12.0.2" 2019-07-16) + - 11 (openjdk version "11.0.7" 2020-04-14) (default) - Ant (Apache Ant(TM) version 1.10.7 compiled on October 24 2019) -- Gradle 6.4.1 +- Gradle 6.5 - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Kind (kind v0.8.1 go1.14.2 linux/amd64) -- kubectl (Client Version: v1.18.3) -- helm (v3.2.1+gfe51cd1) +- kubectl (Client Version: v1.18.4) +- helm (v3.2.4+g0ad800e) - minikube version: v1.11.0 -- Leiningen (Leiningen 2.9.3 on Java 1.8.0_252 OpenJDK 64-Bit Server VM) +- Leiningen (Leiningen 2.9.3 on Java 11.0.7 OpenJDK 64-Bit Server VM) - Mercurial (Mercurial Distributed SCM (version 5.3.1)) -- Miniconda (conda 4.8.2) +- Miniconda (conda 4.8.3) - Mono (Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:14:32 UTC 2020)) - MySQL (mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))) - MySQL Server (user:root password:root) - 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.17.0) +- Node.js (v12.18.1) - Grunt (grunt-cli v1.2.0) -- Gulp (CLI version: 2.2.1 +- Gulp (CLI version: 2.3.0 Local version: Unknown) - n (6.5.1) - Parcel (1.12.4) -- TypeScript (Version 3.9.3) +- TypeScript (Version 3.9.5) - Webpack (4.43.0) -- Webpack CLI (3.3.11) +- Webpack CLI (3.3.12) - Yarn (1.22.4) -- Bazel (bazel 3.2.0) -- Bazelisk (1.4.0) +- Bazel (bazel 3.3.0) +- Bazelisk (1.5.0) - PhantomJS (2.1.1) -- Composer (Composer version 1.10.6 2020-05-06 10:28:10) +- PHP 7.4 (PHP 7.4.7 (cli) (built: Jun 12 2020 07:44:38) ( NTS )) +- Composer (Composer version 1.10.8 2020-06-24 21:23:30) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - Pollinate -- psql (PostgreSQL) 12.2 -- Powershell (PowerShell 7.0.0) +- psql (PostgreSQL) 12.3 +- Powershell (PowerShell 7.0.2) - ruby (2.7.0p0) -- gem (3.1.3) +- gem (3.1.2) - rustup (1.21.1) -- rust (1.43.1) -- cargo (1.43.0) -- rustfmt (1.4.12-stable) +- rust (1.44.1) +- cargo (1.44.1) +- rustfmt (1.4.16-stable) - clippy (0.0.212) -- rustdoc (1.43.1) +- rustdoc (1.44.1) - bindgen (0.54.0) -- cbindgen (0.14.2) +- cbindgen (0.14.3) - Julia (julia version 1.4.2) +- sbt (copying runtime jar... +1.3.12) - 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.26) -- Packer (1.5.6) +- Terraform (Terraform v0.12.28) +- Packer (1.6.0) - Vcpkg 2020.02.04-unknownhash -- Zeit Vercel CLI (19.0.1) +- Vercel CLI (19.1.1) - Haveged 1.9.1-6ubuntu1 -- AWS SAM CLI, version 0.52.0 -- Go 1.14.3 (go version go1.14.3 linux/amd64) +- AWS SAM CLI, version 0.53.0 - Google Repository 58 - Google Play services 49 - CMake 3.10.2.4988404 - Android Support Repository 47.0.0 -- Android SDK Platform-Tools 30.0.1 +- Android SDK Platform-Tools 30.0.3 +- Android SDK Platform 30 - Android SDK Platform 29 - Android SDK Platform 28 - Android SDK Platform 27 - Android SDK Patch Applier v4 +- Android SDK Build-Tools 30.0.0 - Android SDK Build-Tools 29.0.3 - Android SDK Build-Tools 29.0.2 - Android SDK Build-Tools 29.0.0 @@ -202,9 +233,44 @@ Local version: Unknown) - Android SDK Build-Tools 27.0.2 - Android SDK Build-Tools 27.0.1 - Android SDK Build-Tools 27.0.0 -- Android NDK 21.2.6472646 -- Az Module (4.1.0) +- Android NDK 21.3.6528147 +- Az Module (4.3.0) +- Cached container images + - node:12-alpine (Digest: sha256:45694caf08b27f851b10f2ce30e986249d3b06590fefb7d327ba9a4fbd371d2b) + - node:12 (Digest: sha256:2b85f4981f92ee034b51a3c8bb22dbb451d650d5c12b6439a169f8adc750e4b6) + - 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) + - ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4) + - alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10) + - mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a) +- Ruby: + - Ruby 2.5.8 + - Ruby 2.6.6 + - Ruby 2.7.1 - Python (Python 2.7.18rc1) - pip (pip 20.1.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)) - Python3 (Python 3.8.2) - pip3 (pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)) +- Python: + - Python 2.7.18 + - Python 3.5.9 + - Python 3.6.10 + - Python 3.7.7 + - Python 3.8.3 +- 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.1 + - node 14.4.0 +- go: + - go 1.14.4 diff --git a/images/linux/scripts/base/apt.sh b/images/linux/scripts/base/apt.sh new file mode 100644 index 00000000..15307421 --- /dev/null +++ b/images/linux/scripts/base/apt.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +export DEBIAN_FRONTEND=noninteractive +apt-get -yqq update +apt-get -yqq dist-upgrade +systemctl disable apt-daily.service +systemctl disable apt-daily.timer +systemctl disable apt-daily-upgrade.timer +systemctl disable apt-daily-upgrade.service diff --git a/images/linux/scripts/base/limits.sh b/images/linux/scripts/base/limits.sh new file mode 100644 index 00000000..e3c43e33 --- /dev/null +++ b/images/linux/scripts/base/limits.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +echo '* soft nofile 65536' >> /etc/security/limits.conf +echo '* hard nofile 65536' >> /etc/security/limits.conf +echo 'session required pam_limits.so' >> /etc/pam.d/common-session +echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive +echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf diff --git a/images/linux/scripts/helpers/install.sh b/images/linux/scripts/helpers/install.sh index 15c2e1a0..0843983e 100644 --- a/images/linux/scripts/helpers/install.sh +++ b/images/linux/scripts/helpers/install.sh @@ -11,13 +11,19 @@ download_with_retries() { local URL="$1" local DEST="${2:-.}" local NAME="${3:-${URL##*/}}" + local COMPRESSED="$4" + + if [ $COMPRESSED == "compressed" ]; then + COMMAND="curl $URL -4 -s --compressed -o '$DEST/$NAME'" + else + COMMAND="curl $URL -4 -s -o '$DEST/$NAME'" + fi echo "Downloading $URL..." i=20 while [ $i -gt 0 ]; do ((i--)) - wget $URL --output-document="$DEST/$NAME" \ - --no-verbose + eval $COMMAND if [ $? != 0 ]; then sleep 30 else diff --git a/images/linux/scripts/installers/1604/android.sh b/images/linux/scripts/installers/1604/android.sh index 0c4aee53..3d40984b 100644 --- a/images/linux/scripts/installers/1604/android.sh +++ b/images/linux/scripts/installers/1604/android.sh @@ -44,6 +44,7 @@ chmod -R a+X ${ANDROID_SDK_ROOT} echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "ndk-bundle" \ "platform-tools" \ + "platforms;android-30" \ "platforms;android-29" \ "platforms;android-28" \ "platforms;android-27" \ @@ -57,6 +58,7 @@ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "platforms;android-17" \ "platforms;android-15" \ "platforms;android-10" \ + "build-tools;30.0.0" \ "build-tools;29.0.3" \ "build-tools;29.0.2" \ "build-tools;29.0.0" \ @@ -116,6 +118,7 @@ DocumentInstalledItem "Android Support Repository 47.0.0" DocumentInstalledItem "Android Solver for ConstraintLayout 1.0.2" DocumentInstalledItem "Android Solver for ConstraintLayout 1.0.1" DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)" +DocumentInstalledItem "Android SDK Platform 30" DocumentInstalledItem "Android SDK Platform 29" DocumentInstalledItem "Android SDK Platform 28" DocumentInstalledItem "Android SDK Platform 27" @@ -130,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.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.3" DocumentInstalledItem "Android SDK Build-Tools 29.0.2" DocumentInstalledItem "Android SDK Build-Tools 29.0.0" diff --git a/images/linux/scripts/installers/1604/basic.sh b/images/linux/scripts/installers/1604/basic.sh index ce66845e..cd401714 100644 --- a/images/linux/scripts/installers/1604/basic.sh +++ b/images/linux/scripts/installers/1604/basic.sh @@ -10,60 +10,67 @@ source $HELPER_SCRIPTS/apt.sh set -e -# Install basic command-line utilities -apt-fast install -y --no-install-recommends \ - curl \ - dnsutils \ - file \ - ftp \ - iproute2 \ - iputils-ping \ - jq \ - libc++-dev \ - libc++abi-dev \ - libcurl3 \ - libicu55 \ - libunwind8 \ - locales \ - netcat \ - openssh-client \ - parallel \ - rsync \ - shellcheck \ - sudo \ - telnet \ - time \ - tzdata \ - unzip \ - upx \ - wget \ - zip \ - zstd \ - lib32z1 +common_packages="dnsutils + iproute2 + iputils-ping + libc++-dev + libc++abi-dev + libcurl3 + libicu55 + libunwind8 + locales + openssh-client + tzdata + zstd + lib32z1 + libxkbfile-dev + pkg-config + libsecret-1-dev + libxss1 + libgconf-2-4 + dbus + xvfb + libgbm-dev + libgtk-3-0 + tk + fakeroot + dpkg + rpm + xz-utils + xorriso + zsync + gnupg2 + texinfo" -# Electron / VSCode / GitHub Desktop / kubectl prereqs -apt-fast install -y --no-install-recommends \ - libxkbfile-dev \ - pkg-config \ - libsecret-1-dev \ - libxss1 \ - libgconf-2-4 \ - dbus \ - xvfb \ - libgbm-dev \ - libgtk-3-0 \ - tk \ - fakeroot \ - dpkg \ - rpm \ - xz-utils \ - xorriso \ - zsync \ - gnupg2 +cmd_packages="curl + file + ftp + jq + netcat + ssh + parallel + rsync + shellcheck + sudo + telnet + time + unzip + zip + wget + upx + m4 + bison + flex" + +# Install basic command-line utilities +for package in $common_packages $cmd_packages; do + echo "Install $package" + apt-fast install -y --no-install-recommends $package +done # Run tests to determine that the software installed as expected echo "Testing to make sure that script performed as expected, and basic scenarios work" -for cmd in curl file ftp jq netcat ssh parallel rsync shellcheck sudo telnet time unzip upx wget zip; do +for cmd in $cmd_packages; do if ! command -v $cmd; then echo "$cmd was not installed" exit 1 @@ -72,34 +79,7 @@ done # Document what was added to the image echo "Lastly, documenting what we added to the metadata file" -DocumentInstalledItem "Basic CLI:" -DocumentInstalledItemIndent "curl" -DocumentInstalledItemIndent "dnsutils" -DocumentInstalledItemIndent "file" -DocumentInstalledItemIndent "ftp" -DocumentInstalledItemIndent "iproute2" -DocumentInstalledItemIndent "iputils-ping" -DocumentInstalledItemIndent "jq" -DocumentInstalledItemIndent "libc++-dev" -DocumentInstalledItemIndent "libc++abi-dev" -DocumentInstalledItemIndent "libcurl3" -DocumentInstalledItemIndent "libgbm-dev" -DocumentInstalledItemIndent "libicu55" -DocumentInstalledItemIndent "libunwind8" -DocumentInstalledItemIndent "locales" -DocumentInstalledItemIndent "netcat" -DocumentInstalledItemIndent "openssh-client" -DocumentInstalledItemIndent "parallel" -DocumentInstalledItemIndent "rsync" -DocumentInstalledItemIndent "shellcheck" -DocumentInstalledItemIndent "sudo" -DocumentInstalledItemIndent "telnet" -DocumentInstalledItemIndent "time" -DocumentInstalledItemIndent "tzdata" -DocumentInstalledItemIndent "unzip" -DocumentInstalledItemIndent "upx" -DocumentInstalledItemIndent "wget" -DocumentInstalledItemIndent "zip" -DocumentInstalledItemIndent "zstd" -DocumentInstalledItemIndent "gnupg2" -DocumentInstalledItemIndent "lib32z1" +DocumentInstalledItem "Basic packages:" +for package in $common_packages $cmd_packages; do + DocumentInstalledItemIndent $package +done diff --git a/images/linux/scripts/installers/1804/android.sh b/images/linux/scripts/installers/1804/android.sh index a4a94566..0effcaca 100644 --- a/images/linux/scripts/installers/1804/android.sh +++ b/images/linux/scripts/installers/1804/android.sh @@ -44,6 +44,7 @@ fi echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "ndk-bundle" \ "platform-tools" \ + "platforms;android-30" \ "platforms;android-29" \ "platforms;android-28" \ "platforms;android-27" \ @@ -55,6 +56,7 @@ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "platforms;android-21" \ "platforms;android-19" \ "platforms;android-17" \ + "build-tools;30.0.0" \ "build-tools;29.0.3" \ "build-tools;29.0.2" \ "build-tools;29.0.0" \ @@ -108,6 +110,7 @@ DocumentInstalledItem "Google APIs 21" DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)" DocumentInstalledItem "Android Support Repository 47.0.0" DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)" +DocumentInstalledItem "Android SDK Platform 30" DocumentInstalledItem "Android SDK Platform 29" DocumentInstalledItem "Android SDK Platform 28" DocumentInstalledItem "Android SDK Platform 27" @@ -120,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.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.3" DocumentInstalledItem "Android SDK Build-Tools 29.0.2" DocumentInstalledItem "Android SDK Build-Tools 29.0.0" diff --git a/images/linux/scripts/installers/2004/android.sh b/images/linux/scripts/installers/2004/android.sh index 8c863ab0..f4804307 100644 --- a/images/linux/scripts/installers/2004/android.sh +++ b/images/linux/scripts/installers/2004/android.sh @@ -49,9 +49,11 @@ fi echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ "ndk-bundle" \ "platform-tools" \ + "platforms;android-30" \ "platforms;android-29" \ "platforms;android-28" \ "platforms;android-27" \ + "build-tools;30.0.0" \ "build-tools;29.0.3" \ "build-tools;29.0.2" \ "build-tools;29.0.0" \ @@ -76,10 +78,12 @@ DocumentInstalledItem "Google Play services $(cat ${ANDROID_SDK_ROOT}/extras/goo DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)" DocumentInstalledItem "Android Support Repository 47.0.0" DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)" +DocumentInstalledItem "Android SDK Platform 30" 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.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.3" DocumentInstalledItem "Android SDK Build-Tools 29.0.2" DocumentInstalledItem "Android SDK Build-Tools 29.0.0" diff --git a/images/linux/scripts/installers/2004/containers.sh b/images/linux/scripts/installers/2004/containers.sh deleted file mode 100644 index 0ccf746a..00000000 --- a/images/linux/scripts/installers/2004/containers.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -################################################################################ -## File: containers.sh -## Desc: Installs container tools: podman, buildah and skopeo onto the image -################################################################################ - -source $HELPER_SCRIPTS/apt.sh -source $HELPER_SCRIPTS/document.sh - -source /etc/os-release -sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" -wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key -apt-key add - < Release.key -apt-get update -qq -apt-get -qq -y install podman buildah skopeo -mkdir -p /etc/containers -echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf - -## Add version information to the metadata file -echo "Documenting container tools version" -PODMAN_VERSION='podman --version' -BUILDAH_VERSION='buildah --version' -SKOPEO_VERSION='skopeo --version' -DocumentInstalledItem "Podman ($PODMAN_VERSION)\nBuildah ($BUILDAH_VERSION)\nSkopeo ($SKOPEO_VERSION)" diff --git a/images/linux/scripts/installers/Configure-Toolset.ps1 b/images/linux/scripts/installers/Configure-Toolset.ps1 new file mode 100644 index 00000000..4a145a5d --- /dev/null +++ b/images/linux/scripts/installers/Configure-Toolset.ps1 @@ -0,0 +1,95 @@ +################################################################################ +## File: Configure-Toolset.ps1 +## Team: CI-Build +## Desc: Configure toolset +################################################################################ + +function Get-ToolsetToolFullPath +{ + param + ( + [Parameter(Mandatory)] [string] $ToolName, + [Parameter(Mandatory)] [string] $ToolVersion, + [Parameter(Mandatory)] [string] $ToolArchitecture + ) + + $toolPath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $toolName + $toolPathVersion = Join-Path -Path $toolPath -ChildPath $toolVersion + $foundVersion = Get-Item $toolPathVersion | Sort-Object -Property {[version]$_.name} -Descending | Select-Object -First 1 + $installationDir = Join-Path -Path $foundVersion -ChildPath $toolArchitecture + return $installationDir +} + +function Add-EnvironmentVariable +{ + param + ( + [Parameter(Mandatory)] [string] $Name, + [Parameter(Mandatory)] [string] $Value, + [string] $FilePath = "/etc/environment" + ) + + $envVar = "{0}={1}" -f $name, $value + Tee-Object -InputObject $envVar -FilePath $filePath -Append +} + +$ErrorActionPreference = "Stop" + +Write-Host "Configure toolset tools environment..." +$toolsEnvironment = @{ + boost = @{ + variableTemplate = "BOOST_ROOT_{0}_{1}_{2}" + } + go = @{ + command = "ln -s {0}/bin/* /usr/bin/" + defaultVariable = "GOROOT" + variableTemplate = "GOROOT_{0}_{1}_X64" + } +} + +$toolset = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw | ConvertFrom-Json + +foreach ($tool in $toolset.toolcache) +{ + $toolName = $tool.name + $toolArch = $tool.arch + $toolEnvironment = $toolsEnvironment[$toolName] + + if (-not $toolEnvironment) + { + continue + } + + foreach ($toolVersion in $tool.versions) + { + Write-Host "Set $toolName $toolVersion environment variable..." + $toolPath = Get-ToolsetToolFullPath -ToolName $toolName -ToolVersion $toolVersion -ToolArchitecture $toolArch + $envName = $toolEnvironment.variableTemplate -f $toolVersion.split(".") + + # Add environment variable name=value + Add-EnvironmentVariable -Name $envName -Value $toolPath + } + + # Invoke command and add env variable for the default tool version + $toolDefVersion = $tool.default + if (-not $toolDefVersion) + { + continue + } + + $envDefName = $toolEnvironment.defaultVariable + $toolPath = Get-ToolsetToolFullPath -ToolName $toolName -ToolVersion $toolDefVersion -ToolArchitecture $toolArch + + if ($envDefName) + { + Write-Host "Set default $envDefName for $toolName $toolDefVersion environment variable..." + Add-EnvironmentVariable -Name $envDefName -Value $toolPath + } + + if ($toolEnvironment.command) + { + $command = $toolEnvironment.command -f $toolPath + Write-Host "Invoke $command command for default $toolName $toolDefVersion..." + Invoke-Expression -Command $command + } +} diff --git a/images/linux/scripts/installers/Install-Toolset.ps1 b/images/linux/scripts/installers/Install-Toolset.ps1 index 618669dd..e95645e5 100644 --- a/images/linux/scripts/installers/Install-Toolset.ps1 +++ b/images/linux/scripts/installers/Install-Toolset.ps1 @@ -28,8 +28,9 @@ $ErrorActionPreference = "Stop" # Get toolset content $toolsetJson = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw -$toolsToInstall = @("Python", "Node") -$tools = ConvertFrom-Json -InputObject $toolsetJson | Select-Object -ExpandProperty toolcache | Where {$ToolsToInstall -contains $_.Name} +$toolsToInstall = @("Python", "Node", "Boost", "Go") + +$tools = ConvertFrom-Json -InputObject $toolsetJson | Select-Object -ExpandProperty toolcache | Where-Object {$ToolsToInstall -contains $_.Name} foreach ($tool in $tools) { # Get versions manifest for current tool @@ -43,10 +44,9 @@ foreach ($tool in $tools) { | Select-Object -First 1 Write-Host "Installing $($tool.name) $toolVersion $($tool.arch)..." - if ($asset -ne $null) { + if ($null -ne $asset) { Install-Asset -ReleaseAsset $asset - } - else { + } else { Write-Host "Asset was not found in versions manifest" exit 1 } @@ -54,4 +54,5 @@ foreach ($tool in $tools) { } chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/Python -chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/node \ No newline at end of file +chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/node +chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/go \ No newline at end of file diff --git a/images/linux/scripts/installers/Validate-Toolset.ps1 b/images/linux/scripts/installers/Validate-Toolset.ps1 index ddb23e92..5d20dfca 100644 --- a/images/linux/scripts/installers/Validate-Toolset.ps1 +++ b/images/linux/scripts/installers/Validate-Toolset.ps1 @@ -9,13 +9,13 @@ function Run-ExecutableTests { [Parameter(Mandatory)] [string[]] $Executables, [Parameter(Mandatory)] [string] $ToolPath ) + $versionCommand = $Executables["command"] - foreach ($executable in $Executables) { + foreach ($executable in $Executables["tools"]) { $executablePath = Join-Path $ToolPath $executable - Write-Host "Check $executable..." if (Test-Path $executablePath) { - Write-Host "$executable is successfully installed: $(& $executablePath --version)" + Write-Host "$executable is successfully installed: $(& $executablePath $versionCommand)" } else { Write-Host "$executablePath is not installed!" exit 1 @@ -27,9 +27,22 @@ $ErrorActionPreference = "Stop" # Define executables for cached tools $toolsExecutables = @{ - Python = @("python", "bin/pip") - node = @("bin/node", "bin/npm") - PyPy = @("bin/python", "bin/pip") + Python = @{ + tools = @("python", "bin/pip") + command = "--version" + } + node = @{ + tools = @("bin/node", "bin/npm") + command = "--version" + } + PyPy = @{ + tools = @("bin/python", "bin/pip") + command = "--version" + } + go = @{ + tools = @("bin/go") + command = "version" + } } # Get toolset content @@ -45,8 +58,8 @@ foreach($tool in $tools) { foreach ($version in $tool.versions) { # Add wildcard if missing - if (-not $version.Contains('*')) { - $version += '.*' + if ($version.Split(".").Length -lt 3) { + $version += ".*" } # Check if version folder exists @@ -62,9 +75,10 @@ foreach($tool in $tools) { | Select-Object -First 1 $foundVersionPath = Join-Path $foundVersion $tool.arch - Write-Host "Run validation test for $($tool.name)($($tool.arch)) $($foundVersion.name) executables..." - Run-ExecutableTests -Executables $toolExecs -ToolPath $foundVersionPath - + if ($toolExecs) { + Write-Host "Run validation test for $($tool.name)($($tool.arch)) $($foundVersion.name) executables..." + Run-ExecutableTests -Executables $toolExecs -ToolPath $foundVersionPath + } $foundVersionName = $foundVersion.name if ($tool.name -eq 'PyPy') { diff --git a/images/linux/scripts/installers/aws-sam-cli.sh b/images/linux/scripts/installers/aws-sam-cli.sh index 3cee6015..004a7f3a 100644 --- a/images/linux/scripts/installers/aws-sam-cli.sh +++ b/images/linux/scripts/installers/aws-sam-cli.sh @@ -2,15 +2,26 @@ ################################################################################ ## File: aws-sam-cli.sh ## Desc: Installs AWS SAM CLI -## Must be run as non-root user after homebrew and clang +## Requires Python >=3.6, must be run as non-root user after toolset installation ################################################################################ # Source the helpers for use with the script source $HELPER_SCRIPTS/document.sh -# Install aws sam cli -brew tap aws/tap -brew install aws-sam-cli +# Download latest aws sam cli sources +TarballUrl=$(curl -s https://api.github.com/repos/awslabs/aws-sam-cli/releases/latest | jq -r '.tarball_url') +TarballPath="/tmp/aws-sam-cli.tar.gz" +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) +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 # 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/aws.sh b/images/linux/scripts/installers/aws.sh index fabbfe9f..6d5b403b 100644 --- a/images/linux/scripts/installers/aws.sh +++ b/images/linux/scripts/installers/aws.sh @@ -6,13 +6,24 @@ # Source the helpers source $HELPER_SCRIPTS/document.sh +source $HELPER_SCRIPTS/os.sh -# Install the AWS CLI -curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" -unzip awscli-bundle.zip -./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws -rm awscli-bundle.zip -rm -rf awscli-bundle +# Install the AWS CLI v1 on Ubuntu16 and Ubuntu18, and AWS CLI v2 on Ubuntu20 +if isUbuntu20 ; then + curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" + unzip awscliv2.zip + ./aws/install -i /usr/local/aws-cli -b /usr/local/bin + rm awscliv2.zip + rm -rf aws +fi + +if isUbuntu16 || isUbuntu18 ; then + curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" + unzip awscli-bundle.zip + ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws + rm awscli-bundle.zip + rm -rf awscli-bundle +fi # Validate the installation echo "Validate the installation" diff --git a/images/linux/scripts/installers/azpowershell.sh b/images/linux/scripts/installers/azpowershell.sh index 9af42baf..082ab185 100644 --- a/images/linux/scripts/installers/azpowershell.sh +++ b/images/linux/scripts/installers/azpowershell.sh @@ -1,43 +1,44 @@ -#!/bin/bash -################################################################################ -## File: azpowershell.sh -## Desc: Installed Azure PowerShell -################################################################################ - -# Source the helpers for use with the script -source $HELPER_SCRIPTS/document.sh -source $HELPER_SCRIPTS/os.sh - -# List of versions -if isUbuntu20 ; then - versions=$(pwsh -Command '(Find-Module -Name Az).Version') -else - versions=(1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0) -fi - -# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) -for version in ${versions[@]}; do - pwsh -Command "Save-Module -Name Az -LiteralPath /usr/share/az_$version -RequiredVersion $version -Force" -done - -# Run tests to determine that the software installed as expected -echo "Testing to make sure that script performed as expected, and basic scenarios work" -for version in ${versions[@]}; do - modulePath="/usr/share/az_$version" - pwsh -Command " - \$env:PSModulePath = '${modulePath}:' + \$env:PSModulePath; - if ( -not (Get-Module -ListAvailable -Name Az.Accounts)) { - Write-Host 'Az Module was not installed' - exit 1 - }" - if [ $? -ne 0 ]; then - echo "Az version $version is not installed" - exit 1 - fi -done - -# Document what was added to the image -echo "Lastly, documenting what we added to the metadata file" -for version in ${versions[@]}; do - DocumentInstalledItem "Az Module ($version)" -done +#!/bin/bash +################################################################################ +## File: azpowershell.sh +## Desc: Installed Azure PowerShell +################################################################################ + +# Source the helpers for use with the script +source $HELPER_SCRIPTS/document.sh +source $HELPER_SCRIPTS/os.sh + +# List of versions +if isUbuntu20 ; then + versions=$(pwsh -Command '(Find-Module -Name Az).Version') +else + toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json" + versions=$(cat $toolsetJson | jq -r '.azureModules[] | select(.name | contains("az")) | .versions[]') +fi + +# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) +for version in ${versions[@]}; do + pwsh -Command "Save-Module -Name Az -LiteralPath /usr/share/az_$version -RequiredVersion $version -Force" +done + +# Run tests to determine that the software installed as expected +echo "Testing to make sure that script performed as expected, and basic scenarios work" +for version in ${versions[@]}; do + modulePath="/usr/share/az_$version" + pwsh -Command " + \$env:PSModulePath = '${modulePath}:' + \$env:PSModulePath; + if ( -not (Get-Module -ListAvailable -Name Az.Accounts)) { + Write-Host 'Az Module was not installed' + exit 1 + }" + if [ $? -ne 0 ]; then + echo "Az version $version is not installed" + exit 1 + fi +done + +# Document what was added to the image +echo "Lastly, documenting what we added to the metadata file" +for version in ${versions[@]}; do + DocumentInstalledItem "Az Module ($version)" +done diff --git a/images/linux/scripts/installers/azure-cli.sh b/images/linux/scripts/installers/azure-cli.sh index af6e4196..713d2315 100644 --- a/images/linux/scripts/installers/azure-cli.sh +++ b/images/linux/scripts/installers/azure-cli.sh @@ -6,16 +6,9 @@ # Source the helpers for use with the script source $HELPER_SCRIPTS/document.sh -source $HELPER_SCRIPTS/os.sh # Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash -# Temporary downgrade to 2.5.1 installation until version 2.7.0 with the fix for the issue is not released https://github.com/actions/virtual-environments/issues/948 -# There is no 2.5.1 version for Ubuntu20 -if isUbuntu16 || isUbuntu18 ; then - label=$(getOSVersionLabel) - apt-get install -y --allow-downgrades azure-cli=2.5.1-1~$label -fi # 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/basic.sh b/images/linux/scripts/installers/basic.sh index 08a22335..cef98a9f 100644 --- a/images/linux/scripts/installers/basic.sh +++ b/images/linux/scripts/installers/basic.sh @@ -11,29 +11,59 @@ source $HELPER_SCRIPTS/os.sh set -e +common_packages="dnsutils + iproute2 + iputils-ping + libunwind8 + locales + openssh-client + tzdata + upx + zstd + libxkbfile-dev + pkg-config + libsecret-1-dev + libxss1 + libgconf-2-4 + dbus + xvfb + libgbm-dev + libgtk-3-0 + tk + fakeroot + dpkg + rpm + xz-utils + xorriso + zsync + gnupg2 + lib32z1 + texinfo" + +cmd_packages="curl + file + ftp + jq + netcat + ssh + parallel + rsync + shellcheck + sudo + telnet + time + unzip + zip + wget + m4 + bison + flex" + if isUbuntu20 ; then echo "Install python2" apt-get install -y --no-install-recommends python-is-python2 fi -echo "Install dnsutils" -apt-get install -y --no-install-recommends dnsutils - -echo "Install file" -apt-get install -y --no-install-recommends file - -echo "Install ftp" -apt-get install -y --no-install-recommends ftp - -echo "Install iproute2" -apt-get install -y --no-install-recommends iproute2 - -echo "Install iputils-ping" -apt-get install -y --no-install-recommends iputils-ping - -echo "Install jq" -apt-get install -y --no-install-recommends jq - echo "Install libcurl" if isUbuntu18 ; then libcurelVer="libcurl3" @@ -45,114 +75,15 @@ fi apt-get install -y --no-install-recommends $libcurelVer -echo "Install libunwind8" -apt-get install -y --no-install-recommends libunwind8 +for package in $common_packages $cmd_packages; do + echo "Install $package" + apt-get install -y --no-install-recommends $package +done -echo "Install locales" -apt-get install -y --no-install-recommends locales - -echo "Install netcat" -apt-get install -y --no-install-recommends netcat - -echo "Install openssh-client" -apt-get install -y --no-install-recommends openssh-client - -echo "Install rsync" -apt-get install -y --no-install-recommends rsync - -echo "Install shellcheck" -apt-get install -y --no-install-recommends shellcheck - -echo "Install sudo" -apt-get install -y --no-install-recommends sudo - -echo "Install telnet" -apt-get install -y --no-install-recommends telnet - -echo "Install time" -apt-get install -y --no-install-recommends time - -echo "Install tzdata" -apt-get install -y --no-install-recommends tzdata - -echo "Install unzip" -apt-get install -y --no-install-recommends unzip - -echo "Install upx" -apt-get install -y --no-install-recommends upx - -echo "Install wget" -apt-get install -y --no-install-recommends wget - -echo "Install zip" -apt-get install -y --no-install-recommends zip - -echo "Install zstd" -apt-get install -y --no-install-recommends zstd - -echo "Install libxkbfile" -apt-get install -y --no-install-recommends libxkbfile-dev - -echo "Install pkg-config" -apt-get install -y --no-install-recommends pkg-config - -echo "Install libsecret-1-dev" -apt-get install -y --no-install-recommends libsecret-1-dev - -echo "Install libxss1" -apt-get install -y --no-install-recommends libxss1 - -echo "Install libgconf-2-4" -apt-get install -y --no-install-recommends libgconf-2-4 - -echo "Install dbus" -apt-get install -y --no-install-recommends dbus - -echo "Install xvfb" -apt-get install -y --no-install-recommends xvfb - -echo "Install libgbm-dev" -apt-get install -y --no-install-recommends libgbm-dev - -echo "Install libgtk" -apt-get install -y --no-install-recommends libgtk-3-0 - -echo "Install tk" -apt install -y tk - -echo "Install fakeroot" -apt-get install -y --no-install-recommends fakeroot - -echo "Install dpkg" -apt-get install -y --no-install-recommends dpkg - -echo "Install rpm" -apt-get install -y --no-install-recommends rpm - -echo "Install xz-utils" -apt-get install -y --no-install-recommends xz-utils - -echo "Install xorriso" -apt-get install -y --no-install-recommends xorriso - -echo "Install zsync" -apt-get install -y --no-install-recommends zsync - -echo "Install curl" -apt-get install -y --no-install-recommends curl - -echo "Install parallel" -apt-get install -y --no-install-recommends parallel - -echo "Install gnupg2" -apt-get install -y --no-install-recommends gnupg2 - -echo "Install lib32z1" -apt-get install -y --no-install-recommends lib32z1 # Run tests to determine that the software installed as expected echo "Testing to make sure that script performed as expected, and basic scenarios work" -for cmd in curl file ftp jq netcat ssh parallel rsync shellcheck sudo telnet time unzip wget zip; do +for cmd in $cmd_packages; do if ! command -v $cmd; then echo "$cmd was not installed" exit 1 @@ -161,32 +92,9 @@ done # Document what was added to the image echo "Lastly, documenting what we added to the metadata file" -DocumentInstalledItem "Basic CLI:" -DocumentInstalledItemIndent "curl" -DocumentInstalledItemIndent "dnsutils" -DocumentInstalledItemIndent "file" -DocumentInstalledItemIndent "ftp" -DocumentInstalledItemIndent "iproute2" -DocumentInstalledItemIndent "iputils-ping" -DocumentInstalledItemIndent "jq" +DocumentInstalledItem "Basic packages:" +for package in $common_packages $cmd_packages; do + DocumentInstalledItemIndent $package +done + DocumentInstalledItemIndent "$libcurelVer" -DocumentInstalledItemIndent "libgbm-dev" -DocumentInstalledItemIndent "libicu55" -DocumentInstalledItemIndent "libunwind8" -DocumentInstalledItemIndent "locales" -DocumentInstalledItemIndent "netcat" -DocumentInstalledItemIndent "openssh-client" -DocumentInstalledItemIndent "parallel" -DocumentInstalledItemIndent "rsync" -DocumentInstalledItemIndent "shellcheck" -DocumentInstalledItemIndent "sudo" -DocumentInstalledItemIndent "telnet" -DocumentInstalledItemIndent "time" -DocumentInstalledItemIndent "tzdata" -DocumentInstalledItemIndent "unzip" -DocumentInstalledItemIndent "upx" -DocumentInstalledItemIndent "wget" -DocumentInstalledItemIndent "zip" -DocumentInstalledItemIndent "zstd" -DocumentInstalledItemIndent "gnupg2" -DocumentInstalledItemIndent "lib32z1" diff --git a/images/linux/scripts/installers/boost.sh b/images/linux/scripts/installers/boost.sh deleted file mode 100644 index 5cdae6a0..00000000 --- a/images/linux/scripts/installers/boost.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -################################################################################ -## File: boost.sh -## Desc: Installs Boost C++ Libraries -################################################################################ - -# Source the helpers for use with the script -source $HELPER_SCRIPTS/document.sh - -TOOLSET_PATH="$INSTALLER_SCRIPT_FOLDER/toolcache.json" -BOOST_LIB=/usr/local/share/boost -BOOST_VERSIONS=$(cat $TOOLSET_PATH | jq -r 'to_entries[] | select(.key | match("boost")) | .value[] +".0"') - -# Install Boost -for BOOST_VERSION in ${BOOST_VERSIONS} -do - BOOST_SYMLINK_VER=$(echo "${BOOST_VERSION//[.]/_}") - BOOST_ROOT_VERSION="BOOST_ROOT_$BOOST_SYMLINK_VER" - - echo "$BOOST_ROOT_VERSION=$BOOST_LIB/$BOOST_VERSION" | tee -a /etc/environment - DocumentInstalledItem "Boost C++ Libraries $BOOST_VERSION" -done diff --git a/images/linux/scripts/installers/configure-environment.sh b/images/linux/scripts/installers/configure-environment.sh index 35e3dba6..e4ca2f20 100644 --- a/images/linux/scripts/installers/configure-environment.sh +++ b/images/linux/scripts/installers/configure-environment.sh @@ -5,3 +5,17 @@ echo ImageOS=$IMAGE_OS | tee -a /etc/environment # This directory is supposed to be created in $HOME and owned by user(https://github.com/actions/virtual-environments/issues/491) mkdir -p /etc/skel/.config/configstore echo 'export XDG_CONFIG_HOME=$HOME/.config' | tee -a /etc/skel/.bashrc + +# Change waagent entries to use /mnt for swapfile +sed -i 's/ResourceDisk.Format=n/ResourceDisk.Format=y/g' /etc/waagent.conf +sed -i 's/ResourceDisk.EnableSwap=n/ResourceDisk.EnableSwap=y/g' /etc/waagent.conf +sed -i 's/ResourceDisk.SwapSizeMB=0/ResourceDisk.SwapSizeMB=4096/g' /etc/waagent.conf + +# Add localhost alias to ::1 IPv6 +sed -i 's/::1 ip6-localhost ip6-loopback/::1 localhost ip6-localhost ip6-loopback/g' /etc/hosts + +# Prepare directory and env variable for toolcache +AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache +mkdir $AGENT_TOOLSDIRECTORY +echo "AGENT_TOOLSDIRECTORY=$AGENT_TOOLSDIRECTORY" | tee -a /etc/environment +chmod -R 777 $AGENT_TOOLSDIRECTORY diff --git a/images/linux/scripts/installers/1804/containers.sh b/images/linux/scripts/installers/containers.sh similarity index 100% rename from images/linux/scripts/installers/1804/containers.sh rename to images/linux/scripts/installers/containers.sh diff --git a/images/linux/scripts/installers/docker-moby.sh b/images/linux/scripts/installers/docker-moby.sh index 8fe8d134..1037b220 100644 --- a/images/linux/scripts/installers/docker-moby.sh +++ b/images/linux/scripts/installers/docker-moby.sh @@ -6,9 +6,15 @@ source $HELPER_SCRIPTS/apt.sh source $HELPER_SCRIPTS/document.sh +source $HELPER_SCRIPTS/os.sh docker_package=moby +# There is no stable docker-moby for Ubuntu 20 at the moment +if isUbuntu20 ; then + add-apt-repository "deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/prod testing main" +fi + ## Check to see if docker is already installed echo "Determing if Docker ($docker_package) is installed" if ! IsInstalled $docker_package; then @@ -21,6 +27,10 @@ else echo "Docker ($docker_package) is already installed" fi +# Enable docker.service +systemctl is-active --quiet docker.service || systemctl start docker.service +systemctl is-enabled --quiet docker.service || systemctl enable docker.service + # Run tests to determine that the software installed as expected echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Checking the docker-moby and moby-buildx" diff --git a/images/linux/scripts/installers/dotnetcore-sdk.sh b/images/linux/scripts/installers/dotnetcore-sdk.sh index 0e598d0d..0544875b 100644 --- a/images/linux/scripts/installers/dotnetcore-sdk.sh +++ b/images/linux/scripts/installers/dotnetcore-sdk.sh @@ -16,7 +16,7 @@ fi if isUbuntu16 || isUbuntu18 ; then LATEST_DOTNET_PACKAGES=("dotnet-sdk-3.0" "dotnet-sdk-3.1") - release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json") + release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json") fi mksamples() diff --git a/images/linux/scripts/installers/dotnetcore.sh b/images/linux/scripts/installers/dotnetcore.sh deleted file mode 100644 index a5eae25c..00000000 --- a/images/linux/scripts/installers/dotnetcore.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -################################################################################ -## File: dotnetcore.sh -## Desc: Installs .NET Core onto the image for running the provisioner -################################################################################ - -source $HELPER_SCRIPTS/apt.sh -source $HELPER_SCRIPTS/document.sh - -DOTNET_PACKAGE=dotnet-dev-1.0.4 - -echo "Determing if .NET Core ($DOTNET_PACKAGE) is installed" -if ! IsInstalled $DOTNET_PACKAGE; then - echo "Could not find .NET Core ($DOTNET_PACKAGE), installing..." - echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893 - apt-get update - apt-get install $DOTNET_PACKAGE -y -else - echo ".NET Core ($DOTNET_PACKAGE) is already installed" -fi - -echo "Testing .NET Core ($DOTNET_PACKAGE)" -echo "Pulling down initial dependencies" -dotnet help - -echo "Documenting .NET Core ($DOTNET_PACKAGE)" -DOTNET_VERSION=`dotnet --version` -DocumentInstalledItem ".NET Core $DOTNET_VERSION" diff --git a/images/linux/scripts/installers/go.sh b/images/linux/scripts/installers/go.sh deleted file mode 100644 index 617c406d..00000000 --- a/images/linux/scripts/installers/go.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -################################################################################ -## File: go.sh -## Desc: Installs go, configures GOROOT, and adds go to the path -################################################################################ - -# Source the helpers for use with the script -source $HELPER_SCRIPTS/document.sh -golangTags="/tmp/golang_tags.json" - -# This function installs Go using the specified arguments: -# $1=MajorVersion (1.11) -# $2=IsDefaultVersion (true or false) -function InstallGo () { - version=$( getFullGoVersion $1 ) - downloadVersion="go$version.linux-amd64.tar.gz" - goFolder="$AGENT_TOOLSDIRECTORY/go/$version/x64" - - echo "Install Go $version" - curl -sL https://dl.google.com/go/${downloadVersion} -o ${downloadVersion} - mkdir -p $goFolder - tar -C $goFolder -xzf $downloadVersion --strip-components=1 go - rm $downloadVersion - echo "GOROOT_${1//./_}_X64=$goFolder" | tee -a /etc/environment - DocumentInstalledItem "Go $version ($($goFolder/bin/go version))" - - # Create symlink in old location /usr/local/go to new location - ln -s $goFolder /usr/local/go$version - - # If this version of Go is to be the default version, - # symlink it into the path and point GOROOT to it. - if [ $2 = true ] - then - ln -s $goFolder/bin/* /usr/bin/ - echo "GOROOT=$goFolder" | tee -a /etc/environment - fi -} - -function getFullGoVersion () { - local pattern="refs/tags/go$1([.0-9]{0,3})$" - local query='[.[] | select( .ref | test($pattern))] | .[-1] | .ref' - refValue=$(jq --arg pattern "$pattern" "$query" $golangTags) - version=$(echo "$refValue" | cut -d '/' -f 3 | awk -F 'go' '{print $2}') - version=$(echo "${version//\"}") # 1.12.17 - echo $version -} - -# load golang_tags.json file -curl -s 'https://api.github.com/repos/golang/go/git/refs/tags' > $golangTags -# Install Go versions -for go in ${GO_VERSIONS}; do - echo "Installing Go ${go}" - if [[ $go == $GO_DEFAULT ]]; then - InstallGo $go true - else - InstallGo $go false - fi -done diff --git a/images/linux/scripts/installers/homebrew-validate.sh b/images/linux/scripts/installers/homebrew-validate.sh index a8eef258..88d61f94 100644 --- a/images/linux/scripts/installers/homebrew-validate.sh +++ b/images/linux/scripts/installers/homebrew-validate.sh @@ -8,7 +8,7 @@ echo "Validate the Homebrew can run after reboot" if ! command -v brew; then - echo "brew cat not run after reboot" + echo "brew executable not found after reboot" exit 1 fi diff --git a/images/linux/scripts/installers/homebrew.sh b/images/linux/scripts/installers/homebrew.sh index ee94ea60..0a739e27 100644 --- a/images/linux/scripts/installers/homebrew.sh +++ b/images/linux/scripts/installers/homebrew.sh @@ -2,6 +2,7 @@ ################################################################################ ## File: homebrew.sh ## Desc: Installs the Homebrew on Linux +## Caveat: Brew MUST NOT be used to install any tool during the image build to avoid dependencies, which may come along with the tool ################################################################################ # Source the helpers @@ -20,7 +21,7 @@ sudo chmod -R o+w $HOMEBREW_PREFIX brew shellenv|grep 'export HOMEBREW'|sed -E 's/^export (.*);$/\1/' | sudo tee -a /etc/environment # add brew executables locations to PATH brew_path=$(brew shellenv|grep '^export PATH' |sed -E 's/^export PATH="([^$]+)\$.*/\1/') -appendEtcEnvironmentPath "$brew_path" +prependEtcEnvironmentPath "$brew_path" # Validate the installation ad hoc echo "Validate the installation reloading /etc/environment" diff --git a/images/linux/scripts/installers/hosted-tool-cache.sh b/images/linux/scripts/installers/hosted-tool-cache.sh index d6a773eb..ef1553f2 100644 --- a/images/linux/scripts/installers/hosted-tool-cache.sh +++ b/images/linux/scripts/installers/hosted-tool-cache.sh @@ -12,11 +12,6 @@ set -e TOOLCACHE_REGISTRY="npm.pkg.github.com" -AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache -mkdir $AGENT_TOOLSDIRECTORY -echo "AGENT_TOOLSDIRECTORY=$AGENT_TOOLSDIRECTORY" | tee -a /etc/environment -chmod -R 777 $AGENT_TOOLSDIRECTORY - echo "Configure npm to use github package registry for '@actions' scope" npm config set @actions:registry "https://${TOOLCACHE_REGISTRY}" diff --git a/images/linux/scripts/installers/java-tools.sh b/images/linux/scripts/installers/java-tools.sh index ffc57f73..aafed29f 100644 --- a/images/linux/scripts/installers/java-tools.sh +++ b/images/linux/scripts/installers/java-tools.sh @@ -10,14 +10,18 @@ source $HELPER_SCRIPTS/os.sh set -e -# Install the Azul Systems Zulu JDKs -# See https://www.azul.com/downloads/azure-only/zulu/ -apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 -apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main" -apt-get -q update +# Install GPG Key for Adopt Open JDK. See https://adoptopenjdk.net/installation.html +wget -qO - "https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public" | apt-key add - +add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ if isUbuntu16 || isUbuntu18 ; then + # Install GPG Key for Azul Open JDK. See https://www.azul.com/downloads/azure-only/zulu/ + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 + apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main" + apt-get update apt-get -y install zulu-7-azure-jdk=\* + # Open JDP Adopt does not exist for Ubuntu 20 + apt-get -y install adoptopenjdk-12-hotspot=\* echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment DEFAULT_JDK_VERSION=8 defaultLabel8="(default)" @@ -26,17 +30,22 @@ fi if isUbuntu20 ; then DEFAULT_JDK_VERSION=11 defaultLabel11="(default)" + apt-get update fi -apt-get -y install zulu-8-azure-jdk=\* -apt-get -y install zulu-11-azure-jdk=\* -apt-get -y install zulu-12-azure-jdk=\* -update-java-alternatives -s /usr/lib/jvm/zulu-8-azure-amd64 +# Install only LTS versions. +apt-get -y install adoptopenjdk-8-hotspot=\* +apt-get -y install adoptopenjdk-11-hotspot=\* -echo "JAVA_HOME_8_X64=/usr/lib/jvm/zulu-8-azure-amd64" | tee -a /etc/environment -echo "JAVA_HOME_11_X64=/usr/lib/jvm/zulu-11-azure-amd64" | tee -a /etc/environment -echo "JAVA_HOME_12_X64=/usr/lib/jvm/zulu-12-azure-amd64" | tee -a /etc/environment -echo "JAVA_HOME=/usr/lib/jvm/zulu-${DEFAULT_JDK_VERSION}-azure-amd64" | tee -a /etc/environment +# Set Default Java version. +update-java-alternatives -s /usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64 + +echo "JAVA_HOME_8_X64=/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64" | tee -a /etc/environment +echo "JAVA_HOME_11_X64=/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64" | tee -a /etc/environment +if isUbuntu16 || isUbuntu18 ; then +echo "JAVA_HOME_12_X64=/usr/lib/jvm/adoptopenjdk-12-hotspot-amd64" | tee -a /etc/environment +fi +echo "JAVA_HOME=/usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64" | tee -a /etc/environment echo "JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8" | tee -a /etc/environment # Install Ant @@ -79,13 +88,16 @@ done # Document what was added to the image echo "Lastly, documenting what we added to the metadata file" -DocumentInstalledItem "Azul Zulu OpenJDK:" if isUbuntu16 || isUbuntu18 ; then +DocumentInstalledItem "Azul Zulu OpenJDK:" DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))" fi -DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1)) $defaultLabel8" -DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1)) $defaultLabel11" -DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/zulu-12-azure-amd64/bin/java -showversion |& head -n 1))" +DocumentInstalledItem "Adopt OpenJDK:" +DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java -showversion |& head -n 1)) $defaultLabel8" +DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/java -showversion |& head -n 1)) $defaultLabel11" +if isUbuntu16 || isUbuntu18 ; then +DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/adoptopenjdk-12-hotspot-amd64/bin/java -showversion |& head -n 1))" +fi DocumentInstalledItem "Ant ($(ant -version))" DocumentInstalledItem "Gradle ${gradleVersion}" DocumentInstalledItem "Maven ($(mvn -version | head -n 1))" diff --git a/images/linux/scripts/installers/mysql.sh b/images/linux/scripts/installers/mysql.sh index 1f2ea2ed..a2869adb 100644 --- a/images/linux/scripts/installers/mysql.sh +++ b/images/linux/scripts/installers/mysql.sh @@ -9,19 +9,31 @@ source $HELPER_SCRIPTS/document.sh export ACCEPT_EULA=Y -# Install MySQL Client -apt-get install mysql-client -y +if isUbuntu16 || isUbuntu18 ; then + apt-get install mysql-client -y +fi -# InstallMySQL database development files -apt-get install libmysqlclient-dev -y +if isUbuntu20 ; then + # Install mysql 8 for Ubuntu 20. -# Install MySQL Server + debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-server select mysql-8.0' + package_version=$(curl https://dev.mysql.com/downloads/repo/apt/ 2> /dev/null | grep "\.deb" | awk -F "[()]" '{print $2}') + wget https://dev.mysql.com/get/$package_version + dpkg -i $package_version + apt update +fi + +# Mysql setting up root password MYSQL_ROOT_PASSWORD=root echo "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD" | debconf-set-selections echo "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD" | debconf-set-selections +# Install MySQL Server apt-get install -y mysql-server +#Install MySQL Dev tools +apt install libmysqlclient-dev -y + # Install MS SQL Server client tools (https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017) apt-get install -y mssql-tools unixodbc-dev apt-get -f install diff --git a/images/linux/scripts/installers/nodejs.sh b/images/linux/scripts/installers/nodejs.sh index 5b4777a6..073061ed 100644 --- a/images/linux/scripts/installers/nodejs.sh +++ b/images/linux/scripts/installers/nodejs.sh @@ -10,7 +10,7 @@ source $HELPER_SCRIPTS/document.sh # Install LTS Node.js and related build tools curl -sL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s -- -ny - ~/n/bin/n lts -npm install -g grunt gulp n parcel-bundler typescript +npm install -g grunt gulp n parcel-bundler typescript newman npm install -g --save-dev webpack webpack-cli npm install -g npm rm -rf ~/n @@ -25,7 +25,7 @@ apt-get install -y --no-install-recommends yarn # Run tests to determine that the software installed as expected echo "Testing to make sure that script performed as expected, and basic scenarios work" -for cmd in node grunt gulp webpack parcel yarn; do +for cmd in node grunt gulp webpack parcel yarn newman; do if ! command -v $cmd; then echo "$cmd was not installed" exit 1 @@ -43,3 +43,4 @@ DocumentInstalledItem "TypeScript ($(tsc --version))" DocumentInstalledItem "Webpack ($(webpack --version))" DocumentInstalledItem "Webpack CLI ($(webpack-cli --version))" DocumentInstalledItem "Yarn ($(yarn --version))" +DocumentInstalledItem "Newman ($(newman --version))" diff --git a/images/linux/scripts/installers/nvm.sh b/images/linux/scripts/installers/nvm.sh index cbfab1a8..81769307 100644 --- a/images/linux/scripts/installers/nvm.sh +++ b/images/linux/scripts/installers/nvm.sh @@ -19,4 +19,7 @@ if ! command -v nvm; then exit 1 fi +# set system node.js as default one +nvm alias default system + DocumentInstalledItem "nvm ($(nvm --version))" \ No newline at end of file diff --git a/images/linux/scripts/installers/php.sh b/images/linux/scripts/installers/php.sh index a63c4b71..f5f8b973 100644 --- a/images/linux/scripts/installers/php.sh +++ b/images/linux/scripts/installers/php.sh @@ -1,137 +1,138 @@ -#!/bin/bash -################################################################################ -## File: php.sh -## Desc: Installs php -################################################################################ - -# Source the helpers for use with the script -source $HELPER_SCRIPTS/etc-environment.sh -source $HELPER_SCRIPTS/document.sh - -set -e - -# add repository -apt-add-repository ppa:ondrej/php -y -apt-get update - -# Install PHP -if isUbuntu16 ; then - php_versions="5.6 7.0 7.1 7.2 7.3 7.4" -fi - -if isUbuntu18 ; then - php_versions="7.1 7.2 7.3 7.4" -fi - -if isUbuntu20 ; then - php_versions="7.4" -fi - -for version in $php_versions; do - echo "Installing PHP $version" - apt-fast install -y --no-install-recommends \ - php$version \ - php$version-bcmath \ - php$version-bz2 \ - php$version-cgi \ - php$version-cli \ - php$version-common \ - php$version-curl \ - php$version-dba \ - php$version-dev \ - php$version-enchant \ - php$version-fpm \ - php$version-gd \ - php$version-gmp \ - php$version-imap \ - php$version-interbase \ - php$version-intl \ - php$version-json \ - php$version-ldap \ - php$version-mbstring \ - php$version-mysql \ - php$version-odbc \ - php$version-opcache \ - php$version-pgsql \ - php$version-phpdbg \ - php$version-pspell \ - php$version-readline \ - php$version-snmp \ - php$version-soap \ - php$version-sqlite3 \ - php$version-sybase \ - php$version-tidy \ - php$version-xml \ - php$version-xmlrpc \ - php$version-xsl \ - php$version-zip - - if [[ $version == "5.6" || $version == "7.0" || $version == "7.1" ]]; then - apt-fast install -y --no-install-recommends php$version-mcrypt php$version-recode - apt-get remove --purge -yq php$version-dev - fi - - if [[ $version == "7.2" || $version == "7.3" ]]; then - apt-fast install -y --no-install-recommends php$version-recode - fi -done - -apt-fast install -y --no-install-recommends \ - php-amqp \ - php-apcu \ - php-igbinary \ - php-memcache \ - php-memcached \ - php-mongodb \ - php-redis \ - php-xdebug \ - php-yaml \ - php-zmq - -apt-get remove --purge -yq php7.2-dev - -apt-fast install -y --no-install-recommends snmp - -# Install composer -php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" -php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" -php composer-setup.php -sudo mv composer.phar /usr/bin/composer -php -r "unlink('composer-setup.php');" - -# Update /etc/environment -prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin - -# Add composer bin folder to path -echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc - -#Create composer folder for user to preserve folder permissions -mkdir -p /etc/skel/.composer - -# Install phpunit (for PHP) -wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar -chmod +x phpunit -mv phpunit /usr/local/bin/phpunit - -# Run tests to determine that the software installed as expected -echo "Testing to make sure that script performed as expected, and basic scenarios work" -for cmd in php $php_versions composer phpunit; do - if [[ $cmd =~ ^[0-9] ]]; then - cmd="php$cmd" - fi - - if ! command -v $cmd; then - echo "$cmd was not installed" - exit 1 - fi -done - -# Document what was added to the image -echo "Lastly, documenting what we added to the metadata file" - -for version in $php_versions; do - DocumentInstalledItem "PHP $version ($(php$version --version | head -n 1))" -done; - -DocumentInstalledItem "Composer ($(composer --version))" -DocumentInstalledItem "PHPUnit ($(phpunit --version))" +#!/bin/bash +################################################################################ +## File: php.sh +## Desc: Installs php +################################################################################ + +# Source the helpers for use with the script +source $HELPER_SCRIPTS/etc-environment.sh +source $HELPER_SCRIPTS/document.sh +source $HELPER_SCRIPTS/os.sh + +set -e + +# add repository +apt-add-repository ppa:ondrej/php -y +apt-get update + +# Install PHP +if isUbuntu16 ; then + php_versions="5.6 7.0 7.1 7.2 7.3 7.4" +fi + +if isUbuntu18 ; then + php_versions="7.1 7.2 7.3 7.4" +fi + +if isUbuntu20 ; then + php_versions="7.4" +fi + +for version in $php_versions; do + echo "Installing PHP $version" + apt-fast install -y --no-install-recommends \ + php$version \ + php$version-bcmath \ + php$version-bz2 \ + php$version-cgi \ + php$version-cli \ + php$version-common \ + php$version-curl \ + php$version-dba \ + php$version-dev \ + php$version-enchant \ + php$version-fpm \ + php$version-gd \ + php$version-gmp \ + php$version-imap \ + php$version-interbase \ + php$version-intl \ + php$version-json \ + php$version-ldap \ + php$version-mbstring \ + php$version-mysql \ + php$version-odbc \ + php$version-opcache \ + php$version-pgsql \ + php$version-phpdbg \ + php$version-pspell \ + php$version-readline \ + php$version-snmp \ + php$version-soap \ + php$version-sqlite3 \ + php$version-sybase \ + php$version-tidy \ + php$version-xml \ + php$version-xmlrpc \ + php$version-xsl \ + php$version-zip + + if [[ $version == "5.6" || $version == "7.0" || $version == "7.1" ]]; then + apt-fast install -y --no-install-recommends php$version-mcrypt php$version-recode + apt-get remove --purge -yq php$version-dev + fi + + if [[ $version == "7.2" || $version == "7.3" ]]; then + apt-fast install -y --no-install-recommends php$version-recode + fi +done + +apt-fast install -y --no-install-recommends \ + php-amqp \ + php-apcu \ + php-igbinary \ + php-memcache \ + php-memcached \ + php-mongodb \ + php-redis \ + php-xdebug \ + php-yaml \ + php-zmq + +apt-get remove --purge -yq php7.2-dev + +apt-fast install -y --no-install-recommends snmp + +# Install composer +php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" +php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" +php composer-setup.php +sudo mv composer.phar /usr/bin/composer +php -r "unlink('composer-setup.php');" + +# Update /etc/environment +prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin + +# Add composer bin folder to path +echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc + +#Create composer folder for user to preserve folder permissions +mkdir -p /etc/skel/.composer + +# Install phpunit (for PHP) +wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar +chmod +x phpunit +mv phpunit /usr/local/bin/phpunit + +# Run tests to determine that the software installed as expected +echo "Testing to make sure that script performed as expected, and basic scenarios work" +for cmd in php $php_versions composer phpunit; do + if [[ $cmd =~ ^[0-9] ]]; then + cmd="php$cmd" + fi + + if ! command -v $cmd; then + echo "$cmd was not installed" + exit 1 + fi +done + +# Document what was added to the image +echo "Lastly, documenting what we added to the metadata file" + +for version in $php_versions; do + DocumentInstalledItem "PHP $version ($(php$version --version | head -n 1))" +done + +DocumentInstalledItem "Composer ($(composer --version))" +DocumentInstalledItem "PHPUnit ($(phpunit --version))" diff --git a/images/linux/scripts/installers/pypy.sh b/images/linux/scripts/installers/pypy.sh index cfb097bd..e47235af 100644 --- a/images/linux/scripts/installers/pypy.sh +++ b/images/linux/scripts/installers/pypy.sh @@ -1,95 +1,95 @@ -#!/bin/bash -################################################################################ -## File: pypy.sh -## Desc: Installs PyPy -################################################################################ - -# Source the helpers for use with the script -source $HELPER_SCRIPTS/document.sh -source $HELPER_SCRIPTS/install.sh - -# This function installs PyPy using the specified arguments: -# $1=PACKAGE_URL -function InstallPyPy -{ - PACKAGE_URL=$1 - - PACKAGE_TAR_NAME=$(echo $PACKAGE_URL | awk -F/ '{print $NF}') - echo "Downloading tar archive '$PACKAGE_TAR_NAME' - '$PACKAGE_URL'" - PACKAGE_TAR_TEMP_PATH="/tmp/$PACKAGE_TAR_NAME" - download_with_retries $PACKAGE_URL "/tmp" $PACKAGE_TAR_NAME - - echo "Expand '$PACKAGE_TAR_NAME' to the /tmp folder" - tar xf $PACKAGE_TAR_TEMP_PATH -C /tmp - - # Get Python version - PACKAGE_NAME=${PACKAGE_TAR_NAME/.tar.bz2/} - MAJOR_VERSION=$(echo ${PACKAGE_NAME/pypy/} | cut -d. -f1) - PYTHON_MAJOR="python$MAJOR_VERSION" - - if [ $MAJOR_VERSION != 2 ]; then - PYPY_MAJOR="pypy$MAJOR_VERSION" - else - PYPY_MAJOR="pypy" - fi - - PACKAGE_TEMP_FOLDER="/tmp/$PACKAGE_NAME" - PYTHON_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(sys.version_info[0],sys.version_info[1],sys.version_info[2]))") - - # PyPy folder structure - PYPY_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/PyPy - PYPY_TOOLCACHE_VERSION_PATH=$PYPY_TOOLCACHE_PATH/$PYTHON_FULL_VERSION - PYPY_TOOLCACHE_VERSION_ARCH_PATH=$PYPY_TOOLCACHE_VERSION_PATH/x64 - - echo "Check if PyPy hostedtoolcache folder exist..." - if [ ! -d $PYPY_TOOLCACHE_PATH ]; then - mkdir -p $PYPY_TOOLCACHE_PATH - fi - - echo "Create PyPy '$PYPY_TOOLCACHE_VERSION_PATH' folder" - mkdir $PYPY_TOOLCACHE_VERSION_PATH - - echo "Move PyPy '$PACKAGE_TEMP_FOLDER' binaries to '$PYPY_TOOLCACHE_VERSION_ARCH_PATH' folder" - mv $PACKAGE_TEMP_FOLDER $PYPY_TOOLCACHE_VERSION_ARCH_PATH - - echo "Create additional symlinks (Required for UsePythonVersion Azure DevOps task)" - cd $PYPY_TOOLCACHE_VERSION_ARCH_PATH/bin - ln -s $PYPY_MAJOR $PYTHON_MAJOR - ln -s $PYTHON_MAJOR python - - chmod +x ./python ./$PYTHON_MAJOR - - echo "Install latest Pip" - ./python -m ensurepip - ./python -m pip install --ignore-installed pip - - echo "Create complete file" - touch $PYPY_TOOLCACHE_VERSION_PATH/x64.complete - - echo "Remove '$PACKAGE_TAR_TEMP_PATH'" - rm -f $PACKAGE_TAR_TEMP_PATH -} - -# Installation PyPy -uri="https://downloads.python.org/pypy/" -download_with_retries $uri "/tmp" "pypyUrls.html" -pypyVersions="$(cat /tmp/pypyUrls.html | grep 'linux64' | awk -v uri="$uri" -F'>|<' '{print uri$5}')" - -toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json" -toolsetVersions=$(cat $toolsetJson | jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]') - -# Fail out if any setups fail -set -e - -for toolsetVersion in $toolsetVersions; do - latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1) - - if [[ -z "$latestMajorPyPyVersion" ]]; then - echo "Failed to get PyPy version '$toolsetVersion'" - exit 1 - fi - - InstallPyPy $latestMajorPyPyVersion -done - +#!/bin/bash +################################################################################ +## File: pypy.sh +## Desc: Installs PyPy +################################################################################ + +# Source the helpers for use with the script +source $HELPER_SCRIPTS/document.sh +source $HELPER_SCRIPTS/install.sh + +# This function installs PyPy using the specified arguments: +# $1=PACKAGE_URL +function InstallPyPy +{ + PACKAGE_URL=$1 + + PACKAGE_TAR_NAME=$(echo $PACKAGE_URL | awk -F/ '{print $NF}') + echo "Downloading tar archive '$PACKAGE_TAR_NAME' - '$PACKAGE_URL'" + PACKAGE_TAR_TEMP_PATH="/tmp/$PACKAGE_TAR_NAME" + download_with_retries $PACKAGE_URL "/tmp" $PACKAGE_TAR_NAME + + echo "Expand '$PACKAGE_TAR_NAME' to the /tmp folder" + tar xf $PACKAGE_TAR_TEMP_PATH -C /tmp + + # Get Python version + PACKAGE_NAME=${PACKAGE_TAR_NAME/.tar.bz2/} + MAJOR_VERSION=$(echo ${PACKAGE_NAME/pypy/} | cut -d. -f1) + PYTHON_MAJOR="python$MAJOR_VERSION" + + if [ $MAJOR_VERSION != 2 ]; then + PYPY_MAJOR="pypy$MAJOR_VERSION" + else + PYPY_MAJOR="pypy" + fi + + PACKAGE_TEMP_FOLDER="/tmp/$PACKAGE_NAME" + PYTHON_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(sys.version_info[0],sys.version_info[1],sys.version_info[2]))") + + # PyPy folder structure + PYPY_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/PyPy + PYPY_TOOLCACHE_VERSION_PATH=$PYPY_TOOLCACHE_PATH/$PYTHON_FULL_VERSION + PYPY_TOOLCACHE_VERSION_ARCH_PATH=$PYPY_TOOLCACHE_VERSION_PATH/x64 + + echo "Check if PyPy hostedtoolcache folder exist..." + if [ ! -d $PYPY_TOOLCACHE_PATH ]; then + mkdir -p $PYPY_TOOLCACHE_PATH + fi + + echo "Create PyPy '$PYPY_TOOLCACHE_VERSION_PATH' folder" + mkdir $PYPY_TOOLCACHE_VERSION_PATH + + echo "Move PyPy '$PACKAGE_TEMP_FOLDER' binaries to '$PYPY_TOOLCACHE_VERSION_ARCH_PATH' folder" + mv $PACKAGE_TEMP_FOLDER $PYPY_TOOLCACHE_VERSION_ARCH_PATH + + echo "Create additional symlinks (Required for UsePythonVersion Azure DevOps task)" + cd $PYPY_TOOLCACHE_VERSION_ARCH_PATH/bin + ln -s $PYPY_MAJOR $PYTHON_MAJOR + ln -s $PYTHON_MAJOR python + + chmod +x ./python ./$PYTHON_MAJOR + + echo "Install latest Pip" + ./python -m ensurepip + ./python -m pip install --ignore-installed pip + + echo "Create complete file" + touch $PYPY_TOOLCACHE_VERSION_PATH/x64.complete + + echo "Remove '$PACKAGE_TAR_TEMP_PATH'" + rm -f $PACKAGE_TAR_TEMP_PATH +} + +# Installation PyPy +uri="https://downloads.python.org/pypy/" +download_with_retries $uri "/tmp" "pypyUrls.html" compressed +pypyVersions="$(cat /tmp/pypyUrls.html | grep 'linux64' | awk -v uri="$uri" -F'>|<' '{print uri$5}')" + +toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json" +toolsetVersions=$(cat $toolsetJson | jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]') + +# Fail out if any setups fail +set -e + +for toolsetVersion in $toolsetVersions; do + latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1) + + if [[ -z "$latestMajorPyPyVersion" ]]; then + echo "Failed to get PyPy version '$toolsetVersion'" + exit 1 + fi + + InstallPyPy $latestMajorPyPyVersion +done + chown -R "$SUDO_USER:$SUDO_USER" "$AGENT_TOOLSDIRECTORY/PyPy" \ No newline at end of file diff --git a/images/linux/scripts/installers/zeit-vercel.sh b/images/linux/scripts/installers/vercel.sh similarity index 65% rename from images/linux/scripts/installers/zeit-vercel.sh rename to images/linux/scripts/installers/vercel.sh index 8f5c22e4..13fb3915 100644 --- a/images/linux/scripts/installers/zeit-vercel.sh +++ b/images/linux/scripts/installers/vercel.sh @@ -1,31 +1,31 @@ #!/bin/bash ################################################################################ -## File: zeit-now.sh -## Desc: Installs the Zeit Now CLI +## File: vercel.sh +## Desc: Installs the Vercel CLI ################################################################################ # Source the helpers for use with the script source $HELPER_SCRIPTS/document.sh -# Install the Zeit Vercel CLI +# Install the Vercel CLI npm i -g vercel # Validate the installation echo "Validate the installation" if ! command -v vercel; then - echo "Zeit Vercel CLI was not installed" + echo "Vercel CLI was not installed" exit 1 fi -echo "Creating the symlink now to vercel" +echo "Creating the symlink for [now] command to vercel CLI" ln -s /usr/local/bin/vercel /usr/local/bin/now echo "Validate the link" if ! command -v now; then - echo "Now link to Zeit Vercel CLI was not created" + echo "[Now] symlink to Vercel CLI was not created" exit 1 fi # Document the installed version echo "Document the installed version" -DocumentInstalledItem "Zeit Vercel CLI ($(vercel --version))" +DocumentInstalledItem "Vercel CLI ($(vercel --version))" diff --git a/images/linux/toolset-1804.json b/images/linux/toolset-1804.json deleted file mode 100644 index ecb72b2b..00000000 --- a/images/linux/toolset-1804.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "toolcache": [ - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json", - "platform" : "linux", - "platform_version": "18.04", - "arch": "x64", - "versions": [ - "2.7.*", - "3.5.*", - "3.6.*", - "3.7.*", - "3.8.*" - ] - }, - { - "name": "PyPy", - "arch": "x64", - "platform" : "linux", - "versions": [ - "2.7", - "3.6" - ] - }, - { - "name": "node", - "url" : "https://raw.githubusercontent.com/actions/node-versions/master/versions-manifest.json", - "platform" : "linux", - "arch": "x64", - "versions": [ - "8.*", - "10.*", - "12.*", - "14.*" - ] - } - ] -} \ No newline at end of file diff --git a/images/linux/toolcache-1604.json b/images/linux/toolsets/toolcache-1604.json similarity index 53% rename from images/linux/toolcache-1604.json rename to images/linux/toolsets/toolcache-1604.json index e3c9f93e..5c1d3c9a 100644 --- a/images/linux/toolcache-1604.json +++ b/images/linux/toolsets/toolcache-1604.json @@ -1,8 +1,5 @@ { "@actions/toolcache-ruby-ubuntu-1604-x64": [ "2.4", "2.5", "2.6", "2.7" - ], - "@actions/toolcache-boost-ubuntu-1604-x64": [ - "1.69", "1.72" ] } \ No newline at end of file diff --git a/images/linux/toolcache-1804.json b/images/linux/toolsets/toolcache-1804.json similarity index 53% rename from images/linux/toolcache-1804.json rename to images/linux/toolsets/toolcache-1804.json index f7d9957e..2f4deeba 100644 --- a/images/linux/toolcache-1804.json +++ b/images/linux/toolsets/toolcache-1804.json @@ -1,8 +1,5 @@ { "@actions/toolcache-ruby-ubuntu-1804-x64": [ "2.4", "2.5", "2.6", "2.7" - ], - "@actions/toolcache-boost-ubuntu-1804-x64": [ - "1.69", "1.72" ] } \ No newline at end of file diff --git a/images/linux/toolsets/toolcache-2004.json b/images/linux/toolsets/toolcache-2004.json new file mode 100644 index 00000000..1084fa7c --- /dev/null +++ b/images/linux/toolsets/toolcache-2004.json @@ -0,0 +1,5 @@ +{ + "@actions/toolcache-ruby-ubuntu-2004-x64": [ + "2.5", "2.6", "2.7" + ] +} diff --git a/images/linux/toolsets/toolset-1604.json b/images/linux/toolsets/toolset-1604.json new file mode 100644 index 00000000..c7d12753 --- /dev/null +++ b/images/linux/toolsets/toolset-1604.json @@ -0,0 +1,79 @@ +{ + "toolcache": [ + { + "name": "Python", + "url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json", + "platform" : "linux", + "platform_version": "16.04", + "arch": "x64", + "versions": [ + "2.7.*", + "3.5.*", + "3.6.*", + "3.7.*", + "3.8.*" + ] + }, + { + "name": "PyPy", + "arch": "x64", + "platform" : "linux", + "versions": [ + "2.7", + "3.6" + ] + }, + { + "name": "node", + "url" : "https://raw.githubusercontent.com/actions/node-versions/master/versions-manifest.json", + "platform" : "linux", + "arch": "x64", + "versions": [ + "8.*", + "10.*", + "12.*", + "14.*" + ] + }, + { + "name": "go", + "url" : "https://raw.githubusercontent.com/actions/go-versions/master/versions-manifest.json", + "arch": "x64", + "platform" : "linux", + "versions": [ + "1.11.*", + "1.12.*", + "1.13.*", + "1.14.*" + ], + "default": "1.14.*" + }, + { + "name": "boost", + "url" : "https://raw.githubusercontent.com/actions/boost-versions/master/versions-manifest.json", + "platform" : "linux", + "platform_version": "16.04", + "arch": "x64", + "versions": [ + "1.69.0", + "1.72.0" + ] + } + ], + "azureModules": [ + { + "name": "az", + "versions": [ + "1.0.0", + "1.6.0", + "2.3.2", + "2.6.0", + "2.8.0", + "3.1.0", + "3.5.0", + "3.8.0", + "4.3.0" + ] + } + ] +} \ No newline at end of file diff --git a/images/linux/toolsets/toolset-1804.json b/images/linux/toolsets/toolset-1804.json new file mode 100644 index 00000000..8f6d5cc1 --- /dev/null +++ b/images/linux/toolsets/toolset-1804.json @@ -0,0 +1,79 @@ +{ + "toolcache": [ + { + "name": "Python", + "url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json", + "platform" : "linux", + "platform_version": "18.04", + "arch": "x64", + "versions": [ + "2.7.*", + "3.5.*", + "3.6.*", + "3.7.*", + "3.8.*" + ] + }, + { + "name": "PyPy", + "arch": "x64", + "platform" : "linux", + "versions": [ + "2.7", + "3.6" + ] + }, + { + "name": "node", + "url" : "https://raw.githubusercontent.com/actions/node-versions/master/versions-manifest.json", + "platform" : "linux", + "arch": "x64", + "versions": [ + "8.*", + "10.*", + "12.*", + "14.*" + ] + }, + { + "name": "go", + "url" : "https://raw.githubusercontent.com/actions/go-versions/master/versions-manifest.json", + "arch": "x64", + "platform" : "linux", + "versions": [ + "1.11.*", + "1.12.*", + "1.13.*", + "1.14.*" + ], + "default": "1.14.*" + }, + { + "name": "boost", + "url" : "https://raw.githubusercontent.com/actions/boost-versions/master/versions-manifest.json", + "platform" : "linux", + "platform_version": "18.04", + "arch": "x64", + "versions": [ + "1.69.0", + "1.72.0" + ] + } + ], + "azureModules": [ + { + "name": "az", + "versions": [ + "1.0.0", + "1.6.0", + "2.3.2", + "2.6.0", + "2.8.0", + "3.1.0", + "3.5.0", + "3.8.0", + "4.3.0" + ] + } + ] +} \ No newline at end of file diff --git a/images/linux/toolset-1604.json b/images/linux/toolsets/toolset-2004.json similarity index 73% rename from images/linux/toolset-1604.json rename to images/linux/toolsets/toolset-2004.json index 577e69ff..c4f53b12 100644 --- a/images/linux/toolset-1604.json +++ b/images/linux/toolsets/toolset-2004.json @@ -4,7 +4,7 @@ "name": "Python", "url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json", "platform" : "linux", - "platform_version": "16.04", + "platform_version": "20.04", "arch": "x64", "versions": [ "2.7.*", @@ -34,6 +34,16 @@ "12.*", "14.*" ] + }, + { + "name": "go", + "url" : "https://raw.githubusercontent.com/actions/go-versions/master/versions-manifest.json", + "arch": "x64", + "platform" : "linux", + "versions": [ + "1.14.*" + ], + "default": "1.14.*" } ] } \ No newline at end of file diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index 1f92e349..9e7fc71f 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -24,9 +24,7 @@ "image_version": "dev", "image_os": "ubuntu16", "github_feed_token": null, - "run_validation_diskspace": "false", - "go_default": "1.14", - "go_versions": "1.11 1.12 1.13 1.14" + "run_validation_diskspace": "false" }, "sensitive-variables": ["client_secret", "github_feed_token"], "builders": [ @@ -75,18 +73,12 @@ }, { "type": "shell", - "inline": [ - "apt-get update", - "apt-get dist-upgrade -y", - "systemctl disable apt-daily.service", - "systemctl disable apt-daily.timer", - "systemctl disable apt-daily-upgrade.timer", - "systemctl disable apt-daily-upgrade.service", - "echo '* soft nofile 65536 \n* hard nofile 65536' >> /etc/security/limits.conf", - "echo 'session required pam_limits.so' >> /etc/pam.d/common-session", - "echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive", - "echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf" - ], + "script": "{{template_dir}}/scripts/base/apt.sh", + "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "script": "{{template_dir}}/scripts/base/limits.sh", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { @@ -143,36 +135,6 @@ ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/homebrew.sh" - ], - "environment_vars": [ - "METADATA_FILE={{user `metadata_file`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "DEBIAN_FRONTEND=noninteractive" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "expect_disconnect": true, - "scripts": [ - "{{template_dir}}/scripts/base/reboot.sh" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "pause_before": "30s", - "timeout": "10m", - "start_retry_timeout": "10s", - "scripts": [ - "{{template_dir}}/scripts/installers/homebrew-validate.sh" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, { "type": "shell", "scripts": [ @@ -230,7 +192,7 @@ "{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/packer.sh", "{{template_dir}}/scripts/installers/vcpkg.sh", - "{{template_dir}}/scripts/installers/zeit-vercel.sh", + "{{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" @@ -242,26 +204,14 @@ ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/aws-sam-cli.sh" - ], - "environment_vars": [ - "METADATA_FILE={{user `metadata_file`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "DEBIAN_FRONTEND=noninteractive" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, { "type": "file", - "source": "{{template_dir}}/toolcache-1604.json", + "source": "{{template_dir}}/toolsets/toolcache-1604.json", "destination": "{{user `installer_script_folder`}}/toolcache.json" }, { "type": "file", - "source": "{{template_dir}}/toolset-1604.json", + "source": "{{template_dir}}/toolsets/toolset-1604.json", "destination": "{{user `installer_script_folder`}}/toolset.json" }, { @@ -283,23 +233,11 @@ ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/go.sh" - ], - "environment_vars": [ - "METADATA_FILE={{user `metadata_file`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "GO_VERSIONS={{user `go_versions`}}", - "GO_DEFAULT={{user `go_default`}}" - ], - "execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}" - }, { "type": "shell", "scripts":[ "{{template_dir}}/scripts/installers/Install-Toolset.ps1", + "{{template_dir}}/scripts/installers/Configure-Toolset.ps1", "{{template_dir}}/scripts/installers/Validate-Toolset.ps1" ], "environment_vars": [ @@ -311,15 +249,44 @@ }, { "type": "shell", - "scripts":[ - "{{template_dir}}/scripts/installers/boost.sh" + "scripts": [ + "{{template_dir}}/scripts/installers/aws-sam-cli.sh" + ], + "environment_vars": [ + "METADATA_FILE={{user `metadata_file`}}", + "HELPER_SCRIPTS={{user `helper_script_folder`}}" + ], + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "scripts": [ + "{{template_dir}}/scripts/installers/homebrew.sh" ], "environment_vars": [ "METADATA_FILE={{user `metadata_file`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" + "DEBIAN_FRONTEND=noninteractive" ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "expect_disconnect": true, + "scripts": [ + "{{template_dir}}/scripts/base/reboot.sh" + ], + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "pause_before": "30s", + "timeout": "10m", + "start_retry_timeout": "10s", + "scripts": [ + "{{template_dir}}/scripts/installers/homebrew-validate.sh" + ], + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 5a33bf26..15b0b368 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -24,9 +24,7 @@ "image_version": "dev", "image_os": "ubuntu18", "github_feed_token": null, - "run_validation_diskspace": "false", - "go_default": "1.14", - "go_versions": "1.11 1.12 1.13 1.14" + "run_validation_diskspace": "false" }, "sensitive-variables": ["client_secret", "github_feed_token"], "builders": [ @@ -78,18 +76,12 @@ }, { "type": "shell", - "inline": [ - "apt-get update", - "apt-get dist-upgrade -y", - "systemctl disable apt-daily.service", - "systemctl disable apt-daily.timer", - "systemctl disable apt-daily-upgrade.timer", - "systemctl disable apt-daily-upgrade.service", - "echo '* soft nofile 65536 \n* hard nofile 65536' >> /etc/security/limits.conf", - "echo 'session required pam_limits.so' >> /etc/pam.d/common-session", - "echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive", - "echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf" - ], + "script": "{{template_dir}}/scripts/base/apt.sh", + "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "script": "{{template_dir}}/scripts/base/limits.sh", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { @@ -146,36 +138,6 @@ ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/homebrew.sh" - ], - "environment_vars": [ - "METADATA_FILE={{user `metadata_file`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "DEBIAN_FRONTEND=noninteractive" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "expect_disconnect": true, - "scripts": [ - "{{template_dir}}/scripts/base/reboot.sh" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "pause_before": "30s", - "timeout": "10m", - "start_retry_timeout": "10s", - "scripts": [ - "{{template_dir}}/scripts/installers/homebrew-validate.sh" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, { "type": "shell", "scripts": [ @@ -191,7 +153,7 @@ "{{template_dir}}/scripts/installers/clang.sh", "{{template_dir}}/scripts/installers/swift.sh", "{{template_dir}}/scripts/installers/cmake.sh", - "{{template_dir}}/scripts/installers/1804/containers.sh", + "{{template_dir}}/scripts/installers/containers.sh", "{{template_dir}}/scripts/installers/docker-compose.sh", "{{template_dir}}/scripts/installers/docker-moby.sh", "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh", @@ -234,7 +196,7 @@ "{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/packer.sh", "{{template_dir}}/scripts/installers/vcpkg.sh", - "{{template_dir}}/scripts/installers/zeit-vercel.sh", + "{{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" @@ -246,26 +208,14 @@ ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/aws-sam-cli.sh" - ], - "environment_vars": [ - "METADATA_FILE={{user `metadata_file`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "DEBIAN_FRONTEND=noninteractive" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, { "type": "file", - "source": "{{template_dir}}/toolcache-1804.json", + "source": "{{template_dir}}/toolsets/toolcache-1804.json", "destination": "{{user `installer_script_folder`}}/toolcache.json" }, { "type": "file", - "source": "{{template_dir}}/toolset-1804.json", + "source": "{{template_dir}}/toolsets/toolset-1804.json", "destination": "{{user `installer_script_folder`}}/toolset.json" }, { @@ -287,23 +237,11 @@ ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/go.sh" - ], - "environment_vars": [ - "METADATA_FILE={{user `metadata_file`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "GO_VERSIONS={{user `go_versions`}}", - "GO_DEFAULT={{user `go_default`}}" - ], - "execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}" - }, { "type": "shell", "scripts":[ "{{template_dir}}/scripts/installers/Install-Toolset.ps1", + "{{template_dir}}/scripts/installers/Configure-Toolset.ps1", "{{template_dir}}/scripts/installers/Validate-Toolset.ps1" ], "environment_vars": [ @@ -315,15 +253,44 @@ }, { "type": "shell", - "scripts":[ - "{{template_dir}}/scripts/installers/boost.sh" + "scripts": [ + "{{template_dir}}/scripts/installers/aws-sam-cli.sh" + ], + "environment_vars": [ + "METADATA_FILE={{user `metadata_file`}}", + "HELPER_SCRIPTS={{user `helper_script_folder`}}" + ], + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "scripts": [ + "{{template_dir}}/scripts/installers/homebrew.sh" ], "environment_vars": [ "METADATA_FILE={{user `metadata_file`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" + "DEBIAN_FRONTEND=noninteractive" ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "expect_disconnect": true, + "scripts": [ + "{{template_dir}}/scripts/base/reboot.sh" + ], + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "pause_before": "30s", + "timeout": "10m", + "start_retry_timeout": "10s", + "scripts": [ + "{{template_dir}}/scripts/installers/homebrew-validate.sh" + ], + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index 7a07b3e6..ea6c5a76 100644 --- a/images/linux/ubuntu2004.json +++ b/images/linux/ubuntu2004.json @@ -78,18 +78,12 @@ }, { "type": "shell", - "inline": [ - "apt-get update", - "apt-get dist-upgrade -y", - "systemctl disable apt-daily.service", - "systemctl disable apt-daily.timer", - "systemctl disable apt-daily-upgrade.timer", - "systemctl disable apt-daily-upgrade.service", - "echo '* soft nofile 65536 \n* hard nofile 65536' >> /etc/security/limits.conf", - "echo 'session required pam_limits.so' >> /etc/pam.d/common-session", - "echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive", - "echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf" - ], + "script": "{{template_dir}}/scripts/base/apt.sh", + "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "script": "{{template_dir}}/scripts/base/limits.sh", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { @@ -146,36 +140,6 @@ ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/homebrew.sh" - ], - "environment_vars": [ - "METADATA_FILE={{user `metadata_file`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "DEBIAN_FRONTEND=noninteractive" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "expect_disconnect": true, - "scripts": [ - "{{template_dir}}/scripts/base/reboot.sh" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "pause_before": "30s", - "timeout": "10m", - "start_retry_timeout": "10s", - "scripts": [ - "{{template_dir}}/scripts/installers/homebrew-validate.sh" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, { "type": "shell", "scripts": [ @@ -191,14 +155,16 @@ "{{template_dir}}/scripts/installers/clang.sh", "{{template_dir}}/scripts/installers/swift.sh", "{{template_dir}}/scripts/installers/cmake.sh", - "{{template_dir}}/scripts/installers/2004/containers.sh", + "{{template_dir}}/scripts/installers/containers.sh", "{{template_dir}}/scripts/installers/docker-compose.sh", + "{{template_dir}}/scripts/installers/docker-moby.sh", "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh", "{{template_dir}}/scripts/installers/erlang.sh", "{{template_dir}}/scripts/installers/firefox.sh", "{{template_dir}}/scripts/installers/gcc.sh", "{{template_dir}}/scripts/installers/gfortran.sh", "{{template_dir}}/scripts/installers/git.sh", + "{{template_dir}}/scripts/installers/github-cli.sh", "{{template_dir}}/scripts/installers/google-chrome.sh", "{{template_dir}}/scripts/installers/google-cloud-sdk.sh", "{{template_dir}}/scripts/installers/haskell.sh", @@ -225,13 +191,14 @@ "{{template_dir}}/scripts/installers/ruby.sh", "{{template_dir}}/scripts/installers/rust.sh", "{{template_dir}}/scripts/installers/julia.sh", + "{{template_dir}}/scripts/installers/sbt.sh", "{{template_dir}}/scripts/installers/selenium.sh", "{{template_dir}}/scripts/installers/sphinx.sh", "{{template_dir}}/scripts/installers/subversion.sh", "{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/packer.sh", "{{template_dir}}/scripts/installers/vcpkg.sh", - "{{template_dir}}/scripts/installers/zeit-vercel.sh", + "{{template_dir}}/scripts/installers/vercel.sh", "{{template_dir}}/scripts/installers/dpkg-config.sh", "{{template_dir}}/scripts/installers/rndgenerator.sh" ], @@ -242,11 +209,65 @@ ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, + { + "type": "file", + "source": "{{template_dir}}/toolsets/toolcache-2004.json", + "destination": "{{user `installer_script_folder`}}/toolcache.json" + }, + { + "type": "file", + "source": "{{template_dir}}/toolsets/toolset-2004.json", + "destination": "{{user `installer_script_folder`}}/toolset.json" + }, + { + "type": "shell", + "scripts":[ + "{{template_dir}}/scripts/installers/2004/android.sh", + "{{template_dir}}/scripts/installers/azpowershell.sh", + "{{template_dir}}/scripts/helpers/containercache.sh", + "{{template_dir}}/scripts/installers/hosted-tool-cache.sh", + "{{template_dir}}/scripts/installers/pypy.sh", + "{{template_dir}}/scripts/installers/python.sh", + "{{template_dir}}/scripts/installers/test-toolcache.sh" + ], + "environment_vars": [ + "METADATA_FILE={{user `metadata_file`}}", + "HELPER_SCRIPTS={{user `helper_script_folder`}}", + "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}", + "GITHUB_FEED_TOKEN={{user `github_feed_token`}}" + ], + "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "scripts":[ + "{{template_dir}}/scripts/installers/Install-Toolset.ps1", + "{{template_dir}}/scripts/installers/Configure-Toolset.ps1", + "{{template_dir}}/scripts/installers/Validate-Toolset.ps1" + ], + "environment_vars": [ + "METADATA_FILE={{user `metadata_file`}}", + "HELPER_SCRIPTS={{user `helper_script_folder`}}", + "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" + ], + "execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'" + }, { "type": "shell", "scripts": [ "{{template_dir}}/scripts/installers/aws-sam-cli.sh" ], + "environment_vars": [ + "METADATA_FILE={{user `metadata_file`}}", + "HELPER_SCRIPTS={{user `helper_script_folder`}}" + ], + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" + }, + { + "type": "shell", + "scripts": [ + "{{template_dir}}/scripts/installers/homebrew.sh" + ], "environment_vars": [ "METADATA_FILE={{user `metadata_file`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}", @@ -256,31 +277,21 @@ }, { "type": "shell", + "expect_disconnect": true, "scripts": [ - "{{template_dir}}/scripts/installers/go.sh" + "{{template_dir}}/scripts/base/reboot.sh" ], - "environment_vars": [ - "METADATA_FILE={{user `metadata_file`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "GO_VERSIONS={{user `go_versions`}}", - "GO_DEFAULT={{user `go_default`}}" - ], - "execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}" + "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", - "scripts":[ - "{{template_dir}}/scripts/installers/2004/android.sh", - "{{template_dir}}/scripts/installers/azpowershell.sh", - "{{template_dir}}/scripts/installers/python.sh" + "pause_before": "30s", + "timeout": "10m", + "start_retry_timeout": "10s", + "scripts": [ + "{{template_dir}}/scripts/installers/homebrew-validate.sh" ], - "environment_vars": [ - "METADATA_FILE={{user `metadata_file`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}", - "GITHUB_FEED_TOKEN={{user `github_feed_token`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" + "execute_command": "/bin/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 5562427c..6936556d 100644 --- a/images/macos/macos-10.15-Readme.md +++ b/images/macos/macos-10.15-Readme.md @@ -1,64 +1,64 @@ # macOS info -- System Version: macOS 10.15.4 (19E287) -- Kernel Version: Darwin 19.4.0 +- System Version: macOS 10.15.5 (19F101) +- Kernel Version: Darwin 19.5.0 - System Integrity Protection: Enabled -- Image Version: 20200518.2 +- Image Version: 20200625.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: (Zulu 8.46.0.19-CA-macosx) (build 1.8.0_252-b14) (default) -- Java 11: Zulu11.39+15-CA (build 11.0.7+10-LTS) -- Java 12: Zulu12.3+11-CA (build 12.0.2+3) -- Java 13: Zulu13.31+11-CA (build 13.0.3+3-MTS) -- Java 14: Zulu14.28+21-CA (build 14.0.1+8) -- Rust 1.43.1 +- Java 1.8: (AdoptOpenJDK)(build 1.8.0_252-b09) (default) +- Java 11: AdoptOpenJDK (build 11.0.7+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 - Clang/LLVM 10.0.0 - gcc-8 (Homebrew GCC 8.4.0_1) 8.4.0 - gcc-9 (Homebrew GCC 9.3.0_1) 9.3.0 - GNU Fortran (Homebrew GCC 8.4.0_1) 8.4.0 - GNU Fortran (Homebrew GCC 9.3.0_1) 9.3.0 -- Node.js v12.16.3 +- Node.js v12.18.1 - NVM 0.35.3 -- NVM - Cached node versions: v6.17.1 v8.17.0 v10.20.1 v12.16.3 v13.14.0 v14.2.0 -- PowerShell 7.0.1 +- NVM - Cached node versions: v6.17.1 v8.17.0 v10.21.0 v12.18.1 v13.14.0 v14.4.0 +- PowerShell 7.0.2 - Python 2.7.17 - Python 3.7.7 - Ruby 2.6.6p146 -- .NET SDK 2.0.0 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.202 -- Go 1.14.3 -- PHP 7.4.6 -- julia 1.4.1 +- .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 +- julia 1.4.2 ### Package Management - Rustup 1.21.1 - Vcpkg 2020.02.04 - Bundler version 2.1.4 -- Carthage 0.34.0 -- CocoaPods 1.9.1 -- Homebrew 2.2.17 -- NPM 6.14.4 +- Carthage 0.35.0 +- CocoaPods 1.9.3 +- Homebrew 2.4.2 +- NPM 6.14.5 - Yarn 1.22.4 -- NuGet 5.5.0.6382 +- NuGet 5.6.0.6489 - Pip 19.3.1 (python 2.7) - Pip 20.0.2 (python 3.7) -- Miniconda 4.8.2 -- RubyGems 3.1.3 +- Miniconda 4.8.3 +- RubyGems 3.1.4 ### Project Management - Apache Maven 3.6.3 -- Gradle 6.4.1 +- Gradle 6.5 ### Utilities -- Curl 7.70.0 -- Git: 2.26.2 +- Curl 7.71.0 +- Git: 2.27.0 - Git LFS: 2.11.0 -- GitHub CLI: 0.8.0 +- GitHub CLI: 0.10.1 - Hub CLI: 2.14.2 - GNU Wget 1.20.3 -- Subversion (SVN) 1.13.0 -- Packer 1.5.6 -- GNU parallel 20200422 +- Subversion (SVN) 1.14.0 +- Packer 1.6.0 +- 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 @@ -66,35 +66,40 @@ - PostgreSQL 12.3 - aria2 1.35.0 - azcopy 10.4.3 -- zstd 1.4.4 -- bazel 3.1.0 -- bazelisk v1.4.0 -- helm v3.2.1+gfe51cd1 -- virtualbox 6.1.8r137981 -- mongo v4.2.6 -- mongod v4.2.6 +- zstd 1.4.5 +- bazel 3.3.0 +- bazelisk v1.5.0 +- helm v3.2.4+g0ad800e +- virtualbox 6.1.10r138449 +- mongo v4.2.8 +- mongod v4.2.8 - Vagrant 2.2.9 +- 7-Zip 16.02 ### Tools -- Fastlane 2.148.1 -- Cmake 3.17.2 -- App Center CLI 2.5.2 -- Azure CLI 2.5.1 -- AWS CLI 2.0.10 -- AWS SAM CLI 0.49.0 -- Aliyun CLI 3.0.42 +- Fastlane 2.149.1 +- Cmake 3.17.3 +- App Center CLI 2.6.0 +- Azure CLI 2.8.0 +- AWS CLI 2.0.25 +- AWS SAM CLI 0.53.0 +- Aliyun CLI 3.0.48 +- GHCup v0.1.5-p2 +- GHC 8.10.1 +- Cabal 3.2.0.0 +- Stack 2.3.1 ### Browsers -- Safari 13.1 (15609.1.20.111.8) -- SafariDriver 13.1 (15609.1.20.111.8) -- Google Chrome 81.0.4044.138 -- ChromeDriver 81.0.4044.138 -- Microsoft Edge 81.0.416.72 -- MSEdgeDriver 81.0.416.72 -- Mozilla Firefox 76.0.1 +- 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.56 +- MSEdgeDriver 83.0.478.56 +- Mozilla Firefox 77.0.1 - geckodriver 0.26.0 -### Toolcache +### Cached Tools #### Ruby - 2.4.10 - 2.5.8 @@ -109,19 +114,33 @@ - 3.8.3 #### PyPy -- 2.7.17 -- 3.6.9 +- 2.7.13 [PyPy 7.3.1] +- 3.6.9 [PyPy 7.3.1] + +#### Node.js +- 8.17.0 +- 10.21.0 +- 12.18.1 +- 14.4.0 + +#### Go +- 1.11.13 +- 1.12.17 +- 1.13.12 +- 1.14.4 ### Xamarin #### Visual Studio for Mac -- 8.5.5.7 +- 8.6.5.23 #### Mono +- 6.10.0.104 - 6.8.0.123 - 6.6.0.166 - 6.4.0.208 #### Xamarin.iOS +- 13.18.2.1 - 13.16.0.13 - 13.14.1.39 - 13.10.0.21 @@ -131,6 +150,7 @@ - 13.2.0.47 #### Xamarin.Mac +- 6.18.2.1 - 6.16.0.13 - 6.14.1.39 - 6.10.0.21 @@ -140,6 +160,7 @@ - 6.2.0.47 #### Xamarin.Android +- 10.3.1 - 10.2.0 - 10.1.3 - 10.0.6 @@ -148,78 +169,94 @@ - NUnit 3.6.1 ### Xcode -| Version | Build | Path | -| ---------------- | ------- | ------------------------------ | -| 11.5 | 11E608c | /Applications/Xcode_11.5.app | -| 11.4.1 (default) | 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) | 12A6159 | /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 | #### Xcode Support Tools -- Nomad CLI 3.1.3 +- Nomad CLI 3.1.4 - Nomad CLI IPA ipa 0.14.3 - xcpretty 0.3.0 - xctool 0.3.7 -- xcversion 2.6.4 +- xcversion 2.6.6 #### Installed SDKs -| SDK | SDK Name | Xcode Version | -| ----------------------- | -------------------- | ---------------------------------------------- | -| macOS 10.14 | macosx10.14 | 10.3 | -| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5 | -| iOS 12.4 | iphoneos12.4 | 10.3 | -| iOS 13.0 | iphoneos13.0 | 11.0 | -| iOS 13.1 | iphoneos13.1 | 11.1 | -| iOS 13.2 | iphoneos13.2 | 11.2.1, 11.3.1 | -| iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 | -| iOS 13.5 | iphoneos13.5 | 11.5 | -| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 | -| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 | -| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 | -| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2.1, 11.3.1 | -| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 | -| Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 | -| tvOS 12.4 | appletvos12.4 | 10.3 | -| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 | -| tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.1 | -| tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5 | -| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 | -| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 | -| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2.1, 11.3.1 | -| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5 | -| watchOS 5.3 | watchos5.3 | 10.3 | -| watchOS 6.0 | watchos6.0 | 11.0, 11.1 | -| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.1 | -| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5 | -| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 | -| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 | -| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2.1, 11.3.1 | -| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5 | -| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5 | +| SDK | SDK Name | Xcode Version | +| ----------------------- | -------------------- | ---------------------------------------------------- | +| macOS 10.14 | macosx10.14 | 10.3 | +| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6 | +| macOS 10.16 | macosx10.16 | 12.0 | +| iOS 12.4 | iphoneos12.4 | 10.3 | +| iOS 13.0 | iphoneos13.0 | 11.0 | +| iOS 13.1 | iphoneos13.1 | 11.1 | +| iOS 13.2 | iphoneos13.2 | 11.2.1, 11.3.1 | +| iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 | +| iOS 13.5 | iphoneos13.5 | 11.5 | +| iOS 13.6 | iphoneos13.6 | 11.6 | +| iOS 14.0 | iphoneos14.0 | 12.0 | +| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 | +| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 | +| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 | +| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2.1, 11.3.1 | +| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 | +| Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 | +| Simulator - iOS 13.6 | iphonesimulator13.6 | 11.6 | +| Simulator - iOS 14.0 | iphonesimulator14.0 | 12.0 | +| tvOS 12.4 | appletvos12.4 | 10.3 | +| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 | +| tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.1 | +| tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5, 11.6 | +| tvOS 14.0 | appletvos14.0 | 12.0 | +| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 | +| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 | +| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2.1, 11.3.1 | +| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5, 11.6 | +| Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.0 | +| watchOS 5.3 | watchos5.3 | 10.3 | +| watchOS 6.0 | watchos6.0 | 11.0, 11.1 | +| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.1 | +| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5, 11.6 | +| watchOS 7.0 | watchos7.0 | 12.0 | +| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 | +| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 | +| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2.1, 11.3.1 | +| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5, 11.6 | +| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.0 | +| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6 | +| DriverKit 20.0 | driverkit.macosx20.0 | 12.0 | #### Installed Simulators -| OS | Xcode Version | Simulators | -| ----------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| iOS 12.4 | 10.3 | iPhone 5s
iPhone 6 Plus
iPhone 6
iPhone 6s
iPhone 6s Plus
iPhone SE
iPhone 7
iPhone 7 Plus
iPhone 8
iPhone 8 Plus
iPhone X
iPhone Xs
iPhone Xs Max
iPhone XÊ€
iPad Air
iPad Air 2
iPad Pro (9.7-inch)
iPad Pro (12.9-inch)
iPad (5th generation)
iPad Pro (12.9-inch) (2nd generation)
iPad Pro (10.5-inch)
iPad (6th generation)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) | -| iOS 13.0 | 11.0 | 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.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
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) | -| tvOS 12.4 | 10.3 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| tvOS 13.0 | 11.0
11.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| tvOS 13.2 | 11.2.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| tvOS 13.3 | 11.3.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| tvOS 13.4 | 11.4
11.4.1
11.5 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | -| watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm
Apple Watch Series 2 - 42mm
Apple Watch Series 3 - 38mm
Apple Watch Series 3 - 42mm
Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm | -| watchOS 6.0 | 11.0
11.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | -| watchOS 6.1 | 11.2.1
11.3.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | -| watchOS 6.2 | 11.4
11.4.1
11.5 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | +| OS | Xcode Version | Simulators | +| ----------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| iOS 12.4 | 10.3 | iPhone 5s
iPhone 6 Plus
iPhone 6
iPhone 6s
iPhone 6s Plus
iPhone SE
iPhone 7
iPhone 7 Plus
iPhone 8
iPhone 8 Plus
iPhone X
iPhone Xs
iPhone Xs Max
iPhone XÊ€
iPad Air
iPad Air 2
iPad Pro (9.7-inch)
iPad Pro (12.9-inch)
iPad (5th generation)
iPad Pro (12.9-inch) (2nd generation)
iPad Pro (10.5-inch)
iPad (6th generation)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) | +| iOS 13.0 | 11.0 | 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.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.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) | +| tvOS 12.4 | 10.3 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 13.0 | 11.0
11.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 13.2 | 11.2.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 13.3 | 11.3.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 13.4 | 11.4
11.4.1
11.5
11.6 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| tvOS 14.0 | 12.0 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) | +| watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm
Apple Watch Series 2 - 42mm
Apple Watch Series 3 - 38mm
Apple Watch Series 3 - 42mm
Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm | +| watchOS 6.0 | 11.0
11.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | +| watchOS 6.1 | 11.2.1
11.3.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | +| watchOS 6.2 | 11.4
11.4.1
11.5
11.6 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | +| watchOS 7.0 | 12.0 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm | ### Android #### Android SDK Tools @@ -230,7 +267,7 @@ #### Android SDK Platform-Tools | Package Name | Description | | -------------- | ------------------------------------------- | -| platform-tools | Android SDK Platform-Tools, Revision 30.0.1 | +| platform-tools | Android SDK Platform-Tools, Revision 30.0.3 | #### Android SDK Platforms | Package Name | Description | @@ -241,42 +278,43 @@ | 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 SDK Build-Tools -| Package Name | Description | -| ---------------------- | -------------------------------------------- | -| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 | -| build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 | -| build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 | -| build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 | -| build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 | -| build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 | -| build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 | -| build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 | -| build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 | -| build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 | -| build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 | -| build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 | -| build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 | -| build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 | -| build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 | -| build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 | -| build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 | -| build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 | -| build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 | -| build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 | -| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 | -| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 | -| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 | -| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 | -| build-tools-30.0.0-rc4 | Android SDK Build-Tools, Revision 30.0.0 rc4 | +| Package Name | Description | +| ------------------ | ---------------------------------------- | +| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 | +| build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 | +| build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 | +| build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 | +| build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 | +| build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 | +| build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 | +| build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 | +| build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 | +| build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 | +| build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 | +| build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 | +| build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 | +| build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 | +| build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 | +| build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 | +| build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 | +| build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 | +| build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 | +| build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 | +| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 | +| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 | +| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 | +| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 | +| build-tools-30.0.0 | Android SDK Build-Tools, Revision 30.0.0 | #### Android NDKs | Version | Path | | ------------ | ------------------------------------------ | | 15.2.4203891 | $HOME/Library/Android/sdk/android-ndk-r15c | | 18.1.5063045 | $HOME/Library/Android/sdk/ndk/18.1.5063045 | -| 21.1.6352462 | $HOME/Library/Android/sdk/ndk-bundle | +| 21.3.6528147 | $HOME/Library/Android/sdk/ndk-bundle | #### Android Utils | Package Name | Version | diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 622909b0..05333241 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -24,15 +24,14 @@ "imagedata_file": "C:\\imagedata.json", "metadata_file": "C:\\image\\metadata.txt", "helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\", + "psmodules_root_folder": "C:\\Modules", "commit_url": "LATEST", "install_user": "installer", "install_password": null, "capture_name_prefix": "packer", "image_version": "dev", "image_os": "win16", - "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}", - "go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14", - "go_default": "1.14" + "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}" }, "sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"], "builders": [ @@ -193,6 +192,12 @@ "elevated_user": "{{user `install_user`}}", "elevated_password": "{{user `install_password`}}" }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-Nuget.ps1" + ] + }, { "type": "windows-restart", "restart_timeout": "30m" @@ -289,6 +294,12 @@ "{{ template_dir }}/scripts/Installers/Install-AzureDevOpsCli.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-AzCopy.ps1" + ] + }, { "type": "powershell", "scripts":[ @@ -327,12 +338,12 @@ }, { "type": "file", - "source": "{{template_dir}}/toolcache-2016.json", + "source": "{{template_dir}}/toolsets/toolcache-2016.json", "destination": "{{user `root_folder`}}/toolcache.json" }, { "type": "file", - "source": "{{template_dir}}/toolset-2016.json", + "source": "{{template_dir}}/toolsets/toolset-2016.json", "destination": "{{user `toolset_json_path`}}" }, { @@ -360,7 +371,8 @@ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" ], "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-Toolset.ps1" + "{{ template_dir }}/scripts/Installers/Install-Toolset.ps1", + "{{ template_dir }}/scripts/Installers/Configure-Toolset.ps1" ] }, { @@ -387,16 +399,6 @@ "{{ template_dir }}/scripts/Installers/Install-GitHub-CLI.ps1" ] }, - { - "type": "powershell", - "environment_vars": [ - "GO_VERSIONS={{user `go_versions`}}", - "GO_DEFAULT={{user `go_default`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-Go.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -543,18 +545,16 @@ "{{ template_dir }}/scripts/Installers/Install-DotnetSDK.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-WindowsUpdates.ps1" - ] - }, { "type": "windows-shell", "inline": ["wmic product where \"name like '%%microsoft azure powershell%%'\" call uninstall /nointeractive"] }, { "type": "powershell", + "environment_vars":[ + "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", + "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}" + ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-AzureModules.ps1" ] @@ -603,15 +603,6 @@ "{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1" ] }, - { - "type": "powershell", - "environment_vars": [ - "ROOT_FOLDER={{user `root_folder`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-Boost.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -678,12 +669,22 @@ "{{ template_dir }}/scripts/Installers/Install-MongoDB.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-GoogleCloudSDK.ps1" + ] + }, { "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" ] @@ -712,6 +713,12 @@ "{{ template_dir }}/scripts/Installers/Validate-AzureDevOpsCli.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Validate-AzCopy.ps1" + ] + }, { "type": "powershell", "scripts":[ @@ -760,25 +767,6 @@ "{{ template_dir }}/scripts/Installers/Validate-GitHub-CLI.ps1" ] }, - { - "type": "powershell", - "environment_vars": [ - "GO_VERSIONS={{user `go_versions`}}", - "GO_DEFAULT={{ user `go_default`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Go.ps1" - ] - }, - { - "type": "powershell", - "environment_vars": [ - "ROOT_FOLDER={{user `root_folder`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Boost.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -1007,12 +995,30 @@ "{{ template_dir }}/scripts/Installers/Validate-MongoDB.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Validate-GoogleCloudSDK.ps1" + ] + }, { "type": "powershell", "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-WindowsUpdates.ps1" + ], + "elevated_user": "{{user `install_user`}}", + "elevated_password": "{{user `install_password`}}" + }, + { + "type": "windows-restart", + "restart_timeout": "10m" + }, { "type": "powershell", "inline": [ diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md index ea7fbb5e..dc064100 100644 --- a/images/win/Windows2016-Readme.md +++ b/images/win/Windows2016-Readme.md @@ -1,928 +1,536 @@ - -# Windows Server 2016 - -The following software is installed on machines with the 20200517.1 update. - -Components marked with **\*** have been upgraded since the previous version of the image. +# Microsoft Windows Server 2016 Datacenter +- OS Version: 10.0.14393 Build 3750 +- Image Version: 20200628.0 - -## Chocolatey - -_Version:_ 0.10.15
-_Environment:_ -* PATH: contains location for choco.exe - -## Docker - -_Version:_ 19.03.5
-_Environment:_ -* PATH: contains location of docker.exe - -## Docker-compose - -_Version:_ 1.25.4
-_Environment:_ -* PATH: contains location of docker-compose.exe - -## Helm - -_Version:_ v3.2.1+gfe51cd1
-_Environment:_ -* PATH: contains location of helm - -## Powershell Core - -_Version:_ 7.0.1
- -## Docker images - -The following container images have been cached: -* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:f94f291d29e62d8569633b332d7e7697c7d9801475175d77a40676750452a0c4) -* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:e430d0477c99e480bd849ee22c0e3265c9c0ebcfc914cf90a05c47abedc3c82d) -* mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:6611aae4ad3de2eb6db8f9893dad4aa04282ec47e68a6e7161325e1de2cfe5eb) -* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c) -* mcr.microsoft.com/windows/nanoserver:10.0.14393.953 (Digest: sha256:fc60bd5ae0e61b334ce1cf1bcbf20c10c36b4c5482a01da319c9c989f9e6e268) - -## Visual Studio 2017 Enterprise - -_Version:_ VisualStudio/15.9.23+28307.1146
-_Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise - -The following workloads including required and recommended components are installed with Visual Studio 2017: - -* Universal Windows Platform development -* .NET desktop development -* Desktop development with C++ -* ASP.NET and web development -* Azure development -* Node.js development -* Data storage and processing -* Data science and analytical applications * -* Game development with Unity * -* Linux development with C++ * -* Game development with C++ * -* Mobile development with C++ * -* Office/SharePoint development -* Mobile development with .NET -* .NET Core cross-platform development -* Visual Studio extension development * -* Python development * -* Mobile development with JavaScript * - -In addition the following optional components are installed: +## Installed Software +### Language and Runtime +- Java 1.7.0_232 +- Java 1.8.0_252 (default) +- Java 11.0.7 +- Java 13.0.2 +- Rust 1.44.1 +- Python 3.7.7 +- Ruby 2.5.8p224 +- Go 1.14.4 +- PHP 7.4.7 +- Julia 1.4.2 +- Perl 5.30.2 +- PowerShell 7.0.2 +- Node 12.18.1 -* 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.PowerShell.Tools -* 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.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.Workload.Office -* Microsoft.VisualStudio.Workload.OfficeBuildTools - -## SQL Server Data Tools for VS 2017 - -_Version:_ 15.1.62002.1090
- -The following components are installed: - -* SQL Server Data Tools -* SQL Server Analysis Services Designer -* SQL Server Integration Services Designer -* SQL Server Reporting Services Designers - -## WIX Tools - -_Toolset Version:_ 3.11.4516
-_WIX Toolset Studio 2017 Extension Version:_ 0.9.21.62588
-_Environment:_ -* WIX: Installation root of WIX - -## .NET 4.8 - -_Version:_ 4.8.03761 -_Path:_ C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools - -## Windows Driver Kit - -_WDK Version:_ 10.1.17763.1
-_WDK Visual Studio Extension Version:_ 10.0.17740.0
- -## Azure Service Fabric - -_SDK Version:_ 4.1.409.9590
-_Runtime Version:_ 7.1.409.9590 - -## WinAppDriver - -_Version:_ 1.1.1809.18001
- -## AWS CLI - -_Version:_ aws-cli 2.0.14
- -## Android SDK Build Tools +### Package Management +- Chocolatey 0.10.15 +- Vcpkg 2020.02.04 +- 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 +- NuGet 5.6.0.6591 -#### 29.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.3 +### Project Management +- Ant 1.10.5 +- Maven 3.6.3 +- Gradle 6.5 +- sbt 1.3.12 -#### 29.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.2 +### Tools +- Azure CosmosDb Emulator 2.11.1.0 +- Bazel 3.3.0 +- Bazelisk 1.5.0 +- CMake 3.17.3 +- 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 +- Kind 0.8.1 +- Mingw-w64 8.1.0 +- MySQL 5.7.21.0 +- Mercurial 5.0 +- NSIS 3.5.0.20200106 +- OpenSSL 1.1.1 +- Packer 1.6.0 +- SQLPS 1.0 +- SQLServer PS 21.1.18221 +- Subversion (SVN) 1.8.17 +- ghc 8.10.1 +- Cabal 3.2.0.0 +- Stack 2.3.1 +- WinAppDriver 1.1.1809.18001 +- zstd 1.4.0 +- VSWhere 2.8.4 +- 7zip 19.00 -#### 29.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.0 +### CLI Tools +- Azure CLI 2.8.0 +- azcopy 10.4.3 +- Azure DevOps CLI extension 0.18.0 +- AWS CLI 2.0.26 +- AWS SAM CLI 0.53.0 +- Alibaba CLI 3.0.26 +- Cloud Foundry CLI 6.51.0 +- Hub CLI 2.14.2 +- Google Cloud SDK 298.0.0 -#### 28.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\28.0.3 +### Browsers and webdrivers +- Google Chrome 83.0.4103.116 +- Chrome Driver 83.0.4103.39 +- Microsoft Edge 83.0.478.56 +- Microsoft Edge Driver 83.0.478.56 +- Mozilla Firefox 77.0.1 +- Gecko Driver 0.26.0 +- IE Driver 3.150.1.0 -#### 28.0.2 +### MSYS2 +- Pacman 5.2.1 +``` +Location: C:\msys64 -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\28.0.2 +Note: MSYS2 is pre-installed on image but not added to PATH. +``` +### Cached Tools +#### Boost +| Version | Architecture | Environment Variable | +| ------- | ------------ | -------------------- | +| 1.69.0 | x64, x86 | BOOST_ROOT_1_69_0 | +| 1.72.0 | x64, x86 | BOOST_ROOT_1_72_0 | +##### Notes: +``` +1. Environment variable "BOOST_ROOT" is not set by default. + Please make sure you set this variable value to proper value + from table above depending on the Boost version you are using. +2. If Boost was built using the boost-cmake project or from Boost 1.70.0 + on it provides a package configuration file for use with find_package's config mode. + This module looks for the package configuration file called BoostConfig.cmake or boost-config.cmake + and stores the result in CACHE entry "Boost_DIR". If found, the package configuration file + is loaded and this module returns with no further action. + See documentation of the Boost CMake package configuration for details on what it provides. + Set Boost_NO_BOOST_CMAKE to ON, to disable the search for boost-cmake. + Link: https://cmake.org/cmake/help/latest/module/FindBoost.html +``` -#### 28.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\28.0.1 +#### Go +| Version | Architecture | Environment Variable | +| ------- | ------------ | -------------------- | +| 1.9.7 | x64 | GOROOT_1_9_X64 | +| 1.10.8 | x64 | GOROOT_1_10_X64 | +| 1.11.13 | x64 | GOROOT_1_11_X64 | +| 1.12.17 | x64 | GOROOT_1_12_X64 | +| 1.13.12 | x64 | GOROOT_1_13_X64 | +| 1.14.4 (Default) | x64 | GOROOT_1_14_X64 | -#### 28.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\28.0.0 -#### 27.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.3 +#### Node +| Version | Architecture | +| ------- | ------------ | +| 8.17.0 | x64 | +| 10.21.0 | x64 | +| 12.18.1 | x64 | +| 14.4.0 | x64 | -#### 27.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.2 -#### 27.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.1 +#### Python +| Version | Architecture | +| ------- | ------------ | +| 2.7.18 | x64, x86 | +| 3.5.4 | x64, x86 | +| 3.6.8 | x64, x86 | +| 3.7.7 (Default) | x64, x86 | +| 3.8.3 | x64, x86 | -#### 27.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.0 -#### 26.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.3 +#### Ruby +| Version | Architecture | +| ------- | ------------ | +| 2.4.10 | x64 | +| 2.5.8 (Default) | x64 | +| 2.6.6 | x64 | +| 2.7.1 | x64 | -#### 26.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.2 -#### 26.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.1 +#### PyPy +| Python Version | Architecture | PyPy Version | +| -------------- | ------------ | ------------ | +| 2.7.13 | x86 | PyPy 7.3.1 with MSC v.1912 32 bit | +| 3.6.9 | x86 | PyPy 7.3.1 with MSC v.1912 32 bit | -#### 26.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.0 -#### 25.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.3 -#### 25.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.2 +### Databases +#### PostgreSQL +| Version | UserName | Password | EnvironmentVariables | Path | ServiceName | ServiceStatus | ServiceStartType | +| ------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | ----------------- | ------------- | ---------------- | +| 12.3 | postgres | root | PGBIN=C:\Program Files\PostgreSQL\12\bin;
PGDATA=C:\Program Files\PostgreSQL\12\data;
PGROOT=C:\Program Files\PostgreSQL\12 | C:\Program Files\PostgreSQL\12 | postgresql-x64-12 | Running | Auto | -#### 25.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.1 -#### 25.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.0 +#### MongoDB +| Version | ServiceName | ServiceStatus | ServiceStartType | +| ------- | ----------- | ------------- | ---------------- | +| 4.2.8.0 | MongoDB | Running | Automatic | -#### 24.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.3 -#### 24.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.2 -#### 24.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.1 +### Visual Studio Enterprise 2017 +| Name | Version | Path | +| ----------------------------- | --------------- | -------------------------------------------------------------- | +| Visual Studio Enterprise 2017 | 15.9.28307.1177 | C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise | -#### 24.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.0 +#### Workloads, components and extensions: -#### 23.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\23.0.3 +| Package | version | +| ------------------------------------------------------------------------- | ---------------- | +| Component.Anaconda3.x64 | 5.2.0 | +| Component.Android.NDK.R12B | 12.1.10 | +| Component.Android.NDK.R15C | 15.2.1 | +| Component.Android.SDK19.Private | 15.9.28107.0 | +| Component.Android.SDK21.Private | 15.9.28016.0 | +| Component.Android.SDK22.Private | 15.9.28016.0 | +| Component.Android.SDK23 | 15.9.28107.0 | +| Component.Android.SDK23.Private | 15.9.28016.0 | +| Component.Android.SDK25.Private | 15.9.28016.0 | +| Component.Android.SDK27 | 15.9.28016.0 | +| Component.Ant | 1.9.3.8 | +| Component.CordovaToolset.6.3.1 | 15.7.27625.0 | +| Component.Dotfuscator | 15.0.26208.0 | +| Component.Google.Android.Emulator.API27 | 15.9.28307.421 | +| Component.HAXM | 15.9.28307.421 | +| Component.Linux.CMake | 15.9.28307.102 | +| Component.MDD.Android | 15.0.26606.0 | +| Component.MDD.Linux | 15.6.27406.0 | +| Component.Microsoft.VisualStudio.RazorExtension | 15.0.26720.2 | +| Component.Microsoft.VisualStudio.Tools.Applications | 15.0.27520.3 | +| Component.Microsoft.VisualStudio.Web.AzureFunctions | 15.7.27617.1 | +| Component.Microsoft.Web.LibraryManager | 15.8.27705.0 | +| Component.Microsoft.Windows.DriverKit | 10.0.17740.0 | +| Component.OpenJDK | 15.9.28307.443 | +| Component.Redgate.ReadyRoll | 1.17.18155.10346 | +| Component.Redgate.SQLPrompt.VsPackage | 9.2.0.5601 | +| Component.Redgate.SQLSearch.VSExtension | 3.1.7.2062 | +| Component.UnityEngine.x64 | 15.9.28307.616 | +| Component.Unreal | 15.8.27729.1 | +| Component.Unreal.Android | 15.9.28307.341 | +| Component.WixToolset.VisualStudioExtension.Dev15 | 0.9.21.62588 | +| Component.Xamarin | 15.9.28307.1177 | +| Component.Xamarin.Profiler | 15.0.27005.2 | +| Component.Xamarin.RemotedSimulator | 15.6.27323.2 | +| Microsoft.Component.Azure.DataLake.Tools | 15.9.28107.0 | +| Microsoft.Component.Blend.SDK.WPF | 15.6.27406.0 | +| Microsoft.Component.ClickOnce | 15.8.27825.0 | +| Microsoft.Component.CookiecutterTools | 15.0.26621.2 | +| Microsoft.Component.MSBuild | 15.7.27520.0 | +| Microsoft.Component.NetFX.Core.Runtime | 15.0.26208.0 | +| Microsoft.Component.NetFX.Native | 15.0.26208.0 | +| Microsoft.Component.PythonTools | 15.0.26823.1 | +| Microsoft.Component.PythonTools.UWP | 15.0.26606.0 | +| Microsoft.Component.PythonTools.Web | 15.9.28107.0 | +| Microsoft.Component.VC.Runtime.OSSupport | 15.6.27406.0 | +| Microsoft.Component.VC.Runtime.UCRTSDK | 15.6.27309.0 | +| Microsoft.ComponentGroup.Blend | 15.6.27406.0 | +| Microsoft.Net.Component.3.5.DeveloperTools | 15.6.27406.0 | +| Microsoft.Net.Component.4.5.1.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.5.2.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.5.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.1.SDK | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.1.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.2.SDK | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.2.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.6.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.7.1.SDK | 15.6.27406.0 | +| Microsoft.Net.Component.4.7.1.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.7.2.SDK | 15.8.27825.0 | +| Microsoft.Net.Component.4.7.2.TargetingPack | 15.8.27825.0 | +| Microsoft.Net.Component.4.7.SDK | 15.6.27406.0 | +| Microsoft.Net.Component.4.7.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.Component.4.TargetingPack | 15.6.27406.0 | +| Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools | 15.6.27406.0 | +| Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools | 15.6.27406.0 | +| Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools | 15.8.27825.0 | +| 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.2.1 | 15.8.27924.0 | +| Microsoft.NetCore.1x.ComponentGroup.Web | 15.6.27406.0 | +| 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 | +| Microsoft.VisualStudio.Component.AspNet45 | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.Azure.AuthoringTools | 15.9.28307.421 | +| Microsoft.VisualStudio.Component.Azure.ClientLibs | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.Azure.Compute.Emulator | 15.9.28307.421 | +| Microsoft.VisualStudio.Component.Azure.MobileAppsSdk | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.Azure.ResourceManager.Tools | 15.9.28107.0 | +| Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.Azure.Storage.AzCopy | 15.0.26906.1 | +| Microsoft.VisualStudio.Component.Azure.Storage.Emulator | 15.9.28125.51 | +| Microsoft.VisualStudio.Component.Azure.Waverton | 15.9.28107.0 | +| Microsoft.VisualStudio.Component.Azure.Waverton.BuildTools | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.ClassDesigner | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.CloudExplorer | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.CodeClone | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.CodeMap | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.Common.Azure.Tools | 15.9.28107.0 | +| Microsoft.VisualStudio.Component.Cordova | 15.0.26606.0 | +| Microsoft.VisualStudio.Component.CoreEditor | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.Debugger.JustInTime | 15.0.27005.2 | +| Microsoft.VisualStudio.Component.Debugger.Snapshot | 15.8.28010.0 | +| Microsoft.VisualStudio.Component.DependencyValidation.Enterprise | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.DiagnosticTools | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.DockerTools | 15.8.27906.1 | +| Microsoft.VisualStudio.Component.DockerTools.BuildTools | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.DslTools | 15.0.27005.2 | +| Microsoft.VisualStudio.Component.EntityFramework | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.FSharp | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.FSharp.Desktop | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.FSharp.WebTemplates | 15.9.28307.421 | +| Microsoft.VisualStudio.Component.GraphDocument | 15.0.27005.2 | +| Microsoft.VisualStudio.Component.Graphics | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Graphics.Tools | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Graphics.Win81 | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.IISExpress | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.JavaScript.Diagnostics | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.JavaScript.ProjectSystem | 15.0.26606.0 | +| Microsoft.VisualStudio.Component.JavaScript.TypeScript | 15.9.28125.51 | +| Microsoft.VisualStudio.Component.LinqToSql | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.LiveUnitTesting | 15.0.26720.2 | +| Microsoft.VisualStudio.Component.ManagedDesktop.Core | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.Merq | 15.8.27924.0 | +| Microsoft.VisualStudio.Component.MonoDebugger | 15.0.26720.2 | +| Microsoft.VisualStudio.Component.Node.Build | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.Node.Tools | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.NuGet | 15.9.28016.0 | +| Microsoft.VisualStudio.Component.NuGet.BuildTools | 15.9.28016.0 | +| Microsoft.VisualStudio.Component.PortableLibrary | 15.6.27309.0 | +| Microsoft.VisualStudio.Component.R.Open | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.RHost | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Roslyn.Compiler | 15.6.27309.0 | +| Microsoft.VisualStudio.Component.Roslyn.LanguageServices | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.RTools | 15.0.26919.1 | +| Microsoft.VisualStudio.Component.Sharepoint.Tools | 15.8.27924.0 | +| Microsoft.VisualStudio.Component.SQL.ADAL | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.SQL.CLR | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.SQL.CMDUtils | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.SQL.DataSources | 15.0.26621.2 | +| Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.SQL.NCLI | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.SQL.SSDT | 15.9.28107.0 | +| Microsoft.VisualStudio.Component.Static.Analysis.Tools | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.TeamOffice | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.TestTools.CodedUITest | 15.0.26606.0 | +| Microsoft.VisualStudio.Component.TestTools.Core | 15.7.27520.0 | +| Microsoft.VisualStudio.Component.TestTools.WebLoadTest | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TextTemplating | 15.0.26208.0 | +| Microsoft.VisualStudio.Component.TypeScript.2.0 | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TypeScript.2.1 | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TypeScript.2.2 | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TypeScript.2.3 | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.TypeScript.3.1 | 15.0.28218.60 | +| Microsoft.VisualStudio.Component.Unity | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.UWP.Support | 15.9.28119.51 | +| Microsoft.VisualStudio.Component.UWP.VC.ARM64 | 15.0.28125.51 | +| Microsoft.VisualStudio.Component.VC.140 | 15.7.27617.1 | +| Microsoft.VisualStudio.Component.VC.ATL | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM64 | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATL.Spectre | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATLMFC | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre | 15.7.27625.0 | +| Microsoft.VisualStudio.Component.VC.ClangC2 | 15.7.27520.0 | +| Microsoft.VisualStudio.Component.VC.CLI.Support | 15.6.27309.0 | +| Microsoft.VisualStudio.Component.VC.CMake.Project | 15.9.28307.102 | +| Microsoft.VisualStudio.Component.VC.CoreIde | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.VC.DiagnosticTools | 15.0.26823.1 | +| Microsoft.VisualStudio.Component.VC.Modules.x86.x64 | 15.6.27309.0 | +| Microsoft.VisualStudio.Component.VC.Redist.14.Latest | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest | 15.9.28307.616 | +| Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest | 15.8.27906.1 | +| Microsoft.VisualStudio.Component.VC.Tools.ARM | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.VC.Tools.ARM64 | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VC.Tools.x86.x64 | 15.9.28230.55 | +| Microsoft.VisualStudio.Component.VisualStudioData | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.VSSDK | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.Wcf.Tooling | 15.8.27924.0 | +| Microsoft.VisualStudio.Component.Web | 15.8.27825.0 | +| Microsoft.VisualStudio.Component.WebDeploy | 15.8.27729.1 | +| Microsoft.VisualStudio.Component.Windows10SDK | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.10240 | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.10586 | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.14393 | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP.Native | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP.Native | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.Windows10SDK.17134 | 15.9.28307.102 | +| Microsoft.VisualStudio.Component.Windows10SDK.17763 | 15.9.28307.102 | +| Microsoft.VisualStudio.Component.Windows81SDK | 15.6.27406.0 | +| Microsoft.VisualStudio.Component.WinXP | 15.8.27924.0 | +| Microsoft.VisualStudio.Component.Workflow | 15.8.27825.0 | +| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Managed | 15.0.26208.0 | +| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native | 15.0.26208.0 | +| Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices | 15.0.26504.0 | +| Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites | 15.9.28107.0 | +| Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools | 15.0.27005.2 | +| Microsoft.VisualStudio.ComponentGroup.AzureFunctions | 15.7.27617.1 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core | 15.8.27729.1 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81 | 15.6.27406.0 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP | 15.8.27705.0 | +| Microsoft.VisualStudio.ComponentGroup.UWP.Cordova | 15.9.28307.102 | +| Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard | 15.8.27906.1 | +| Microsoft.VisualStudio.ComponentGroup.UWP.VC | 15.9.28307.102 | +| Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin | 15.9.28307.102 | +| Microsoft.VisualStudio.ComponentGroup.VisualStudioExtension.Prerequisites | 15.7.27625.0 | +| Microsoft.VisualStudio.ComponentGroup.Web | 15.9.28219.51 | +| Microsoft.VisualStudio.ComponentGroup.Web.CloudTools | 15.8.27729.1 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions | 15.8.27825.0 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine | 15.8.27729.1 | +| Microsoft.VisualStudio.Web.Mvc4.ComponentGroup | 15.6.27406.0 | +| Microsoft.VisualStudio.Workload.Azure | 15.8.27906.1 | +| Microsoft.VisualStudio.Workload.CoreEditor | 15.0.27205.0 | +| Microsoft.VisualStudio.Workload.Data | 15.6.27309.0 | +| Microsoft.VisualStudio.Workload.DataScience | 15.9.28307.421 | +| Microsoft.VisualStudio.Workload.ManagedDesktop | 15.9.28307.1062 | +| Microsoft.VisualStudio.Workload.ManagedGame | 15.0.27005.2 | +| Microsoft.VisualStudio.Workload.NativeCrossPlat | 15.0.27205.0 | +| Microsoft.VisualStudio.Workload.NativeDesktop | 15.9.28307.102 | +| Microsoft.VisualStudio.Workload.NativeGame | 15.9.28307.102 | +| Microsoft.VisualStudio.Workload.NativeMobile | 15.9.28107.0 | +| Microsoft.VisualStudio.Workload.NetCoreTools | 15.8.27906.1 | +| Microsoft.VisualStudio.Workload.NetCrossPlat | 15.9.28107.0 | +| Microsoft.VisualStudio.Workload.NetWeb | 15.8.27906.1 | +| Microsoft.VisualStudio.Workload.Node | 15.9.28107.0 | +| Microsoft.VisualStudio.Workload.Office | 15.8.27924.0 | +| Microsoft.VisualStudio.Workload.Python | 15.8.27825.0 | +| Microsoft.VisualStudio.Workload.Universal | 15.9.28307.102 | +| Microsoft.VisualStudio.Workload.VisualStudioExtension | 15.7.27625.0 | +| Microsoft.VisualStudio.Workload.WebCrossPlat | 15.9.28307.341 | +| SSDT Microsoft Analysis Services Projects | 2.9.6 | +| SSDT SQL Server Integration Services Projects | 2.6 | +| SSDT Microsoft Reporting Services Projects | 2.6.3 | +| Windows Driver Kit | 0.9.21.62588 | +| Windows Driver Kit Visual Studio Extension | 10.1.17763.1 | +| WIX Toolset | 0.9.21.62588 | +| WIX Toolset Studio 2017 Extension | 3.11.4516 | -#### 23.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\23.0.2 +### .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 -#### 23.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\23.0.1 +### .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 -#### 22.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\22.0.1 +`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 -#### 21.1.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\21.1.2 +`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 -#### 20.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\20.0.0 +`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 -#### 19.1.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\19.1.0 +### .NET Framework +`Type: Developer Pack` +`Location C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX Tools` +- 4.6.1 4.6.2 4.7 4.7.1 4.7.2 4.8 - -## Android SDK Platforms +### Azure Powershell Modules +| Module | Version | Path | +| ------- | --------------------------------------------------------------- | ------------------------------ | +| Az | 1.0.0
1.6.0
2.3.2
2.6.0
3.1.0
3.5.0
3.8.0 | C:\Modules\az_\ | +| Azure | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
5.3.0 | C:\Modules\azure_\ | +| AzureRM | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
6.7.0
6.13.1 | C:\Modules\azurerm_\ | +``` +Azure PowerShell module 2.1.0 and AzureRM PowerShell module 2.1.0 are installed +and are available via 'Get-Module -ListAvailable'. +All other versions are saved but not installed. +``` +### Android SDK Tools +| Package Name | Description | +| -------------- | ------------------------------------------- | +| platform-tools | Android SDK Platform-Tools, Revision 30.0.3 | +| tools | Android SDK Tools 25.2.5, Revision 25.2.5 | -#### 10 (API 29) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-29 +### Android SDK Platforms +`Location C:\Program Files (x86)\Android\android-sdk\platforms` +| Package Name | Description | +| ------------ | ------------------------------------------ | +| android-19 | Android SDK Platform 19, Revision 4 | +| android-21 | Android SDK Platform 21, Revision 2 | +| android-22 | Android SDK Platform 22, Revision 2 | +| android-23 | Android SDK Platform 23, rev 3, Revision 3 | +| android-24 | Android SDK Platform 24, Revision 2 | +| android-25 | Android SDK Platform 25, Revision 3 | +| android-26 | Android SDK Platform 26, Revision 2 | +| android-27 | Android SDK Platform 27, Revision 3 | +| android-28 | Android SDK Platform 28, Revision 6 | +| android-29 | Android SDK Platform 29, Revision 4 | +| android-30 | Android SDK Platform 30, Revision 1 | -#### 9 (API 28) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-28 +### Android SDK Build-Tools +`Location C:\Program Files (x86)\Android\android-sdk\build-tools` +| Package Name | Description | +| ------------------ | ---------------------------------------- | +| build-tools-19.1.0 | Android SDK Build-Tools, Revision 19.1.0 | +| build-tools-20.0.0 | Android SDK Build-Tools, Revision 20.0.0 | +| build-tools-21.1.2 | Android SDK Build-Tools, Revision 21.1.2 | +| build-tools-22.0.1 | Android SDK Build-Tools, Revision 22.0.1 | +| build-tools-23.0.1 | Android SDK Build-Tools, Revision 23.0.1 | +| build-tools-23.0.2 | Android SDK Build-Tools, Revision 23.0.2 | +| build-tools-23.0.3 | Android SDK Build-Tools, Revision 23.0.3 | +| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 | +| build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 | +| build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 | +| build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 | +| build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 | +| build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 | +| build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 | +| build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 | +| build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 | +| build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 | +| build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 | +| build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 | +| build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 | +| build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 | +| build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 | +| build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 | +| build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 | +| build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 | +| build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 | +| build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 | +| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 | +| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 | +| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 | +| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 | +| build-tools-30.0.0 | Android SDK Build-Tools, Revision 30.0.0 | -#### 8.1.0 (API 27) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-27 +### Android Extra Packages +| Package Name | Version | +| -------------------------- | ------------ | +| Android Support Repository | 47.0.0 | +| Google Play services | 49 | +| Google Repository | 58 | +| NDK | 21.3.6528147 | -#### 8.0.0 (API 26) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-26 +### Cached Docker images +- mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 +- mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 +- mcr.microsoft.com/windows/servercore:ltsc2016 +- microsoft/aspnetcore-build:1.0-2.0 +- mcr.microsoft.com/windows/nanoserver:10.0.14393.953 -#### 7.1.1 (API 25) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-25 -#### 7.0 (API 24) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-24 - -#### 6.0 (API 23) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-23 - -#### 5.1.1 (API 22) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-22 - -#### 5.0.1 (API 21) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-21 - -#### 4.4.2 (API 19) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-19 - - -## AzureRM PowerShell module - -#### 2.1.0 - -This version is installed and is available via `Get-Module -ListAvailable` -#### 3.8.0 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1 -#### 4.2.1 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1 -#### 5.1.1 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1 -#### 6.7.0 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_6.7.0\AzureRM\6.7.0\AzureRM.psd1 -#### 6.13.1 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_6.13.1\AzureRM\6.13.1\AzureRM.psd1 - -## Azure PowerShell module - -#### 2.1.0 - -This version is installed and is available via `Get-Module -ListAvailable` -#### 3.8.0 - -This version is saved but not installed -_Location:_ C:\Modules\azure_3.8.0\Azure\3.8.0\Azure.psd1 -#### 4.2.1 - -This version is saved but not installed -_Location:_ C:\Modules\azure_4.2.1\Azure\4.2.1\Azure.psd1 -#### 5.1.1 - -This version is saved but not installed -_Location:_ C:\Modules\azure_5.1.1\Azure\5.1.1\Azure.psd1 -#### 5.3.0 - -This version is saved but not installed -_Location:_ C:\Modules\azure_5.3.0\Azure\5.3.0\Azure.psd1 - -## Az PowerShell module - - -#### 1.0.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_1.0.0\Az\1.0.0\Az.psd1 -#### 1.6.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_1.6.0\Az\1.6.0\Az.psd1 -#### 2.3.2 - -This version is saved but not installed -_Location:_ C:\Modules\az_2.3.2\Az\2.3.2\Az.psd1 -#### 2.6.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_2.6.0\Az\2.6.0\Az.psd1 -#### 3.1.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_3.1.0\Az\3.1.0\Az.psd1 -#### 3.5.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_3.5.0\Az\3.5.0\Az.psd1 -#### 3.8.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_3.8.0\Az\3.8.0\Az.psd1 - -## TLS12 - -_Version:_ 1.2
-_Description:_ .NET has been configured to use TLS 1.2 by default - -## Azure CLI - -_Version:_ 2.5.1 -_Environment:_ -* PATH: contains location of az.cmd - -## AWS SAM CLI - -_Version:_ 0.49.0
- -## Azure DevOps Cli extension - -_Version:_ azure-devops 0.18.0 - -## MSYS2 - -_Tool versions_ -_pacman:_ 5.2.1
-_bash:_ 4.4.23
-_gcc:_ 10.1.0
-_tar:_ 1.32
-MSYS2 location: C:\msys64 - -## PyPy - -_Version:_ 2.7.13 (x86)
_Version:_ 3.6.9 (x86)
- -## Ruby - -_Version:_ 2.4.10 (x64)
_Version:_ 2.5.8 (x64)
_Version:_ 2.6.6 (x64)
_Version:_ 2.7.1 (x64)

__System default version:__ Ruby 2.5.8p224
_Environment:_
* Location: C:\hostedtoolcache\windows\Ruby\2.5.8\x64\bin
* PATH: contains the location of Ruby 2.5.8p224
* Gem Version: 3.1.3
- -## Python (x64) - -_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.3

__System default version:__ Python 3.7.7
_Environment:_
* Location: C:\hostedtoolcache\windows\Python\3.7.7\x64
* PATH: contains the location of Python 3.7.7
- -## Python (x86) - -_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.3
- -## node (x64) - -_Version:_ 8.17.0
_Version:_ 10.20.1
_Version:_ 12.16.3
_Version:_ 14.2.0
- -## OpenSSL - -_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe
_Version:_ 1.1.1d at C:\Strawberry\c\bin\openssl.exe
_Version:_ 1.1.1f at C:\Program Files\Git\mingw64\bin\openssl.exe
_Version:_ 1.1.1f at C:\Program Files\Git\usr\bin\openssl.exe
_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe
- -## Perl - -_Version:_ v5.30.2
- -## Git - -_Version:_ 2.26.2
-_Environment:_ -* PATH: contains location of git.exe - -## Git Large File Storage (LFS) - -_Version:_ 2.10.0
-_Environment:_ -* PATH: contains location of git-lfs.exe -* GIT_LFS_PATH: location of git-lfs.exe - -## Hub CLI - -_Version:_ 2.14.2
-_Environment:_ -* PATH: contains location of hub.exe - -## Go (x64) - - - -## Boost - -#### 1.69.0 [msvc-14.1] - -_Environment:_ -* BOOST_ROOT_1_69_0: root directory of the Boost version 1.69.0 installation - -#### 1.72.0 [msvc-14.1] - -_Environment:_ -* BOOST_ROOT_1_72_0: root directory of the Boost version 1.72.0 installation - - -#### _Notes:_ - -> `BOOST_ROOT` is not set on images but it is required by CMake. Please make sure you set this variable -> value to either `BOOST_ROOT_1_69_0` or `BOOST_ROOT_1_72_0` depending on the Boost version you are using. - -Link: https://cmake.org/cmake/help/latest/module/FindBoost.html - -If Boost was built using the `boost-cmake` project or from `Boost 1.70.0` on it provides a package -configuration file for use with find\_package's config mode. This module looks for the package -configuration file called BoostConfig.cmake or boost-config.cmake and stores the result in CACHE entry "Boost_DIR". -If found, the package configuration file is loaded and this module returns with no further action. -See documentation of the Boost CMake package configuration for details on what it provides. - -Set `Boost_NO_BOOST_CMAKE to ON`, to disable the search for boost-cmake. - - -## Composer - -#### Composer version 1.10.6 2020-05-06 10:28:10 - -_Environment:_ -* PATH: contains the location of composer.exe version Composer version 1.10.6 2020-05-06 10:28:10 -* PHPROOT: root directory of the Composer Composer version 1.10.6 2020-05-06 10:28:10 installation - -## PHP (x64) - -#### 7.4.5 - -_Environment:_ -* PATH: contains the location of php.exe version 7.4.5 -* PHPROOT: root directory of the PHP 7.4.5 installation - -## Rust (64-bit) - -#### 1.43.1 -_Environment:_ -* _Location:_ C:\Rust\.cargo\bin -* PATH: contains the location of rustc.exe - -## Julia (x64) - -_Version:_ 1.4.1
- -## sbt - - - -## Subversion - -_Version:_ 1.8.17
-_Environment:_ -* PATH: contains location of svn.exe - -## Google Chrome - -_version:_ -81.0.4044.138 - -## Microsoft Edge - -_version:_ -81.0.416.72 - -## Mozilla Firefox - -_version:_ -76.0.1 - -## Selenium Web Drivers - - -#### Chrome Driver - -_version:_ -81.0.4044.138 - -_Environment:_ -* ChromeWebDriver: location of chromedriver.exe - -#### Gecko Driver - -_version:_ -0.26.0 - -_Environment:_ -* GeckoWebDriver: location of geckodriver.exe - -#### IE Driver - -_version:_ -3.8.0.0 - -_Environment:_ -* IEWebDriver: location of IEDriverServer.exe - -#### Microsoft Edge Driver - -_version:_ -81.0.416.72 - -_Environment:_ -* EdgeWebDriver: location of msedgedriver.exe - - -## Node.js - -_Version:_ 12.16.3
-_Architecture:_ x64
-_Environment:_ -* PATH: contains location of node.exe
-* Gulp CLI version: 2.2.0 Local version: Unknown
-* Grunt grunt-cli v1.3.2
-* Yarn 1.22.4
- - -## npm - -_Version:_ 6.14.4
-_Environment:_ -* PATH: contains location of npm.cmd - -## bazel - -_Version:_ bazel 3.1.0
- -## bazelisk - -_Version:_ 1.4.0
- -## Alibaba Cloud CLI - -_Version:_ 3.0.26
- -## Java Development Kit - -#### 1.8.0_222 (default) - -_Environment:_ -* JAVA_HOME: location of JDK -* PATH: contains bin folder of JDK - -#### 1.7.0_232 - -_Location:_ C:\Program Files\Java\zulu-7-azure-jdk_7.31.0.5-7.0.232-win_x64 - -#### 11.0.4 - -_Location:_ C:\Program Files\Java\zulu-11-azure-jdk_11.33.15-11.0.4-win_x64 - -#### 13.0.3 - -_Location:_ C:\Program Files\Java\zulu-13-azure-jdk_13.31.11-13.0.3-win_x64 - -## Ant - -_Version:_ 1.10.5
-_Environment:_ -* PATH: contains location of ant.cmd -* ANT_HOME: location of ant.cmd -* COBERTURA_HOME: location of cobertura-2.1.1.jar - -## Maven - -_Version:_ 3.6.3
-_Environment:_ -* PATH: contains location of mvn.bat -* M2_HOME: Maven installation root - -## Gradle - -_Version:_ 6.3
-_Environment:_ -* PATH: contains location of gradle - -## CMake - -_Version:_ 3.17.2
-_Environment:_ -* PATH: contains location of cmake.exe - -## SQL Server Data Tier Application Framework (x64) - -_Version:_ 15.0.4769.1
-* SQL Server Express LocalDB is available at C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe - -## .NET Core - -The following runtimes and SDKs are installed: - -_Environment:_ -* PATH: contains location of dotnet.exe - -_SDK:_ -* 3.1.202 C:\Program Files\dotnet\sdk\3.1.202 -* 3.1.201 C:\Program Files\dotnet\sdk\3.1.201 -* 3.1.200 C:\Program Files\dotnet\sdk\3.1.200 -* 3.1.104 C:\Program Files\dotnet\sdk\3.1.104 -* 3.1.103 C:\Program Files\dotnet\sdk\3.1.103 -* 3.1.102 C:\Program Files\dotnet\sdk\3.1.102 -* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101 -* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100 -* 2.2.402 C:\Program Files\dotnet\sdk\2.2.402 -* 2.2.401 C:\Program Files\dotnet\sdk\2.2.401 -* 2.2.301 C:\Program Files\dotnet\sdk\2.2.301 -* 2.2.300 C:\Program Files\dotnet\sdk\2.2.300 -* 2.2.207 C:\Program Files\dotnet\sdk\2.2.207 -* 2.2.206 C:\Program Files\dotnet\sdk\2.2.206 -* 2.2.205 C:\Program Files\dotnet\sdk\2.2.205 -* 2.2.204 C:\Program Files\dotnet\sdk\2.2.204 -* 2.2.203 C:\Program Files\dotnet\sdk\2.2.203 -* 2.2.202 C:\Program Files\dotnet\sdk\2.2.202 -* 2.2.110 C:\Program Files\dotnet\sdk\2.2.110 -* 2.2.109 C:\Program Files\dotnet\sdk\2.2.109 -* 2.2.108 C:\Program Files\dotnet\sdk\2.2.108 -* 2.2.107 C:\Program Files\dotnet\sdk\2.2.107 -* 2.2.106 C:\Program Files\dotnet\sdk\2.2.106 -* 2.2.105 C:\Program Files\dotnet\sdk\2.2.105 -* 2.2.104 C:\Program Files\dotnet\sdk\2.2.104 -* 2.2.103 C:\Program Files\dotnet\sdk\2.2.103 -* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102 -* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101 -* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100 -* 2.1.806 C:\Program Files\dotnet\sdk\2.1.806 -* 2.1.805 C:\Program Files\dotnet\sdk\2.1.805 -* 2.1.804 C:\Program Files\dotnet\sdk\2.1.804 -* 2.1.803 C:\Program Files\dotnet\sdk\2.1.803 -* 2.1.802 C:\Program Files\dotnet\sdk\2.1.802 -* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801 -* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701 -* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700 -* 2.1.611 C:\Program Files\dotnet\sdk\2.1.611 -* 2.1.610 C:\Program Files\dotnet\sdk\2.1.610 -* 2.1.609 C:\Program Files\dotnet\sdk\2.1.609 -* 2.1.608 C:\Program Files\dotnet\sdk\2.1.608 -* 2.1.607 C:\Program Files\dotnet\sdk\2.1.607 -* 2.1.606 C:\Program Files\dotnet\sdk\2.1.606 -* 2.1.605 C:\Program Files\dotnet\sdk\2.1.605 -* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604 -* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603 -* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602 -* 2.1.514 C:\Program Files\dotnet\sdk\2.1.514 -* 2.1.513 C:\Program Files\dotnet\sdk\2.1.513 -* 2.1.512 C:\Program Files\dotnet\sdk\2.1.512 -* 2.1.511 C:\Program Files\dotnet\sdk\2.1.511 -* 2.1.510 C:\Program Files\dotnet\sdk\2.1.510 -* 2.1.509 C:\Program Files\dotnet\sdk\2.1.509 -* 2.1.508 C:\Program Files\dotnet\sdk\2.1.508 -* 2.1.507 C:\Program Files\dotnet\sdk\2.1.507 -* 2.1.506 C:\Program Files\dotnet\sdk\2.1.506 -* 2.1.505 C:\Program Files\dotnet\sdk\2.1.505 -* 2.1.504 C:\Program Files\dotnet\sdk\2.1.504 -* 2.1.503 C:\Program Files\dotnet\sdk\2.1.503 -* 2.1.502 C:\Program Files\dotnet\sdk\2.1.502 -* 2.1.500 C:\Program Files\dotnet\sdk\2.1.500 -* 2.1.403 C:\Program Files\dotnet\sdk\2.1.403 -* 2.1.402 C:\Program Files\dotnet\sdk\2.1.402 -* 2.1.401 C:\Program Files\dotnet\sdk\2.1.401 -* 2.1.302 C:\Program Files\dotnet\sdk\2.1.302 -* 2.1.301 C:\Program Files\dotnet\sdk\2.1.301 -* 2.1.300 C:\Program Files\dotnet\sdk\2.1.300 -* 2.1.202 C:\Program Files\dotnet\sdk\2.1.202 -* 1.1.14 C:\Program Files\dotnet\sdk\1.1.14 - -_Runtime:_ -* 3.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.4 -* 3.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.3 -* 3.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.2 -* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1 -* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0 -* 2.2.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.8 -* 2.2.7 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.7 -* 2.2.6 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.6 -* 2.2.5 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.5 -* 2.2.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.4 -* 2.2.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.3 -* 2.2.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.2 -* 2.2.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.1 -* 2.2.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.0 -* 2.1.9 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.9 -* 2.1.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.8 -* 2.1.7 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.7 -* 2.1.6 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.6 -* 2.1.5 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.5 -* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4 -* 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3 -* 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2 -* 2.1.18 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.18 -* 2.1.17 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.17 -* 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16 -* 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15 -* 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14 -* 2.1.13 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13 -* 2.1.12 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.12 -* 2.1.11 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.11 -* 2.1.10 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.10 -* 2.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.1 -* 2.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.0 -* 2.0.9 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.9 -* 1.1.13 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\1.1.13 -* 1.0.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\1.0.16 - -## Mysql - -_Version:_ 5.7.21.0
-_Environment:_ -* PATH: contains location of mysql.exe - -## SQLPS - -_Version:_ 1.0 - -## SQLServer PS - -_Version:_ 21.1.18221 - -## MinGW - -_Version:_ 8.1.0
-_Environment:_ -* PATH: contains location of the MinGW 'bin' directory - -## TypeScript - -_Version:_ Version 3.9.2
- -## ghc - -_Version:_ -ghc 8.10.1 - ghc 8.6.5 (default) - ghc 8.8.3 -
- -## cabal - -_Version:_ cabal-install version 3.2.0.0 compiled using version 3.2.0.0 of the Cabal library
- -## Stack - -_Version:_ Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0
-_Environment:_ -* PATH: contains location of stack.exe - -## Miniconda - -_Version:_ conda 4.6.14
-_Environment:_ -* CONDA: contains location of the root of the Miniconda installation - -## Azure CosmosDb Emulator - -_Version:_ 2.9.2.0
-_Location:_ C:\Program Files\Azure Cosmos DB Emulator\ - -## 7zip - -_Version:_ 19.00
- -## Packer - -_Version:_ 1.5.6
- -## Mercurial - -_Version:_ 5.0
- -## jq - -_Version:_ jq-1.6
- -## zstd - -_Version:_ 1.4.0
- -## Inno Setup - -_Version:_ 6.0.4
- -## GitVersion - -_Version:_ 5.3.3.0
- -## Nullsoft Install System (NSIS) - -_Version:_ 3.5
- -## Cloud Foundry CLI - -_Version:_ 6.51.0
- -## Vcpkg - -_Version:_ 2020.02.04-nohash
-_Environment:_ -* PATH: contains location of the vcpkg directory -* VCPKG_INSTALLATION_ROOT: root directory of the vcpkg installation - -## Kubectl - -_Version:_ Client Version: v1.18.2
-_Environment:_ -* PATH: contains location of kubectl.exe - -## Kind - -_Version:_ kind v0.7.0 go1.13.6 windows/amd64
-_Environment:_ -* PATH: contains location of kind.exe diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index dc303a19..cf10a903 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -24,15 +24,14 @@ "imagedata_file": "C:\\imagedata.json", "metadata_file": "C:\\image\\metadata.txt", "helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\", + "psmodules_root_folder": "C:\\Modules", "commit_id": "LATEST", "install_user": "installer", "install_password": null, "capture_name_prefix": "packer", "image_version": "dev", "image_os": "win19", - "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}", - "go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14", - "go_default": "1.14" + "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}" }, "sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"], "builders": [ @@ -193,6 +192,12 @@ "elevated_user": "{{user `install_user`}}", "elevated_password": "{{user `install_password`}}" }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-Nuget.ps1" + ] + }, { "type": "powershell", "scripts":[ @@ -274,6 +279,12 @@ "{{ template_dir }}/scripts/Installers/Install-AzureDevOpsCli.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-AzCopy.ps1" + ] + }, { "type": "powershell", "scripts":[ @@ -294,12 +305,12 @@ }, { "type": "file", - "source": "{{template_dir}}/toolcache-2019.json", + "source": "{{template_dir}}/toolsets/toolcache-2019.json", "destination": "{{user `root_folder`}}/toolcache.json" }, { "type": "file", - "source": "{{template_dir}}/toolset-2019.json", + "source": "{{template_dir}}/toolsets/toolset-2019.json", "destination": "{{user `toolset_json_path`}}" }, { @@ -327,7 +338,8 @@ "TOOLSET_JSON_PATH={{user `toolset_json_path`}}" ], "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-Toolset.ps1" + "{{ template_dir }}/scripts/Installers/Install-Toolset.ps1", + "{{ template_dir }}/scripts/Installers/Configure-Toolset.ps1" ] }, { @@ -353,16 +365,6 @@ "scripts":[ "{{ template_dir }}/scripts/Installers/Install-GitHub-CLI.ps1" ] - }, - { - "type": "powershell", - "environment_vars": [ - "GO_VERSIONS={{user `go_versions`}}", - "GO_DEFAULT={{user `go_default`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-Go.ps1" - ] }, { "type": "powershell", @@ -504,18 +506,16 @@ "{{ template_dir }}/scripts/Installers/Install-DotnetSDK.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-WindowsUpdates.ps1" - ] - }, { "type": "windows-shell", "inline": ["wmic product where \"name like '%%microsoft azure powershell%%'\" call uninstall /nointeractive"] }, { "type": "powershell", + "environment_vars":[ + "TOOLSET_JSON_PATH={{user `toolset_json_path`}}", + "PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}" + ], "scripts":[ "{{ template_dir }}/scripts/Installers/Install-AzureModules.ps1" ] @@ -564,15 +564,6 @@ "{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1" ] }, - { - "type": "powershell", - "environment_vars": [ - "ROOT_FOLDER={{user `root_folder`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-Boost.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -663,12 +654,22 @@ "{{ template_dir }}/scripts/Installers/Install-MongoDB.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-GoogleCloudSDK.ps1" + ] + }, { "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" ] @@ -697,6 +698,12 @@ "{{ template_dir }}/scripts/Installers/Validate-AzureDevOpsCli.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Validate-AzCopy.ps1" + ] + }, { "type": "powershell", "scripts":[ @@ -745,25 +752,6 @@ "{{ template_dir }}/scripts/Installers/Validate-GitHub-CLI.ps1" ] }, - { - "type": "powershell", - "environment_vars": [ - "GO_VERSIONS={{user `go_versions`}}", - "GO_DEFAULT={{user `go_default`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Go.ps1" - ] - }, - { - "type": "powershell", - "environment_vars": [ - "ROOT_FOLDER={{user `root_folder`}}" - ], - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-Boost.ps1" - ] - }, { "type": "powershell", "scripts":[ @@ -998,12 +986,30 @@ "{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Validate-GoogleCloudSDK.ps1" + ] + }, { "type": "powershell", "scripts":[ "{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-WindowsUpdates.ps1" + ], + "elevated_user": "{{user `install_user`}}", + "elevated_password": "{{user `install_password`}}" + }, + { + "type": "windows-restart", + "restart_timeout": "10m" + }, { "type": "powershell", "inline": [ diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md index ead818c9..0f7ad83f 100644 --- a/images/win/Windows2019-Readme.md +++ b/images/win/Windows2019-Readme.md @@ -1,924 +1,513 @@ - -# Windows Server 2019 - -The following software is installed on machines with the 20200517.1 update. - -Components marked with **\*** have been upgraded since the previous version of the image. +# Microsoft Windows Server 2019 Datacenter +- OS Version: 10.0.17763 Build 1282 +- Image Version: 20200630.0 - -## Chocolatey - -_Version:_ 0.10.15
-_Environment:_ -* PATH: contains location for choco.exe - -## Docker - -_Version:_ 19.03.5
-_Environment:_ -* PATH: contains location of docker.exe - -## Docker-compose - -_Version:_ 1.25.4
-_Environment:_ -* PATH: contains location of docker-compose.exe - -## Helm - -_Version:_ v3.2.1+gfe51cd1
-_Environment:_ -* PATH: contains location of helm - -## Powershell Core - -_Version:_ 7.0.1
- -## Docker images - -The following container images have been cached: -* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:dbf97206264133cdef6b49b06fa5d4028482845547c2858a086b5ce5c4513f00) -* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:bf47599181ae3877ec680428a99f76d43ffb26251155a6f0b0b76f4e70304c26) -* mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:2629881183feda906459163cb58fbdbc001bea76a92b2dc4695c8e5b14f747ae) -* mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:8e6807c213b52405fec8a861e0b766055ba9d4f941267adf49ee67526755b63a) -* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c) - -## Visual Studio 2019 Enterprise - -_Version:_ VisualStudio/16.5.5+30104.148
-_Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise - -The following workloads and components are installed with Visual Studio 2019: -* Component.Dotfuscator -* Component.Linux.CMake -* Component.UnityEngine.x64 -* Component.UnityEngine.x86 -* Component.Unreal.Android -* Microsoft.Component.Azure.DataLake.Tools -* Microsoft.Component.CookiecutterTools -* 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.2.DeveloperTools -* Microsoft.Net.ComponentGroup.4.7.DeveloperTools -* Microsoft.VisualStudio.Component.AspNet45 -* Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools -* Microsoft.VisualStudio.Component.Azure.MobileAppsSdk -* 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.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 -* 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.ARM.Spectre -* Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre -* Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre -* 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.Windows10SDK.16299 -* Microsoft.VisualStudio.Component.Windows10SDK.17134 -* Microsoft.VisualStudio.Component.Windows10SDK.17763 -* Microsoft.VisualStudio.Component.Windows10SDK.18362 -* Microsoft.VisualStudio.Component.WinXP -* 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 - -Additional Windows 10 SDKs: -* Windows 10 SDK version 10.0.14393.795 - -## WIX Tools - -_Toolset Version:_ 3.11.4516
-_WIX Toolset Studio 2019 Extension Version:_ 1.0.0.4
-_Environment:_ -* WIX: Installation root of WIX - -## Microsoft SSDT Visual Studio 2019 Extensions - -_Microsoft Analysis Services Projects Version:_ 2.9.9
-_SQL Server Integration Services Projects Version:_ 3.6
-_Microsoft Reporting Services Projects Version:_ 2.6.7
- -## .NET 4.8 - -_Version:_ 4.8.03761 -_Path:_ C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools - -## Windows Driver Kit - -_WDK Version:_ 10.1.18362.1
-_WDK Visual Studio Extension Version:_ 10.0.18346.0
- -## Azure Service Fabric - -_SDK Version:_ 4.1.409.9590
-_Runtime Version:_ 7.1.409.9590 - -## WinAppDriver - -_Version:_ 1.1.1809.18001
- -## AWS CLI - -_Version:_ aws-cli 2.0.14
- -## Android SDK Build Tools +## Installed Software +### Language and Runtime +- Java 1.7.0_232 +- Java 1.8.0_252 (default) +- Java 11.0.7 +- Java 13.0.2 +- Rust 1.44.1 +- 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 +- Node 12.18.1 -#### 29.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.3 +### Package Management +- Chocolatey 0.10.15 +- Vcpkg 2020.02.04 +- 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 +- NuGet 5.6.0.6591 -#### 29.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.2 +### Project Management +- Ant 1.10.5 +- Maven 3.6.3 +- Gradle 6.5 +- sbt 1.3.13 -#### 29.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.0 +### Tools +- Azure CosmosDb Emulator 2.11.1.0 +- Bazel 3.3.1 +- Bazelisk 1.5.0 +- CMake 3.17.3 +- 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 +- Kind 0.8.1 +- Mingw-w64 8.1.0 +- MySQL 5.7.21.0 +- Mercurial 5.0 +- NSIS 3.5.0.20200106 +- OpenSSL 1.1.1 +- Packer 1.6.0 +- SQLPS 1.0 +- SQLServer PS 21.1.18221 +- Subversion (SVN) 1.8.17 +- ghc 8.10.1 +- Cabal 3.2.0.0 +- Stack 2.3.1 +- WinAppDriver 1.1.1809.18001 +- zstd 1.4.0 +- VSWhere 2.8.4 +- 7zip 19.00 -#### 28.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\28.0.3 +### CLI Tools +- Azure CLI 2.8.0 +- azcopy 10.4.3 +- Azure DevOps CLI extension 0.18.0 +- AWS CLI 2.0.26 +- AWS SAM CLI 0.53.0 +- Alibaba CLI 3.0.26 +- Cloud Foundry CLI 6.51.0 +- Hub CLI 2.14.2 +- Google Cloud SDK 299.0.0 -#### 28.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\28.0.2 +### Browsers and webdrivers +- Google Chrome 83.0.4103.116 +- Chrome Driver 83.0.4103.39 +- Microsoft Edge 83.0.478.56 +- Microsoft Edge Driver 83.0.478.58 +- Mozilla Firefox 78.0 +- Gecko Driver 0.26.0 +- IE Driver 3.150.1.0 -#### 28.0.1 +### MSYS2 +- Pacman 5.2.1 +``` +Location: C:\msys64 -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\28.0.1 +Note: MSYS2 is pre-installed on image but not added to PATH. +``` +### Cached Tools +#### Boost +| Version | Architecture | Environment Variable | +| ------- | ------------ | -------------------- | +| 1.69.0 | x64, x86 | BOOST_ROOT_1_69_0 | +| 1.72.0 | x64, x86 | BOOST_ROOT_1_72_0 | +##### Notes: +``` +1. Environment variable "BOOST_ROOT" is not set by default. + Please make sure you set this variable value to proper value + from table above depending on the Boost version you are using. +2. If Boost was built using the boost-cmake project or from Boost 1.70.0 + on it provides a package configuration file for use with find_package's config mode. + This module looks for the package configuration file called BoostConfig.cmake or boost-config.cmake + and stores the result in CACHE entry "Boost_DIR". If found, the package configuration file + is loaded and this module returns with no further action. + See documentation of the Boost CMake package configuration for details on what it provides. + Set Boost_NO_BOOST_CMAKE to ON, to disable the search for boost-cmake. + Link: https://cmake.org/cmake/help/latest/module/FindBoost.html +``` -#### 28.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\28.0.0 +#### Go +| Version | Architecture | Environment Variable | +| ------- | ------------ | -------------------- | +| 1.9.7 | x64 | GOROOT_1_9_X64 | +| 1.10.8 | x64 | GOROOT_1_10_X64 | +| 1.11.13 | x64 | GOROOT_1_11_X64 | +| 1.12.17 | x64 | GOROOT_1_12_X64 | +| 1.13.12 | x64 | GOROOT_1_13_X64 | +| 1.14.4 (Default) | x64 | GOROOT_1_14_X64 | -#### 27.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.3 -#### 27.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.2 +#### Node +| Version | Architecture | +| ------- | ------------ | +| 8.17.0 | x64 | +| 10.21.0 | x64 | +| 12.18.1 | x64 | +| 14.4.0 | x64 | -#### 27.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.1 -#### 27.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.0 +#### Python +| Version | Architecture | +| ------- | ------------ | +| 2.7.18 | x64, x86 | +| 3.5.4 | x64, x86 | +| 3.6.8 | x64, x86 | +| 3.7.8 (Default) | x64, x86 | +| 3.8.3 | x64, x86 | -#### 26.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.3 -#### 26.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.2 +#### Ruby +| Version | Architecture | +| ------- | ------------ | +| 2.4.10 | x64 | +| 2.5.8 (Default) | x64 | +| 2.6.6 | x64 | +| 2.7.1 | x64 | -#### 26.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.1 -#### 26.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.0 +#### PyPy +| Python Version | Architecture | PyPy Version | +| -------------- | ------------ | ------------ | +| 2.7.13 | x86 | PyPy 7.3.1 with MSC v.1912 32 bit | +| 3.6.9 | x86 | PyPy 7.3.1 with MSC v.1912 32 bit | -#### 25.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.3 -#### 25.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.2 -#### 25.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.1 +### Databases +#### PostgreSQL +| Version | UserName | Password | EnvironmentVariables | Path | ServiceName | ServiceStatus | ServiceStartType | +| ------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | ----------------- | ------------- | ---------------- | +| 12.3 | postgres | root | PGBIN=C:\Program Files\PostgreSQL\12\bin;
PGDATA=C:\Program Files\PostgreSQL\12\data;
PGROOT=C:\Program Files\PostgreSQL\12 | C:\Program Files\PostgreSQL\12 | postgresql-x64-12 | Stopped | Disabled | -#### 25.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.0 -#### 24.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.3 +#### MongoDB +| Version | ServiceName | ServiceStatus | ServiceStartType | +| ------- | ----------- | ------------- | ---------------- | +| 4.2.8.0 | MongoDB | Running | Automatic | -#### 24.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.2 -#### 24.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.1 -#### 24.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.0 +### Visual Studio Enterprise 2019 +| Name | Version | Path | +| ----------------------------- | -------------- | -------------------------------------------------------------- | +| Visual Studio Enterprise 2019 | 16.6.30204.135 | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise | -#### 23.0.3 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\23.0.3 +#### Workloads, components and extensions: -#### 23.0.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\23.0.2 +| Package | version | +| ------------------------------------------------------------------------- | -------------- | +| Component.Android.NDK.R16B | 16.6.30202.64 | +| Component.Android.SDK25.Private | 16.0.28625.61 | +| Component.Android.SDK28 | 16.2.29003.222 | +| Component.Ant | 1.9.3.8 | +| Component.Dotfuscator | 16.0.28528.71 | +| Component.Linux.CMake | 16.2.29003.222 | +| Component.MDD.Android | 16.0.28517.75 | +| Component.MDD.Linux | 16.5.29515.121 | +| Component.MDD.Linux.GCC.arm | 16.5.29515.121 | +| Component.Microsoft.VisualStudio.LiveShare | 1.0.1998 | +| Component.Microsoft.VisualStudio.RazorExtension | 16.0.28714.129 | +| Component.Microsoft.VisualStudio.Tools.Applications | 16.0.29425.2 | +| Component.Microsoft.VisualStudio.Web.AzureFunctions | 16.0.28714.129 | +| Component.Microsoft.Web.LibraryManager | 16.0.28315.86 | +| Component.Microsoft.Windows.DriverKit | 10.0.19030.0 | +| Component.OpenJDK | 16.1.28811.260 | +| Component.UnityEngine.x64 | 16.5.29515.121 | +| Component.Unreal | 16.1.28810.153 | +| Component.Unreal.Android | 16.1.28810.153 | +| Component.WixToolset.VisualStudioExtension.Dev16 | 1.0.0.4 | +| Component.WixToolset.VisualStudioExtension.Schemas3 | 1.0.0.4 | +| Component.WixToolset.VisualStudioExtension.Schemas4 | 1.0.0.4 | +| Component.Xamarin | 16.6.30013.169 | +| Component.Xamarin.RemotedSimulator | 16.0.28315.86 | +| Microsoft.Component.Azure.DataLake.Tools | 16.6.30013.169 | +| Microsoft.Component.MSBuild | 16.5.29515.121 | +| Microsoft.Component.NetFX.Native | 16.5.29515.121 | +| Microsoft.Component.PythonTools | 16.5.29515.121 | +| Microsoft.Component.PythonTools.Miniconda | 16.2.29003.222 | +| Microsoft.Component.PythonTools.Web | 16.0.28517.75 | +| Microsoft.Component.VC.Runtime.UCRTSDK | 16.0.28625.61 | +| Microsoft.ComponentGroup.Blend | 16.0.28315.86 | +| Microsoft.Net.Component.3.5.DeveloperTools | 16.0.28517.75 | +| Microsoft.Net.Component.4.5.1.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.5.2.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.5.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.6.1.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.6.2.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.6.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.Component.4.7.1.TargetingPack | 16.6.30027.131 | +| Microsoft.Net.Component.4.7.2.SDK | 16.4.29409.204 | +| Microsoft.Net.Component.4.7.2.TargetingPack | 16.6.30027.131 | +| Microsoft.Net.Component.4.7.TargetingPack | 16.6.30027.131 | +| Microsoft.Net.Component.4.8.SDK | 16.4.29313.120 | +| Microsoft.Net.Component.4.TargetingPack | 16.0.28517.75 | +| Microsoft.Net.ComponentGroup.4.6.2.DeveloperTools | 16.3.29207.166 | +| Microsoft.Net.ComponentGroup.4.7.1.DeveloperTools | 16.3.29207.166 | +| 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.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.Web | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.AppInsights.Tools | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.AspNet45 | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.Azure.AuthoringTools | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.Azure.ClientLibs | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.Azure.Compute.Emulator | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.Azure.Powershell | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.Azure.ResourceManager.Tools | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.Azure.Storage.AzCopy | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Azure.Storage.Emulator | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.Azure.Waverton | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.Azure.Waverton.BuildTools | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.ClassDesigner | 16.0.28528.71 | +| Microsoft.VisualStudio.Component.CloudExplorer | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.CodeMap | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.Common.Azure.Tools | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.CoreEditor | 16.1.28811.260 | +| Microsoft.VisualStudio.Component.Debugger.JustInTime | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Debugger.Snapshot | 16.5.29813.82 | +| Microsoft.VisualStudio.Component.Debugger.TimeTravel | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.DiagnosticTools | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.DockerTools | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.DotNetModelBuilder | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.DslTools | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.EntityFramework | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.FSharp | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.FSharp.Desktop | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.FSharp.WebTemplates | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.GraphDocument | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.Graphics | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Graphics.Tools | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.IISExpress | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.IntelliCode | 0.2 | +| Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.JavaScript.Diagnostics | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.JavaScript.TypeScript | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.LinqToSql | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.LiveUnitTesting | 16.1.28811.260 | +| Microsoft.VisualStudio.Component.ManagedDesktop.Core | 16.4.29318.151 | +| Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.Merq | 16.2.29012.281 | +| Microsoft.VisualStudio.Component.MonoDebugger | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.MSODBC.SQL | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.MSSQL.CMDLnUtils | 16.0.28707.177 | +| Microsoft.VisualStudio.Component.Node.Tools | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.NuGet | 16.1.28829.92 | +| Microsoft.VisualStudio.Component.NuGet.BuildTools | 16.1.28829.92 | +| Microsoft.VisualStudio.Component.PortableLibrary | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Roslyn.Compiler | 16.0.28714.129 | +| Microsoft.VisualStudio.Component.Roslyn.LanguageServices | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.Sharepoint.Tools | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.SQL.ADAL | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.SQL.CLR | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.SQL.DataSources | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.SQL.SSDT | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.TeamOffice | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.TestTools.CodedUITest | 16.0.28327.66 | +| Microsoft.VisualStudio.Component.TestTools.WebLoadTest | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.TextTemplating | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.TypeScript.3.8 | 16.0.29813.82 | +| Microsoft.VisualStudio.Component.Unity | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.UWP.VC.ARM64 | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.VC.14.25.x86.x64 | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.140 | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.ASAN | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.ATL | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM64 | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.ATL.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.ATLMFC | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.CLI.Support | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.CMake.Project | 16.3.29103.31 | +| Microsoft.VisualStudio.Component.VC.CoreIde | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.DiagnosticTools | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.Llvm.Clang | 16.6.30027.131 | +| Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset | 16.3.29207.166 | +| Microsoft.VisualStudio.Component.VC.MFC.ARM | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.MFC.ARM64 | 16.4.29313.120 | +| Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.Redist.14.Latest | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.Redist.MSM | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.VC.Tools.ARM | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.Tools.ARM64 | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.Tools.x86.x64 | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.v141.ARM | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.v141.ARM64 | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VC.v141.ATL | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre | 16.5.29721.120 | +| Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.MFC | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.VC.v141.x86.x64 | 16.6.30013.169 | +| Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre | 16.5.29515.121 | +| Microsoft.VisualStudio.Component.VSSDK | 16.0.28315.86 | +| Microsoft.VisualStudio.Component.Wcf.Tooling | 16.0.28625.61 | +| Microsoft.VisualStudio.Component.Web | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.WebDeploy | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Windows10SDK | 16.4.29409.204 | +| Microsoft.VisualStudio.Component.Windows10SDK.16299 | 16.6.30027.131 | +| Microsoft.VisualStudio.Component.Windows10SDK.17134 | 16.6.30027.131 | +| Microsoft.VisualStudio.Component.Windows10SDK.17763 | 16.0.28517.75 | +| Microsoft.VisualStudio.Component.Windows10SDK.18362 | 16.1.28829.92 | +| Microsoft.VisualStudio.Component.Windows10SDK.19041 | 16.6.30107.105 | +| Microsoft.VisualStudio.Component.WinXP | 16.1.28811.260 | +| Microsoft.VisualStudio.Component.Workflow | 16.0.28315.86 | +| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native | 16.0.28621.142 | +| Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices | 16.4.29409.204 | +| Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites | 16.4.29409.204 | +| Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools | 16.0.28528.71 | +| Microsoft.VisualStudio.ComponentGroup.AzureFunctions | 16.0.28621.142 | +| Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging | 16.4.29409.204 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core | 16.2.29012.281 | +| Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang | 16.6.30027.131 | +| Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard | 16.3.29102.218 | +| Microsoft.VisualStudio.ComponentGroup.UWP.Support | 16.4.29409.204 | +| Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin | 16.5.29514.35 | +| Microsoft.VisualStudio.ComponentGroup.VisualStudioExtension.Prerequisites | 16.4.29318.151 | +| Microsoft.VisualStudio.ComponentGroup.Web | 16.4.29318.151 | +| Microsoft.VisualStudio.ComponentGroup.Web.CloudTools | 16.2.29003.222 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions | 16.6.30013.169 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake | 16.3.29207.166 | +| Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine | 16.0.28315.86 | +| Microsoft.VisualStudio.Workload.Azure | 16.4.29409.204 | +| Microsoft.VisualStudio.Workload.CoreEditor | 16.0.28315.86 | +| Microsoft.VisualStudio.Workload.Data | 16.0.28720.110 | +| Microsoft.VisualStudio.Workload.DataScience | 16.0.28720.110 | +| Microsoft.VisualStudio.Workload.ManagedDesktop | 16.6.30013.169 | +| Microsoft.VisualStudio.Workload.ManagedGame | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NativeCrossPlat | 16.4.29409.204 | +| Microsoft.VisualStudio.Workload.NativeDesktop | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NativeGame | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NativeMobile | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NetCoreTools | 16.6.30013.169 | +| Microsoft.VisualStudio.Workload.NetCrossPlat | 16.5.29514.35 | +| Microsoft.VisualStudio.Workload.NetWeb | 16.4.29409.204 | +| Microsoft.VisualStudio.Workload.Node | 16.1.28825.262 | +| Microsoft.VisualStudio.Workload.Office | 16.3.29207.166 | +| Microsoft.VisualStudio.Workload.Python | 16.0.28621.142 | +| Microsoft.VisualStudio.Workload.Universal | 16.6.30020.46 | +| Microsoft.VisualStudio.Workload.VisualStudioExtension | 16.4.29409.204 | +| SSDT Microsoft Analysis Services Projects | 2.9.10 | +| SSDT SQL Server Integration Services Projects | 3.8 | +| SSDT Microsoft Reporting Services Projects | 2.6.7 | +| Windows Driver Kit | 1.0.0.4 | +| Windows Driver Kit Visual Studio Extension | 10.1.19041.1 | +| WIX Toolset | 1.0.0.4 | +| WIX Toolset Studio 2019 Extension | 3.11.4516 | -#### 23.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\23.0.1 +### .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 -#### 22.0.1 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\22.0.1 +### .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 -#### 21.1.2 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\21.1.2 +`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 -#### 20.0.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\20.0.0 +`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 -#### 19.1.0 - -_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\19.1.0 +`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 - -## Android SDK Platforms +### .NET Framework +`Type: Developer Pack` +`Location C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX Tools` +- 4.7.2 4.8 -#### 10 (API 29) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-29 +### Azure Powershell Modules +| Module | Version | Path | +| ------- | --------------------------------------------------------------- | ------------------------------ | +| Az | 1.0.0
1.6.0
2.3.2
2.6.0
3.1.0
3.5.0
3.8.0 | C:\Modules\az_\ | +| Azure | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
5.3.0 | C:\Modules\azure_\ | +| AzureRM | 2.1.0 [Installed]
3.8.0
4.2.1
5.1.1
6.7.0
6.13.1 | C:\Modules\azurerm_\ | +``` +Azure PowerShell module 2.1.0 and AzureRM PowerShell module 2.1.0 are installed +and are available via 'Get-Module -ListAvailable'. +All other versions are saved but not installed. +``` +### Android SDK Tools +| Package Name | Description | +| -------------- | ------------------------------------------- | +| platform-tools | Android SDK Platform-Tools, Revision 30.0.3 | +| tools | Android SDK Tools 26.1.1, Revision 26.1.1 | -#### 9 (API 28) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-28 +### Android SDK Platforms +`Location C:\Program Files (x86)\Android\android-sdk\platforms` +| Package Name | Description | +| ------------ | ------------------------------------------ | +| android-19 | Android SDK Platform 19, Revision 4 | +| android-21 | Android SDK Platform 21, Revision 2 | +| android-22 | Android SDK Platform 22, Revision 2 | +| android-23 | Android SDK Platform 23, Revision 3 | +| android-24 | Android SDK Platform 24, Revision 2 | +| android-25 | Android SDK Platform 25, Revision 3 | +| android-26 | Android SDK Platform 26, Revision 2 | +| android-27 | Android SDK Platform 27, Revision 3 | +| android-28 | Android SDK Platform 28, rev 6, Revision 6 | +| android-29 | Android SDK Platform 29, Revision 4 | +| android-30 | Android SDK Platform 30, Revision 1 | -#### 8.1.0 (API 27) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-27 +### Android SDK Build-Tools +`Location C:\Program Files (x86)\Android\android-sdk\build-tools` +| Package Name | Description | +| ------------------ | ---------------------------------------- | +| build-tools-19.1.0 | Android SDK Build-Tools, Revision 19.1.0 | +| build-tools-20.0.0 | Android SDK Build-Tools, Revision 20.0.0 | +| build-tools-21.1.2 | Android SDK Build-Tools, Revision 21.1.2 | +| build-tools-22.0.1 | Android SDK Build-Tools, Revision 22.0.1 | +| build-tools-23.0.1 | Android SDK Build-Tools, Revision 23.0.1 | +| build-tools-23.0.2 | Android SDK Build-Tools, Revision 23.0.2 | +| build-tools-23.0.3 | Android SDK Build-Tools, Revision 23.0.3 | +| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 | +| build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 | +| build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 | +| build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 | +| build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 | +| build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 | +| build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 | +| build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 | +| build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 | +| build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 | +| build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 | +| build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 | +| build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 | +| build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 | +| build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 | +| build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 | +| build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 | +| build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 | +| build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 | +| build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 | +| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 | +| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 | +| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 | +| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 | +| build-tools-30.0.0 | Android SDK Build-Tools, Revision 30.0.0 | -#### 8.0.0 (API 26) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-26 +### Android Extra Packages +| Package Name | Version | +| -------------------------- | ------------ | +| Android Support Repository | 47.0.0 | +| Google Play services | 49 | +| Google Repository | 58 | +| NDK | 21.3.6528147 | -#### 7.1.1 (API 25) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-25 +### Cached Docker images +- mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 +- mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 +- mcr.microsoft.com/windows/servercore:ltsc2019 +- mcr.microsoft.com/windows/nanoserver:1809 +- microsoft/aspnetcore-build:1.0-2.0 -#### 7.0 (API 24) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-24 -#### 6.0 (API 23) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-23 - -#### 5.1.1 (API 22) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-22 - -#### 5.0.1 (API 21) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-21 - -#### 4.4.2 (API 19) - -_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-19 - - -## AzureRM PowerShell module - -#### 2.1.0 - -This version is installed and is available via `Get-Module -ListAvailable` -#### 3.8.0 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_3.8.0\AzureRM\3.8.0\AzureRM.psd1 -#### 4.2.1 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_4.2.1\AzureRM\4.2.1\AzureRM.psd1 -#### 5.1.1 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_5.1.1\AzureRM\5.1.1\AzureRM.psd1 -#### 6.7.0 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_6.7.0\AzureRM\6.7.0\AzureRM.psd1 -#### 6.13.1 - -This version is saved but not installed -_Location:_ C:\Modules\azurerm_6.13.1\AzureRM\6.13.1\AzureRM.psd1 - -## Azure PowerShell module - -#### 2.1.0 - -This version is installed and is available via `Get-Module -ListAvailable` -#### 3.8.0 - -This version is saved but not installed -_Location:_ C:\Modules\azure_3.8.0\Azure\3.8.0\Azure.psd1 -#### 4.2.1 - -This version is saved but not installed -_Location:_ C:\Modules\azure_4.2.1\Azure\4.2.1\Azure.psd1 -#### 5.1.1 - -This version is saved but not installed -_Location:_ C:\Modules\azure_5.1.1\Azure\5.1.1\Azure.psd1 -#### 5.3.0 - -This version is saved but not installed -_Location:_ C:\Modules\azure_5.3.0\Azure\5.3.0\Azure.psd1 - -## Az PowerShell module - - -#### 1.0.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_1.0.0\Az\1.0.0\Az.psd1 -#### 1.6.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_1.6.0\Az\1.6.0\Az.psd1 -#### 2.3.2 - -This version is saved but not installed -_Location:_ C:\Modules\az_2.3.2\Az\2.3.2\Az.psd1 -#### 2.6.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_2.6.0\Az\2.6.0\Az.psd1 -#### 3.1.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_3.1.0\Az\3.1.0\Az.psd1 -#### 3.5.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_3.5.0\Az\3.5.0\Az.psd1 -#### 3.8.0 - -This version is saved but not installed -_Location:_ C:\Modules\az_3.8.0\Az\3.8.0\Az.psd1 - -## TLS12 - -_Version:_ 1.2
-_Description:_ .NET has been configured to use TLS 1.2 by default - -## Azure CLI - -_Version:_ 2.5.1 -_Environment:_ -* PATH: contains location of az.cmd - -## AWS SAM CLI - -_Version:_ 0.49.0
- -## Azure DevOps Cli extension - -_Version:_ azure-devops 0.18.0 - -## MSYS2 - -_Tool versions_ -_pacman:_ 5.2.1
-_bash:_ 4.4.23
-_gcc:_ 10.1.0
-_tar:_ 1.32
-MSYS2 location: C:\msys64 - -## PyPy - -_Version:_ 2.7.13 (x86)
_Version:_ 3.6.9 (x86)
- -## Ruby - -_Version:_ 2.4.10 (x64)
_Version:_ 2.5.8 (x64)
_Version:_ 2.6.6 (x64)
_Version:_ 2.7.1 (x64)

__System default version:__ Ruby 2.5.8p224
_Environment:_
* Location: C:\hostedtoolcache\windows\Ruby\2.5.8\x64\bin
* PATH: contains the location of Ruby 2.5.8p224
* Gem Version: 3.1.3
- -## Python (x64) - -_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.3

__System default version:__ Python 3.7.7
_Environment:_
* Location: C:\hostedtoolcache\windows\Python\3.7.7\x64
* PATH: contains the location of Python 3.7.7
- -## Python (x86) - -_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.3
- -## node (x64) - -_Version:_ 8.17.0
_Version:_ 10.20.1
_Version:_ 12.16.3
_Version:_ 14.2.0
- -## OpenSSL - -_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe
_Version:_ 1.1.1d at C:\Strawberry\c\bin\openssl.exe
_Version:_ 1.1.1f at C:\Program Files\Git\mingw64\bin\openssl.exe
_Version:_ 1.1.1f at C:\Program Files\Git\usr\bin\openssl.exe
_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe
- -## Perl - -_Version:_ v5.30.2
- -## Git - -_Version:_ 2.26.2
-_Environment:_ -* PATH: contains location of git.exe - -## Git Large File Storage (LFS) - -_Version:_ 2.10.0
-_Environment:_ -* PATH: contains location of git-lfs.exe -* GIT_LFS_PATH: location of git-lfs.exe - -## Hub CLI - -_Version:_ 2.14.2
-_Environment:_ -* PATH: contains location of hub.exe - -## Go (x64) - - - -## Boost - -#### 1.69.0 [msvc-14.1] - -_Environment:_ -* BOOST_ROOT_1_69_0: root directory of the Boost version 1.69.0 installation - -#### 1.72.0 [msvc-14.2] - -_Environment:_ -* BOOST_ROOT_1_72_0: root directory of the Boost version 1.72.0 installation - - -#### _Notes:_ - -> `BOOST_ROOT` is not set on images but it is required by CMake. Please make sure you set this variable -> value to either `BOOST_ROOT_1_69_0` or `BOOST_ROOT_1_72_0` depending on the Boost version you are using. - -Link: https://cmake.org/cmake/help/latest/module/FindBoost.html - -If Boost was built using the `boost-cmake` project or from `Boost 1.70.0` on it provides a package -configuration file for use with find\_package's config mode. This module looks for the package -configuration file called BoostConfig.cmake or boost-config.cmake and stores the result in CACHE entry "Boost_DIR". -If found, the package configuration file is loaded and this module returns with no further action. -See documentation of the Boost CMake package configuration for details on what it provides. - -Set `Boost_NO_BOOST_CMAKE to ON`, to disable the search for boost-cmake. - - -## Composer - -#### Composer version 1.10.6 2020-05-06 10:28:10 - -_Environment:_ -* PATH: contains the location of composer.exe version Composer version 1.10.6 2020-05-06 10:28:10 -* PHPROOT: root directory of the Composer Composer version 1.10.6 2020-05-06 10:28:10 installation - -## PHP (x64) - -#### 7.4.5 - -_Environment:_ -* PATH: contains the location of php.exe version 7.4.5 -* PHPROOT: root directory of the PHP 7.4.5 installation - -## Rust (64-bit) - -#### 1.43.1 -_Environment:_ -* _Location:_ C:\Rust\.cargo\bin -* PATH: contains the location of rustc.exe - -## Julia (x64) - -_Version:_ 1.4.1
- -## Subversion - -_Version:_ 1.8.17
-_Environment:_ -* PATH: contains location of svn.exe - -## sbt - - - -## Google Chrome - -_version:_ -81.0.4044.138 - -## Microsoft Edge - -_version:_ -81.0.416.72 - -## Mozilla Firefox - -_version:_ -76.0.1 - -## Selenium Web Drivers - - -#### Chrome Driver - -_version:_ -81.0.4044.138 - -_Environment:_ -* ChromeWebDriver: location of chromedriver.exe - -#### Gecko Driver - -_version:_ -0.26.0 - -_Environment:_ -* GeckoWebDriver: location of geckodriver.exe - -#### IE Driver - -_version:_ -3.8.0.0 - -_Environment:_ -* IEWebDriver: location of IEDriverServer.exe - -#### Microsoft Edge Driver - -_version:_ -81.0.416.72 - -_Environment:_ -* EdgeWebDriver: location of msedgedriver.exe - - -## Node.js - -_Version:_ 12.16.3
-_Architecture:_ x64
-_Environment:_ -* PATH: contains location of node.exe
-* Gulp CLI version: 2.2.0 Local version: Unknown
-* Grunt grunt-cli v1.3.2
-* Yarn 1.22.4
- - -## npm - -_Version:_ 6.14.4
-_Environment:_ -* PATH: contains location of npm.cmd - -## Java Development Kit - -#### 1.8.0_222 (default) - -_Environment:_ -* JAVA_HOME: location of JDK -* PATH: contains bin folder of JDK - -#### 1.7.0_232 - -_Location:_ C:\Program Files\Java\zulu-7-azure-jdk_7.31.0.5-7.0.232-win_x64 - -#### 11.0.4 - -_Location:_ C:\Program Files\Java\zulu-11-azure-jdk_11.33.15-11.0.4-win_x64 - -#### 13.0.3 - -_Location:_ C:\Program Files\Java\zulu-13-azure-jdk_13.31.11-13.0.3-win_x64 - -## Ant - -_Version:_ 1.10.5
-_Environment:_ -* PATH: contains location of ant.cmd -* ANT_HOME: location of ant.cmd -* COBERTURA_HOME: location of cobertura-2.1.1.jar - -## Maven - -_Version:_ 3.6.3
-_Environment:_ -* PATH: contains location of mvn.bat -* M2_HOME: Maven installation root - -## Gradle - -_Version:_ 6.3
-_Environment:_ -* PATH: contains location of gradle - -## CMake - -_Version:_ 3.17.2
-_Environment:_ -* PATH: contains location of cmake.exe - -## SQL Server Data Tier Application Framework (x64) - -_Version:_ 15.0.4769.1
-* SQL Server Express LocalDB is available at C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe - -## .NET Core - -The following runtimes and SDKs are installed: - -_Environment:_ -* PATH: contains location of dotnet.exe - -_SDK:_ -* 3.1.202 C:\Program Files\dotnet\sdk\3.1.202 -* 3.1.201 C:\Program Files\dotnet\sdk\3.1.201 -* 3.1.200 C:\Program Files\dotnet\sdk\3.1.200 -* 3.1.104 C:\Program Files\dotnet\sdk\3.1.104 -* 3.1.103 C:\Program Files\dotnet\sdk\3.1.103 -* 3.1.102 C:\Program Files\dotnet\sdk\3.1.102 -* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101 -* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100 -* 2.2.402 C:\Program Files\dotnet\sdk\2.2.402 -* 2.2.401 C:\Program Files\dotnet\sdk\2.2.401 -* 2.2.301 C:\Program Files\dotnet\sdk\2.2.301 -* 2.2.300 C:\Program Files\dotnet\sdk\2.2.300 -* 2.2.207 C:\Program Files\dotnet\sdk\2.2.207 -* 2.2.206 C:\Program Files\dotnet\sdk\2.2.206 -* 2.2.205 C:\Program Files\dotnet\sdk\2.2.205 -* 2.2.204 C:\Program Files\dotnet\sdk\2.2.204 -* 2.2.203 C:\Program Files\dotnet\sdk\2.2.203 -* 2.2.202 C:\Program Files\dotnet\sdk\2.2.202 -* 2.2.110 C:\Program Files\dotnet\sdk\2.2.110 -* 2.2.109 C:\Program Files\dotnet\sdk\2.2.109 -* 2.2.108 C:\Program Files\dotnet\sdk\2.2.108 -* 2.2.107 C:\Program Files\dotnet\sdk\2.2.107 -* 2.2.106 C:\Program Files\dotnet\sdk\2.2.106 -* 2.2.105 C:\Program Files\dotnet\sdk\2.2.105 -* 2.2.104 C:\Program Files\dotnet\sdk\2.2.104 -* 2.2.103 C:\Program Files\dotnet\sdk\2.2.103 -* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102 -* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101 -* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100 -* 2.1.806 C:\Program Files\dotnet\sdk\2.1.806 -* 2.1.805 C:\Program Files\dotnet\sdk\2.1.805 -* 2.1.804 C:\Program Files\dotnet\sdk\2.1.804 -* 2.1.803 C:\Program Files\dotnet\sdk\2.1.803 -* 2.1.802 C:\Program Files\dotnet\sdk\2.1.802 -* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801 -* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701 -* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700 -* 2.1.611 C:\Program Files\dotnet\sdk\2.1.611 -* 2.1.610 C:\Program Files\dotnet\sdk\2.1.610 -* 2.1.609 C:\Program Files\dotnet\sdk\2.1.609 -* 2.1.608 C:\Program Files\dotnet\sdk\2.1.608 -* 2.1.607 C:\Program Files\dotnet\sdk\2.1.607 -* 2.1.606 C:\Program Files\dotnet\sdk\2.1.606 -* 2.1.605 C:\Program Files\dotnet\sdk\2.1.605 -* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604 -* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603 -* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602 -* 2.1.514 C:\Program Files\dotnet\sdk\2.1.514 -* 2.1.513 C:\Program Files\dotnet\sdk\2.1.513 -* 2.1.512 C:\Program Files\dotnet\sdk\2.1.512 -* 2.1.511 C:\Program Files\dotnet\sdk\2.1.511 -* 2.1.510 C:\Program Files\dotnet\sdk\2.1.510 -* 2.1.509 C:\Program Files\dotnet\sdk\2.1.509 -* 2.1.508 C:\Program Files\dotnet\sdk\2.1.508 -* 2.1.507 C:\Program Files\dotnet\sdk\2.1.507 -* 2.1.506 C:\Program Files\dotnet\sdk\2.1.506 -* 2.1.505 C:\Program Files\dotnet\sdk\2.1.505 -* 2.1.504 C:\Program Files\dotnet\sdk\2.1.504 -* 2.1.503 C:\Program Files\dotnet\sdk\2.1.503 -* 2.1.502 C:\Program Files\dotnet\sdk\2.1.502 -* 2.1.500 C:\Program Files\dotnet\sdk\2.1.500 -* 2.1.403 C:\Program Files\dotnet\sdk\2.1.403 -* 2.1.402 C:\Program Files\dotnet\sdk\2.1.402 -* 2.1.401 C:\Program Files\dotnet\sdk\2.1.401 -* 2.1.302 C:\Program Files\dotnet\sdk\2.1.302 -* 2.1.301 C:\Program Files\dotnet\sdk\2.1.301 -* 2.1.300 C:\Program Files\dotnet\sdk\2.1.300 - -_Runtime:_ -* 3.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.4 -* 3.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.3 -* 3.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.2 -* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1 -* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0 -* 2.2.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.8 -* 2.2.7 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.7 -* 2.2.6 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.6 -* 2.2.5 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.5 -* 2.2.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.4 -* 2.2.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.3 -* 2.2.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.2 -* 2.2.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.1 -* 2.2.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.0 -* 2.1.9 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.9 -* 2.1.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.8 -* 2.1.7 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.7 -* 2.1.6 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.6 -* 2.1.5 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.5 -* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4 -* 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3 -* 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2 -* 2.1.18 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.18 -* 2.1.17 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.17 -* 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16 -* 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15 -* 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14 -* 2.1.13 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13 -* 2.1.12 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.12 -* 2.1.11 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.11 -* 2.1.10 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.10 -* 2.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.1 -* 2.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.0 - -## Mysql - -_Version:_ 5.7.21.0
-_Environment:_ -* PATH: contains location of mysql.exe - -## SQLPS - -_Version:_ 1.0 - -## SQLServer PS - -_Version:_ 21.1.18221 - -## MinGW - -_Version:_ 8.1.0
-_Environment:_ -* PATH: contains location of the MinGW 'bin' directory - -## TypeScript - -_Version:_ Version 3.9.2
- -## ghc - -_Version:_ -ghc 8.10.1 - ghc 8.6.5 (default) - ghc 8.8.3 -
- -## cabal - -_Version:_ cabal-install version 3.2.0.0 compiled using version 3.2.0.0 of the Cabal library
- -## Stack - -_Version:_ Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0
-_Environment:_ -* PATH: contains location of stack.exe - -## Miniconda - -_Version:_ conda 4.6.14
-_Environment:_ -* CONDA: contains location of the root of the Miniconda installation - -## Azure CosmosDb Emulator - -_Version:_ 2.9.2.0
-_Location:_ C:\Program Files\Azure Cosmos DB Emulator\ - -## 7zip - -_Version:_ 19.00
- -## Packer - -_Version:_ 1.5.6
- -## Mercurial - -_Version:_ 5.0
- -## jq - -_Version:_ jq-1.6
- -## zstd - -_Version:_ 1.4.0
- -## Inno Setup - -_Version:_ 6.0.4
- -## GitVersion - -_Version:_ 5.3.3.0
- -## Nullsoft Install System (NSIS) - -_Version:_ 3.5
- -## Cloud Foundry CLI - -_Version:_ 6.51.0
- -## Vcpkg - -_Version:_ 2020.02.04-nohash
-_Environment:_ -* PATH: contains location of the vcpkg directory -* VCPKG_INSTALLATION_ROOT: root directory of the vcpkg installation - -## VSWhere - -_Version_: 2.8.4+ff0de50053 - shim 0.8.1
-* PATH: contains location of vswhere.exe - -## Kubectl - -_Version:_ Client Version: v1.18.2
-_Environment:_ -* PATH: contains location of kubectl.exe - -## Kind - -_Version:_ kind v0.7.0 go1.13.6 windows/amd64
-_Environment:_ -* PATH: contains location of kind.exe - -## bazel - -_Version:_ bazel 3.1.0
- -## bazelisk - -_Version:_ 1.4.0
- -## Alibaba Cloud CLI - -_Version:_ 3.0.26
diff --git a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 index c4485493..95a7d6c7 100644 --- a/images/win/scripts/ImageHelpers/ImageHelpers.psm1 +++ b/images/win/scripts/ImageHelpers/ImageHelpers.psm1 @@ -16,6 +16,7 @@ Export-ModuleMember -Function @( 'Install-VisualStudio' 'Get-ToolcachePackages' 'Get-ToolsetContent' + 'Get-ToolsetToolFullPath' 'Get-ToolsByName' 'Stop-SvcWithErrHandling' 'Set-SvcWithErrHandling' diff --git a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 index b4e28705..af82e378 100644 --- a/images/win/scripts/ImageHelpers/InstallHelpers.ps1 +++ b/images/win/scripts/ImageHelpers/InstallHelpers.ps1 @@ -137,7 +137,7 @@ function Stop-SvcWithErrHandling .PARAMETER StopOnError Switch for stopping the script and exit from PowerShell if one service is absent #> - param + Param ( [Parameter(Mandatory, ValueFromPipeLine = $true)] [string] $ServiceName, @@ -187,7 +187,7 @@ function Set-SvcWithErrHandling Hashtable for service arguments #> - param + Param ( [Parameter(Mandatory, ValueFromPipeLine = $true)] [string] $ServiceName, @@ -217,7 +217,7 @@ function Set-SvcWithErrHandling function Start-DownloadWithRetry { - param + Param ( [Parameter(Mandatory)] [string] $Url, @@ -348,17 +348,74 @@ function Get-VSExtensionVersion return $packageVersion } -function Get-ToolcachePackages { +function Get-ToolcachePackages +{ $toolcachePath = Join-Path $env:ROOT_FOLDER "toolcache.json" Get-Content -Raw $toolcachePath | ConvertFrom-Json } -function Get-ToolsetContent { +function Get-ToolsetContent +{ $toolsetJson = Get-Content -Path $env:TOOLSET_JSON_PATH -Raw ConvertFrom-Json -InputObject $toolsetJson } -function Get-ToolsByName { +function Get-ToolsetToolFullPath +{ + <# + .DESCRIPTION + Function that return full path to specified toolset tool. + + .PARAMETER Name + The name of required tool. + + .PARAMETER Version + The version of required tool. + + .PARAMETER Arch + The architecture of required tool. + #> + + Param + ( + [Parameter(Mandatory=$true)] + [string] $Name, + [Parameter(Mandatory=$true)] + [string] $Version, + [string] $Arch = "x64" + ) + + $ToolPath = Join-Path $env:AGENT_TOOLSDIRECTORY $Name + + # Add wildcard if missing + if ($Version.Split(".").Length -lt 3) { + $Version += ".*" + } + + # Check if version folder exists + $expectedVersionPath = Join-Path $ToolPath $Version + if (-not (Test-Path $expectedVersionPath)) { + Write-Host "Expected ${Name} ${Version} folder is not found!" + exit 1 + } + + # Take latest installed version in case if toolset version contains wildcards + $foundVersion = Get-Item $expectedVersionPath ` + | Sort-Object -Property {[version]$_.name} -Descending ` + | Select-Object -First 1 + + # Check for required architecture folder + $foundVersionArchPath = Join-Path $foundVersion $Arch + if (-not (Test-Path $foundVersionArchPath)) { + Write-Host "Expected ${Name}(${Arch}) $($foundVersion.name) architecture folder is not found!" + exit 1 + } + + return $foundVersionArchPath +} + +function Get-ToolsByName +{ Param ( [Parameter(Mandatory = $True)] @@ -391,7 +448,7 @@ function Test-IsWin16 } function Extract-7Zip { - param + Param ( [Parameter(Mandatory=$true)] [string]$Path, diff --git a/images/win/scripts/Installers/Configure-Toolset.ps1 b/images/win/scripts/Installers/Configure-Toolset.ps1 new file mode 100644 index 00000000..07594eb1 --- /dev/null +++ b/images/win/scripts/Installers/Configure-Toolset.ps1 @@ -0,0 +1,84 @@ +################################################################################ +## File: Configure-Toolset.ps1 +## Team: CI-Build +## Desc: Configure Toolset +################################################################################ + +Function Set-DefaultVariables +{ + param + ( + [Parameter(Mandatory=$true)] + [object] $EnvVars, + [Parameter(Mandatory=$true)] + [string] $ToolVersionPath + ) + + $templates = $EnvVars.pathTemplates + foreach ($template in $templates) + { + $toolSystemPath = $template -f $ToolVersionPath + Add-MachinePathItem -PathItem $toolSystemPath | Out-Null + } + + if (-not ([string]::IsNullOrEmpty($EnvVars.defaultVariable))) + { + setx $toolEnvVars.defaultVariable $ToolVersionPath /M | Out-Null + } +} + +$ErrorActionPreference = "Stop" + +Import-Module -Name ImageHelpers -Force -DisableNameChecking + +# Define executables for cached tools +$toolsEnvironmentVariables = @{ + Python = @{ + pathTemplates = @( + "{0}", + "{0}\Scripts" + ) + } + Boost = @{ + variableTemplate = "BOOST_ROOT_{0}_{1}_{2}" + } + go = @{ + pathTemplates = @( + "{0}\bin" + ) + defaultVariable = "GOROOT" + variableTemplate = "GOROOT_{0}_{1}_X64" + } +} + +$toolsToConfigure = @("Python", "Boost", "Go") +$tools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache ` + | Where-Object { $toolsToConfigure -contains $_.name } + +Write-Host "Configure toolset tools environment..." +foreach ($tool in $tools) +{ + $toolEnvVars = $toolsEnvironmentVariables[$tool.name] + + if (-not ([string]::IsNullOrEmpty($toolEnvVars.variableTemplate))) + { + foreach ($version in $tool.versions) + { + Write-Host "Set $($tool.name) $version environment variable..." + + $foundVersionArchPath = Get-ToolsetToolFullPath -Name $tool.name -Version $version -Arch $tool.arch + $envName = $toolEnvVars.variableTemplate -f $version.Split(".") + + setx $envName $foundVersionArchPath /M | Out-Null + } + } + + if (-not ([string]::IsNullOrEmpty($tool.default))) + { + Write-Host "Use $($tool.name) $($tool.default) as a system $($tool.name)..." + + $toolVersionPath = Get-ToolsetToolFullPath -Name $tool.name -Version $tool.default -Arch $tool.arch + + Set-DefaultVariables -ToolVersionPath $toolVersionPath -EnvVars $toolEnvVars + } +} \ No newline at end of file diff --git a/images/win/scripts/Installers/Finalize-VM.ps1 b/images/win/scripts/Installers/Finalize-VM.ps1 index ffc1b220..ab9e7080 100644 --- a/images/win/scripts/Installers/Finalize-VM.ps1 +++ b/images/win/scripts/Installers/Finalize-VM.ps1 @@ -1,6 +1,6 @@ ################################################################################ ## File: Finalize-VM.ps1 -## Desc: Clean up folders temp folders after installs to save space +## Desc: Clean up temp folders after installs to save space ################################################################################ Write-Host "Cleanup WinSxS" @@ -19,7 +19,7 @@ Write-Host "Clean up various directories" if (Test-Path $_) { Write-Host "Removing $_" try { - Takeown /d Y /R /f $_ + Takeown /d Y /R /f $_ | Out-Null Icacls $_ /GRANT:r administrators:F /T /c /q 2>&1 | Out-Null Remove-Item $_ -Recurse -Force | Out-Null } diff --git a/images/win/scripts/Installers/Install-AzCopy.ps1 b/images/win/scripts/Installers/Install-AzCopy.ps1 new file mode 100644 index 00000000..035edee2 --- /dev/null +++ b/images/win/scripts/Installers/Install-AzCopy.ps1 @@ -0,0 +1,6 @@ +################################################################################ +## File: Install-AzCopy.ps1 +## Desc: Install AzCopy10 +################################################################################ + +Choco-Install -PackageName azcopy10 \ 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 c5432bc6..4b5d7dae 100644 --- a/images/win/scripts/Installers/Install-AzureCli.ps1 +++ b/images/win/scripts/Installers/Install-AzureCli.ps1 @@ -3,8 +3,7 @@ ## Desc: Install Azure CLI ################################################################################ -# Temporary hardcode 2.5.1 installation until version 2.7.0 with the fix for the issue is not released https://github.com/actions/virtual-environments/issues/948 -Choco-Install -PackageName azure-cli -ArgumentList "--version=2.5.1" +Choco-Install -PackageName azure-cli $AzureCliExtensionPath = Join-Path $Env:CommonProgramFiles 'AzureCliExtensionDirectory' New-Item -ItemType "directory" -Path $AzureCliExtensionPath diff --git a/images/win/scripts/Installers/Install-AzureModules.ps1 b/images/win/scripts/Installers/Install-AzureModules.ps1 index 3f41a774..fa33710f 100644 --- a/images/win/scripts/Installers/Install-AzureModules.ps1 +++ b/images/win/scripts/Installers/Install-AzureModules.ps1 @@ -3,58 +3,35 @@ ## Desc: Install Azure PowerShell modules ################################################################################ +$ErrorActionPreference = "Stop" + Set-PSRepository -InstallationPolicy Trusted -Name PSGallery -#### NOW The correct Modules need to be saved in C:\Modules -$installPSModulePath = 'C:\Modules' -if(-not (Test-Path -LiteralPath $installPSModulePath)) +# The correct Modules need to be saved in C:\Modules +$installPSModulePath = $env:PSMODULES_ROOT_FOLDER +if (-not (Test-Path -LiteralPath $installPSModulePath)) { - Write-Host "Creating '$installPSModulePath' folder to store PowerShell Azure modules" + Write-Host "Creating ${installPSModulePath} folder to store PowerShell Azure modules..." $null = New-Item -Path $installPSModulePath -ItemType Directory } -# Powershell Azure modules to install -$psAzureModulesToInstall = @{ - "azurerm" = @( - "2.1.0" - "3.8.0" - "4.2.1" - "5.1.1" - "6.7.0" - "6.13.1" - ) +# Get modules content from toolset +$modules = (Get-ToolsetContent).azureModules - "azure" = @( - "2.1.0" - "3.8.0" - "4.2.1" - "5.1.1" - "5.3.0" - ) +$psModuleMachinePath = "" - "az" = @( - "1.0.0" - "1.6.0" - "2.3.2" - "2.6.0" - "3.1.0" - "3.5.0" - "3.8.0" - ) -} - -# Download Azure PowerShell modules -foreach($psmoduleName in $psAzureModulesToInstall.Keys) +foreach ($module in $modules) { - Write-Host "Installing '$psmoduleName' to the '$installPSModulePath' path:" - $psmoduleVersions = $psAzureModulesToInstall[$psmoduleName] - foreach($psmoduleVersion in $psmoduleVersions) + $moduleName = $module.name + + Write-Host "Installing ${moduleName} to the ${installPSModulePath} path..." + foreach ($version in $module.versions) { - $psmodulePath = Join-Path $installPSModulePath "${psmoduleName}_${psmoduleVersion}" - Write-Host " - $psmoduleVersion [$psmodulePath]" + $modulePath = Join-Path -Path $installPSModulePath -ChildPath "${moduleName}_${version}" + Write-Host " - $version [$modulePath]" try { - Save-Module -Path $psmodulePath -Name $psmoduleName -RequiredVersion $psmoduleVersion -Force -ErrorAction Stop + Save-Module -Path $modulePath -Name $moduleName -RequiredVersion $version -Force -ErrorAction Stop } catch { @@ -62,8 +39,17 @@ foreach($psmoduleName in $psAzureModulesToInstall.Keys) exit 1 } } + + # Append default tool version to machine path + if ($null -ne $module.default) + { + $defaultVersion = $module.default + + Write-Host "Use ${moduleName} ${defaultVersion} as default version..." + $psModuleMachinePath += "${installPSModulePath}\${moduleName}_${defaultVersion};" + } } -# Add AzureRM and Azure modules to the PSModulePath -$finalModulePath = '{0};{1};{2}' -f "${installPSModulePath}\azurerm_2.1.0", "${installPSModulePath}\azure_2.1.0", $env:PSModulePath -[Environment]::SetEnvironmentVariable("PSModulePath", $finalModulePath, "Machine") +# Add modules to the PSModulePath +$psModuleMachinePath += $env:PSModulePath +[Environment]::SetEnvironmentVariable("PSModulePath", $psModuleMachinePath, "Machine") \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-Boost.ps1 b/images/win/scripts/Installers/Install-Boost.ps1 deleted file mode 100644 index d46a150c..00000000 --- a/images/win/scripts/Installers/Install-Boost.ps1 +++ /dev/null @@ -1,19 +0,0 @@ -################################################################################ -## File: Set-BoostRoot.ps1 -## Team: CI-Build -## Desc: Install boost using tool cache -################################################################################ - -Import-Module -Name ImageHelpers - -$SoftwareName = "Boost" -$BoostDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName -$BoostVersions = (Get-ToolsByName -SoftwareName $SoftwareName).Versions | Foreach-Object {"{0}.0" -f $_} - -foreach($BoostVersion in $BoostVersions) -{ - $BoostInstallationDir = Join-Path -Path $BoostDirectory -ChildPath $BoostVersion - - $EnvBoostPath = "BOOST_ROOT_{0}" -f ($BoostVersion.Replace('.', '_')) - setx $EnvBoostPath $BoostInstallationDir /M | Out-Null -} diff --git a/images/win/scripts/Installers/Install-DotnetSDK.ps1 b/images/win/scripts/Installers/Install-DotnetSDK.ps1 index 7668e7c2..394a7341 100644 --- a/images/win/scripts/Installers/Install-DotnetSDK.ps1 +++ b/images/win/scripts/Installers/Install-DotnetSDK.ps1 @@ -59,8 +59,7 @@ function InstallAllValidSdks() # Consider all channels except preview/eol channels. # Sort the channels in ascending order - # HACK: Explicitly adding eol channel 2.2 for a grace period as this channel is wierdly marked as eol with no higher 2.x channel - $dotnetChannels = $dotnetChannels.'releases-index' | Where-Object { (!$_."support-phase".Equals('preview') -and !$_."support-phase".Equals('eol')) -or ($_."channel-version" -eq "2.2") } | Sort-Object { [Version] $_."channel-version" } + $dotnetChannels = $dotnetChannels.'releases-index' | Where-Object { (!$_."support-phase".Equals('preview') -and !$_."support-phase".Equals('eol')) } | Sort-Object { [Version] $_."channel-version" } # Download installation script. $installationName = "dotnet-install.ps1" diff --git a/images/win/scripts/Installers/Install-Git.ps1 b/images/win/scripts/Installers/Install-Git.ps1 index c1ec4360..460a2a1b 100644 --- a/images/win/scripts/Installers/Install-Git.ps1 +++ b/images/win/scripts/Installers/Install-Git.ps1 @@ -30,6 +30,7 @@ Install-Binary -Url $downloadUrl ` "/RESTARTAPPLICATIONS", ` "/o:PathOption=CmdTools", ` "/o:BashTerminalOption=ConHost", ` + "/o:EnableSymlinks=Enabled", ` "/COMPONENTS=gitlfs") Choco-Install -PackageName hub diff --git a/images/win/scripts/Installers/Install-Go.ps1 b/images/win/scripts/Installers/Install-Go.ps1 deleted file mode 100644 index c37c54cf..00000000 --- a/images/win/scripts/Installers/Install-Go.ps1 +++ /dev/null @@ -1,85 +0,0 @@ -################################################################################ -## File: Install-Go.ps1 -## Desc: Install Go -################################################################################ - -Import-Module -Name ImageHelpers -Force - -$refsJson = Invoke-RestMethod "https://api.github.com/repos/golang/go/git/refs/tags" - -function Install-GoVersion -{ - Param - ( - [String] $goVersion, - [Switch] $addToDefaultPath - ) - - $latestVersionObject = $refsJson | Where-Object { $_.ref -Match "refs/tags/go$goVersion[./d]*" } | Select-Object -Last 1 - $latestVersion = $latestVersionObject.ref.replace('refs/tags/go','') - - # Download the Go zip archive. - Write-Host "Downloading Go $latestVersion..." - $ProgressPreference = 'SilentlyContinue' - - $goArchName = "go${latestVersion}.windows-amd64.zip" - $goArchUrl = "https://dl.google.com/go/${goArchName}" - - $goArchPath = Start-DownloadWithRetry -Url $goArchUrl -Name $goArchName - - # Extract the zip archive. It contains a single directory named "go". - Write-Host "Extracting Go $latestVersion..." - $toolDirectory = Join-Path $env:AGENT_TOOLSDIRECTORY "go\$latestVersion" - Extract-7Zip -Path $goArchPath -DestinationPath $toolDirectory - - # Rename the extracted "go" directory to "x64" for full path "C:\hostedtoolcache\windows\Go\1.14.2\x64\..." - Rename-Item -path "$toolDirectory\go" -newName "x64" - $fullArchPath = "$toolDirectory\x64" - - # Delete unnecessary files to conserve space - Write-Host "Cleaning directories of Go $latestVersion..." - if (Test-Path "$fullArchPath\doc") - { - Remove-Item -Recurse -Force "$fullArchPath\doc" - } - if (Test-Path "$fullArchPath\blog") - { - Remove-Item -Recurse -Force "$fullArchPath\blog" - } - - # Create symlink in old location - New-Item -Path "C:\go$latestVersion" -ItemType SymbolicLink -Value $fullArchPath - - # Make this the default version of Go? - if ($addToDefaultPath) - { - Write-Host "Adding Go $latestVersion to the path..." - # Add the Go binaries to the path. - Add-MachinePathItem "$fullArchPath\bin" | Out-Null - # Set the GOROOT environment variable. - setx GOROOT "$fullArchPath" /M | Out-Null - } - - # Done - Write-Host "Done installing Go $latestVersion." - return $fullArchPath -} - -# Install Go -$goVersionsToInstall = $env:GO_VERSIONS.split(", ", [System.StringSplitOptions]::RemoveEmptyEntries) - -foreach ($go in $goVersionsToInstall) -{ - Write-Host "Installing Go ${go}" - if ($go -eq $env:GO_DEFAULT) - { - $installDirectory = Install-GoVersion -goVersion $go -addToDefaultPath - } - else - { - $installDirectory = Install-GoVersion -goVersion $go - } - - $envName = "GOROOT_{0}_{1}_X64" -f $go.split(".") - setx $envName "$installDirectory" /M -} diff --git a/images/win/scripts/Installers/Install-GoogleCloudSDK.ps1 b/images/win/scripts/Installers/Install-GoogleCloudSDK.ps1 new file mode 100644 index 00000000..eb75707f --- /dev/null +++ b/images/win/scripts/Installers/Install-GoogleCloudSDK.ps1 @@ -0,0 +1,9 @@ +################################################################################ +## File: Install-GoogleCloudSDK.ps1 +## Desc: Install Google Cloud SDK +################################################################################ + +# https://cloud.google.com/sdk/docs/downloads-interactive +$googleCloudSDKInstaller = "https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe" +$argumentList = @("/S", "/allusers", "/noreporting") +Install-Binary -Url $googleCloudSDKInstaller -Name "GoogleCloudSDKInstaller.exe" -ArgumentList $argumentList diff --git a/images/win/scripts/Installers/Install-JavaTools.ps1 b/images/win/scripts/Installers/Install-JavaTools.ps1 index 68f325e8..49b95e3a 100644 --- a/images/win/scripts/Installers/Install-JavaTools.ps1 +++ b/images/win/scripts/Installers/Install-JavaTools.ps1 @@ -8,11 +8,21 @@ Import-Module -Name ImageHelpers -Force function Set-JavaPath { param ( [string] $Version, + [string] $JavaRootPath, [switch] $Default ) - $filter = "*azure-jdk_${version}.*" - $javaPath = (Get-ChildItem -Path 'C:\Program Files\Java' -Filter $filter | Sort-Object -Property Name -Descending | Select-Object -First 1).FullName + if ($Version -eq 7) { + $matchedString = "azure-jdk_7" + } else { + $matchedString = "jdk-?$Version" + } + $javaPath = (Get-ChildItem -Path $JavaRootPath | Where-Object { $_ -match $matchedString}).FullName + + if ([string]::IsNullOrEmpty($javaPath)) { + Write-Host "Not found path to Java $Version" + exit 1 + } Write-Host "Set JAVA_HOME_${Version}_X64 environmental variable as $javaPath" setx JAVA_HOME_${Version}_X64 $javaPath /M @@ -43,26 +53,49 @@ function Set-JavaPath { } } -# Download the Azul Systems Zulu JDKs -# See https://www.azul.com/downloads/azure-only/zulu/ -$azulJDKURLs = @( - 'https://repos.azul.com/azure-only/zulu/packages/zulu-7/7u232/zulu-7-azure-jdk_7.31.0.5-7.0.232-win_x64.zip', - 'https://repos.azul.com/azure-only/zulu/packages/zulu-8/8u222/zulu-8-azure-jdk_8.40.0.25-8.0.222-win_x64.zip', - 'https://repos.azul.com/azure-only/zulu/packages/zulu-11/11.0.4/zulu-11-azure-jdk_11.33.15-11.0.4-win_x64.zip', - 'https://repos.azul.com/azure-only/zulu/packages/zulu-13/13.0.3/zulu-13-azure-jdk_13.31.11-13.0.3-win_x64.zip' -) - -foreach ($azulJDKURL in $azulJDKURLs) -{ - $archivePath = Start-DownloadWithRetry -Url $azulJDKURL -Name $([IO.Path]::GetFileName($azulJDKURL)) - Extract-7Zip -Path $archivePath -DestinationPath "C:\Program Files\Java\" +function Install-Java7FromAzul { + param( + [string] $DestinationPath + ) + $azulJDK7URL = 'https://repos.azul.com/azure-only/zulu/packages/zulu-7/7u232/zulu-7-azure-jdk_7.31.0.5-7.0.232-win_x64.zip' + $archivePath = Start-DownloadWithRetry -Url $azulJDK7URL -Name $([IO.Path]::GetFileName($azulJDK7URL)) + Extract-7Zip -Path $archivePath -DestinationPath $DestinationPath } -# Set PATH and env variables -Set-JavaPath -Version 7 -Set-JavaPath -Version 8 -Default -Set-JavaPath -Version 11 -Set-JavaPath -Version 13 +function Install-JavaFromAdoptOpenJDK { + param( + [string] $JDKVersion, + [string] $DestinationPath + ) + + $assets = Invoke-RestMethod -Uri "https://api.adoptopenjdk.net/v3/assets/latest/$JDKVersion/hotspot" + $downloadUrl = ($assets | Where-Object { + $_.binary.os -eq "windows" ` + -and $_.binary.architecture -eq "x64" ` + -and $_.binary.image_type -eq "jdk" + }).binary.package.link + + $archivePath = Start-DownloadWithRetry -Url $downloadUrl -Name $([IO.Path]::GetFileName($downloadUrl)) + Extract-7Zip -Path $archivePath -DestinationPath $DestinationPath +} + +$jdkVersions = @(7, 8, 11, 13) +$defaultVersion = 8 +$javaRootPath = "C:\Program Files\Java\" + +foreach ($jdkVersion in $jdkVersions) { + if ($jdkVersion -eq 7) { + Install-Java7FromAzul -DestinationPath $javaRootPath + } else { + Install-JavaFromAdoptOpenJDK -JDKVersion $jdkVersion -DestinationPath $javaRootPath + } + + if ($jdkVersion -eq $defaultVersion) { + Set-JavaPath -Version $jdkVersion -JavaRootPath $javaRootPath -Default + } else { + Set-JavaPath -Version $jdkVersion -JavaRootPath $javaRootPath + } +} # Install Java tools # Force chocolatey to ignore dependencies on Ant and Maven or else they will download the Oracle JDK diff --git a/images/win/scripts/Installers/Install-MongoDB.ps1 b/images/win/scripts/Installers/Install-MongoDB.ps1 index d5638230..245e5b98 100644 --- a/images/win/scripts/Installers/Install-MongoDB.ps1 +++ b/images/win/scripts/Installers/Install-MongoDB.ps1 @@ -3,6 +3,7 @@ ## Desc: Install MongoDB #################################################################################### -choco install mongodb - -Add-MachinePathItem "$($env:SystemDrive)\Program Files\MongoDB\Server\4.2\bin" +Choco-Install -PackageName mongodb +$mongoPath = (Get-CimInstance Win32_Service -Filter "Name LIKE 'mongodb'").PathName +$mongoBin = Split-Path -Path $mongoPath.split('"')[1] +Add-MachinePathItem "$mongoBin" diff --git a/images/win/scripts/Installers/Install-NodeLts.ps1 b/images/win/scripts/Installers/Install-NodeLts.ps1 index c1ee0579..1b493ea8 100644 --- a/images/win/scripts/Installers/Install-NodeLts.ps1 +++ b/images/win/scripts/Installers/Install-NodeLts.ps1 @@ -33,3 +33,4 @@ npm install -g --save-dev webpack webpack-cli npm install -g yarn npm install -g lerna npm install -g node-sass +npm install -g newman diff --git a/images/win/scripts/Installers/Install-Nuget.ps1 b/images/win/scripts/Installers/Install-Nuget.ps1 new file mode 100644 index 00000000..6c5e5e4a --- /dev/null +++ b/images/win/scripts/Installers/Install-Nuget.ps1 @@ -0,0 +1,16 @@ +################################################################################ +## File: Install-Nuget.ps1 +## Desc: Install NuGet.CommandLine +################################################################################ + +Choco-Install -PackageName NuGet.CommandLine + +if (Get-Command -Name 'nuget.exe') +{ + Write-Host 'nuget on path' +} +else +{ + Write-Host 'nuget is not on path' + exit 1 +} diff --git a/images/win/scripts/Installers/Install-PostgreSQL.ps1 b/images/win/scripts/Installers/Install-PostgreSQL.ps1 index 2e6bc373..11f5476d 100644 --- a/images/win/scripts/Installers/Install-PostgreSQL.ps1 +++ b/images/win/scripts/Installers/Install-PostgreSQL.ps1 @@ -1,22 +1,25 @@ $ErrorActionPreference = "Stop" -Import-Module -Name ImageHelpers - #Define user and password for PostgreSQL database -$postgresusr="postgres" -$postgrespwd="root" +$pgUser = "postgres" +$pgPwd = "root" #Prepare environment variable for validation -Set-SystemVariable -SystemVariable PGUSER -Value $postgresusr -Set-SystemVariable -SystemVariable PGPASSWORD -Value $postgrespwd -#Install latest PostgreSQL +Set-SystemVariable -SystemVariable PGUSER -Value $pgUser +Set-SystemVariable -SystemVariable PGPASSWORD -Value $pgPwd -cinst postgresql --params "/Password:$postgrespwd" --params-global --debug --verbose +#Install latest PostgreSQL +Choco-Install -PackageName postgresql -ArgumentList "--params", "'/Password:$pgPwd /NoPath'", "--params-global", "--debug", "--verbose" #Get Path to pg_ctl.exe -$paths = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").PathName -#Parse output of command above to obtain pure path -$pgbin = $paths.split('"')[1].replace("\pg_ctl.exe", "") -#Added PostgreSQL bin path into PATH variable. -Add-MachinePathItem $pgbin +$pgPath = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").PathName +#Parse output of command above to obtain pure path +$pgBin = Split-Path -Path $pgPath.split('"')[1] +$pgRoot = Split-Path -Path $pgPath.split('"')[5] +$pgData = Join-Path $pgRoot "data" + +#Added PostgreSQL environment variable +Set-SystemVariable -SystemVariable PGBIN -Value $pgBin +Set-SystemVariable -SystemVariable PGROOT -Value $pgRoot +Set-SystemVariable -SystemVariable PGDATA -Value $pgData diff --git a/images/win/scripts/Installers/Install-Toolset.ps1 b/images/win/scripts/Installers/Install-Toolset.ps1 index bc2aa59d..cc0a0aa7 100644 --- a/images/win/scripts/Installers/Install-Toolset.ps1 +++ b/images/win/scripts/Installers/Install-Toolset.ps1 @@ -15,7 +15,13 @@ Function Install-Asset { $assetArchivePath = Start-DownloadWithRetry -Url $ReleaseAsset.download_url -Name $ReleaseAsset.filename Write-Host "Extract $($ReleaseAsset.filename) content..." - 7z.exe x $assetArchivePath -o"$assetFolderPath" -y | Out-Null + if ($assetArchivePath.EndsWith(".tar.gz")) { + $assetTarPath = $assetArchivePath.TrimEnd(".tar.gz") + Extract-7Zip -Path $assetArchivePath -DestinationPath $assetTarPath + Extract-7Zip -Path $assetTarPath -DestinationPath $assetFolderPath + } else { + Extract-7Zip -Path $assetArchivePath -DestinationPath $assetFolderPath + } Write-Host "Invoke installation script..." Push-Location -Path $assetFolderPath @@ -23,32 +29,13 @@ Function Install-Asset { Pop-Location } -Function Set-DefaultPythonVersion { - param( - [Parameter(Mandatory=$true)] - [object[]] $Toolset - ) - - $python = $Toolset | Where-Object { ($_.name -eq "Python") -and ($_.default -ne "") } ` - | Select-Object default, arch -First 1 - - if ($python.default -ne $null) { - $pythonPath = Join-Path $Env:AGENT_TOOLSDIRECTORY "/Python/$($python.default)/$($python.arch)" -Resolve - - Write-Host "Use Python $($python.default) as a system Python" - Add-MachinePathItem -PathItem $pythonPath - Add-MachinePathItem -PathItem "$pythonPath\Scripts" - } else { - Write-Host "Default Python version not found in toolset file!" - } -} - $ErrorActionPreference = "Stop" Import-Module -Name ImageHelpers -Force # Get toolcache content from toolset -$ToolsToInstall = @("Python", "Node") +$ToolsToInstall = @("Python", "Node", "Boost", "Go") + $tools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache | Where {$ToolsToInstall -contains $_.Name} foreach ($tool in $tools) { @@ -60,18 +47,15 @@ foreach ($tool in $tools) { $asset = $assets | Where-Object version -like $toolVersion ` | Sort-Object -Property {[version]$_.version} -Descending ` | Select-Object -ExpandProperty files ` - | Where-Object { ($_.platform -eq $tool.platform) -and ($_.arch -eq $tool.arch) } ` + | Where-Object { ($_.platform -eq $tool.platform) -and ($_.arch -eq $tool.arch) -and ($_.toolset -eq $tool.toolset) } ` | Select-Object -First 1 Write-Host "Installing $($tool.name) $toolVersion $($tool.arch)..." - if ($asset -ne $null) { + if ($null -ne $asset) { Install-Asset -ReleaseAsset $asset } else { Write-Host "Asset was not found in versions manifest" exit 1 } } -} - -# Install default python version -Set-DefaultPythonVersion -Toolset $tools \ No newline at end of file +} \ 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 eec8ef0d..a57594d9 100644 --- a/images/win/scripts/Installers/Install-WindowsUpdates.ps1 +++ b/images/win/scripts/Installers/Install-WindowsUpdates.ps1 @@ -1,10 +1,9 @@ ################################################################################ ## File: Install-WindowsUpdates.ps1 ## Desc: Install Windows Updates. -## Should be run at end just before Antivirus. +## Should be run at end, just before SoftwareReport and Finalize-VM.ps1. ################################################################################ Write-Host "Run windows updates" Install-Module -Name PSWindowsUpdate -Force -AllowClobber -Get-WUInstall -WindowsUpdate -AcceptAll -Install -UpdateType Software -IgnoreReboot Get-WUInstall -MicrosoftUpdate -AcceptAll -Install -IgnoreUserInput -IgnoreReboot diff --git a/images/win/scripts/Installers/Update-AndroidSDK.ps1 b/images/win/scripts/Installers/Update-AndroidSDK.ps1 index cd7d1d0c..8041a119 100644 --- a/images/win/scripts/Installers/Update-AndroidSDK.ps1 +++ b/images/win/scripts/Installers/Update-AndroidSDK.ps1 @@ -40,6 +40,7 @@ Push-Location -Path $sdk.FullName & '.\tools\bin\sdkmanager.bat' --sdk_root=$sdk_root ` "platform-tools" ` + "platforms;android-30" ` "platforms;android-29" ` "platforms;android-28" ` "platforms;android-27" ` @@ -50,6 +51,7 @@ Push-Location -Path $sdk.FullName "platforms;android-22" ` "platforms;android-21" ` "platforms;android-19" ` + "build-tools;30.0.0" ` "build-tools;29.0.3" ` "build-tools;29.0.2" ` "build-tools;29.0.1" ` diff --git a/images/win/scripts/Installers/Validate-AzCopy.ps1 b/images/win/scripts/Installers/Validate-AzCopy.ps1 new file mode 100644 index 00000000..dd090297 --- /dev/null +++ b/images/win/scripts/Installers/Validate-AzCopy.ps1 @@ -0,0 +1,10 @@ +################################################################################ +## 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-AzureModules.ps1 b/images/win/scripts/Installers/Validate-AzureModules.ps1 index 10190e0f..39f1a2ea 100644 --- a/images/win/scripts/Installers/Validate-AzureModules.ps1 +++ b/images/win/scripts/Installers/Validate-AzureModules.ps1 @@ -3,41 +3,42 @@ ## Desc: Validate Azure PowerShell modules ################################################################################ -function Validate-AzureModule -{ - param([String]$ModuleName, [String[]]$ModuleVersions) +$ErrorActionPreference = "Stop" - foreach($moduleVersion in $moduleVersions) +$modulesRootPath = $env:PSMODULES_ROOT_FOLDER + +# Get modules content from toolset +$modules = (Get-ToolsetContent).azureModules + +foreach ($module in $modules) +{ + foreach ($version in $module.versions) { - $modulePath = "${installPSModulePath}\${moduleName}_${moduleVersion}" - # Import each module in PowerShell session - $job = Start-Job -ScriptBlock { - param($modulePath, $moduleName) + $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 = $job | Wait-Job | Foreach-Object ChildJobs | Where-Object {$_.Error} - if($isError) + + $isError = $testJob | Wait-Job | Foreach-Object ChildJobs | Where-Object { $_.Error } + if ($isError) { - Write-Host "Required '$moduleName' module '$moduleVersion' version is not present" + Write-Host "Required ${moduleName} module ${version} version is not present" + exit 1 } - $job | Receive-Job | Select-Object Name,Version,Path - Remove-Job $job + + $testJob | Receive-Job | Select-Object Name,Version,Path + Remove-Job $testJob } -} - -# Modules path -$installPSModulePath = 'C:\Modules' - -# Validate Azure modules and versions -$azurermVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "6.7.0", "6.13.1" -Validate-AzureModule -ModuleName AzureRM -ModuleVersions $azurermVersions - -$azureVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "5.3.0" -Validate-AzureModule -ModuleName Azure -ModuleVersions $azureVersions - -$azVersions = "1.0.0", "1.6.0", "2.3.2", "2.6.0", "3.1.0", "3.5.0", "3.8.0" -Validate-AzureModule -ModuleName Az -ModuleVersions $azVersions +} \ No newline at end of file diff --git a/images/win/scripts/Installers/Validate-Boost.ps1 b/images/win/scripts/Installers/Validate-Boost.ps1 deleted file mode 100644 index 83bf3d08..00000000 --- a/images/win/scripts/Installers/Validate-Boost.ps1 +++ /dev/null @@ -1,39 +0,0 @@ -################################################################################ -## File: Validate-Boost.ps1 -## Desc: Validate Boost -################################################################################ - -Import-Module -Name ImageHelpers - -function Validate-BoostVersion -{ - Param - ( - [String]$BoostRootPath, - [String]$BoostRelease - ) - - $ReleasePath = Join-Path -Path $BoostRootPath -ChildPath $BoostRelease - - if (Test-Path "$ReleasePath\b2.exe") - { - Write-Host "Boost.Build $BoostRelease is successfully installed" - return - } - - Write-Host "$BoostRelease not found" - exit 1 -} - -$SoftwareName = 'Boost' -$BoostRootDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName -$BoostTools = Get-ToolsByName -SoftwareName $SoftwareName - -foreach ($BoostTool in $BoostTools) -{ - $BoostVersionsToInstall = $BoostTool.Versions | Foreach-Object {"{0}.0" -f $_} - foreach($BoostVersion in $BoostVersionsToInstall) - { - Validate-BoostVersion -BoostRootPath $BoostRootDirectory -BoostRelease $BoostVersion - } -} diff --git a/images/win/scripts/Installers/Validate-Go.ps1 b/images/win/scripts/Installers/Validate-Go.ps1 deleted file mode 100644 index 4e8c0a1b..00000000 --- a/images/win/scripts/Installers/Validate-Go.ps1 +++ /dev/null @@ -1,50 +0,0 @@ -################################################################################ -## File: Validate-Go.ps1 -## Desc: Validate Go -################################################################################ - -# Function that gets the version of Go at the specified path -function Get-GoVersion -{ - Param - ( - [String]$goVersion - ) - Write-Host "Check if $goVersion is presented in the system" - $destinationPath = "$($env:AGENT_TOOLSDIRECTORY)\go" - $goDirectory = Get-ChildItem -Path $destinationPath -Filter "$goVersion*" | Select-Object -First 1 - $goPath = Join-Path $destinationPath "$goDirectory\x64" - - $env:Path = "$goPath\bin;" + $env:Path - $version = $(go version) - - $matchVersion = $version -match $goVersion - $semanticEquality = $version -match 'go version go(?.*) win.*' - - if($semanticEquality -And $matchVersion) - { - $goFullVersion = $Matches.version - Write-Host "$goFullVersion has been found" - } - else - { - Write-Host "Unable to determine Go version at " + $goPath - exit 1 - } -} - -# Verify that go.exe is on the path -if(Get-Command -Name 'go') -{ - Write-Host "$(go version) is on the path." -} -else -{ - Write-Host "Go is not on the path." - exit 1 -} - -$goVersionsToInstall = $env:GO_VERSIONS.split(", ", [System.StringSplitOptions]::RemoveEmptyEntries) -foreach($go in $goVersionsToInstall) { - Get-GoVersion -goVersion $go -} diff --git a/images/win/scripts/Installers/Validate-GoogleCloudSDK.ps1 b/images/win/scripts/Installers/Validate-GoogleCloudSDK.ps1 new file mode 100644 index 00000000..6bc348f3 --- /dev/null +++ b/images/win/scripts/Installers/Validate-GoogleCloudSDK.ps1 @@ -0,0 +1,19 @@ +################################################################################ +## File: Validate-GoogleCloudSDK.ps1 +## Desc: Validate Install Google Cloud SDK for Windows +################################################################################ + +# Simple validation gcloud, gsutil, and bq command line tools +$validateTools = @("bq", "gcloud", "gsutil") +foreach($tool in $validateTools) +{ + if (Get-Command -Name $tool) + { + Write-Host "$tool on path" + } + else + { + Write-Host "$tool is not on path" + exit 1 + } +} diff --git a/images/win/scripts/Installers/Validate-JavaTools.ps1 b/images/win/scripts/Installers/Validate-JavaTools.ps1 index 67d1af23..50513156 100644 --- a/images/win/scripts/Installers/Validate-JavaTools.ps1 +++ b/images/win/scripts/Installers/Validate-JavaTools.ps1 @@ -17,9 +17,20 @@ Function Validate-JavaVersion { # Take 7 & 8 for versions 1.7 and 1.8 $versionNumber = $version.Split(".") | Select-Object -Last 1 - $javaBin = [System.Environment]::GetEnvironmentVariable("JAVA_HOME_${versionNumber}_X64") + "\bin;" + $javaPath = [System.Environment]::GetEnvironmentVariable("JAVA_HOME_${versionNumber}_X64") + if ([string]::IsNullOrEmpty($javaPath)) + { + Write-Host "Environment variable 'JAVA_HOME_${versionNumber}_X64' is null" + exit 1 + } + + $javaBin = "$javaPath\bin;" $env:Path = $javaBin + $env:Path } + else + { + Validate-JavaVersion -Version $Version + } $isJavaExists = $($(& $env:comspec "/s /c java -version 2>&1") | Out-String) -match '^(?.+) version "(?.+)".*' diff --git a/images/win/scripts/Installers/Validate-MongoDB.ps1 b/images/win/scripts/Installers/Validate-MongoDB.ps1 index e0580b54..517f824c 100644 --- a/images/win/scripts/Installers/Validate-MongoDB.ps1 +++ b/images/win/scripts/Installers/Validate-MongoDB.ps1 @@ -3,10 +3,9 @@ ## Desc: Validate MongoDB ################################################################################ -$command = Get-Command -Name 'mongod' -if($command) +if (Get-Command -Name 'mongod') { - Write-Host "mongod is on path" + Write-Host 'mongod is on path' } else { @@ -14,25 +13,12 @@ else exit 1 } -$command = Get-Command -Name 'mongo' -if($command) +if (Get-Command -Name 'mongo') { - Write-Host "mongo is on path" + Write-Host 'mongo is on path' } else { Write-Host 'mongo not on path' exit 1 } - -# Adding description of the software to Markdown -$SoftwareName = "MongoDB" -$version = $command.Version.ToString(); - -$Description = @" -_Version:_ $version
-_Environment:_ -* PATH: contains location of mongo.exe and mongod.exe -"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description diff --git a/images/win/scripts/Installers/Validate-NodeLts.ps1 b/images/win/scripts/Installers/Validate-NodeLts.ps1 index 201a86b3..7e621e39 100644 --- a/images/win/scripts/Installers/Validate-NodeLts.ps1 +++ b/images/win/scripts/Installers/Validate-NodeLts.ps1 @@ -35,3 +35,13 @@ else Write-Host "lerna is not on path" exit 1 } + +if (Get-Command -Name 'newman') +{ + Write-Host "Newman $(newman --version) is on the path." +} +else +{ + Write-Host "Newman is not on the path." + exit 1 +} diff --git a/images/win/scripts/Installers/Validate-PostgreSQL.ps1 b/images/win/scripts/Installers/Validate-PostgreSQL.ps1 index bfd2f0f0..739a5fe5 100644 --- a/images/win/scripts/Installers/Validate-PostgreSQL.ps1 +++ b/images/win/scripts/Installers/Validate-PostgreSQL.ps1 @@ -1,35 +1,18 @@ -$PGUSER="postgres" -function Validate-PostgreSQL { - $pgready = Start-Process -FilePath pg_isready -Wait -PassThru - $exitCode = $pgready.ExitCode - if ($exitCode -eq 0) - { - Write-Host -Object "PostgreSQL has been successfully installed." - } - else - { - Write-Host -Object "PostgreSQL is not ready. Exitcode: $exitCode" - exit $exitCode - } +$pgReadyPath = Join-Path ${env:PGBIN} "pg_isready.exe" +$pgReady = Start-Process -FilePath $pgReadyPath -Wait -PassThru +$exitCode = $pgReady.ExitCode + +if ($exitCode -eq 0) +{ + Write-Host -Object "PostgreSQL has been successfully installed." +} +else +{ + Write-Host -Object "PostgreSQL is not ready. Exitcode: $exitCode" + exit $exitCode } -$paths = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").PathName -$pgservice = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").Name -$pgroot = $paths.split('"')[1].replace("\bin\pg_ctl.exe", "") -$psqlVersion = pg_config --version | Out-String -Validate-PostgreSQL - -# Adding description of the software to Markdown -$SoftwareName = "PostgreSQL" -$Description = @" -_Version:_ $psqlVersion
-_Default Path:_ $pgroot
-_User:_ $env:PGUSER
-_Password:_ $env:PGPASSWORD -"@ - -Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description - #Stop and disable PostgreSQL service -Stop-Service -Name $pgservice -Set-Service $pgservice -StartupType Disabled +$pgService = Get-Service -Name postgresql* +Stop-Service -InputObject $pgService +Set-Service -InputObject $pgService -StartupType Disabled diff --git a/images/win/scripts/Installers/Validate-Toolset.ps1 b/images/win/scripts/Installers/Validate-Toolset.ps1 index c5460053..93dcc9bd 100644 --- a/images/win/scripts/Installers/Validate-Toolset.ps1 +++ b/images/win/scripts/Installers/Validate-Toolset.ps1 @@ -9,13 +9,13 @@ function Run-ExecutableTests { [Parameter(Mandatory)] [string[]] $Executables, [Parameter(Mandatory)] [string] $ToolPath ) - - foreach ($executable in $Executables) { + $versionCommand = $Executables["command"] + foreach ($executable in $Executables["tools"]) { $executablePath = Join-Path $ToolPath $executable Write-Host "Check $executable..." if (Test-Path $executablePath) { - Write-Host "$executable is successfully installed: $(& $executablePath --version)" + Write-Host "$executable is successfully installed: $(& $executablePath $versionCommand)" } else { Write-Host "$executablePath is not installed!" exit 1 @@ -29,11 +29,12 @@ function Validate-SystemDefaultTool { [Parameter(Mandatory)] [string] $ExpectedVersion ) + $versionCommand = $toolsExecutables[$ToolName]["command"] $binName = $ToolName.ToLower() # Check if tool on path if (Get-Command -Name $binName) { - $versionOnPath = $(& $binName --version 2>&1) | Select-String -Pattern ".*(\d+\.\d+\.\d+)" + $versionOnPath = $(& $binName $versionCommand 2>&1) | Select-String -Pattern ".*(\d+\.\d+[\.\d+]+)" # Check if version is correct if ($versionOnPath.matches.Groups[1].Value -notlike $ExpectedVersion) { @@ -52,46 +53,38 @@ $ErrorActionPreference = "Stop" # Define executables for cached tools $toolsExecutables = @{ - Python = @("python.exe", "Scripts\pip.exe") - node = @("node.exe", "npm") - PyPy = @("python.exe", "Scripts\pip.exe") + Python = @{ + tools = @("python.exe", "Scripts\pip.exe") + command = "--version" + } + node = @{ + tools = @("node.exe", "npm") + command = "--version" + } + PyPy = @{ + tools = @("python.exe", "Scripts\pip.exe") + command = "--version" + } + go = @{ + tools = @("bin\go.exe") + command = "version" + } } # Get toolcache content from toolset $tools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache foreach($tool in $tools) { - $toolPath = Join-Path $env:AGENT_TOOLSDIRECTORY $tool.name # Get executables for current tool $toolExecs = $toolsExecutables[$tool.name] foreach ($version in $tool.versions) { - # Add wildcard if missing - if (-not $version.Contains('*')) { - $version += '.*' + $foundVersionArchPath = Get-ToolsetToolFullPath -Name $tool.name -Version $version -Arch $tool.arch + + if ($toolExecs) { + Write-Host "Run validation test for $($tool.name)($($tool.arch)) $($foundVersion.name) executables..." + Run-ExecutableTests -Executables $toolExecs -ToolPath $foundVersionArchPath } - - # Check if version folder exists - $expectedVersionPath = Join-Path $toolPath $version - if (-not (Test-Path $expectedVersionPath)) { - Write-Host "Expected $($tool.name) $version folder is not found!" - exit 1 - } - - # Take latest installed version in case if toolset version contains wildcards - $foundVersion = Get-Item $expectedVersionPath ` - | Sort-Object -Property {[version]$_.name} -Descending ` - | Select-Object -First 1 - - # Check for required architecture folder - $foundVersionArchPath = Join-Path $foundVersion $tool.arch - if (-not (Test-Path $foundVersionArchPath)) { - Write-Host "Expected $($tool.name)($($tool.arch)) $($foundVersion.name) architecture folder is not found!" - exit 1 - } - - Write-Host "Run validation test for $($tool.name)($($tool.arch)) $($foundVersion.name) executables..." - Run-ExecutableTests -Executables $toolExecs -ToolPath $foundVersionArchPath } if (-not ([string]::IsNullOrEmpty($tool.default))) { diff --git a/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 b/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 index 448cbfdc..0f0a8b62 100644 --- a/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 +++ b/images/win/scripts/Installers/Windows2016/Install-VS2017.ps1 @@ -65,6 +65,8 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + ` '--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 ' + ` @@ -74,6 +76,7 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + ` '--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 ' diff --git a/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 b/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 index 8b335c8b..11da0bae 100644 --- a/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 +++ b/images/win/scripts/Installers/Windows2019/Install-VS2019.ps1 @@ -35,7 +35,9 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + ` '--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 ' + ` @@ -62,18 +64,22 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + ` '--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 ' + ` diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 index 95b73a2f..829ac465 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Common.psm1 @@ -3,9 +3,8 @@ function Get-OSName { } function Get-OSVersion { - $systemInfo = Get-CimInstance -ClassName Win32_OperatingSystem - $OSVersion = $systemInfo.Version - $OSBuild = $systemInfo.BuildNumber + $OSVersion = (Get-CimInstance -ClassName Win32_OperatingSystem).Version + $OSBuild = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion' UBR).UBR return "OS Version: $OSVersion Build $OSBuild" } @@ -127,6 +126,10 @@ function Get-ComposerVersion { return "Composer $composerVersion" } +function Get-NugetVersion { + (nuget help) -match "NuGet Version" -replace "Version: " +} + function Get-AntVersion { ($(ant -version) | Out-String) -match "version (?\d+\.\d+\.\d+)" | Out-Null $antVersion = $Matches.Version @@ -145,6 +148,11 @@ function Get-GradleVersion { return "Gradle $gradleVersion" } +function Get-SbtVersion { + $sbtVersion = (sbt -version) -match "sbt script version:" -replace "script version: " + return "$sbtVersion" +} + function Get-DotnetSdks { $sdksRawList = dotnet --list-sdks $sdkVersions = ($sdksRawList | Foreach-Object {$_.Split()[0]}) -join ' ' diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Databases.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Databases.psm1 new file mode 100644 index 00000000..b95198eb --- /dev/null +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Databases.psm1 @@ -0,0 +1,43 @@ +function Get-PostgreSQLMarkdown +{ + $name = "PostgreSQL" + $pgService = Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'" + $pgPath = $pgService.PathName + $pgRoot = $pgPath.split('"')[1].replace("\bin\pg_ctl.exe", "") + $env:Path += ";${env:PGBIN}" + $pgVersion = (postgres --version).split()[2].Trim() + $content = [PSCustomObject]@{ + Version = $pgVersion + UserName = $env:PGUSER + Password = $env:PGPASSWORD + EnvironmentVariables = "PGBIN=$env:PGBIN;
PGDATA=$env:PGDATA;
PGROOT=$env:PGROOT" + Path = $pgRoot + ServiceName = $pgService.Name + ServiceStatus = $pgService.State + ServiceStartType = $pgService.StartMode + } | New-MDTable + + Build-MarkdownElement -Head $name -Content $content +} + +function Get-MongoDBMarkdown +{ + $name = "MongoDB" + $mongoService = Get-Service -Name $name + $mongoVersion = (Get-Command -Name 'mongo').Version.ToString() + $content = [PSCustomObject]@{ + Version = $mongoVersion + ServiceName = $name + ServiceStatus = $mongoService.Status + ServiceStartType = $mongoService.StartType + } | New-MDTable + Build-MarkdownElement -Head $name -Content $content +} + +function Build-DatabasesMarkdown +{ + $markdown = "" + $markdown += Get-PostgreSQLMarkdown + $markdown += Get-MongoDBMarkdown + $markdown +} \ No newline at end of file diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index a7617a4c..6e643fcf 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -2,13 +2,14 @@ Install-Module MarkdownPS -Force -Scope AllUsers Import-Module MarkdownPS -Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Helpers.psm1") -DisableNameChecking -Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Common.psm1") -DisableNameChecking -Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking +Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.CachedTools.psm1") -DisableNameChecking +Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Common.psm1") -DisableNameChecking +Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Databases.psm1") -DisableNameChecking +Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Helpers.psm1") -DisableNameChecking +Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.VisualStudio.psm1") -DisableNameChecking -Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking $markdown = "" @@ -44,17 +45,19 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-NPMVersion), (Get-YarnVersion), (Get-PipVersion), - (Get-CondaVersion) + (Get-CondaVersion), (Get-RubyGemsVersion), (Get-HelmVersion), - (Get-ComposerVersion) + (Get-ComposerVersion), + (Get-NugetVersion) ) $markdown += New-MDHeader "Project Management" -Level 3 $markdown += New-MDList -Style Unordered -Lines @( (Get-AntVersion), (Get-MavenVersion), - (Get-GradleVersion) + (Get-GradleVersion), + (Get-SbtVersion) ) $markdown += New-MDHeader "Tools" -Level 3 @@ -75,6 +78,7 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-MySQLVersion), (Get-MercurialVersion), (Get-NSISVersion), + (Get-NewmanVersion), (Get-OpenSSLVersion), (Get-PackerVersion), (Get-SQLPSVersion), @@ -92,12 +96,14 @@ $markdown += New-MDList -Style Unordered -Lines @( $markdown += New-MDHeader "CLI Tools" -Level 3 $markdown += New-MDList -Style Unordered -Lines @( (Get-AzureCLIVersion), + (Get-AzCopyVersion), (Get-AzureDevopsExtVersion), (Get-AWSCLIVersion), (Get-AWSSAMVersion), (Get-AlibabaCLIVersion), (Get-CloudFoundryVersion), - (Get-HubVersion) + (Get-HubVersion), + (Get-GoogleCloudSDKVersion) ) $markdown += New-MDHeader "Browsers and webdrivers" -Level 3 @@ -127,6 +133,10 @@ $markdown += New-MDHeader "Cached Tools" -Level 3 $markdown += (Build-CachedToolsMarkdown) $markdown += New-MDNewLine +$markdown += New-MDHeader "Databases" -Level 3 +$markdown += Build-DatabasesMarkdown +$markdown += New-MDNewLine + $vs = Get-VisualStudioVersion $markdown += New-MDHeader "$($vs.Name)" -Level 3 $markdown += $vs | New-MDTable @@ -134,7 +144,7 @@ $markdown += New-MDNewLine $markdown += New-MDHeader "Workloads, components and extensions:" -Level 4 $markdown += New-MDNewLine -$markdown += ((Get-VisualStudioComponents) + (Get-VisualStudioExtenions)) | New-MDTable +$markdown += ((Get-VisualStudioComponents) + (Get-VisualStudioExtensions)) | New-MDTable $markdown += New-MDNewLine $markdown += New-MDHeader ".NET Core SDK" -Level 3 @@ -147,13 +157,15 @@ $markdown += New-MDHeader ".NET Core Runtime" -Level 3 Get-DotnetRuntimes | Foreach-Object { $path = $_.Path $versions = $_.Versions - $markdown += "``Location $path``" + $markdown += "``Location: $path``" $markdown += New-MDNewLine $markdown += New-MDList -Lines $versions -Style Unordered } $markdown += New-MDHeader ".NET Framework" -Level 3 $frameworks = Get-DotnetFrameworkTools +$markdown += "``Type: Developer Pack``" +$markdown += New-MDNewLine $markdown += "``Location $($frameworks.Path)``" $markdown += New-MDNewLine $markdown += New-MDList -Lines $frameworks.Versions -Style Unordered diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 index 510269c2..14c7da76 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 @@ -141,6 +141,10 @@ function Get-AzureCLIVersion { return "Azure CLI $azureCLIVersion" } +function Get-AzCopyVersion { + return ($(azcopy --version) -replace "version ") +} + function Get-AzureDevopsExtVersion { $azureDevExtVersion = (az version | ConvertFrom-Json | Foreach{ $_."extensions" })."azure-devops" return "Azure DevOps CLI extension $azureDevExtVersion" @@ -198,4 +202,12 @@ function Get-StackVersion { ((stack --version --quiet) | Out-String) -match "Version (?\d+\.\d+\.\d+)," | Out-Null $stackVersion = $Matches.Version return "Stack $stackVersion" +} + +function Get-GoogleCloudSDKVersion { + (gcloud --version) -match "Google Cloud SDK" +} + +function Get-NewmanVersion { + return "Newman $(newman --version)" } \ No newline at end of file diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 index 56290247..b8fb43c6 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.VisualStudio.psm1 @@ -32,7 +32,7 @@ function Get-WDKVersion { ($installedApplications | Where-Object { $_.DisplayName -eq 'Windows Driver Kit' } | Select-Object -First 1).DisplayVersion } -function Get-VisualStudioExtenions { +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 diff --git a/images/win/toolcache-2016.json b/images/win/toolcache-2016.json deleted file mode 100644 index 449be64f..00000000 --- a/images/win/toolcache-2016.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@actions/toolcache-ruby-windows-x64": [ - "2.4", "2.5", "2.6", "2.7" - ], - "@actions/toolcache-boost-windows-msvc-14.1-x32-x64": [ - "1.69", "1.72" - ] -} \ No newline at end of file diff --git a/images/win/toolcache-2019.json b/images/win/toolcache-2019.json deleted file mode 100644 index 354f518f..00000000 --- a/images/win/toolcache-2019.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@actions/toolcache-ruby-windows-x64": [ - "2.4", "2.5", "2.6", "2.7" - ], - "@actions/toolcache-boost-windows-msvc-14.1-x32-x64": [ - "1.69" - ], - "@actions/toolcache-boost-windows-msvc-14.2-x32-x64": [ - "1.72" - ] -} \ No newline at end of file diff --git a/images/win/toolset-2016.json b/images/win/toolset-2016.json deleted file mode 100644 index 9eb2be40..00000000 --- a/images/win/toolset-2016.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "toolcache": [ - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/master/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/master/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/master/versions-manifest.json", - "arch": "x64", - "platform" : "win32", - "versions": [ - "8.*", - "10.*", - "12.*", - "14.*" - ] - } - ] -} \ No newline at end of file diff --git a/images/win/toolset-2019.json b/images/win/toolset-2019.json deleted file mode 100644 index 9eb2be40..00000000 --- a/images/win/toolset-2019.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "toolcache": [ - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/master/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/master/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/master/versions-manifest.json", - "arch": "x64", - "platform" : "win32", - "versions": [ - "8.*", - "10.*", - "12.*", - "14.*" - ] - } - ] -} \ No newline at end of file diff --git a/images/win/toolsets/toolcache-2016.json b/images/win/toolsets/toolcache-2016.json new file mode 100644 index 00000000..b3f9c3c0 --- /dev/null +++ b/images/win/toolsets/toolcache-2016.json @@ -0,0 +1,5 @@ +{ + "@actions/toolcache-ruby-windows-x64": [ + "2.4", "2.5", "2.6", "2.7" + ] +} \ No newline at end of file diff --git a/images/win/toolsets/toolcache-2019.json b/images/win/toolsets/toolcache-2019.json new file mode 100644 index 00000000..b3f9c3c0 --- /dev/null +++ b/images/win/toolsets/toolcache-2019.json @@ -0,0 +1,5 @@ +{ + "@actions/toolcache-ruby-windows-x64": [ + "2.4", "2.5", "2.6", "2.7" + ] +} \ No newline at end of file diff --git a/images/win/toolsets/toolset-2016.json b/images/win/toolsets/toolset-2016.json new file mode 100644 index 00000000..c2104220 --- /dev/null +++ b/images/win/toolsets/toolset-2016.json @@ -0,0 +1,116 @@ +{ + "toolcache": [ + { + "name": "Python", + "url" : "https://raw.githubusercontent.com/actions/python-versions/master/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/master/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/master/versions-manifest.json", + "arch": "x64", + "platform" : "win32", + "versions": [ + "8.*", + "10.*", + "12.*", + "14.*" + ] + }, + { + "name": "go", + "url" : "https://raw.githubusercontent.com/actions/go-versions/master/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/master/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" + ] + } + ] +} \ No newline at end of file diff --git a/images/win/toolsets/toolset-2019.json b/images/win/toolsets/toolset-2019.json new file mode 100644 index 00000000..f1b605ca --- /dev/null +++ b/images/win/toolsets/toolset-2019.json @@ -0,0 +1,125 @@ +{ + "toolcache": [ + { + "name": "Python", + "url" : "https://raw.githubusercontent.com/actions/python-versions/master/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/master/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/master/versions-manifest.json", + "arch": "x64", + "platform" : "win32", + "versions": [ + "8.*", + "10.*", + "12.*", + "14.*" + ] + }, + { + "name": "go", + "url" : "https://raw.githubusercontent.com/actions/go-versions/master/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/master/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/master/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" + ] + } + ] +} \ No newline at end of file