Merge branch 'master' into v-dmshib/update-gem-latest

This commit is contained in:
Dmitry Shibanov
2020-01-20 16:48:23 +03:00
44 changed files with 1177 additions and 922 deletions

View File

@@ -10,9 +10,11 @@ assignees: ''
**Describe the bug** **Describe the bug**
A clear and concise description of what the bug is, and why you consider it to be a bug. A clear and concise description of what the bug is, and why you consider it to be a bug.
**Area for Triage**: <!-- See https://github.com/actions/virtual-environments/tree/master/triage-rules.yml for areas --> **Area for Triage**:
<!-- See https://github.com/actions/virtual-environments/tree/master/triage-rules.yml for areas -->
**Question, Bug, or Feature?**: <!-- Choose "Question", "Bug", or "Feature" --> **Question, Bug, or Feature?**:
<!-- Choose "Question", "Bug", or "Feature" -->
**Virtual environments affected** **Virtual environments affected**
- [ ] macOS 10.15 - [ ] macOS 10.15

View File

@@ -16,9 +16,11 @@ assignees: ''
- Brief description of tool: <!--- Description --> - Brief description of tool: <!--- Description -->
- URL for tool's homepage: <!--- URL --> - URL for tool's homepage: <!--- URL -->
**Area for Triage**: <!-- See https://github.com/actions/virtual-environments/tree/master/triage-rules.yml for areas --> **Area for Triage**:
<!-- See https://github.com/actions/virtual-environments/tree/master/triage-rules.yml for areas -->
**Question, Bug, or Feature?**: <!-- Choose "Question", "Bug", or "Feature" --> **Question, Bug, or Feature?**:
<!-- Choose "Question", "Bug", or "Feature" -->
**Virtual environments affected** **Virtual environments affected**
- [ ] macOS 10.15 - [ ] macOS 10.15

View File

@@ -13,11 +13,24 @@ jobs:
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- uses: damccorm/tag-ur-it@master - uses: damccorm/tag-ur-it@master
with: with:
repo-token: "${{ secrets.GITHUB_TOKEN }}" repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: "./triage-rules.yml" configuration-path: "./triage-rules.yml"
- if: failure()
uses: actions/github-script@0.4.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.issues.addLabels({
issue_number: context.issue,
owner: context.owner,
repo: context.repo,
labels: ['needs triage']
})
- name: Set Node.js 10.x - name: Set Node.js 10.x
uses: actions/setup-node@master uses: actions/setup-node@master
with: with:

View File

@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2019 GitHub Copyright (c) 2020 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@@ -8,9 +8,10 @@ check out the [GitHub Actions Community Forum](https://github.community/t5/GitHu
## OS's offered ## OS's offered
We currently offer Linux, macOS, and Windows virtual environments: We currently offer Linux, macOS, and Windows virtual environments:
[![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=Ubuntu18&badge=1)](https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md) [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&redirect=1)
[![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=Ubuntu16&badge=1)](https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1604-README.md) [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&redirect=1)
[![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019-vs2019&badge=1)](https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md) [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&redirect=1)
[![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&redirect=1)
- **Linux**. We offer Ubuntu 16.04 and Ubuntu 18.04. We do not plan to offer other Linux distributions. If you want to build using other distributions with the hosted virtual environments, we suggest you use Docker. Alternatively, you can host your own VMs and make use of self-hosted runners. - **Linux**. We offer Ubuntu 16.04 and Ubuntu 18.04. We do not plan to offer other Linux distributions. If you want to build using other distributions with the hosted virtual environments, we suggest you use Docker. Alternatively, you can host your own VMs and make use of self-hosted runners.
- **macOS**. We offer macOS Catalina 10.15. - **macOS**. We offer macOS Catalina 10.15.

View File

@@ -62,7 +62,7 @@ Function GenerateResourcesAndImage {
Delete the resource group if it exists without user confirmation. Delete the resource group if it exists without user confirmation.
.EXAMPLE .EXAMPLE
GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "shsamytest1" -ImageGenerationRepositoryRoot "C:\azure-pipelines-image-generation" -ImageType Ubuntu1604 -AzureLocation "East US" GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "shsamytest1" -ImageGenerationRepositoryRoot "C:\virtual-environments" -ImageType Ubuntu1604 -AzureLocation "East US"
#> #>
param ( param (
[Parameter(Mandatory = $True)] [Parameter(Mandatory = $True)]

View File

@@ -1,10 +1,10 @@
# Hosted Ubuntu 1604 Image (Ubuntu 16.04.6 LTS) # Hosted Ubuntu 1604 Image (Ubuntu 16.04.6 LTS)
The following software is installed on machines in the Hosted Ubuntu 1604 (20191202.1) pool The following software is installed on machines in the Hosted Ubuntu 1604 (20200102.1) pool
*** ***
- 7-Zip 9.20 - 7-Zip 9.20
- Ansible (ansible 2.9.1) - Ansible (ansible 2.9.2)
- AzCopy (azcopy 7.3.0-netcore) - AzCopy (azcopy 7.3.0-netcore)
- Azure CLI (azure-cli 2.0.77) - Azure CLI (azure-cli 2.0.78)
- Azure CLI (azure-devops 0.16.0) - Azure CLI (azure-devops 0.16.0)
- Basic CLI: - Basic CLI:
- curl - curl
@@ -29,7 +29,7 @@ The following software is installed on machines in the Hosted Ubuntu 1604 (20191
- wget - wget
- zip - zip
- tzdata - tzdata
- AWS CLI (aws-cli/1.16.293 Python/2.7.12 Linux/4.15.0-1063-azure botocore/1.13.29) - AWS CLI (aws-cli/1.16.310 Python/2.7.12 Linux/4.15.0-1064-azure botocore/1.13.46)
- build-essential - build-essential
- Clang 6.0 (clang version 6.0.1-svn334776-1~exp1~20190309042730.123 (branches/release_60)) - Clang 6.0 (clang version 6.0.1-svn334776-1~exp1~20190309042730.123 (branches/release_60))
- CMake (cmake version 3.12.4) - CMake (cmake version 3.12.4)
@@ -84,26 +84,28 @@ The following software is installed on machines in the Hosted Ubuntu 1604 (20191
- 2.1.302 - 2.1.302
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.5.6) - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.1)
- Firefox (Mozilla Firefox 70.0.1) - Firefox (Mozilla Firefox 71.0)
- GNU C++ 7.4.0 - GNU C++ 7.4.0
- Git (2.24.0) - Git (2.24.1)
- Git Large File Storage (LFS) (2.9.1) - Git Large File Storage (LFS) (2.9.2)
- Go 1.9 (go version go1.9.7 linux/amd64) - Go 1.9 (go version go1.9.7 linux/amd64)
- Go 1.10 (go version go1.10.8 linux/amd64) - Go 1.10 (go version go1.10.8 linux/amd64)
- Go 1.11 (go version go1.11.12 linux/amd64) - Go 1.11 (go version go1.11.12 linux/amd64)
- Go 1.12 (go version go1.12.7 linux/amd64) - Go 1.12 (go version go1.12.7 linux/amd64)
- Go 1.13 (go version go1.13 linux/amd64) - Go 1.13 (go version go1.13 linux/amd64)
- Google Chrome (Google Chrome 78.0.3904.108 ) - Google Chrome (Google Chrome 79.0.3945.88 )
- Google Cloud SDK (272.0.0) - Chromedriver (ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614}))
- Selenium server standalone
- Google Cloud SDK (274.0.1)
- Haskell Cabal (cabal-install version 2.0.0.1 - Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library ) compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0 - Haskell Cabal (cabal-install version 2.2.0.0
compiled using version 2.2.0.1 of the Cabal library ) compiled using version 2.2.0.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.4.1.0 - Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library ) compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.0.0 - Haskell Cabal (cabal-install version 3.0.1.0
compiled using version 3.0.0.0 of the Cabal library ) compiled using version 3.0.1.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4)
@@ -113,8 +115,8 @@ compiled using version 3.0.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.6.5)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1)
- Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2)
- Heroku (heroku/7.35.0 linux-x64 node-v12.13.0) - Heroku (heroku/7.35.1 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.33.0 (rel)) - HHVM (HipHop VM 4.38.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_242") - Azul Zulu OpenJDK (7) (openjdk version "1.7.0_242")
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_232") - Azul Zulu OpenJDK (8) (openjdk version "1.8.0_232")
@@ -122,53 +124,54 @@ compiled using version 3.0.0.0 of the Cabal library )
- Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16) - Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018) - Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018)
- Gradle 6.0.1 - Gradle 6.0.1
- Maven (Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T15:06:16Z)) - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (v0.5.1) - Kind (v0.5.1)
- kubectl (Client Version: v1.16.3) - kubectl (Client Version: v1.17.0)
- helm (Client: v2.16.1+gbbdfe5e) - helm (Client: v2.16.1+gbbdfe5e)
- Leiningen (Leiningen 2.9.1 on Java 1.8.0_232 OpenJDK 64-Bit Server VM) - Leiningen (Leiningen 2.9.1 on Java 1.8.0_232 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 4.4.1)) - Mercurial (Mercurial Distributed SCM (version 4.4.1))
- Miniconda (conda 4.7.12) - Miniconda (conda 4.7.12)
- Mono (Mono JIT compiler version 6.4.0.198 (tarball Tue Sep 24 01:20:30 UTC 2019)) - Mono (Mono JIT compiler version 6.6.0.161 (tarball Tue Dec 10 10:36:47 UTC 2019))
- MySQL (mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper) - MySQL (mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper)
- MySQL Server (user:root password:root) - MySQL Server (user:root password:root)
- MS SQL Server Client Tools - MS SQL Server Client Tools
- Node.js (v12.13.1) - Node.js (v12.14.0)
- Grunt (grunt-cli v1.2.0) - Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.0 - Gulp (CLI version: 2.2.0
Local version: Unknown) Local version: Unknown)
- n (6.1.3) - n (6.1.3)
- Parcel (1.12.4) - Parcel (1.12.4)
- TypeScript (Version 3.7.2) - TypeScript (Version 3.7.4)
- Webpack (4.41.2) - Webpack (4.41.5)
- Webpack CLI (3.3.10) - Webpack CLI (3.3.10)
- Yarn (1.19.2) - Yarn (1.21.1)
- PhantomJS (2.1.1) - PhantomJS (2.1.1)
- PHP 5.6 (PHP 5.6.40-14+ubuntu16.04.1+deb.sury.org+1 (cli) ) - PHP 5.6 (PHP 5.6.40-15+ubuntu16.04.1+deb.sury.org+1 (cli) )
- PHP 7.0 (PHP 7.0.33-13+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:43:06) ( NTS )) - PHP 7.0 (PHP 7.0.33-14+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:55:16) ( NTS ))
- PHP 7.1 (PHP 7.1.33-2+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:41:45) ( NTS )) - PHP 7.1 (PHP 7.1.33-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:52:59) ( NTS ))
- PHP 7.2 (PHP 7.2.25-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:41:59) ( NTS )) - PHP 7.2 (PHP 7.2.26-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:57:40) ( NTS ))
- PHP 7.3 (PHP 7.3.12-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:36:56) ( NTS )) - PHP 7.3 (PHP 7.3.13-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:48:32) ( NTS ))
- PHP 7.4 (PHP 7.4.1 (cli) (built: Dec 18 2019 14:44:04) ( NTS ))
- Composer (Composer version 1.9.1 2019-11-01 17:20:17) - Composer (Composer version 1.9.1 2019-11-01 17:20:17)
- PHPUnit (PHPUnit 7.5.17 by Sebastian Bergmann and contributors.) - PHPUnit (PHPUnit 7.5.18 by Sebastian Bergmann and contributors.)
- Pollinate - Pollinate
- Powershell (PowerShell 6.2.3) - Powershell (PowerShell 6.2.3)
- rustup (1.20.2) - rustup (1.21.1)
- rust (1.39.0) - rust (1.40.0)
- cargo (1.39.0) - cargo (1.40.0)
- rustfmt (1.4.8-stable) - rustfmt (1.4.9-stable)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.39.0) - rustdoc (1.40.0)
- bindgen (execute - bindgen (execute
the the
0.52.0) 0.52.0)
- cbindgen (0.10.0) - cbindgen (0.12.1)
- sbt (1.3.4) - sbt (1.3.6)
- Sphinx Open Source Search Server - Sphinx Open Source Search Server
- Subversion (svn, version 1.9.3 (r1718519)) - Subversion (svn, version 1.9.3 (r1718519))
- Terraform (Terraform v0.12.16) - Terraform (Terraform v0.12.18)
- Vcpkg 2019.09.12-unknownhash - Vcpkg 2019.09.12-unknownhash
- Zeit Now CLI (16.6.0) - Zeit Now CLI (16.7.0)
- Google Repository 58 - Google Repository 58
- Google Play services 49 - Google Play services 49
- Google APIs 24 - Google APIs 24
@@ -231,14 +234,16 @@ the
- Az Module (1.6.0) - Az Module (1.6.0)
- Az Module (2.3.2) - Az Module (2.3.2)
- Az Module (2.6.0) - Az Module (2.6.0)
- Az Module (2.8.0)
- Az Module (3.1.0)
- Cached container images - Cached container images
- node:10 (Digest: sha256:be69034700545030c110f67ae22e0584ddd59eeb2af81e4bd7f16f3ba5fa93a6) - node:10 (Digest: sha256:49f77fd32e8e796f85581a8d2321c2a9f1b084e1f8b9baa02cb28bce49563ad5)
- node:12 (Digest: sha256:88ee7d2a5e18d359b4b5750ecb50a9b238ab467397c306aeb9955f4f11be44ce) - node:12 (Digest: sha256:f490ebb9c7d5dcf1a8a1e4d3b3a65e133be44d26abb66815ca1612ef69410c51)
- buildpack-deps:stretch (Digest: sha256:5b4b7ee0ae71108d352f8f484b3bc113780068dad21bef7458ac3dd5211cc044) - buildpack-deps:stretch (Digest: sha256:d095aae2ecefdc786823e02b2cb0abc62b432202a49abd716c12cce37aee702b)
- debian:9 (Digest: sha256:99768ac883dc7d4f9c8f55dade9abb39afc1a3d737a8457dc5735ef868288cef) - debian:9 (Digest: sha256:85c4668abb4f26e913152ba8fd04fca5f1c2345d3e2653855e6bb0acf461ed50)
- debian:8 (Digest: sha256:9eaf4a70aeddf435bebc619383f3e3a178b8ad8c1f3948319cdf74b65918d156) - debian:8 (Digest: sha256:8fc7649643ca1acd3940706613ea7b170762cfce6e7955a6afb387aa40e9f9ea)
- node:12-alpine (Digest: sha256:b556d8910b851c27c5c8922eeb55d94fe6dbaf878d24bf0c9a8c32ba21cd091a) - node:10-alpine (Digest: sha256:8d664f80270a63e0734d38420e97e9f9764a0e9184383640973bded21bfa1382)
- node:10-alpine (Digest: sha256:da8161962573bd6ab16b54a9bfa81a263458e5199074d0678d0556376b22bd22) - node:12-alpine (Digest: sha256:452cad05f6fd2a6fe03da8b9230c9c4ad356d205e00c1a9c29020c14ac5679f8)
- alpine:3.10 (Digest: sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a) - alpine:3.10 (Digest: sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a)
- jekyll/builder:latest (Digest: sha256:875de39aa06300c749e26a79f39cdfa31404e4f2dbd2953cd4ebb0442bffda9e) - jekyll/builder:latest (Digest: sha256:875de39aa06300c749e26a79f39cdfa31404e4f2dbd2953cd4ebb0442bffda9e)
- alpine:3.9 (Digest: sha256:7746df395af22f04212cd25a92c1d6dbc5a06a0ca9579a229ef43008d4d1302a) - alpine:3.9 (Digest: sha256:7746df395af22f04212cd25a92c1d6dbc5a06a0ca9579a229ef43008d4d1302a)
@@ -251,6 +256,8 @@ the
- Python 3.6.9 - Python 3.6.9
- Python 3.7.5 - Python 3.7.5
- Python 3.8.0 - Python 3.8.0
- PyPy 2.7.13
- PyPy 3.6.9
- Ruby: - Ruby:
- Ruby 2.4.6 - Ruby 2.4.6
- Ruby 2.5.5 - Ruby 2.5.5
@@ -259,6 +266,4 @@ the
- pip (pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)) - pip (pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7))
- Python3 (Python 3.5.2) - Python3 (Python 3.5.2)
- pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)) - pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5))
- PyPy2 ([PyPy 7.1.0 with GCC 6.2.0 20160901])
- PyPy3 ([PyPy 7.2.0 with GCC 6.2.0 20160901])
- Boost C++ Libraries 1.69.0 - Boost C++ Libraries 1.69.0

