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

@@ -1,10 +1,10 @@
# 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
- Ansible (ansible 2.9.1)
- Ansible (ansible 2.9.2)
- 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)
- Basic CLI:
- curl
@@ -29,7 +29,7 @@ The following software is installed on machines in the Hosted Ubuntu 1604 (20191
- wget
- zip
- 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
- Clang 6.0 (clang version 6.0.1-svn334776-1~exp1~20190309042730.123 (branches/release_60))
- 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.301
- 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.5.6)
- Firefox (Mozilla Firefox 70.0.1)
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.1)
- Firefox (Mozilla Firefox 71.0)
- GNU C++ 7.4.0
- Git (2.24.0)
- Git Large File Storage (LFS) (2.9.1)
- Git (2.24.1)
- Git Large File Storage (LFS) (2.9.2)
- Go 1.9 (go version go1.9.7 linux/amd64)
- Go 1.10 (go version go1.10.8 linux/amd64)
- Go 1.11 (go version go1.11.12 linux/amd64)
- Go 1.12 (go version go1.12.7 linux/amd64)
- Go 1.13 (go version go1.13 linux/amd64)
- Google Chrome (Google Chrome 78.0.3904.108 )
- Google Cloud SDK (272.0.0)
- Google Chrome (Google Chrome 79.0.3945.88 )
- 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
compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0
compiled using version 2.2.0.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.0.0
compiled using version 3.0.0.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.1.0
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.2.2)
- 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.8.1)
- 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)
- HHVM (HipHop VM 4.33.0 (rel))
- Heroku (heroku/7.35.1 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.38.0 (rel))
- ImageMagick
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_242")
- 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)
- Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018)
- 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)
- kubectl (Client Version: v1.16.3)
- kubectl (Client Version: v1.17.0)
- 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.4.1))
- 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 Server (user:root password:root)
- MS SQL Server Client Tools
- Node.js (v12.13.1)
- Node.js (v12.14.0)
- Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.0
Local version: Unknown)
- n (6.1.3)
- Parcel (1.12.4)
- TypeScript (Version 3.7.2)
- Webpack (4.41.2)
- TypeScript (Version 3.7.4)
- Webpack (4.41.5)
- Webpack CLI (3.3.10)
- Yarn (1.19.2)
- Yarn (1.21.1)
- PhantomJS (2.1.1)
- PHP 5.6 (PHP 5.6.40-14+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.1 (PHP 7.1.33-2+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:41:45) ( 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.3 (PHP 7.3.12-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:36:56) ( NTS ))
- PHP 5.6 (PHP 5.6.40-15+ubuntu16.04.1+deb.sury.org+1 (cli) )
- 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-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:52: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.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)
- PHPUnit (PHPUnit 7.5.17 by Sebastian Bergmann and contributors.)
- PHPUnit (PHPUnit 7.5.18 by Sebastian Bergmann and contributors.)
- Pollinate
- Powershell (PowerShell 6.2.3)
- rustup (1.20.2)
- rust (1.39.0)
- cargo (1.39.0)
- rustfmt (1.4.8-stable)
- rustup (1.21.1)
- rust (1.40.0)
- cargo (1.40.0)
- rustfmt (1.4.9-stable)
- clippy (0.0.212)
- rustdoc (1.39.0)
- rustdoc (1.40.0)
- bindgen (execute
the
0.52.0)
- cbindgen (0.10.0)
- sbt (1.3.4)
- cbindgen (0.12.1)
- sbt (1.3.6)
- Sphinx Open Source Search Server
- Subversion (svn, version 1.9.3 (r1718519))
- Terraform (Terraform v0.12.16)
- Terraform (Terraform v0.12.18)
- Vcpkg 2019.09.12-unknownhash
- Zeit Now CLI (16.6.0)
- Zeit Now CLI (16.7.0)
- Google Repository 58
- Google Play services 49
- Google APIs 24
@@ -231,14 +234,16 @@ the
- Az Module (1.6.0)
- Az Module (2.3.2)
- Az Module (2.6.0)
- Az Module (2.8.0)
- Az Module (3.1.0)
- Cached container images
- node:10 (Digest: sha256:be69034700545030c110f67ae22e0584ddd59eeb2af81e4bd7f16f3ba5fa93a6)
- node:12 (Digest: sha256:88ee7d2a5e18d359b4b5750ecb50a9b238ab467397c306aeb9955f4f11be44ce)
- buildpack-deps:stretch (Digest: sha256:5b4b7ee0ae71108d352f8f484b3bc113780068dad21bef7458ac3dd5211cc044)
- debian:9 (Digest: sha256:99768ac883dc7d4f9c8f55dade9abb39afc1a3d737a8457dc5735ef868288cef)
- debian:8 (Digest: sha256:9eaf4a70aeddf435bebc619383f3e3a178b8ad8c1f3948319cdf74b65918d156)
- node:12-alpine (Digest: sha256:b556d8910b851c27c5c8922eeb55d94fe6dbaf878d24bf0c9a8c32ba21cd091a)
- node:10-alpine (Digest: sha256:da8161962573bd6ab16b54a9bfa81a263458e5199074d0678d0556376b22bd22)
- node:10 (Digest: sha256:49f77fd32e8e796f85581a8d2321c2a9f1b084e1f8b9baa02cb28bce49563ad5)
- node:12 (Digest: sha256:f490ebb9c7d5dcf1a8a1e4d3b3a65e133be44d26abb66815ca1612ef69410c51)
- buildpack-deps:stretch (Digest: sha256:d095aae2ecefdc786823e02b2cb0abc62b432202a49abd716c12cce37aee702b)
- debian:9 (Digest: sha256:85c4668abb4f26e913152ba8fd04fca5f1c2345d3e2653855e6bb0acf461ed50)
- debian:8 (Digest: sha256:8fc7649643ca1acd3940706613ea7b170762cfce6e7955a6afb387aa40e9f9ea)
- node:10-alpine (Digest: sha256:8d664f80270a63e0734d38420e97e9f9764a0e9184383640973bded21bfa1382)
- node:12-alpine (Digest: sha256:452cad05f6fd2a6fe03da8b9230c9c4ad356d205e00c1a9c29020c14ac5679f8)
- alpine:3.10 (Digest: sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a)
- jekyll/builder:latest (Digest: sha256:875de39aa06300c749e26a79f39cdfa31404e4f2dbd2953cd4ebb0442bffda9e)
- alpine:3.9 (Digest: sha256:7746df395af22f04212cd25a92c1d6dbc5a06a0ca9579a229ef43008d4d1302a)
@@ -251,6 +256,8 @@ the
- Python 3.6.9
- Python 3.7.5
- Python 3.8.0
- PyPy 2.7.13
- PyPy 3.6.9
- Ruby:
- Ruby 2.4.6
- Ruby 2.5.5
@@ -259,6 +266,4 @@ the
- pip (pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7))
- Python3 (Python 3.5.2)
- pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5))
- 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