View File

@@ -1,10 +1,10 @@
# Hosted Ubuntu 1804 Image (Ubuntu 18.04.3 LTS) # Hosted Ubuntu 1804 Image (Ubuntu 18.04.3 LTS)
The following software is installed on machines in the Hosted Ubuntu 1804 (v20191202.1) pool The following software is installed on machines in the Hosted Ubuntu 1804 (v20200102.1) pool
*** ***
- 7-Zip 16.02 - 7-Zip 16.02
- Ansible (ansible 2.9.1) - Ansible (ansible 2.9.2)
- AzCopy (azcopy 7.3.0-netcore) - AzCopy (azcopy 7.3.0-netcore)
- Azure CLI (azure-cli 2.0.77) - Azure CLI (azure-cli 2.0.78)
- Azure CLI (azure-devops 0.16.0) - Azure CLI (azure-devops 0.16.0)
- Basic CLI: - Basic CLI:
- curl - curl
@@ -29,7 +29,7 @@ The following software is installed on machines in the Hosted Ubuntu 1804 (v2019
- wget - wget
- zip - zip
- tzdata - tzdata
- AWS CLI (aws-cli/1.16.293 Python/2.7.15+ Linux/5.0.0-1025-azure botocore/1.13.29) - AWS CLI (aws-cli/1.16.310 Python/2.7.17 Linux/5.0.0-1027-azure botocore/1.13.46)
- build-essential - build-essential
- Clang 6.0 (clang version 6.0.1-svn334776-1~exp1~20190309042703.125 (branches/release_60)) - Clang 6.0 (clang version 6.0.1-svn334776-1~exp1~20190309042703.125 (branches/release_60))
- CMake (cmake version 3.12.4) - CMake (cmake version 3.12.4)
@@ -86,24 +86,26 @@ The following software is installed on machines in the Hosted Ubuntu 1804 (v2019
- 2.1.302 - 2.1.302
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.5.6) - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.1)
- Firefox (Mozilla Firefox 70.0.1) - Firefox (Mozilla Firefox 71.0)
- GNU C++ 7.4.0 - GNU C++ 7.4.0
- Git (2.24.0) - Git (2.24.1)
- Git Large File Storage (LFS) (2.9.1) - Git Large File Storage (LFS) (2.9.2)
- Go 1.11 (go version go1.11.12 linux/amd64) - Go 1.11 (go version go1.11.12 linux/amd64)
- Go 1.12 (go version go1.12.7 linux/amd64) - Go 1.12 (go version go1.12.7 linux/amd64)
- Go 1.13 (go version go1.13 linux/amd64) - Go 1.13 (go version go1.13 linux/amd64)
- Google Chrome (Google Chrome 78.0.3904.108 ) - Google Chrome (Google Chrome 79.0.3945.88 )
- Google Cloud SDK (272.0.0) - Chromedriver (ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614}))
- Selenium server standalone
- Google Cloud SDK (274.0.1)
- Haskell Cabal (cabal-install version 2.0.0.1 - Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library ) compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0 - Haskell Cabal (cabal-install version 2.2.0.0
compiled using version 2.2.0.1 of the Cabal library ) compiled using version 2.2.0.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.4.1.0 - Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library ) compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.0.0 - Haskell Cabal (cabal-install version 3.0.1.0
compiled using version 3.0.0.0 of the Cabal library ) compiled using version 3.0.1.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4)
@@ -113,59 +115,61 @@ compiled using version 3.0.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.6.5)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1)
- Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2)
- Heroku (heroku/7.35.0 linux-x64 node-v12.13.0) - Heroku (heroku/7.35.1 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.33.0 (rel)) - HHVM (HipHop VM 4.38.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_242") - Azul Zulu OpenJDK (7) (openjdk version "1.7.0_242")
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_232") - Azul Zulu OpenJDK (8) (openjdk version "1.8.0_232")
- Azul Zulu OpenJDK (11) (openjdk version "11.0.5" 2019-10-15 LTS) - Azul Zulu OpenJDK (11) (openjdk version "11.0.5" 2019-10-15 LTS)
- Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16) - Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019) - Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019)
- Gradle 5.6.2 - Gradle 6.0.1
- Maven (Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T19:00:29Z)) - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- kubectl (Client Version: v1.16.0) - Kind (v0.5.1)
- helm (Client: v2.14.3+g0e7f3b6) - kubectl (Client Version: v1.17.0)
- Leiningen (Leiningen 2.9.1 on Java 1.8.0_222 OpenJDK 64-Bit Server VM) - helm (Client: v2.16.1+gbbdfe5e)
- Leiningen (Leiningen 2.9.1 on Java 1.8.0_232 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 4.5.3)) - Mercurial (Mercurial Distributed SCM (version 4.5.3))
- Miniconda (conda 4.7.12) - Miniconda (conda 4.7.12)
- Mono (Mono JIT compiler version 6.4.0.198 (tarball Tue Sep 24 01:21:28 UTC 2019)) - Mono (Mono JIT compiler version 6.6.0.161 (tarball Tue Dec 10 10:36:32 UTC 2019))
- MySQL (mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper) - MySQL (mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper)
- MySQL Server (user:root password:root) - MySQL Server (user:root password:root)
- MS SQL Server Client Tools - MS SQL Server Client Tools
- Node.js (v12.13.1) - Node.js (v12.14.0)
- Grunt (grunt-cli v1.2.0) - Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.0 - Gulp (CLI version: 2.2.0
Local version: Unknown) Local version: Unknown)
- n (6.1.3) - n (6.1.3)
- Parcel (1.12.4) - Parcel (1.12.4)
- TypeScript (Version 3.7.2) - TypeScript (Version 3.7.4)
- Webpack (4.41.2) - Webpack (4.41.5)
- Webpack CLI (3.3.10) - Webpack CLI (3.3.10)
- Yarn (1.19.2) - Yarn (1.21.1)
- PhantomJS (2.1.1) - PhantomJS (2.1.1)
- PHP 7.1 (PHP 7.1.33-2+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:42:07) ( NTS )) - PHP 7.1 (PHP 7.1.33-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:53:18) ( NTS ))
- PHP 7.2 (PHP 7.2.25-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:42:26) ( NTS )) - PHP 7.2 (PHP 7.2.26-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:58:00) ( NTS ))
- PHP 7.3 (PHP 7.3.12-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:37:16) ( NTS )) - PHP 7.3 (PHP 7.3.13-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:48:49) ( NTS ))
- PHP 7.4 (PHP 7.4.1 (cli) (built: Dec 18 2019 14:44:22) ( NTS ))
- Composer (Composer version 1.9.1 2019-11-01 17:20:17) - Composer (Composer version 1.9.1 2019-11-01 17:20:17)
- PHPUnit (PHPUnit 7.5.17 by Sebastian Bergmann and contributors.) - PHPUnit (PHPUnit 7.5.18 by Sebastian Bergmann and contributors.)
- Pollinate - Pollinate
- Powershell (PowerShell 6.2.3) - Powershell (PowerShell 6.2.3)
- rustup (1.20.2) - rustup (1.21.1)
- rust (1.39.0) - rust (1.40.0)
- cargo (1.39.0) - cargo (1.40.0)
- rustfmt (1.4.8-stable) - rustfmt (1.4.9-stable)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.39.0) - rustdoc (1.40.0)
- bindgen (execute - bindgen (execute
the the
0.52.0) 0.52.0)
- cbindgen (0.10.0) - cbindgen (0.12.1)
- sbt (1.3.4) - sbt (1.3.6)
- Sphinx Open Source Search Server - Sphinx Open Source Search Server
- Subversion (svn, version 1.9.7 (r1800392)) - Subversion (svn, version 1.9.7 (r1800392))
- Terraform (Terraform v0.12.16) - Terraform (Terraform v0.12.18)
- Vcpkg 2019.09.12-unknownhash - Vcpkg 2019.09.12-unknownhash
- Zeit Now CLI (16.6.0) - Zeit Now CLI (16.7.0)
- Google Repository 58 - Google Repository 58
- Google Play services 49 - Google Play services 49
- Google APIs 24 - Google APIs 24
@@ -222,14 +226,16 @@ the
- Az Module (1.6.0) - Az Module (1.6.0)
- Az Module (2.3.2) - Az Module (2.3.2)
- Az Module (2.6.0) - Az Module (2.6.0)
- Az Module (2.8.0)
- Az Module (3.1.0)
- Cached container images - Cached container images
- node:10 (Digest: sha256:be69034700545030c110f67ae22e0584ddd59eeb2af81e4bd7f16f3ba5fa93a6) - node:10 (Digest: sha256:49f77fd32e8e796f85581a8d2321c2a9f1b084e1f8b9baa02cb28bce49563ad5)
- node:12 (Digest: sha256:88ee7d2a5e18d359b4b5750ecb50a9b238ab467397c306aeb9955f4f11be44ce) - node:12 (Digest: sha256:f490ebb9c7d5dcf1a8a1e4d3b3a65e133be44d26abb66815ca1612ef69410c51)
- buildpack-deps:stretch (Digest: sha256:5b4b7ee0ae71108d352f8f484b3bc113780068dad21bef7458ac3dd5211cc044) - buildpack-deps:stretch (Digest: sha256:d095aae2ecefdc786823e02b2cb0abc62b432202a49abd716c12cce37aee702b)
- debian:9 (Digest: sha256:99768ac883dc7d4f9c8f55dade9abb39afc1a3d737a8457dc5735ef868288cef) - debian:9 (Digest: sha256:85c4668abb4f26e913152ba8fd04fca5f1c2345d3e2653855e6bb0acf461ed50)
- debian:8 (Digest: sha256:9eaf4a70aeddf435bebc619383f3e3a178b8ad8c1f3948319cdf74b65918d156) - debian:8 (Digest: sha256:8fc7649643ca1acd3940706613ea7b170762cfce6e7955a6afb387aa40e9f9ea)
- node:12-alpine (Digest: sha256:b556d8910b851c27c5c8922eeb55d94fe6dbaf878d24bf0c9a8c32ba21cd091a) - node:10-alpine (Digest: sha256:8d664f80270a63e0734d38420e97e9f9764a0e9184383640973bded21bfa1382)
- node:10-alpine (Digest: sha256:da8161962573bd6ab16b54a9bfa81a263458e5199074d0678d0556376b22bd22) - node:12-alpine (Digest: sha256:452cad05f6fd2a6fe03da8b9230c9c4ad356d205e00c1a9c29020c14ac5679f8)
- alpine:3.10 (Digest: sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a) - alpine:3.10 (Digest: sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a)
- jekyll/builder:latest (Digest: sha256:875de39aa06300c749e26a79f39cdfa31404e4f2dbd2953cd4ebb0442bffda9e) - jekyll/builder:latest (Digest: sha256:875de39aa06300c749e26a79f39cdfa31404e4f2dbd2953cd4ebb0442bffda9e)
- alpine:3.9 (Digest: sha256:7746df395af22f04212cd25a92c1d6dbc5a06a0ca9579a229ef43008d4d1302a) - alpine:3.9 (Digest: sha256:7746df395af22f04212cd25a92c1d6dbc5a06a0ca9579a229ef43008d4d1302a)
@@ -242,14 +248,14 @@ the
- Python 3.6.9 - Python 3.6.9
- Python 3.7.5 - Python 3.7.5
- Python 3.8.0 - Python 3.8.0
- PyPy 2.7.13
- PyPy 3.6.9
- Ruby: - Ruby:
- Ruby 2.4.6 - Ruby 2.4.6
- Ruby 2.5.5 - Ruby 2.5.5
- Ruby 2.6.3 - Ruby 2.6.3
- Python (Python 2.7.15+) - Python (Python 2.7.17)
- pip (pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)) - pip (pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7))
- Python3 (Python 3.6.9) - Python3 (Python 3.6.9)
- pip3 (pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)) - pip3 (pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6))
- PyPy2 ([PyPy 7.1.0 with GCC 6.2.0 20160901])
- PyPy3 ([PyPy 7.2.0 with GCC 6.2.0 20160901])
- Boost C++ Libraries 1.69.0 - Boost C++ Libraries 1.69.0

View File

@@ -1,2 +1,2 @@
# Name of the hosted pool this image will support # Name of the pool supported by this image
POOL_NAME="Hosted Ubuntu 1604" POOL_NAME="Ubuntu 1604"

View File

@@ -1,2 +1,2 @@
# Name of the hosted pool this image will support # Name of pool supported by this image
POOL_NAME="Hosted Ubuntu 1804" POOL_NAME="Ubuntu 1804"

View File

@@ -7,6 +7,6 @@
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
AddTitle "Hosted Ubuntu 1604 Image ($(lsb_release -ds))" AddTitle "$(lsb_release -ds)"
WriteItem "The following software is installed on machines in the Hosted Ubuntu 1604 ($IMAGE_VERSION) pool" WriteItem "The following software is installed on machines with the $IMAGE_VERSION update."
WriteItem "***" WriteItem "***"

View File

@@ -10,9 +10,6 @@ source $HELPER_SCRIPTS/apt.sh
set -e set -e
echo "Install curl"
apt-get install -y --no-install-recommends curl
echo "Install dnsutils" echo "Install dnsutils"
apt-get install -y --no-install-recommends dnsutils apt-get install -y --no-install-recommends dnsutils

View File

@@ -1,54 +0,0 @@
#!/bin/bash
################################################################################
## File: hosted-tool-cache.sh
## Desc: Downloads and installs hosted tools cache
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Fail out if any setups fail
set -e
# Download hosted tool cache
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
echo "AGENT_TOOLSDIRECTORY=$AGENT_TOOLSDIRECTORY" | tee -a /etc/environment
azcopy --recursive \
--source https://vstsagenttools.blob.core.windows.net/tools/hostedtoolcache/ubuntu-1804 \
--destination $AGENT_TOOLSDIRECTORY
# Install tools from hosted tool cache
original_directory=$PWD
setups=$(find $AGENT_TOOLSDIRECTORY -name setup.sh)
for setup in $setups; do
chmod +x $setup;
cd $(dirname $setup);
./$(basename $setup);
cd $original_directory;
done;
DocumentInstalledItem "Python:"
pythons=$(ls $AGENT_TOOLSDIRECTORY/Python)
for python in $pythons; do
DocumentInstalledItemIndent "Python $python"
done;
# PyPy is also configured using the setup-python action
pypys=$(ls $AGENT_TOOLSDIRECTORY/PyPy)
for pypy in $pypys; do
DocumentInstalledItemIndent "PyPy $pypy"
# Add symlinks for pypy2 and pypy3 to usr/local/bin, there should only be 2 versions of PyPy in the tools cache that is downloaded
if [ ${pypy:0:1} -eq "3" ] ; then
# add pypy 3.X to PATH
ln -s $AGENT_TOOLSDIRECTORY/PyPy/$pypy/x64/bin/pypy3 /usr/local/bin/pypy3
else
# add pypy 2.X to PATH
ln -s $AGENT_TOOLSDIRECTORY/PyPy/$pypy/x64/bin/pypy /usr/local/bin/pypy
fi
done;
DocumentInstalledItem "Ruby:"
rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby)
for ruby in $rubys; do
DocumentInstalledItemIndent "Ruby $ruby"
done;

View File

@@ -7,6 +7,6 @@
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
AddTitle "Hosted Ubuntu 1804 Image ($(lsb_release -ds))" AddTitle "$(lsb_release -ds)"
WriteItem "The following software is installed on machines in the Hosted Ubuntu 1804 (v$IMAGE_VERSION) pool" WriteItem "The following software is installed on machines with the $IMAGE_VERSION update."
WriteItem "***" WriteItem "***"

View File

@@ -7,7 +7,6 @@
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
BOOST_ZIP_PATH=/opt/hostedtoolcache/Boost
BOOST_LIB=/usr/local/share/boost BOOST_LIB=/usr/local/share/boost
# Install Boost # Install Boost
@@ -15,9 +14,6 @@ for BOOST_VERSION in ${BOOST_VERSIONS//,/ }
do do
BOOST_SYMLINK_VER=`echo "${BOOST_VERSION//[.]/_}"` BOOST_SYMLINK_VER=`echo "${BOOST_VERSION//[.]/_}"`
BOOST_ROOT="BOOST_ROOT_$BOOST_SYMLINK_VER" BOOST_ROOT="BOOST_ROOT_$BOOST_SYMLINK_VER"
BOOST_ZIP="boost_`echo $BOOST_VERSION`_gcc.zip"
unzip $BOOST_ZIP_PATH/$BOOST_ZIP -d $BOOST_LIB
echo "$BOOST_ROOT=$BOOST_LIB/$BOOST_VERSION" | tee -a /etc/environment echo "$BOOST_ROOT=$BOOST_LIB/$BOOST_VERSION" | tee -a /etc/environment
if [[ $BOOST_VERSION == $BOOST_DEFAULT ]]; then if [[ $BOOST_VERSION == $BOOST_DEFAULT ]]; then
@@ -26,6 +22,3 @@ do
DocumentInstalledItem "Boost C++ Libraries $BOOST_VERSION" DocumentInstalledItem "Boost C++ Libraries $BOOST_VERSION"
done done
# Deleting archives with Boost Libraries
rm -rf $BOOST_ZIP_PATH

View File

@@ -28,4 +28,4 @@ done
# Document what was added to the image # Document what was added to the image
echo "Lastly, documenting what we added to the metadata file" echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Clang 6.0 ($(clang-6.0 --version | head -n 1))" DocumentInstalledItem "Clang 6.0 ($(clang-6.0 --version | head -n 1 | sed 's/~/\\~/g'))"

View File

@@ -12,7 +12,7 @@ echo "Checking to see if the installer script has already been run"
if command -v cmake; then if command -v cmake; then
echo "Example variable already set to $EXAMPLE_VAR" echo "Example variable already set to $EXAMPLE_VAR"
else else
curl -sL https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.sh -o cmakeinstall.sh \ curl -sL https://cmake.org/files/v3.16/cmake-3.16.2-Linux-x86_64.sh -o cmakeinstall.sh \
&& chmod +x cmakeinstall.sh \ && chmod +x cmakeinstall.sh \
&& ./cmakeinstall.sh --prefix=/usr/local --exclude-subdir \ && ./cmakeinstall.sh --prefix=/usr/local --exclude-subdir \
&& rm cmakeinstall.sh && rm cmakeinstall.sh

View File

@@ -43,6 +43,7 @@ CHROMEDRIVER_BIN="/usr/bin/chromedriver"
mv "chromedriver" $CHROMEDRIVER_BIN mv "chromedriver" $CHROMEDRIVER_BIN
chown root:root $CHROMEDRIVER_BIN chown root:root $CHROMEDRIVER_BIN
chmod +x $CHROMEDRIVER_BIN chmod +x $CHROMEDRIVER_BIN
echo "CHROMEWEBDRIVER=$CHROMEDRIVER_BIN" | tee -a /etc/environment
# Run tests to determine that the chromedriver installed as expected # Run tests to determine that the chromedriver installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
@@ -52,7 +53,7 @@ if ! command -v chromedriver; then
fi fi
echo "Lastly, documenting what we added to the metadata file" echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Chromedriver ($(chromedriver --version))" DocumentInstalledItem "Chromedriver ($(chromedriver --version)); Chrome Driver is available via CHROMEWEBDRIVER environment variable"
# Determine latest selenium standalone server version # Determine latest selenium standalone server version
SELENIUM_LATEST_VERSION_URL=https://api.github.com/repos/SeleniumHQ/selenium/releases/latest SELENIUM_LATEST_VERSION_URL=https://api.github.com/repos/SeleniumHQ/selenium/releases/latest
@@ -61,7 +62,7 @@ SELENIUM_VERSION_MAJOR_MINOR=$(echo $SELENIUM_VERSION | cut -d '.' -f 1,2)
# Download selenium standalone server # Download selenium standalone server
echo "Downloading selenium-server-standalone v$SELENIUM_VERSION..." echo "Downloading selenium-server-standalone v$SELENIUM_VERSION..."
SELENIUM_JAR_NAME=selenium-server-standalone-$SELENIUM_VERSION.jar SELENIUM_JAR_NAME="selenium-server-standalone-$SELENIUM_VERSION.jar"
wget https://selenium-release.storage.googleapis.com/$SELENIUM_VERSION_MAJOR_MINOR/$SELENIUM_JAR_NAME wget https://selenium-release.storage.googleapis.com/$SELENIUM_VERSION_MAJOR_MINOR/$SELENIUM_JAR_NAME
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
@@ -70,8 +71,9 @@ if [ ! -f "$SELENIUM_JAR_NAME" ]; then
exit 1 exit 1
fi fi
mv "selenium-server-standalone-$SELENIUM_VERSION.jar" "/usr/share/java/selenium-server-standalone.jar" SELENIUM_JAR_PATH="/usr/share/java/selenium-server-standalone.jar"
echo "CLASSPATH=/usr/share/java/selenium-server-standalone.jar:.:$CLASSPATH" | tee -a /etc/environment mv $SELENIUM_JAR_NAME $SELENIUM_JAR_PATH
echo "SELENIUM_JAR_PATH=$SELENIUM_JAR_PATH" | tee -a /etc/environment
echo "Lastly, documenting what we added to the metadata file" echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Selenium server standalone" DocumentInstalledItem "Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)"

View File

@@ -10,21 +10,23 @@ source $HELPER_SCRIPTS/document.sh
# Fail out if any setups fail # Fail out if any setups fail
set -e set -e
# Download hosted tool cache
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
mkdir $AGENT_TOOLSDIRECTORY
echo "AGENT_TOOLSDIRECTORY=$AGENT_TOOLSDIRECTORY" | tee -a /etc/environment echo "AGENT_TOOLSDIRECTORY=$AGENT_TOOLSDIRECTORY" | tee -a /etc/environment
azcopy --recursive \
--source https://vstsagenttools.blob.core.windows.net/tools/hostedtoolcache/linux \
--destination $AGENT_TOOLSDIRECTORY
# Install tools from hosted tool cache chmod -R 777 $AGENT_TOOLSDIRECTORY
original_directory=$PWD
setups=$(find $AGENT_TOOLSDIRECTORY -name setup.sh) echo "Installing npm-toolcache..."
for setup in $setups; do TOOLSET_PATH="$INSTALLER_SCRIPT_FOLDER/toolcache.json"
chmod +x $setup;
cd $(dirname $setup); PACKAGE_LIST=($(jq -r 'keys | .[]' $TOOLSET_PATH))
./$(basename $setup);
cd $original_directory; for PACKAGE_NAME in ${PACKAGE_LIST[@]}; do
PACKAGE_VERSIONS=($(jq -r ".[\"$PACKAGE_NAME\"] | .[]" $TOOLSET_PATH))
for PACKAGE_VERSION in ${PACKAGE_VERSIONS[@]}; do
echo "Install ${PACKAGE_NAME}@${PACKAGE_VERSION}"
npm install ${PACKAGE_NAME}@${PACKAGE_VERSION} --registry=${TOOLCACHE_REGISTRY}
done;
done; done;
DocumentInstalledItem "Python:" DocumentInstalledItem "Python:"
@@ -33,22 +35,14 @@ for python in $pythons; do
DocumentInstalledItemIndent "Python $python" DocumentInstalledItemIndent "Python $python"
done; done;
# PyPy is also configured using the setup-python action
pypys=$(ls $AGENT_TOOLSDIRECTORY/PyPy)
for pypy in $pypys; do
DocumentInstalledItemIndent "PyPy $pypy"
# Add symlinks for pypy2 and pypy3 to usr/local/bin, there should only be 2 versions of PyPy in the tools cache that is downloaded
if [ ${pypy:0:1} -eq "3" ] ; then
# add pypy 3.X to PATH
ln -s $AGENT_TOOLSDIRECTORY/PyPy/$pypy/x64/bin/pypy3 /usr/local/bin/pypy3
else
# add pypy 2.X to PATH
ln -s $AGENT_TOOLSDIRECTORY/PyPy/$pypy/x64/bin/pypy /usr/local/bin/pypy
fi
done;
DocumentInstalledItem "Ruby:" DocumentInstalledItem "Ruby:"
rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby) rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby)
for ruby in $rubys; do for ruby in $rubys; do
DocumentInstalledItemIndent "Ruby $ruby" DocumentInstalledItemIndent "Ruby $ruby"
done; done;
DocumentInstalledItem "PyPy:"
pypys=$(ls $AGENT_TOOLSDIRECTORY/PyPy)
for pypy in $pypys; do
DocumentInstalledItemIndent "PyPy $pypy"
done;

View File