View File

@@ -1,10 +1,10 @@
# 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
- Ansible (ansible 2.9.1)
- Ansible (ansible 2.9.2)
- 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)
- Basic CLI:
- curl
@@ -29,7 +29,7 @@ The following software is installed on machines in the Hosted Ubuntu 1804 (v2019
- wget
- zip
- 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
- Clang 6.0 (clang version 6.0.1-svn334776-1~exp1~20190309042703.125 (branches/release_60))
- 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.301
- 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.5.6)
- Firefox (Mozilla Firefox 70.0.1)
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.1)
- Firefox (Mozilla Firefox 71.0)
- GNU C++ 7.4.0
- Git (2.24.0)
- Git Large File Storage (LFS) (2.9.1)
- Git (2.24.1)
- Git Large File Storage (LFS) (2.9.2)
- Go 1.11 (go version go1.11.12 linux/amd64)
- Go 1.12 (go version go1.12.7 linux/amd64)
- Go 1.13 (go version go1.13 linux/amd64)
- Google Chrome (Google Chrome 78.0.3904.108 )
- Google Cloud SDK (272.0.0)
- Google Chrome (Google Chrome 79.0.3945.88 )
- 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
compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0
compiled using version 2.2.0.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.0.0
compiled using version 3.0.0.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.1.0
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.2.2)
- 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.8.1)
- 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)
- HHVM (HipHop VM 4.33.0 (rel))
- Heroku (heroku/7.35.1 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.38.0 (rel))
- ImageMagick
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_242")
- 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 (12) (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019)
- Gradle 5.6.2
- Maven (Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T19:00:29Z))
- kubectl (Client Version: v1.16.0)
- helm (Client: v2.14.3+g0e7f3b6)
- Leiningen (Leiningen 2.9.1 on Java 1.8.0_222 OpenJDK 64-Bit Server VM)
- Gradle 6.0.1
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (v0.5.1)
- kubectl (Client Version: v1.17.0)
- 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))
- 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 Server (user:root password:root)
- MS SQL Server Client Tools
- Node.js (v12.13.1)
- Node.js (v12.14.0)
- Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.0
Local version: Unknown)
- n (6.1.3)
- Parcel (1.12.4)
- TypeScript (Version 3.7.2)
- Webpack (4.41.2)
- TypeScript (Version 3.7.4)
- Webpack (4.41.5)
- Webpack CLI (3.3.10)
- Yarn (1.19.2)
- Yarn (1.21.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.2 (PHP 7.2.25-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Nov 28 2019 07:42:26) ( 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.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.26-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:58:00) ( 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)
- PHPUnit (PHPUnit 7.5.17 by Sebastian Bergmann and contributors.)
- PHPUnit (PHPUnit 7.5.18 by Sebastian Bergmann and contributors.)
- Pollinate
- Powershell (PowerShell 6.2.3)
- rustup (1.20.2)
- rust (1.39.0)
- cargo (1.39.0)
- rustfmt (1.4.8-stable)
- rustup (1.21.1)
- rust (1.40.0)
- cargo (1.40.0)
- rustfmt (1.4.9-stable)
- clippy (0.0.212)
- rustdoc (1.39.0)
- rustdoc (1.40.0)
- bindgen (execute
the
0.52.0)
- cbindgen (0.10.0)
- sbt (1.3.4)
- cbindgen (0.12.1)
- sbt (1.3.6)
- Sphinx Open Source Search Server
- Subversion (svn, version 1.9.7 (r1800392))
- Terraform (Terraform v0.12.16)
- Terraform (Terraform v0.12.18)
- Vcpkg 2019.09.12-unknownhash
- Zeit Now CLI (16.6.0)
- Zeit Now CLI (16.7.0)
- Google Repository 58
- Google Play services 49
- Google APIs 24
@@ -222,14 +226,16 @@ the
- Az Module (1.6.0)
- Az Module (2.3.2)
- Az Module (2.6.0)
- Az Module (2.8.0)
- Az Module (3.1.0)
- Cached container images
- node:10 (Digest: sha256:be69034700545030c110f67ae22e0584ddd59eeb2af81e4bd7f16f3ba5fa93a6)
- node:12 (Digest: sha256:88ee7d2a5e18d359b4b5750ecb50a9b238ab467397c306aeb9955f4f11be44ce)
- buildpack-deps:stretch (Digest: sha256:5b4b7ee0ae71108d352f8f484b3bc113780068dad21bef7458ac3dd5211cc044)
- debian:9 (Digest: sha256:99768ac883dc7d4f9c8f55dade9abb39afc1a3d737a8457dc5735ef868288cef)
- debian:8 (Digest: sha256:9eaf4a70aeddf435bebc619383f3e3a178b8ad8c1f3948319cdf74b65918d156)
- node:12-alpine (Digest: sha256:b556d8910b851c27c5c8922eeb55d94fe6dbaf878d24bf0c9a8c32ba21cd091a)
- node:10-alpine (Digest: sha256:da8161962573bd6ab16b54a9bfa81a263458e5199074d0678d0556376b22bd22)
- node:10 (Digest: sha256:49f77fd32e8e796f85581a8d2321c2a9f1b084e1f8b9baa02cb28bce49563ad5)
- node:12 (Digest: sha256:f490ebb9c7d5dcf1a8a1e4d3b3a65e133be44d26abb66815ca1612ef69410c51)
- buildpack-deps:stretch (Digest: sha256:d095aae2ecefdc786823e02b2cb0abc62b432202a49abd716c12cce37aee702b)
- debian:9 (Digest: sha256:85c4668abb4f26e913152ba8fd04fca5f1c2345d3e2653855e6bb0acf461ed50)
- debian:8 (Digest: sha256:8fc7649643ca1acd3940706613ea7b170762cfce6e7955a6afb387aa40e9f9ea)
- node:10-alpine (Digest: sha256:8d664f80270a63e0734d38420e97e9f9764a0e9184383640973bded21bfa1382)
- node:12-alpine (Digest: sha256:452cad05f6fd2a6fe03da8b9230c9c4ad356d205e00c1a9c29020c14ac5679f8)
- alpine:3.10 (Digest: sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a)
- jekyll/builder:latest (Digest: sha256:875de39aa06300c749e26a79f39cdfa31404e4f2dbd2953cd4ebb0442bffda9e)
- alpine:3.9 (Digest: sha256:7746df395af22f04212cd25a92c1d6dbc5a06a0ca9579a229ef43008d4d1302a)
@@ -242,14 +248,14 @@ the
- Python 3.6.9
- Python 3.7.5
- Python 3.8.0
- PyPy 2.7.13
- PyPy 3.6.9
- Ruby:
- Ruby 2.4.6
- Ruby 2.5.5
- 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))
- Python3 (Python 3.6.9)
- 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