@@ -6,65 +6,69 @@
# Must be procecessed after tool cache setup(hosted-tool-cache.sh). # Must be procecessed after tool cache setup(hosted-tool-cache.sh).
Test_Hostedtoolcache_Tool() {
TOOL_NAME=$1
TOOL_EXEC_TEST=$2
if [ -d "$AGENT_TOOLSDIRECTORY/$TOOL_NAME" ]; then
cd $AGENT_TOOLSDIRECTORY/$TOOL_NAME
tool_dirs=($(find . -mindepth 1 -maxdepth 1 -type d | sed "s|^\./||"))
echo "--------------------------------------------"
echo "$TOOL_NAME versions folders: ${tool_dirs[@]}"
echo "--------------------------------------------"
if [ -n "$tool_dirs" ]; then
tool_key=$(echo $TOOL_NAME | tr "[:upper:]" "[:lower:]")
package_versions=($(jq -r ".[\"${TOOLCACHE_KEY_VALUE[$tool_key]}\"] | .[]" "$INSTALLER_SCRIPT_FOLDER/toolcache.json"))
for tool_version in ${package_versions[@]}
do
version_dir=$(find . -name "$tool_version.*" -print -quit)
echo "Test $AGENT_TOOLSDIRECTORY/$TOOL_NAME/$version_dir:"
actual_version=$(eval $AGENT_TOOLSDIRECTORY/$TOOL_NAME/$version_dir/$TOOL_EXEC_TEST)
if [ "$actual_version" = "$tool_version" ]; then
echo "Passed!"
else
echo "Expected: $tool_version; Actual: $actual_version"
exit 1
fi
done;
else
echo "$AGENT_TOOLSDIRECTORY/$tool_version does not include any folders"
exit 1
fi
else
echo "$AGENT_TOOLSDIRECTORY/$tool_version does not exist"
exit 1
fi
}
# Fail out if any tests fail # Fail out if any tests fail
set -e set -e
# define dictionary for key_alias and its values
declare -A TOOLCACHE_KEY_VALUE
package_list=($(jq -r 'keys | .[]' "$INSTALLER_SCRIPT_FOLDER/toolcache.json"))
for package_name in ${package_list[@]}; do
# get key alias
key_alias=$(echo $package_name | cut -f2 -d-)
# set dictionary
TOOLCACHE_KEY_VALUE+=(["$key_alias"]="$package_name")
done;
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
# Python test Test_Hostedtoolcache_Tool "Python" "x64/python -c 'import sys;print(sys.version)'| head -1 | egrep -o '[0-9]+\.[0-9]+'"
if [ -d "$AGENT_TOOLSDIRECTORY/Python" ]; then Test_Hostedtoolcache_Tool "Ruby" "x64/bin/ruby -e 'puts RUBY_VERSION' | egrep -o '[0-9]+\.[0-9]+'"
cd $AGENT_TOOLSDIRECTORY/Python Test_Hostedtoolcache_Tool "PyPy" "x64/bin/python -c 'import sys;print(sys.version)'| head -1 | egrep -o '[0-9]+\.[0-9]+' | cut -d '.' -f 1"
python_dirs=($(find . -mindepth 1 -maxdepth 1 -type d | sed "s|^\./||"))
echo "Python versions folders: ${python_dirs[@]}"
echo "------------------------------------------"
if [ -n "$python_dirs" ]; then
for version_dir in "${python_dirs[@]}"
do
echo "Test $AGENT_TOOLSDIRECTORY/Python/$version_dir:"
expected_ver=$(echo $version_dir | egrep -o '[0-9]+\.[0-9]+')
actual_ver=$($AGENT_TOOLSDIRECTORY/Python/$version_dir/x64/python -c 'import sys;print(sys.version)'| head -1 | egrep -o '[0-9]+\.[0-9]+')
if [ "$expected_ver" = "$actual_ver" ]; then
echo "Passed!"
else
echo "Expected: $expected_ver; Actual: $actual_ver"
exit 1
fi
done
else
echo "$AGENT_TOOLSDIRECTORY/Python does not include any folders"
exit 1
fi
else
echo "$AGENT_TOOLSDIRECTORY/Python does not exist"
exit 1
fi
# Ruby test
if [ -d "$AGENT_TOOLSDIRECTORY/Ruby" ]; then
cd $AGENT_TOOLSDIRECTORY/Ruby
ruby_dirs=($(find . -mindepth 1 -maxdepth 1 -type d | sed "s|^\./||"))
echo "Ruby versions folders: ${ruby_dirs[@]}"
echo "--------------------------------------"
if [ -n "$ruby_dirs" ]; then
for version_dir in "${ruby_dirs[@]}"
do
echo "Test $AGENT_TOOLSDIRECTORY/Ruby/$version_dir:"
expected_ver=$(echo $version_dir | egrep -o '[0-9]+\.[0-9]+')
actual_ver=$($AGENT_TOOLSDIRECTORY/Ruby/$version_dir/x64/bin/ruby -e "puts RUBY_VERSION" | egrep -o '[0-9]+\.[0-9]+')
if [ "$expected_ver" = "$actual_ver" ]; then
echo "Passed!"
else
echo "Expected: $expected_ver; Actual: $actual_ver"
exit 1
fi
done
else
echo "$AGENT_TOOLSDIRECTORY/Ruby does not include any folders"
exit 1
fi
else
echo "$AGENT_TOOLSDIRECTORY/Ruby does not exist"
exit 1
fi

View File

@@ -0,0 +1,14 @@
{
"toolcache-python-ubuntu-1604-x64": [
"2.7", "3.5", "3.6", "3.7", "3.8"
],
"toolcache-ruby-ubuntu-1604-x64": [
"2.4", "2.5", "2.6", "2.7"
],
"toolcache-pypy-ubuntu-1604-x64": [
"2", "3"
],
"toolcache-boost-ubuntu-1604-x64": [
"1.69"
]
}

View File

@@ -0,0 +1,14 @@
{
"toolcache-python-ubuntu-1804-x64": [
"2.7", "3.5", "3.6", "3.7", "3.8"
],
"toolcache-ruby-ubuntu-1804-x64": [
"2.4", "2.5", "2.6", "2.7"
],
"toolcache-pypy-ubuntu-1804-x64": [
"2", "3"
],
"toolcache-boost-ubuntu-1804-x64": [
"1.69"
]
}

View File

@@ -20,8 +20,10 @@
"helper_script_folder": "/imagegeneration/helpers", "helper_script_folder": "/imagegeneration/helpers",
"vm_size": "Standard_DS2_v2", "vm_size": "Standard_DS2_v2",
"capture_name_prefix": "packer", "capture_name_prefix": "packer",
"image_version": "dev" "image_version": "dev",
"toolcache_registry": "https://buildcanary.pkgs.visualstudio.com/PipelineCanary/_packaging/hostedtoolcache/npm/registry/"
}, },
"sensitive-variables": ["client_secret"],
"builders": [ "builders": [
{ {
"type": "azure-arm", "type": "azure-arm",
@@ -167,19 +169,26 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "file",
"source": "{{template_dir}}/toolcache-1604.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
"{{template_dir}}/scripts/installers/1604/android.sh", "{{template_dir}}/scripts/installers/1604/android.sh",
"{{template_dir}}/scripts/installers/1604/azpowershell.sh", "{{template_dir}}/scripts/installers/1604/azpowershell.sh",
"{{template_dir}}/scripts/helpers/containercache.sh", "{{template_dir}}/scripts/helpers/containercache.sh",
"{{template_dir}}/scripts/installers/1604/hosted-tool-cache.sh", "{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
"{{template_dir}}/scripts/installers/python.sh", "{{template_dir}}/scripts/installers/python.sh",
"{{template_dir}}/scripts/installers/test-toolcache.sh" "{{template_dir}}/scripts/installers/test-toolcache.sh"
], ],
"environment_vars": [ "environment_vars": [
"METADATA_FILE={{user `metadata_file`}}", "METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}" "HELPER_SCRIPTS={{user `helper_script_folder`}}",
"TOOLCACHE_REGISTRY={{user `toolcache_registry`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },

View File

@@ -20,8 +20,10 @@
"helper_script_folder": "/imagegeneration/helpers", "helper_script_folder": "/imagegeneration/helpers",
"vm_size": "Standard_DS2_v2", "vm_size": "Standard_DS2_v2",
"capture_name_prefix": "packer", "capture_name_prefix": "packer",
"image_version": "dev" "image_version": "dev",
"toolcache_registry": "https://buildcanary.pkgs.visualstudio.com/PipelineCanary/_packaging/hostedtoolcache/npm/registry/"
}, },
"sensitive-variables": ["client_secret"],
"builders": [ "builders": [
{ {
"type": "azure-arm", "type": "azure-arm",
@@ -170,19 +172,26 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "file",
"source": "{{template_dir}}/toolcache-1804.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
"{{template_dir}}/scripts/installers/1804/android.sh", "{{template_dir}}/scripts/installers/1804/android.sh",
"{{template_dir}}/scripts/installers/1804/azpowershell.sh", "{{template_dir}}/scripts/installers/1804/azpowershell.sh",
"{{template_dir}}/scripts/helpers/containercache.sh", "{{template_dir}}/scripts/helpers/containercache.sh",
"{{template_dir}}/scripts/installers/1804/hosted-tool-cache.sh", "{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
"{{template_dir}}/scripts/installers/python.sh", "{{template_dir}}/scripts/installers/python.sh",
"{{template_dir}}/scripts/installers/test-toolcache.sh" "{{template_dir}}/scripts/installers/test-toolcache.sh"
], ],
"environment_vars": [ "environment_vars": [
"METADATA_FILE={{user `metadata_file`}}", "METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}" "HELPER_SCRIPTS={{user `helper_script_folder`}}",
"TOOLCACHE_REGISTRY={{user `toolcache_registry`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },

View File

@@ -1,14 +1,14 @@
--- ---
title: GitHub Hosted Github Mojave 10.15 VM Image Updates title: GitHub Hosted Github Mojave 10.15 VM Image Updates
description: Software used on build machines description: Software used on build machines
date: Week 51 date: Week 2
--- ---
#### Xcode 11.1 set by default #### Xcode 11.2.1 set by default
## Operating System ## Operating System
- OS X 10.15.1 (19B88) **Catalina** - OS X 10.15.2 (19C57) **Catalina**
## Installed Software ## Installed Software
@@ -19,29 +19,29 @@ date: Week 51
- Java 11 : OpenJDK Runtime Environment Zulu11.35+15-CA (build 11.0.5+10-LTS) - Java 11 : OpenJDK Runtime Environment Zulu11.35+15-CA (build 11.0.5+10-LTS)
- Java 12 : OpenJDK Runtime Environment Zulu12.3+11-CA (build 12.0.2+3) - Java 12 : OpenJDK Runtime Environment Zulu12.3+11-CA (build 12.0.2+3)
- Java 13 : OpenJDK Runtime Environment Zulu13.28+11-CA (build 13.0.1+10-MTS) - Java 13 : OpenJDK Runtime Environment Zulu13.28+11-CA (build 13.0.1+10-MTS)
- Node.js v12.13.1 - Node.js v12.14.0
- NVM 0.33.11 - NVM 0.33.11
- NVM - Installed node versions: - NVM - Installed node versions:
v6.17.1 * v6.17.1 *
v8.16.2 * v8.17.0 *
v10.17.0 * v10.18.0 *
v12.13.1 * v12.14.0 *
v13.3.0 * v13.5.0 *
- PowerShell 6.2.3 - PowerShell 6.2.3
- Python 2.7.17 - Python 2.7.17
- Python 3.7.5 - Python 3.7.6
- Ruby -2.6.5p114 - Ruby -2.6.5p114
- .NET SDK 2.0.0 3.0.100 3.0.101 - .NET SDK 2.0.0 3.0.100 3.0.101
- Go 1.13.4 - Go 1.13.5
### Package Management ### Package Management
- Bundler 2.0.2 - Bundler 2.1.3
- Carthage 0.34.0 - Carthage 0.34.0
- CocoaPods 1.8.4 - CocoaPods 1.8.4
- Homebrew 2.2.0 - Homebrew 2.2.2
- NPM 6.12.1 - NPM 6.13.4
- Yarn 1.19.2 - Yarn 1.21.1
- NuGet 5.3.1.6268 - NuGet 5.3.1.6268
- pip 19.3.1 - pip 19.3.1
- Miniconda 4.7.12 - Miniconda 4.7.12
@@ -54,17 +54,18 @@ date: Week 51
### Utilities ### Utilities
- curl 7.67.0 (x86_64-apple-darwin19.0.0) libcurl/7.67.0 SecureTransport zlib/1.2.11 - curl 7.67.0 (x86_64-apple-darwin19.0.0) libcurl/7.67.0 SecureTransport zlib/1.2.11
- Git 2.24.0 - Git 2.24.1
- Git LFS: git-lfs/2.8.0 (GitHub; darwin amd64; go 1.12.7) - Git LFS: git-lfs/2.9.2 (GitHub; darwin amd64; go 1.13.5)
- GNU Wget 1.20.3 - GNU Wget 1.20.3
- Subversion (SVN) 1.13.0 - Subversion (SVN) 1.13.0
- GNU parallel 20191122 - GNU parallel 20191222
### Tools ### Tools
- fastlane 2.137.0 - fastlane 2.139.0
- App Center CLI 2.3.2 - App Center CLI 2.3.3
- Azure-Cli 2.0.77 - Azure-Cli 2.0.78
- CMake 3.16.2
### Pre-cached tools ### Pre-cached tools
@@ -81,11 +82,15 @@ date: Week 51
- 2.5.5 - 2.5.5
- 2.6.3 - 2.6.3
### Browsers
- Google Chrome 79.0.3945.88
- ChromeDriver 79.0.3945.36
### Xcode ### Xcode
| Version | Build | Path | | Version | Build | Path |
|------------------------|---------|----------------------------------| |------------------------|---------|----------------------------------|
| 11.3_beta | 11C24b | /Applications/Xcode_11.3_beta.app| | 11.3 | 11C29 | /Applications/Xcode_11.3.app |
| 11.2.1 | 11B53 | /Applications/Xcode_11.2.1.app | | 11.2.1 | 11B53 | /Applications/Xcode_11.2.1.app |
| 11.2 | 11B52 | /Applications/Xcode_11.2.app | | 11.2 | 11B52 | /Applications/Xcode_11.2.app |
| 11.1 | 11A1027 | /Applications/Xcode_11.1.app | | 11.1 | 11A1027 | /Applications/Xcode_11.1.app |
@@ -97,29 +102,29 @@ date: Week 51
- Nomad CLI 3.0.6 - Nomad CLI 3.0.6
- Nomad CLI IPA 0.14.3 - Nomad CLI IPA 0.14.3
- xcpretty 0.3.0 - xcpretty 0.3.0
- xctool 0.3.6 - xctool 0.3.7
- xcversion 2.6.3 - xcversion 2.6.3
### Installed SDKs ### Installed SDKs
| SDK | SDK name |Xcode Version | | SDK | SDK name |Xcode Version |
|---------------------------|-------------|--------------| |---------------------------|-------------|--------------|
| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2, 11.2.1 | | macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2, 11.2.1, 11.3 |
| iOS 13.0 | iphoneos13.0 | 11.0 | | iOS 13.0 | iphoneos13.0 | 11.0 |
| iOS 13.1 | iphoneos13.1 | 11.1 | | iOS 13.1 | iphoneos13.1 | 11.1 |
| iOS 13.2 | iphoneos13.2 | 11.2, 11.2.1 | | iOS 13.2 | iphoneos13.2 | 11.2, 11.2.1, 11.3 |
| iOS Simulator 13.0 | iphonesimulator13.0 | 11.0 | | iOS Simulator 13.0 | iphonesimulator13.0 | 11.0 |
| iOS Simulator 13.1 | iphonesimulator13.1 | 11.1 | | iOS Simulator 13.1 | iphonesimulator13.1 | 11.1 |
| iOS Simulator 13.2 | iphonesimulator13.2 | 11.2, 11.2.1 | | iOS Simulator 13.2 | iphonesimulator13.2 | 11.2, 11.2.1, 11.3 |
| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 | | tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
| tvOS 13.2 | appletvos13.2 | 11.2, 11.2.1 | | tvOS 13.2 | appletvos13.2 | 11.2, 11.2.1 |
| tvOS Simulator 13.0 | appletvsimulator13.0 | 11.0, 11.1 | | tvOS Simulator 13.0 | appletvsimulator13.0 | 11.0, 11.1 |
| tvOS Simulator 13.2 | appletvsimulator13.2 | 11.2, 11.2.1 | | tvOS Simulator 13.2 | appletvsimulator13.2 | 11.2, 11.2.1, 11.3 |
| watchOS 6.0 | watchos6.0 | 11.0, 11.1 | | watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
| watchOS 6.1 | watchos6.1 | 11.2, 11.2.1 | | watchOS 6.1 | watchos6.1 | 11.2, 11.2.1, 11.3 |
| watchOS Simulator 6.0 | watchsimulator6.0 | 11.0, 11.1 | | watchOS Simulator 6.0 | watchsimulator6.0 | 11.0, 11.1 |
| watchOS Simulator 6.1 | watchsimulator6.1 | 11.2, 11.2.1 | | watchOS Simulator 6.1 | watchsimulator6.1 | 11.2, 11.2.1, 11.3 |
| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2, 11.2.1 | | DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2, 11.2.1, 11.3 |
### Installed Simulators ### Installed Simulators
@@ -129,23 +134,15 @@ date: Week 51
|---------|---------------------------------|------------| |---------|---------------------------------|------------|
| iOS 13.0 (17A577a) | 11 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) | | iOS 13.0 (17A577a) | 11 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
| iOS 13.1 (17A844) | 11.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) | | iOS 13.1 (17A844) | 11.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
| iOS 13.2 (17B102) | 11.2, 11.2.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad (7th generation)<br>iPad Pro<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) | | iOS 13.2 (17B102) <br> iOS 13.3 (17C45) | 11.2, 11.2.1 <br> 11.3 | iPhone 8 <br> iPhone 8 Plus <br> iPhone 11 <br> iPhone 11 Pro <br> iPhone 11 Pro Max <br> iPad Pro (9.7-inch) <br> iPad (7th generation) <br> iPad Pro <br> iPad Pro (12.9-inch) (3rd generation) <br> iPad Air (3rd generation) |
| tvOS 11.4 (15L576)<br>tvOS 12.0 (16J5283n)<br>tvOS 12.1 (16J602)<br>tvOS 12.2 (16L225)<br>tvOS 12.4 (16M567)<br>tvOS 13.0 (17J559)<br>tvOS 13.2 (17K90) | 11.0, 11.1<br>11.2, 11.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.0 (17J559)<br>tvOS 13.2 (17K90)<br>tvOS 13.3 (17K446) | 11.2, 11.2.1<br> 11.3 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| watchOS 6.0 (17R566)<br><br>watchOS 6.1 (17S80) | 11.0<br>11.1<br>11.2, 11.2.1 | Apple Watch Series 4 40mm<br>Apple Watch Series 4 44mm<br>Apple Watch Series 5 40mm<br>Apple Watch Series 5 44mm | | watchOS 6.0 (17R566)<br><br>watchOS 6.1 (17S80)<br>watchOS 6.1.1 (17S445) | 11.0<br>11.1<br>11.2, 11.2.1<br> 11.3 | Apple Watch Series 4 40mm<br>Apple Watch Series 4 44mm<br>Apple Watch Series 5 40mm<br>Apple Watch Series 5 44mm |
### Device Pairs ### Device Pairs
| Watch | Phone | | Watch | Phone |
|-----------------------------|-------------------| |-----------------------------|-------------------|
| Apple Watch - 38mm | iPhone 6s |
| Apple Watch - 42mm | iPhone 6s Plus |
| Apple Watch Series 2 - 38mm | iPhone 7 |
| Apple Watch Series 2 - 42mm | iPhone 7 Plus |
| Apple Watch Series 3 - 38mm | iPhone 8 |
| Apple Watch Series 3 - 42mm | iPhone 8 Plus |
| Apple Watch Series 4 - 40mm | iPhone XS |
| Apple Watch Series 4 - 44mm | iPhone XS Max |
| Apple Watch Series 5 - 40mm | iPhone 11 Pro | | Apple Watch Series 5 - 40mm | iPhone 11 Pro |
| Apple Watch Series 5 - 44mm | iPhone 11 Pro Max | | Apple Watch Series 5 - 44mm | iPhone 11 Pro Max |
@@ -210,7 +207,7 @@ date: Week 51
| lldb | 2.3.3614996 | | lldb | 2.3.3614996 |
| ndk-bundle | 18.1.5063045 | | ndk-bundle | 18.1.5063045 |
| ProGuard | 5.3.3 | | ProGuard | 5.3.3 |
| Android Emulator | 29.2.11 | | Android Emulator | 29.3.2 |
### Google APIs ### Google APIs
@@ -234,7 +231,7 @@ date: Week 51
### Visual Studio for Mac ### Visual Studio for Mac
- 8.3.10.2 - 8.3.11.1
### Mono ### Mono

View File

@@ -16,6 +16,7 @@
"private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}", "private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
"vm_size": "Standard_DS4_v2", "vm_size": "Standard_DS4_v2",
"root_folder": "C:",
"image_folder": "C:\\image", "image_folder": "C:\\image",
"commit_file": "C:\\image\\commit.txt", "commit_file": "C:\\image\\commit.txt",
"metadata_file": "C:\\image\\metadata.txt", "metadata_file": "C:\\image\\metadata.txt",
@@ -24,8 +25,10 @@
"install_user": "installer", "install_user": "installer",
"install_password": null, "install_password": null,
"capture_name_prefix": "packer", "capture_name_prefix": "packer",
"image_version": "dev" "image_version": "dev",
"toolcache_registry": "https://buildcanary.pkgs.visualstudio.com/PipelineCanary/_packaging/hostedtoolcache/npm/registry/"
}, },
"sensitive-variables": ["install_password", "ssh_password", "client_secret"],
"builders": [ "builders": [
{ {
"name": "vhd", "name": "vhd",
@@ -268,6 +271,27 @@
}, },
{ {
"type": "powershell", "type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-NodeLts.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-7zip.ps1"
]
},
{
"type": "file",
"source": "{{template_dir}}/toolcache.json",
"destination": "{{user `root_folder`}}/toolcache.json"
},
{
"type": "powershell",
"environment_vars":[
"TOOLCACHE_REGISTRY={{ user `toolcache_registry` }}",
"ROOT_FOLDER={{user `root_folder`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Download-ToolCache.ps1" "{{ template_dir }}/scripts/Installers/Download-ToolCache.ps1"
] ]
@@ -336,6 +360,12 @@
"{{ template_dir }}/scripts/Installers/Install-Firefox.ps1" "{{ template_dir }}/scripts/Installers/Install-Firefox.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Selenium.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -362,12 +392,6 @@
"{{ template_dir }}/scripts/Installers/Validate-WinAppDriver.ps1" "{{ template_dir }}/scripts/Installers/Validate-WinAppDriver.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-NodeLts.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -450,12 +474,6 @@
"{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1" "{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-7zip.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"environment_vars": [ "environment_vars": [
@@ -562,6 +580,9 @@
}, },
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[
"ROOT_FOLDER={{user `root_folder`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Validate-ToolCache.ps1" "{{ template_dir }}/scripts/Installers/Validate-ToolCache.ps1"
] ]

View File

@@ -1,6 +1,6 @@
# Hosted Windows2016 image # Windows Server 2016
The following software is installed on machines in the Azure Pipelines **Hosted Windows2016** (v20191009.1) pool. The following software is installed on machines with the 20191009.1 update.
Components marked with **\*** have been upgraded since the previous version of the image. Components marked with **\*** have been upgraded since the previous version of the image.
@@ -519,8 +519,6 @@ _Environment:_
* Bower 1.8.8<br/> * Bower 1.8.8<br/>
* Yarn 1.19.1<br/> * Yarn 1.19.1<br/>
> Note: You can install and use another version of Node.js on Microsoft-hosted agent pools using the [Node tool installer](https://docs.microsoft.com/vsts/pipelines/tasks/tool/node-js) task.
## npm ## npm
_Version:_ 6.9.0<br/> _Version:_ 6.9.0<br/>

View File

@@ -16,6 +16,7 @@
"private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}", "private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
"vm_size": "Standard_DS4_v2", "vm_size": "Standard_DS4_v2",
"root_folder": "C:",
"image_folder": "C:\\image", "image_folder": "C:\\image",
"commit_file": "C:\\image\\commit.txt", "commit_file": "C:\\image\\commit.txt",
"metadata_file": "C:\\image\\metadata.txt", "metadata_file": "C:\\image\\metadata.txt",
@@ -24,7 +25,8 @@
"install_user": "installer", "install_user": "installer",
"install_password": null, "install_password": null,
"capture_name_prefix": "packer", "capture_name_prefix": "packer",
"image_version": "dev" "image_version": "dev",
"toolcache_registry": "https://buildcanary.pkgs.visualstudio.com/PipelineCanary/_packaging/hostedtoolcache/npm/registry/"
}, },
"sensitive-variables": ["install_password", "ssh_password", "client_secret"], "sensitive-variables": ["install_password", "ssh_password", "client_secret"],
"builders": [ "builders": [
@@ -238,6 +240,27 @@
}, },
{ {
"type": "powershell", "type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-NodeLts.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-7zip.ps1"
]
},
{
"type": "file",
"source": "{{template_dir}}/toolcache.json",
"destination": "{{user `root_folder`}}/toolcache.json"
},
{
"type": "powershell",
"environment_vars":[
"TOOLCACHE_REGISTRY={{ user `toolcache_registry` }}",
"ROOT_FOLDER={{user `root_folder`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Download-ToolCache.ps1" "{{ template_dir }}/scripts/Installers/Download-ToolCache.ps1"
] ]
@@ -306,6 +329,12 @@
"{{ template_dir }}/scripts/Installers/Install-Firefox.ps1" "{{ template_dir }}/scripts/Installers/Install-Firefox.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Selenium.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -332,12 +361,6 @@
"{{ template_dir }}/scripts/Installers/Validate-WinAppDriver.ps1" "{{ template_dir }}/scripts/Installers/Validate-WinAppDriver.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-NodeLts.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -420,12 +443,6 @@
"{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1" "{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-7zip.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"environment_vars": [ "environment_vars": [
@@ -532,6 +549,9 @@
}, },
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[
"ROOT_FOLDER={{user `root_folder`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Validate-ToolCache.ps1" "{{ template_dir }}/scripts/Installers/Validate-ToolCache.ps1"
] ]

View File