View File

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

View File

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

View File

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

View File

@@ -10,9 +10,6 @@ source $HELPER_SCRIPTS/apt.sh
set -e
echo "Install curl"
apt-get install -y --no-install-recommends curl
echo "Install 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
AddTitle "Hosted Ubuntu 1804 Image ($(lsb_release -ds))"
WriteItem "The following software is installed on machines in the Hosted Ubuntu 1804 (v$IMAGE_VERSION) pool"
AddTitle "$(lsb_release -ds)"
WriteItem "The following software is installed on machines with the $IMAGE_VERSION update."
WriteItem "***"

View File

@@ -7,7 +7,6 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
BOOST_ZIP_PATH=/opt/hostedtoolcache/Boost
BOOST_LIB=/usr/local/share/boost
# Install Boost
@@ -15,9 +14,6 @@ for BOOST_VERSION in ${BOOST_VERSIONS//,/ }
do
BOOST_SYMLINK_VER=`echo "${BOOST_VERSION//[.]/_}"`
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
if [[ $BOOST_VERSION == $BOOST_DEFAULT ]]; then
@@ -26,6 +22,3 @@ do
DocumentInstalledItem "Boost C++ Libraries $BOOST_VERSION"
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
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
echo "Example variable already set to $EXAMPLE_VAR"
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 \
&& ./cmakeinstall.sh --prefix=/usr/local --exclude-subdir \
&& rm cmakeinstall.sh

View File

@@ -43,6 +43,7 @@ CHROMEDRIVER_BIN="/usr/bin/chromedriver"
mv "chromedriver" $CHROMEDRIVER_BIN
chown root:root $CHROMEDRIVER_BIN
chmod +x $CHROMEDRIVER_BIN
echo "CHROMEWEBDRIVER=$CHROMEDRIVER_BIN" | tee -a /etc/environment
# Run tests to determine that the chromedriver installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
@@ -52,7 +53,7 @@ if ! command -v chromedriver; then
fi
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
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
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
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
fi
mv "selenium-server-standalone-$SELENIUM_VERSION.jar" "/usr/share/java/selenium-server-standalone.jar"
echo "CLASSPATH=/usr/share/java/selenium-server-standalone.jar:.:$CLASSPATH" | tee -a /etc/environment
SELENIUM_JAR_PATH="/usr/share/java/selenium-server-standalone.jar"
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"
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
set -e
# Download hosted tool cache
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
mkdir $AGENT_TOOLSDIRECTORY
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
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;
chmod -R 777 $AGENT_TOOLSDIRECTORY
echo "Installing npm-toolcache..."
TOOLSET_PATH="$INSTALLER_SCRIPT_FOLDER/toolcache.json"
PACKAGE_LIST=($(jq -r 'keys | .[]' $TOOLSET_PATH))
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;
DocumentInstalledItem "Python:"
@@ -33,22 +35,14 @@ 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;
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).
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
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
# Python test
if [ -d "$AGENT_TOOLSDIRECTORY/Python" ]; then
cd $AGENT_TOOLSDIRECTORY/Python
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
Test_Hostedtoolcache_Tool "Python" "x64/python -c 'import sys;print(sys.version)'| head -1 | egrep -o '[0-9]+\.[0-9]+'"
Test_Hostedtoolcache_Tool "Ruby" "x64/bin/ruby -e 'puts RUBY_VERSION' | egrep -o '[0-9]+\.[0-9]+'"
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"

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",
"vm_size": "Standard_DS2_v2",
"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": [
{
"type": "azure-arm",
@@ -167,19 +169,26 @@
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "file",
"source": "{{template_dir}}/toolcache-1604.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/1604/android.sh",
"{{template_dir}}/scripts/installers/1604/azpowershell.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/test-toolcache.sh"
],
"environment_vars": [
"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 }}'"
},

View File

@@ -20,8 +20,10 @@
"helper_script_folder": "/imagegeneration/helpers",
"vm_size": "Standard_DS2_v2",
"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": [
{
"type": "azure-arm",
@@ -170,19 +172,26 @@
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "file",
"source": "{{template_dir}}/toolcache-1804.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/1804/android.sh",
"{{template_dir}}/scripts/installers/1804/azpowershell.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/test-toolcache.sh"
],
"environment_vars": [
"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 }}'"
},