@@ -1,6 +1,6 @@
# Hosted Windows 2019 # Azure Pipelines Hosted Windows 2019 with VS2019 image
The following software is installed on machines in the **Hosted Windows 2019** (v20191009.1) pool. The following software is installed on machines in the Azure Pipelines **Hosted Windows 2019 with VS2019** (v20200102.1) pool.
Components marked with **\*** have been upgraded since the previous version of the image. Components marked with **\*** have been upgraded since the previous version of the image.
@@ -13,33 +13,32 @@ _Environment:_
## Docker ## Docker
_Version:_ 19.03.3<br/> _Version:_ 19.03.5<br/>
_Environment:_ _Environment:_
* PATH: contains location of docker.exe * PATH: contains location of docker.exe
## Docker-compose ## Docker-compose
_Version:_ 1.24.0<br/> _Version:_ 1.25.0<br/>
_Environment:_ _Environment:_
* PATH: contains location of docker-compose.exe * PATH: contains location of docker-compose.exe
## Powershell Core ## Powershell Core
_Version:_ 6.2.3 _Version:_ 6.2.3
<br/>
<br/> <br/>
## Docker images ## Docker images
* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:e0f80fbc8bb2f39bd0eaba78b314444863ca3efec3f0e40a1b63aa501a36ef01) The following container images have been cached:
* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:c7219ea532e525bc34402027f7974a128746ebec79a31462bc8b59a9dfa6b3d8) * mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:51ff8af52fc31c5abc82d707afaef7b9e3820106fcee28301cd0c02ebfb11fc6)
* mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:404e0ee336a063619d1e93a2446061cf19cb3068bacb1775f5613e3b54e527e1) * mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:578d07650a3dfe8db5b988f26aa0c23180a248bcb7f5e1ab1d7ba7713b73ad43)
* mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:da46159cc4409ccdfe8e25d1e2b2e2705c31d956122d39ea89733b19d76340dd) * mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:4fd18320df2be163bd7a526e2b2131f9e89069fcc1a8c17e6c188e0e58e66bbd)
* mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:0711f47c5bbfbe16448287a2f1fdd6cfcfd6674f2044c1fe4e4a20ef79245dfe) * mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:0711f47c5bbfbe16448287a2f1fdd6cfcfd6674f2044c1fe4e4a20ef79245dfe)
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c) * microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
## Visual Studio 2019 Enterprise ## Visual Studio 2019 Enterprise
_Version:_ VisualStudio/16.3.3+29403.142<br/>
_Version:_ VisualStudio/16.4.2+29613.14<br/> _Version:_ VisualStudio/16.4.2+29613.14<br/>
_Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise _Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
@@ -71,28 +70,33 @@ The following workloads and components are installed with Visual Studio 2019:
* Microsoft.VisualStudio.Component.TeamOffice * Microsoft.VisualStudio.Component.TeamOffice
* Microsoft.VisualStudio.Component.TestTools.CodedUITest * Microsoft.VisualStudio.Component.TestTools.CodedUITest
* Microsoft.VisualStudio.Component.TestTools.WebLoadTest * Microsoft.VisualStudio.Component.TestTools.WebLoadTest
* Microsoft.VisualStudio.Component.UWP.VC.ARM64
* Microsoft.VisualStudio.Component.VC.140 * Microsoft.VisualStudio.Component.VC.140
* Microsoft.VisualStudio.Component.VC.ATL.ARM * Microsoft.VisualStudio.Component.VC.ATL.ARM
* Microsoft.VisualStudio.Component.VC.ATLMFC * Microsoft.VisualStudio.Component.VC.ATLMFC
* Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre * Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre
* Microsoft.VisualStudio.Component.VC.CLI.Support * Microsoft.VisualStudio.Component.VC.CLI.Support
* Microsoft.VisualStudio.Component.VC.CMake.Project * Microsoft.VisualStudio.Component.VC.CMake.Project
* Microsoft.VisualStudio.Component.VC.DiagnosticTools
* Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset * Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset
* Microsoft.VisualStudio.Component.VC.MFC.ARM * Microsoft.VisualStudio.Component.VC.MFC.ARM
* Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre * Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre
* Microsoft.VisualStudio.Component.VC.MFC.ARM64 * Microsoft.VisualStudio.Component.VC.MFC.ARM64
* Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre
* Microsoft.VisualStudio.Component.VC.Redist.MSM * Microsoft.VisualStudio.Component.VC.Redist.MSM
* Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre * Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre
* Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre * Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre
* Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre * Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre
* Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest * Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest
* Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest * Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest
* Microsoft.VisualStudio.Component.VC.v141
* Microsoft.VisualStudio.Component.VC.v141.x86.x64 * Microsoft.VisualStudio.Component.VC.v141.x86.x64
* Microsoft.VisualStudio.Component.Windows10SDK.16299 * Microsoft.VisualStudio.Component.Windows10SDK.16299
* Microsoft.VisualStudio.Component.Windows10SDK.17134 * Microsoft.VisualStudio.Component.Windows10SDK.17134
* Microsoft.VisualStudio.Component.Windows10SDK.17763 * Microsoft.VisualStudio.Component.Windows10SDK.17763
* Microsoft.VisualStudio.Component.Windows10SDK.18362 * Microsoft.VisualStudio.Component.Windows10SDK.18362
* Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices * Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices
* Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools
* Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang * Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang
* Microsoft.VisualStudio.ComponentGroup.Web.CloudTools * Microsoft.VisualStudio.ComponentGroup.Web.CloudTools
* Microsoft.VisualStudio.Workload.Azure * Microsoft.VisualStudio.Workload.Azure
@@ -125,12 +129,12 @@ _Version:_ 4.8.03761
_Version:_ 4.8.03761 _Version:_ 4.8.03761
## Windows Driver Kit ## Windows Driver Kit
_Version:_ 10.0.17763.0<br/>
_Version:_ 10.0.18362.0<br/> _Version:_ 10.0.18362.0<br/>
## Azure Service Fabric ## Azure Service Fabric
_SDK Version:_ 3.3.617.9590<br/>
_Runtime Version:_ 6.4.617.9590 _SDK Version:_ 4.0.457.9590<br/>
_Runtime Version:_ 7.0.457.9590 _Runtime Version:_ 7.0.457.9590
## WinAppDriver ## WinAppDriver
@@ -298,33 +302,6 @@ _Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-21
_Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-19 _Location:_ C:\Program Files (x86)\Android\android-sdk\platforms\android-19
## Azure/AzureRM Powershell modules
#### 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
## TLS12 ## TLS12
@@ -332,29 +309,29 @@ _Description:_ .NET has been configured to use TLS 1.2 by default
_Description:_ .NET has been configured to use TLS 1.2 by default _Description:_ .NET has been configured to use TLS 1.2 by default
## Azure CLI ## Azure CLI
_Version:_ 2.0.74
_Version:_ 2.0.78 _Version:_ 2.0.78
_Environment:_ _Environment:_
* PATH: contains location of az.cmd * PATH: contains location of az.cmd
## Azure DevOps Cli extension ## Azure DevOps Cli extension
_Version:_ azure-devops 0.13.0
_Version:_ azure-devops 0.16.0 _Version:_ azure-devops 0.16.0
## Python ## Python
_Version:_ 2.7.16 (x64)<br/>_Version:_ 2.7.16 (x86)<br/>_Version:_ 3.4.4 (x64)<br/>_Version:_ 3.4.4 (x86)<br/>_Version:_ 3.5.4 (x64)<br/>_Version:_ 3.5.4 (x86)<br/>_Version:_ 3.6.8 (x64)<br/>_Version:_ 3.6.8 (x86)<br/>_Version:_ 3.7.4 (x64)<br/>_Version:_ 3.7.4 (x86)<br/><br/>
_Version:_ 2.7.16 (x64)<br/>_Version:_ 2.7.16 (x86)<br/>_Version:_ 3.5.4 (x64)<br/>_Version:_ 3.5.4 (x86)<br/>_Version:_ 3.6.8 (x64)<br/>_Version:_ 3.6.8 (x86)<br/>_Version:_ 3.7.5 (x64)<br/>_Version:_ 3.7.5 (x86)<br/>_Version:_ 3.8.0 (x64)<br/>_Version:_ 3.8.0 (x86)<br/> _Version:_ 2.7.16 (x64)<br/>_Version:_ 2.7.16 (x86)<br/>_Version:_ 3.5.4 (x64)<br/>_Version:_ 3.5.4 (x86)<br/>_Version:_ 3.6.8 (x64)<br/>_Version:_ 3.6.8 (x86)<br/>_Version:_ 3.7.5 (x64)<br/>_Version:_ 3.7.5 (x86)<br/>_Version:_ 3.8.0 (x64)<br/>_Version:_ 3.8.0 (x86)<br/>
## PyPy ## PyPy
_Version:_ 2.7.13 (x86)<br/>_Version:_ 3.5.3 (x86)<br/><br/>
_Version:_ 2.7.13 (x86)<br/>_Version:_ 3.6.9 (x86)<br/> _Version:_ 2.7.13 (x86)<br/>_Version:_ 3.6.9 (x86)<br/>
## Ruby ## Ruby
_Version:_ 2.4.6 (x64)<br/>_Version:_ 2.5.5 (x64)<br/>_Version:_ 2.6.3 (x64)<br/><br/>
_Version:_ 2.4.6 (x64)<br/>_Version:_ 2.5.5 (x64)<br/>_Version:_ 2.6.3 (x64)<br/> _Version:_ 2.4.6 (x64)<br/>_Version:_ 2.5.5 (x64)<br/>_Version:_ 2.6.3 (x64)<br/>
## Python (64 bit) ## Python (64 bit)
#### Python 3.7.4
#### Python 3.7.5 #### Python 3.7.5
_Environment:_ _Environment:_
* PATH: contains location of python.exe * PATH: contains location of python.exe
@@ -364,13 +341,13 @@ _Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
_Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64 _Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
## Git ## Git
_Version:_ 2.23.0<br/>
_Version:_ 2.24.1<br/> _Version:_ 2.24.1<br/>
_Environment:_ _Environment:_
* PATH: contains location of git.exe * PATH: contains location of git.exe
## Git Large File Storage (LFS) ## Git Large File Storage (LFS)
_Version:_ 2.8.0<br/>
_Version:_ 2.9.1<br/> _Version:_ 2.9.1<br/>
_Environment:_ _Environment:_
* PATH: contains location of git-lfs.exe * PATH: contains location of git-lfs.exe
@@ -411,11 +388,11 @@ _Environment:_
## PHP (x64) ## PHP (x64)
#### 7.3.10
#### 7.4.1 #### 7.4.1
* PATH: contains the location of php.exe version 7.3.10 _Environment:_
* PHPROOT: root directory of the PHP 7.3.10 installation * PATH: contains the location of php.exe version 7.4.1
* PHPROOT: root directory of the PHP 7.4.1 installation * PHPROOT: root directory of the PHP 7.4.1 installation
## Ruby (x64) ## Ruby (x64)
@@ -426,7 +403,7 @@ _Environment:_
* PATH: contains the location of ruby.exe version 2.5.5p157 * PATH: contains the location of ruby.exe version 2.5.5p157
## Rust (64-bit) ## Rust (64-bit)
#### 1.38.0
#### 1.40.0 #### 1.40.0
_Location:_ C:\Rust\.cargo\bin _Location:_ C:\Rust\.cargo\bin
_Environment:_ _Environment:_
@@ -437,15 +414,19 @@ _Version:_ 1.8.17<br/>
_Version:_ 1.8.17<br/> _Version:_ 1.8.17<br/>
_Environment:_ _Environment:_
* PATH: contains location of svn.exe * PATH: contains location of svn.exe
## sbt
## Google Chrome ## Google Chrome
77.0.3865.90 _version:_
79.0.3945.88 79.0.3945.88
## Mozilla Firefox ## Mozilla Firefox
69.0.1 _version:_
71.0 71.0
## Selenium Web Drivers ## Selenium Web Drivers
@@ -453,7 +434,7 @@ _version:_
#### Chrome Driver #### Chrome Driver
77.0.3865.40 _version:_
79.0.3945.36 79.0.3945.36
_Environment:_ _Environment:_
@@ -477,20 +458,18 @@ _Environment:_
## Node.js ## Node.js
_Version:_ 12.13.0<br/>
_Version:_ 12.14.0<br/> _Version:_ 12.14.0<br/>
_Architecture:_ x64<br/> _Architecture:_ x64<br/>
_Environment:_ _Environment:_
* PATH: contains location of node.exe<br/> * PATH: contains location of node.exe<br/>
* Gulp CLI version: 2.2.0 Local version: Unknown<br/> * Gulp CLI version: 2.2.0 Local version: Unknown<br/>
* Bower 1.8.8<br/> * Grunt grunt-cli v1.3.2<br/>
* Yarn 1.19.1<br/>
* Yarn 1.21.1<br/> * Yarn 1.21.1<br/>
> Note: You can install and use another version of Node.js on Microsoft-hosted agent pools using the [Node tool installer](https://docs.microsoft.com/vsts/pipelines/tasks/tool/node-js) task.
## npm ## npm
_Version:_ 6.9.0<br/>
_Version:_ 6.13.4<br/> _Version:_ 6.13.4<br/>
_Environment:_ _Environment:_
* PATH: contains location of npm.cmd * PATH: contains location of npm.cmd
@@ -527,13 +506,13 @@ _Environment:_
* M2_HOME: Maven installation root * M2_HOME: Maven installation root
## Gradle ## Gradle
_Version:_ 5.6.2<br/>
_Version:_ 6.0.1<br/> _Version:_ 6.0.1<br/>
_Environment:_ _Environment:_
* PATH: contains location of gradle * PATH: contains location of gradle
## Cmake ## Cmake
_Version:_ 3.15.4<br/>
_Version:_ 3.16.2<br/> _Version:_ 3.16.2<br/>
_Environment:_ _Environment:_
* PATH: contains location of cmake.exe * PATH: contains location of cmake.exe
@@ -549,16 +528,20 @@ _Environment:_
_Environment:_ _Environment:_
* PATH: contains location of dotnet.exe * PATH: contains location of dotnet.exe
_SDK:_
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100
* 3.0.101 C:\Program Files\dotnet\sdk\3.0.101 * 3.0.101 C:\Program Files\dotnet\sdk\3.0.101
* 3.0.100 C:\Program Files\dotnet\sdk\3.0.100 * 3.0.100 C:\Program Files\dotnet\sdk\3.0.100
* 2.2.402 C:\Program Files\dotnet\sdk\2.2.402 * 2.2.402 C:\Program Files\dotnet\sdk\2.2.402
* 2.2.401 C:\Program Files\dotnet\sdk\2.2.401 * 2.2.401 C:\Program Files\dotnet\sdk\2.2.401
* 2.2.301 C:\Program Files\dotnet\sdk\2.2.301 * 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.207 C:\Program Files\dotnet\sdk\2.2.207
* 2.2.206 C:\Program Files\dotnet\sdk\2.2.206 * 2.2.206 C:\Program Files\dotnet\sdk\2.2.206
* 2.2.205 C:\Program Files\dotnet\sdk\2.2.205 * 2.2.205 C:\Program Files\dotnet\sdk\2.2.205
* 2.2.204 C:\Program Files\dotnet\sdk\2.2.204 * 2.2.204 C:\Program Files\dotnet\sdk\2.2.204
* 2.2.203 C:\Program Files\dotnet\sdk\2.2.203 * 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.110 C:\Program Files\dotnet\sdk\2.2.110
* 2.2.109 C:\Program Files\dotnet\sdk\2.2.109 * 2.2.109 C:\Program Files\dotnet\sdk\2.2.109
* 2.2.108 C:\Program Files\dotnet\sdk\2.2.108 * 2.2.108 C:\Program Files\dotnet\sdk\2.2.108
@@ -573,11 +556,13 @@ _SDK:_
* 2.1.802 C:\Program Files\dotnet\sdk\2.1.802 * 2.1.802 C:\Program Files\dotnet\sdk\2.1.802
* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801 * 2.1.801 C:\Program Files\dotnet\sdk\2.1.801
* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701 * 2.1.701 C:\Program Files\dotnet\sdk\2.1.701
* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700
* 2.1.607 C:\Program Files\dotnet\sdk\2.1.607 * 2.1.607 C:\Program Files\dotnet\sdk\2.1.607
* 2.1.606 C:\Program Files\dotnet\sdk\2.1.606 * 2.1.606 C:\Program Files\dotnet\sdk\2.1.606
* 2.1.605 C:\Program Files\dotnet\sdk\2.1.605 * 2.1.605 C:\Program Files\dotnet\sdk\2.1.605
* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604 * 2.1.604 C:\Program Files\dotnet\sdk\2.1.604
* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603 * 2.1.603 C:\Program Files\dotnet\sdk\2.1.603
* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602
* 2.1.510 C:\Program Files\dotnet\sdk\2.1.510 * 2.1.510 C:\Program Files\dotnet\sdk\2.1.510
* 2.1.509 C:\Program Files\dotnet\sdk\2.1.509 * 2.1.509 C:\Program Files\dotnet\sdk\2.1.509
* 2.1.508 C:\Program Files\dotnet\sdk\2.1.508 * 2.1.508 C:\Program Files\dotnet\sdk\2.1.508
@@ -595,7 +580,10 @@ _SDK:_
* 2.1.301 C:\Program Files\dotnet\sdk\2.1.301 * 2.1.301 C:\Program Files\dotnet\sdk\2.1.301
* 2.1.300 C:\Program Files\dotnet\sdk\2.1.300 * 2.1.300 C:\Program Files\dotnet\sdk\2.1.300
_Runtime:_
* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0
* 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1 * 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1
* 3.0.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.0
* 2.2.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.8 * 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.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.6 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.6
@@ -612,6 +600,7 @@ _Runtime:_
* 2.1.5 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.5 * 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.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4
* 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3 * 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3
* 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2
* 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14 * 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14
* 2.1.13 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13 * 2.1.13 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13
* 2.1.12 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.12 * 2.1.12 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.12
@@ -625,6 +614,14 @@ _Version:_ 5.7.21.0<br/>
_Version:_ 5.7.21.0<br/> _Version:_ 5.7.21.0<br/>
_Environment:_ _Environment:_
* PATH: contains location of mysql.exe * PATH: contains location of mysql.exe
## SQLPS
_Version:_ 1.0
## SQLServer PS
_Version:_ 21.1.18218
## MinGW ## MinGW
@@ -633,7 +630,7 @@ _Environment:_
* PATH: contains location of the MinGW 'bin' directory * PATH: contains location of the MinGW 'bin' directory
## TypeScript ## TypeScript
_Version:_ Version 3.6.3<br/>
_Version:_ Version 3.7.4<br/> _Version:_ Version 3.7.4<br/>
## Miniconda ## Miniconda
@@ -643,7 +640,7 @@ _Environment:_
* CONDA: contains location of the root of the Miniconda installation * CONDA: contains location of the root of the Miniconda installation
## Azure CosmosDb Emulator ## Azure CosmosDb Emulator
_Version:_ 2.5.7.0<br/>
_Version:_ 2.7.2.0<br/> _Version:_ 2.7.2.0<br/>
_Location:_ C:\Program Files\Azure Cosmos DB Emulator\ _Location:_ C:\Program Files\Azure Cosmos DB Emulator\
@@ -660,7 +657,7 @@ _Version:_ jq-1.6<br/>
_Version:_ jq-1.6<br/> _Version:_ jq-1.6<br/>
## Inno Setup ## Inno Setup
_Version:_ 6.0.2<br/>
_Version:_ 6.0.3<br/> _Version:_ 6.0.3<br/>
## Perl ## Perl
@@ -668,15 +665,15 @@ _Version:_ v5.26.2<br/>
_Version:_ v5.26.2<br/> _Version:_ v5.26.2<br/>
## GitVersion ## GitVersion
_Version:_ 5.0.1.0<br/>
_Version:_ 5.1.3.0<br/> _Version:_ 5.1.3.0<br/>
## OpenSSL ## OpenSSL
_Version:_ 1.1.1c at C:\Program Files\Git\usr\bin\openssl.exe<br/>_Version:_ 1.1.1c at C:\Program Files\Git\mingw64\bin\openssl.exe<br/>_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe<br/>_Version:_ 1.1.1b at C:\Strawberry\c\bin\openssl.exe<br/>_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe<br/>
_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe<br/>_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe<br/>_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe<br/>_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe<br/> _Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe<br/>_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe<br/>_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe<br/>_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe<br/>
## Cloud Foundry CLI ## Cloud Foundry CLI
_Version:_ 6.46.1<br/>
_Version:_ 6.48.0<br/> _Version:_ 6.48.0<br/>
## Vcpkg ## Vcpkg
@@ -684,3 +681,15 @@ _Version:_ 2019.09.12-nohash<br/>
_Version:_ 2019.09.12-nohash<br/> _Version:_ 2019.09.12-nohash<br/>
_Environment:_ _Environment:_
* PATH: contains location of the vcpkg directory * PATH: contains location of the vcpkg directory
* VCPKG_INSTALLATION_ROOT: root directory of the vcpkg installation
## Kubectl
_Version:_ Client Version: v1.17.0<br/>
_Environment:_
* PATH: contains location of kubectl.exe
## Kind
_Version:_ v0.5.1<br/>
_Environment:_

View File

@@ -16,4 +16,6 @@ Export-ModuleMember -Function @(
'Install-EXE' 'Install-EXE'
'Add-ContentToMarkdown' 'Add-ContentToMarkdown'
'Add-SoftwareDetailsToMarkdown' 'Add-SoftwareDetailsToMarkdown'
'Stop-SvcWithErrHandling'
'Set-SvcWithErrHandling'
) )

View File

@@ -81,3 +81,82 @@ function Install-EXE
return -1 return -1
} }
} }
function Stop-SvcWithErrHandling
<#
.DESCRIPTION
Function for stopping the Windows Service with error handling
.AUTHOR
Andrey Mishechkin v-andmis@microsoft.com
.PARAMETER -ServiceName
The name of stopping service
.PARAMETER -StopOnError
Switch for stopping the script and exit from PowerShell if one service is absent
#>
{
param (
[Parameter(Mandatory, ValueFromPipeLine = $true)] [string] $ServiceName,
[Parameter()] [switch] $StopOnError
)
Process {
$Service = Get-Service $ServiceName -ErrorAction SilentlyContinue
if (-not $Service) {
Write-Warning "[!] Service [$ServiceName] is not found";
if ($StopOnError) {
exit 1;
}
}
else {
Write-Host "Try to stop service [$ServiceName]";
try {
Stop-Service -Name $ServiceName -Force;
$Service.WaitForStatus("Stopped", "00:01:00");
Write-Host "Service [$ServiceName] has been stopped successfuly";
}
catch {
Write-Error "[!] Failed to stop service [$ServiceName] with error:"
$_ | Out-String | Write-Error;
}
}
}
}
function Set-SvcWithErrHandling
<#
.DESCRIPTION
Function for setting the Windows Service parameter with error handling
.AUTHOR
Andrey Mishechkin v-andmis@microsoft.com
.PARAMETER -ServiceName
The name of stopping service
.PARAMETER -Arguments
Hashtable for service arguments
#>
{
param (
[Parameter(Mandatory, ValueFromPipeLine = $true)] [string] $ServiceName,
[Parameter(Mandatory)] [hashtable] $Arguments
)
Process {
$Service = Get-Service $ServiceName -ErrorAction SilentlyContinue
if (-not $Service) {
Write-Warning "[!] Service [$ServiceName] is not found";
}
try {
Set-Service $ServiceName @Arguments;
}
catch {
Write-Error "[!] Failed to set service [$ServiceName] arguments with error:"
$_ | Out-String | Write-Error;
}
}
}

View File

@@ -1,51 +1,48 @@
################################################################################ ################################################################################
## File: Download-ToolCache.ps1 ## File: Download-ToolCache.ps1
## Team: CI-Build
## Desc: Download tool cache ## Desc: Download tool cache
################################################################################ ################################################################################
Function InstallTool Function Install-NpmPackage {
{ [CmdletBinding()]
Param param(
( [Parameter(Mandatory=$true)]
[System.Object]$ExecutablePath [System.String]
$Name,
[Parameter(Mandatory=$true)]
[System.String]
$NpmRegistry
) )
Write-Host $ExecutablePath.DirectoryName Write-Host "Installing npm '$Name' package from '$NpmRegistry'"
Set-Location -Path $ExecutablePath.DirectoryName
Get-Location | Write-Host npm install $Name --registry=$NpmRegistry
if (Test-Path 'tool.zip')
{
Expand-Archive 'tool.zip' -DestinationPath '.'
}
cmd.exe /c 'install_to_tools_cache.bat'
} }
$SourceUrl = "https://vstsagenttools.blob.core.windows.net/tools" # HostedToolCache Path
$Dest = "C:/" $Dest = "C:/"
$Path = "hostedtoolcache/windows" $Path = "hostedtoolcache/windows"
$env:Path = "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy;" + $env:Path
Write-Host "Started AzCopy from $SourceUrl to $Dest"
AzCopy /Source:$SourceUrl /Dest:$Dest /S /V /Pattern:$Path
$ToolsDirectory = $Dest + $Path $ToolsDirectory = $Dest + $Path
$current = Get-Location # Define AGENT_TOOLSDIRECTORY environment variable
Set-Location -Path $ToolsDirectory $env:AGENT_TOOLSDIRECTORY = $ToolsDirectory
Get-ChildItem -Recurse -Depth 4 -Filter install_to_tools_cache.bat | ForEach-Object {
#In order to work correctly Python 3.4 x86 must be installed after x64, this is achieved by current toolcache catalog structure
InstallTool($_)
}
Set-Location -Path $current
setx AGENT_TOOLSDIRECTORY $ToolsDirectory /M setx AGENT_TOOLSDIRECTORY $ToolsDirectory /M
# Install HostedToolCache tools via NPM
$ToolVersionsFileContent = Get-Content -Path "$env:ROOT_FOLDER/toolcache.json" -Raw
$ToolVersions = ConvertFrom-Json -InputObject $ToolVersionsFileContent
$ToolVersions.PSObject.Properties | ForEach-Object {
$PackageName = $_.Name
$PackageVersions = $_.Value
$NpmPackages = $PackageVersions | ForEach-Object { "$PackageName@$_" }
foreach($NpmPackage in $NpmPackages) {
Install-NpmPackage -Name $NpmPackage -NpmRegistry $env:TOOLCACHE_REGISTRY
}
}
#junction point from the previous Python2 directory to the toolcache Python2 #junction point from the previous Python2 directory to the toolcache Python2
Write-Host "Create symlink to Python2"
$python2Dir = (Get-Item -Path ($ToolsDirectory + '/Python/2.7*/x64')).FullName $python2Dir = (Get-Item -Path ($ToolsDirectory + '/Python/2.7*/x64')).FullName
cmd.exe /c mklink /d "C:\Python27amd64" "$python2Dir" cmd.exe /c mklink /d "C:\Python27amd64" "$python2Dir"

View File

@@ -1,28 +1,16 @@
################################################################################ ################################################################################
## File: Install-Boost.ps1 ## File: Set-BoostRoot.ps1
## Team: CI-Build
## Desc: Install boost using tool cache ## Desc: Install boost using tool cache
################################################################################ ################################################################################
$ToolCache = 'C:\hostedtoolcache\windows\boost'
$BoostDirectory = Join-Path -Path $env:ProgramFiles -ChildPath "Boost" $BoostDirectory = Join-Path -Path $env:ProgramFiles -ChildPath "Boost"
$BoostVersionsToInstall = $env:BOOST_VERSIONS.split(',') $BoostVersions = $env:BOOST_VERSIONS.split(',')
$BoostDefault = $env:BOOST_DEFAULT $BoostDefault = $env:BOOST_DEFAULT
foreach($BoostVersion in $BoostVersionsToInstall) foreach($BoostVersion in $BoostVersions)
{ {
$ZipName = Join-Path -Path $ToolCache -ChildPath "boost_${BoostVersion}_msvc-14.1.zip"
if (-Not (Test-Path $ZipName))
{
Write-Host "$ZipName not found"
exit 1
}
Write-Host "Expanding $ZipName"
$BoostInstallationDir = Join-Path -Path $BoostDirectory -ChildPath $BoostVersion $BoostInstallationDir = Join-Path -Path $BoostDirectory -ChildPath $BoostVersion
# Expand-Archive slower for 70% than 7z
& "$env:ProgramFiles\7-Zip\7z.exe" x $ZipName -o"$BoostDirectory" -y
$EnvBoostPath = "BOOST_ROOT_{0}" -f ($BoostVersion.Replace('.', '_')) $EnvBoostPath = "BOOST_ROOT_{0}" -f ($BoostVersion.Replace('.', '_'))
setx $EnvBoostPath $BoostInstallationDir /M | Out-Null setx $EnvBoostPath $BoostInstallationDir /M | Out-Null
@@ -36,10 +24,3 @@ foreach($BoostVersion in $BoostVersionsToInstall)
setx BOOST_ROOT $BoostInstallationDir /M | Out-Null setx BOOST_ROOT $BoostInstallationDir /M | Out-Null
} }
} }
# Removing boost cache folder
Write-Host "Removing boost cache folder"
if (Test-Path $ToolCache)
{
Remove-Item -Path $ToolCache -Force -Recurse
}

View File

@@ -3,24 +3,40 @@
## Desc: Install Google Chrome ## Desc: Install Google Chrome
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force;
$temp_install_dir = 'C:\Windows\Installer' $ChromeInstallerFile = "chrome_installer.exe";
New-Item -Path $temp_install_dir -ItemType Directory -Force $ChromeInstallerUri = "https://dl.google.com/chrome/install/375.126/${ChromeInstallerFile}";
Install-Exe -Url $ChromeInstallerUri -Name $ChromeInstallerFile -ArgumentList ("/silent", "/install")
Install-MSI -MsiUrl "https://seleniumwebdrivers.blob.core.windows.net/knownchromeversion/googlechromestandaloneenterprise64.msi" -MsiName "googlechromestandaloneenterprise64.msi" Write-Host "Adding the firewall rule for Google update blocking";
New-NetFirewallRule -DisplayName "BlockGoogleUpdate" -Direction Outbound -Action Block -Program "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe";
New-NetFirewallRule -DisplayName "BlockGoogleUpdate" -Direction Outbound -Action Block -Program "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" $GoogleSvcs = ('gupdate','gupdatem');
$GoogleSvcs | Stop-SvcWithErrHandling -StopOnError;
$GoogleSvcs | Set-SvcWithErrHandling -Arguments @{StartupType = "Disabled"};
$regGoogleUpdatePath = "HKLM:\SOFTWARE\Policies\Google\Update";
$regGoogleUpdateChrome = "HKLM:\SOFTWARE\Policies\Google\Chrome";
($regGoogleUpdatePath, $regGoogleUpdateChrome) | ForEach-Object {
New-Item -Path $_ -Force;
}
$regGoogleParameters = @(
@{ Name = "AutoUpdateCheckPeriodMinutes"; Value = 00000000},
@{ Name = "UpdateDefault"; Value = 00000000 },
@{ Name = "DisableAutoUpdateChecksCheckboxValue"; Value = 00000001 },
@{ Name = "Update{8A69D345-D564-463C-AFF1-A69D9E530F96}"; Value = 00000000 },
@{ Path = $regGoogleUpdateChrome; Name = "DefaultBrowserSettingEnabled"; Value = 00000000 }
)
$regGoogleParameters | ForEach-Object {
$Arguments = $_;
if (-not ($Arguments.Path)) {
$Arguments.Add("Path", $regGoogleUpdatePath);
}
$Arguments.Add("Force", $true);
New-ItemProperty @Arguments;
}
Stop-Service -Name gupdate -Force
Set-Service -Name gupdate -StartupType "Disabled"
Stop-Service -Name gupdatem -Force
Set-Service -Name gupdatem -StartupType "Disabled"
New-Item -Path "HKLM:\SOFTWARE\Policies\Google\Update" -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Google\Update" -Name "AutoUpdateCheckPeriodMinutes" -Value 00000000 -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Google\Update" -Name "UpdateDefault" -Value 00000000 -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Google\Update" -Name "DisableAutoUpdateChecksCheckboxValue" -Value 00000001 -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Google\Update" -Name "Update{8A69D345-D564-463C-AFF1-A69D9E530F96}" -Value 00000000 -Force
New-Item -Path "HKLM:\SOFTWARE\Policies\Google\Chrome" -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Google\Chrome" -Name "DefaultBrowserSettingEnabled" -Value 00000000 -Force

View File

@@ -54,7 +54,8 @@ function InstallAllValidSdks()
# Consider all channels except preview/eol channels. # Consider all channels except preview/eol channels.
# Sort the channels in ascending order # Sort the channels in ascending order
$dotnetChannels = $dotnetChannels.'releases-index' | Where-Object { !$_."support-phase".Equals('preview') -and !$_."support-phase".Equals('eol') } | Sort-Object { [Version] $_."channel-version" } # 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" }
# Download installation script. # Download installation script.
Invoke-WebRequest -Uri 'https://dot.net/v1/dotnet-install.ps1' -UseBasicParsing -OutFile 'dotnet-install.ps1' Invoke-WebRequest -Uri 'https://dot.net/v1/dotnet-install.ps1' -UseBasicParsing -OutFile 'dotnet-install.ps1'

View File

@@ -12,7 +12,4 @@ choco install git -y --package-parameters="/GitAndUnixToolsOnPath /WindowsTermin
# Disable GCM machine-wide # Disable GCM machine-wide
[Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine) [Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine)
Add-MachinePathItem "C:\Program Files\Git\mingw64\bin"
Add-MachinePathItem "C:\Program Files\Git\usr\bin"
Add-MachinePathItem "C:\Program Files\Git\bin"
exit 0 exit 0

View File

@@ -0,0 +1,35 @@
################################################################################
## File: Install-Selenium.ps1
## Desc: Install Selenium Server standalone
################################################################################
# Acquire latest Selenium release number from GitHub API
$latestReleaseUrl = "https://api.github.com/repos/SeleniumHQ/selenium/releases/latest"
try {
$latestReleaseInfo = Invoke-RestMethod -Uri $latestReleaseUrl
} catch {
Write-Error $_
exit 1
}
Write-Debug $latestReleaseInfo
$seleniumVersionString = $latestReleaseInfo.name.Split(" ")[1]
Write-Debug $seleniumVersionString
$seleniumVersion = [version]::Parse($seleniumVersionString)
# Download Selenium
Write-Host "Downloading selenium-server-standalone v$seleniumVersion..."
$seleniumReleaseUrl = "https://selenium-release.storage.googleapis.com/$($seleniumVersion.ToString(2))/selenium-server-standalone-$($seleniumVersion.ToString(3)).jar"
New-Item -ItemType directory -Path "C:\selenium\"
$seleniumBinPath = "C:\selenium\selenium-server-standalone.jar"
try {
Invoke-WebRequest -UseBasicParsing -Uri $seleniumReleaseUrl -OutFile $seleniumBinPath
} catch {
Write-Error $_
exit 1
}
Write-Host "Add selenium jar to the environment variables..."
setx "SELENIUM_JAR_PATH" "$($seleniumBinPath)" /M
exit 0

View File

@@ -2,16 +2,58 @@
## File: Install-SeleniumWebDrivers.ps1 ## File: Install-SeleniumWebDrivers.ps1
## Desc: Install Selenium Web Drivers ## Desc: Install Selenium Web Drivers
################################################################################ ################################################################################
$DestinationPath = "$($env:SystemDrive)\";
$DriversZipFile = "SeleniumWebDrivers.zip"
Write-Host "Destination path: [$DestinationPath]";
Write-Host "Selenium drivers download and install...";
try {
Invoke-WebRequest -UseBasicParsing -Uri "https://seleniumwebdrivers.blob.core.windows.net/seleniumwebdrivers/${DriversZipFile}" -OutFile $DriversZipFile;
}
catch {
Write-Error "[!] Failed to download $DriverZipFile";
exit 1;
}
Invoke-WebRequest -UseBasicParsing -Uri "https://seleniumwebdrivers.blob.core.windows.net/seleniumwebdrivers/SeleniumWebDrivers.zip" -OutFile SeleniumWebDrivers.zip Expand-Archive -Path $DriversZipFile -DestinationPath $DestinationPath -Force;
Remove-Item $DriversZipFile;
Expand-Archive -Path SeleniumWebDrivers.zip -DestinationPath "C:\" -Force $ChromeDriverPath = "$DestinationPath\SeleniumWebDrivers\ChromeDriver";
Write-Host "Chrome driver path: [$ChromeDriverPath]";
Remove-Item -Path "$ChromeDriverPath\*" -Force;
Remove-Item SeleniumWebDrivers.zip $ChromePath = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe').'(default)';
[version]$ChromeVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($ChromePath).ProductVersion;
Write-Host "Chrome version: [$ChromeVersion]";
setx IEWebDriver "C:\SeleniumWebDrivers\IEDriver" /M $ChromeDriverVersionUri = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$($ChromeVersion.Major).$($ChromeVersion.Minor).$($ChromeVersion.Build)";
setx GeckoWebDriver "C:\SeleniumWebDrivers\GeckoDriver" /M Write-Host "Chrome driver version Uri [$ChromeDriverVersionUri]";
setx ChromeWebDriver "C:\SeleniumWebDrivers\ChromeDriver" /M Write-Host "Getting the Chrome driver version...";
$ChromeDriverVersion = Invoke-WebRequest -Uri $ChromeDriverVersionUri;
Write-Host "Current Chrome driver version: [$ChromeDriverVersion]";
exit 0 $ChromeDriverZipDownloadUri = "https://chromedriver.storage.googleapis.com/$($ChromeDriverVersion.ToString())/chromedriver_win32.zip";
Write-Host "Chrome driver zip file download Uri: [$ChromeDriverZipDownloadUri]";
$DestFile= "$ChromeDriverPath\chromedriver_win32.zip";
$ChromeDriverVersion.Content | Out-File -FilePath "$ChromeDriverPath\versioninfo.txt" -Force;
Write-Host "Chrome driver download....";
Invoke-WebRequest -Uri $ChromeDriverZipDownloadUri -OutFile $DestFile;
Write-Host "Chrome driver install....";
Expand-Archive -Path "$ChromeDriverPath\chromedriver_win32.zip" -DestinationPath $ChromeDriverPath -Force;
Remove-Item -Path "$ChromeDriverPath\chromedriver_win32.zip" -Force;
Write-Host "Setting the environment variables";
setx IEWebDriver "C:\SeleniumWebDrivers\IEDriver" /M;
setx GeckoWebDriver "C:\SeleniumWebDrivers\GeckoDriver" /M;
setx ChromeWebDriver "C:\SeleniumWebDrivers\ChromeDriver" /M;
$regEnvKey = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\';
$PathValue = Get-ItemPropertyValue -Path $regEnvKey -Name 'Path';
$PathValue += ";C:\SeleniumWebDrivers\ChromeDriver\";
Set-ItemProperty -Path $regEnvKey -Name 'Path' -Value $PathValue;
exit 0;

View File

@@ -6,5 +6,5 @@
Write-Host "Run windows updates" Write-Host "Run windows updates"
Install-Module -Name PSWindowsUpdate -Force -AllowClobber Install-Module -Name PSWindowsUpdate -Force -AllowClobber
Get-WUInstall -WindowsUpdate -AcceptAll -UpdateType Software -IgnoreReboot Get-WUInstall -WindowsUpdate -AcceptAll -Install -UpdateType Software -IgnoreReboot
Get-WUInstall -MicrosoftUpdate -AcceptAll -IgnoreUserInput -IgnoreReboot Get-WUInstall -MicrosoftUpdate -AcceptAll -Install -IgnoreUserInput -IgnoreReboot

View File

@@ -12,6 +12,21 @@ function GetChildFolders {
return Get-ChildItem -Path $Path -Directory -Name return Get-ChildItem -Path $Path -Directory -Name
} }
function Get-ToolcachePackages {
$toolcachePath = Join-Path $env:ROOT_FOLDER "toolcache.json"
return Get-Content -Raw $toolcachePath | ConvertFrom-Json
}
$packages = (Get-ToolcachePackages).PSObject.Properties | ForEach-Object {
$packageNameParts = $_.Name.Split("-")
$toolName = $packageNameParts[1]
return [PSCustomObject] @{
ToolName = $packageNameParts[1]
Versions = $_.Value
Arch = $packageNameParts[3]
}
}
function ToolcacheTest { function ToolcacheTest {
param ( param (
[Parameter(Mandatory = $True)] [Parameter(Mandatory = $True)]
@@ -22,36 +37,53 @@ function ToolcacheTest {
if (Test-Path "$env:AGENT_TOOLSDIRECTORY\$SoftwareName") if (Test-Path "$env:AGENT_TOOLSDIRECTORY\$SoftwareName")
{ {
$description = "" $description = ""
[array]$versions = GetChildFolders -Path "$env:AGENT_TOOLSDIRECTORY\$SoftwareName" [array]$installedVersions = GetChildFolders -Path "$env:AGENT_TOOLSDIRECTORY\$SoftwareName"
if ($versions.count -gt 0){ if ($installedVersions.count -gt 0){
foreach ($version in $versions) $softwarePackages = $packages | Where-Object { $_.ToolName -eq $SoftwareName }
foreach($softwarePackage in $softwarePackages)
{ {
$architectures = GetChildFolders -Path "$env:AGENT_TOOLSDIRECTORY\$SoftwareName\$version" foreach ($version in $softwarePackage.Versions)
Write-Host "$SoftwareName version - $version : $([system.String]::Join(",", $architectures))"
foreach ($arch in $architectures)
{ {
$path = "$env:AGENT_TOOLSDIRECTORY\$SoftwareName\$version\$arch" $foundVersion = $installedVersions | where { $_.StartsWith($version) }
foreach ($test in $ExecTests)
{ if ($foundVersion -ne $null){
if (Test-Path "$path\$test")
{ $architectures = GetChildFolders -Path "$env:AGENT_TOOLSDIRECTORY\$SoftwareName\$foundVersion"
Write-Host "$SoftwareName($test) $version($arch) is successfully installed:"
Write-Host (& "$path\$test" --version) $softwareArch = $softwarePackage.Arch
if ($architectures -Contains $softwareArch) {
$path = "$env:AGENT_TOOLSDIRECTORY\$SoftwareName\$foundVersion\$softwareArch"
foreach ($test in $ExecTests)
{
if (Test-Path "$path\$test")
{
Write-Host "$SoftwareName($test) $foundVersion($softwareArch) is successfully installed:"
Write-Host (& "$path\$test" --version)
}
else
{
Write-Host "$SoftwareName($test) $foundVersion ($softwareArch) is not installed"
exit 1
}
}
$description += "_Version:_ $foundVersion ($softwareArch)<br/>"
} }
else else
{ {
Write-Host "$SoftwareName($test) $version ($arch) is not installed" Write-Host "$env:AGENT_TOOLSDIRECTORY\$SoftwareName\$foundVersion does not include required architecture"
exit 1 exit 1
} }
} }
else
$description += "_Version:_ $version ($arch)<br/>" {
Write-Host "$env:AGENT_TOOLSDIRECTORY\$SoftwareName\$version.* was not found"
exit 1
}
} }
}
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $description Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $description
}
} }
else else
{ {

View File

@@ -119,9 +119,9 @@ wmic logicaldisk get size,freespace,caption
# Adding description of the software to Markdown # Adding description of the software to Markdown
$Content = @" $Content = @"
# Azure Pipelines Hosted VS2017 image # Windows Server 2016
The following software is installed on machines in the Azure Pipelines **Hosted VS2017** (v$env:ImageVersion) pool. The following software is installed on machines with the $env:ImageVersion update.
Components marked with **\*** have been upgraded since the previous version of the image. Components marked with **\*** have been upgraded since the previous version of the image.

View File

@@ -118,9 +118,9 @@ wmic logicaldisk get size,freespace,caption
# Adding description of the software to Markdown # Adding description of the software to Markdown
$Content = @" $Content = @"
# Azure Pipelines Hosted Windows 2019 with VS2019 image # Windows Server 2019
The following software is installed on machines in the Azure Pipelines **Hosted Windows 2019 with VS2019** (v$env:ImageVersion) pool. The following software is installed on machines with the $env:ImageVersion update.
Components marked with **\*** have been upgraded since the previous version of the image. Components marked with **\*** have been upgraded since the previous version of the image.

17
images/win/toolcache.json Normal file
View File

@@ -0,0 +1,17 @@
{
"toolcache-python-windows-x64": [
"2.7", "3.5", "3.6", "3.7", "3.8"
],
"toolcache-python-windows-x86": [
"2.7", "3.5", "3.6", "3.7", "3.8"
],
"toolcache-ruby-windows-x64": [
"2.4", "2.5", "2.6", "2.7"
],
"toolcache-pypy-windows-x86": [
"2", "3"
],
"toolcache-boost-windows-x64": [
"1.69"
]
}

View File

@@ -25,7 +25,7 @@ rules:
- valueFor: '**Area for Triage**' - valueFor: '**Area for Triage**'
contains: 'Apple' contains: 'Apple'
addLabels: ['Area: Apple'] addLabels: ['Area: Apple']
assign: ['AlenaSviridenko'] assign: ['sergey-akhalkov']
# Area: Artifacts # Area: Artifacts
- valueFor: '**Area for Triage**' - valueFor: '**Area for Triage**'
@@ -115,13 +115,13 @@ rules:
- valueFor: '**Area for Triage**' - valueFor: '**Area for Triage**'
contains: 'Ruby' contains: 'Ruby'
addLabels: ['Area: Ruby'] addLabels: ['Area: Ruby']
assign: ['madhurig'] assign: ['zachariahcox']
# Area: Rust # Area: Rust
- valueFor: '**Area for Triage**' - valueFor: '**Area for Triage**'
contains: 'Rust' contains: 'Rust'
addLabels: ['Area: Rust'] addLabels: ['Area: Rust']
assign: ['AlenaSviridenko'] assign: ['sergey-akhalkov']
# Area: Scala # Area: Scala
- valueFor: '**Area for Triage**' - valueFor: '**Area for Triage**'
@@ -157,7 +157,7 @@ rules:
- valueFor: '**Area for Triage**' - valueFor: '**Area for Triage**'
contains: 'Xamarin' contains: 'Xamarin'
addLabels: ['Area: Xamarin'] addLabels: ['Area: Xamarin']
assign: ['AlenaSviridenko'] assign: ['sergey-akhalkov']
# Types # Types
- valueFor: '**Question, Bug, or Feature?**' - valueFor: '**Question, Bug, or Feature?**'