Merge branch 'master' into add-parallel-on-linux

This commit is contained in:
RammusXu
2020-02-03 09:43:20 +08:00
committed by GitHub
62 changed files with 2336 additions and 1755 deletions

View File

@@ -1,11 +1,11 @@
# Hosted Ubuntu 1604 Image (Ubuntu 16.04.6 LTS)
The following software is installed on machines in the Hosted Ubuntu 1604 (20191202.1) pool
# Ubuntu 16.04.6 LTS
The following software is installed on machines with the 20200119.1 update.
***
- 7-Zip 9.20
- Ansible (ansible 2.9.1)
- Ansible (ansible 2.9.3)
- AzCopy (azcopy 7.3.0-netcore)
- Azure CLI (azure-cli 2.0.77)
- Azure CLI (azure-devops 0.16.0)
- Azure CLI (azure-cli 2.0.80)
- Azure CLI (azure-devops 0.17.0)
- Basic CLI:
- curl
- dnsutils
@@ -29,10 +29,10 @@ 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.17.5 Python/2.7.12 Linux/4.15.0-1066-azure botocore/1.14.5)
- build-essential
- Clang 6.0 (clang version 6.0.1-svn334776-1~exp1~20190309042730.123 (branches/release_60))
- CMake (cmake version 3.12.4)
- Clang 6.0 (clang version 6.0.1-svn334776-1\~exp1\~20190309042730.123 (branches/release_60))
- CMake (cmake version 3.16.2)
- Docker Compose (docker-compose version 1.22.0, build f46880fe)
- Docker (Docker version 3.0.8, build 2355349d)
- Docker (Docker version 3.0.8, build 2355349d)
@@ -58,16 +58,19 @@ The following software is installed on machines in the Hosted Ubuntu 1604 (20191
- 2.2.102
- 2.2.101
- 2.2.100
- 2.1.803
- 2.1.802
- 2.1.801
- 2.1.701
- 2.1.700
- 2.1.608
- 2.1.607
- 2.1.606
- 2.1.605
- 2.1.604
- 2.1.603
- 2.1.602
- 2.1.511
- 2.1.510
- 2.1.509
- 2.1.508
@@ -84,26 +87,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.2)
- Firefox (Mozilla Firefox 72.0.1)
- GNU C++ 7.4.0
- Git (2.24.0)
- Git Large File Storage (LFS) (2.9.1)
- Git (2.25.0)
- 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.130 )
- Chromedriver (ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614})); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Google Cloud SDK (276.0.0)
- Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0
compiled using version 2.2.0.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.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,62 +118,63 @@ 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.40.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 (7) (openjdk version "1.7.0_252")
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242")
- Azul Zulu OpenJDK (11) (openjdk version "11.0.6" 2020-01-14 LTS)
- 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))
- Gradle 6.1
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (v0.5.1)
- kubectl (Client Version: v1.16.3)
- kubectl (Client Version: v1.17.1)
- 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_242 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.8.0.96 (tarball Wed Jan 15 10:09:29 UTC 2020))
- 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.1)
- 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.5)
- 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 ))
- Composer (Composer version 1.9.1 2019-11-01 17:20:17)
- PHPUnit (PHPUnit 7.5.17 by Sebastian Bergmann and contributors.)
- 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.2 2020-01-14 16:30:31)
- PHPUnit (PHPUnit 7.5.20 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.2)
- sbt (1.3.7)
- Sphinx Open Source Search Server
- Subversion (svn, version 1.9.3 (r1718519))
- Terraform (Terraform v0.12.16)
- Vcpkg 2019.09.12-unknownhash
- Zeit Now CLI (16.6.0)
- Terraform (Terraform v0.12.19)
- Vcpkg 2020.01.17-unknownhash
- Zeit Now CLI (16.7.3)
- Google Repository 58
- Google Play services 49
- Google APIs 24
@@ -224,21 +230,23 @@ the
- Android SDK Build-Tools 20.0.0
- Android SDK Build-Tools 19.1.0
- Android SDK Build-Tools 17.0.0
- Android NDK 20.1.5948944
- Android NDK 21.0.6113669
- Android ConstraintLayout 1.0.2
- Android ConstraintLayout 1.0.1
- Az Module (1.0.0)
- 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-alpine (Digest: sha256:b56110ff6dfb7ecd11f0b90d2f64fee4d8d68f6b58857ba11109bb51df4e7b6a)
- node:12-alpine (Digest: sha256:1dd4309479f031295f3dfb61cf3afc3efeb1a991b012e105d1a95efc038b72f6)
- node:10 (Digest: sha256:bdc6d102e926b70690ce0cc0b077d450b1b231524a69b874912a9b337c719e6e)
- node:12 (Digest: sha256:0a68eb463c4ab4db0833c786cc484ea2edfd50e73e606380e30b806aeb9eee5a)
- buildpack-deps:stretch (Digest: sha256:d095aae2ecefdc786823e02b2cb0abc62b432202a49abd716c12cce37aee702b)
- debian:9 (Digest: sha256:85c4668abb4f26e913152ba8fd04fca5f1c2345d3e2653855e6bb0acf461ed50)
- debian:8 (Digest: sha256:8fc7649643ca1acd3940706613ea7b170762cfce6e7955a6afb387aa40e9f9ea)
- alpine:3.10 (Digest: sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a)
- jekyll/builder:latest (Digest: sha256:875de39aa06300c749e26a79f39cdfa31404e4f2dbd2953cd4ebb0442bffda9e)
- alpine:3.9 (Digest: sha256:7746df395af22f04212cd25a92c1d6dbc5a06a0ca9579a229ef43008d4d1302a)
@@ -246,19 +254,21 @@ the
- alpine:3.8 (Digest: sha256:04696b491e0cc3c58a75bace8941c14c924b9f313b03ce5029ebbc040ed9dcd9)
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
- Python:
- Python 2.7.16
- Python 3.5.7
- Python 3.6.9
- Python 3.7.5
- Python 3.8.0
- Python 2.7.17
- Python 3.5.9
- Python 3.6.10
- Python 3.7.6
- Python 3.8.1
- Ruby:
- Ruby 2.4.6
- Ruby 2.5.5
- Ruby 2.6.3
- Ruby 2.4.9
- Ruby 2.5.7
- Ruby 2.6.5
- Ruby 2.7.0
- PyPy:
- PyPy 2.7.13
- PyPy 3.6.9
- Python (Python 2.7.12)
- pip (pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7))
- Python3 (Python 3.5.2)
- pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5))
- 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,11 +1,11 @@
# Hosted Ubuntu 1804 Image (Ubuntu 18.04.3 LTS)
The following software is installed on machines in the Hosted Ubuntu 1804 (v20191202.1) pool
# Ubuntu 18.04.3 LTS
The following software is installed on machines with the 20200119.1 update.
***
- 7-Zip 16.02
- Ansible (ansible 2.9.1)
- Ansible (ansible 2.9.3)
- AzCopy (azcopy 7.3.0-netcore)
- Azure CLI (azure-cli 2.0.77)
- Azure CLI (azure-devops 0.16.0)
- Azure CLI (azure-cli 2.0.80)
- Azure CLI (azure-devops 0.17.0)
- Basic CLI:
- curl
- dnsutils
@@ -29,14 +29,15 @@ 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.17.5 Python/2.7.17 Linux/5.0.0-1027-azure botocore/1.14.5)
- build-essential
- Clang 6.0 (clang version 6.0.1-svn334776-1~exp1~20190309042703.125 (branches/release_60))
- CMake (cmake version 3.12.4)
- Clang 6.0 (clang version 6.0.1-svn334776-1\~exp1\~20190309042703.125 (branches/release_60))
- CMake (cmake version 3.16.2)
- Docker Compose (docker-compose version 1.22.0, build f46880fe)
- Docker (Docker version 3.0.8, build 2355349d)
- Docker (Docker version 3.0.8, build 2355349d)
- .NET Core SDK:
- 3.0.102
- 3.0.101
- 3.0.100
- 2.2.402
@@ -60,16 +61,19 @@ The following software is installed on machines in the Hosted Ubuntu 1804 (v2019
- 2.2.102
- 2.2.101
- 2.2.100
- 2.1.803
- 2.1.802
- 2.1.801
- 2.1.701
- 2.1.700
- 2.1.608
- 2.1.607
- 2.1.606
- 2.1.605
- 2.1.604
- 2.1.603
- 2.1.602
- 2.1.511
- 2.1.510
- 2.1.509
- 2.1.508
@@ -86,24 +90,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.2)
- Firefox (Mozilla Firefox 72.0.1)
- GNU C++ 7.4.0
- Git (2.24.0)
- Git Large File Storage (LFS) (2.9.1)
- Git (2.25.0)
- 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.130 )
- Chromedriver (ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614})); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Google Cloud SDK (276.0.0)
- Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0
compiled using version 2.2.0.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.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 +119,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.40.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 (7) (openjdk version "1.7.0_252")
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242")
- Azul Zulu OpenJDK (11) (openjdk version "11.0.6" 2020-01-14 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.1
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (v0.5.1)
- kubectl (Client Version: v1.17.1)
- helm (Client: v2.16.1+gbbdfe5e)
- Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 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.8.0.96 (tarball Wed Jan 15 10:08:18 UTC 2020))
- 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.1)
- 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.5)
- 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 ))
- Composer (Composer version 1.9.1 2019-11-01 17:20:17)
- PHPUnit (PHPUnit 7.5.17 by Sebastian Bergmann and contributors.)
- 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.2 2020-01-14 16:30:31)
- PHPUnit (PHPUnit 7.5.20 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.2)
- sbt (1.3.7)
- Sphinx Open Source Search Server
- Subversion (svn, version 1.9.7 (r1800392))
- Terraform (Terraform v0.12.16)
- Vcpkg 2019.09.12-unknownhash
- Zeit Now CLI (16.6.0)
- Terraform (Terraform v0.12.19)
- Vcpkg 2020.01.17-unknownhash
- Zeit Now CLI (16.7.3)
- Google Repository 58
- Google Play services 49
- Google APIs 24
@@ -217,19 +225,21 @@ the
- Android SDK Build-Tools 20.0.0
- Android SDK Build-Tools 19.1.0
- Android SDK Build-Tools 17.0.0
- Android NDK 20.1.5948944
- Android NDK 21.0.6113669
- Az Module (1.0.0)
- 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-alpine (Digest: sha256:b56110ff6dfb7ecd11f0b90d2f64fee4d8d68f6b58857ba11109bb51df4e7b6a)
- node:12-alpine (Digest: sha256:1dd4309479f031295f3dfb61cf3afc3efeb1a991b012e105d1a95efc038b72f6)
- node:10 (Digest: sha256:bdc6d102e926b70690ce0cc0b077d450b1b231524a69b874912a9b337c719e6e)
- node:12 (Digest: sha256:0a68eb463c4ab4db0833c786cc484ea2edfd50e73e606380e30b806aeb9eee5a)
- buildpack-deps:stretch (Digest: sha256:d095aae2ecefdc786823e02b2cb0abc62b432202a49abd716c12cce37aee702b)
- debian:9 (Digest: sha256:85c4668abb4f26e913152ba8fd04fca5f1c2345d3e2653855e6bb0acf461ed50)
- debian:8 (Digest: sha256:8fc7649643ca1acd3940706613ea7b170762cfce6e7955a6afb387aa40e9f9ea)
- alpine:3.10 (Digest: sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a)
- jekyll/builder:latest (Digest: sha256:875de39aa06300c749e26a79f39cdfa31404e4f2dbd2953cd4ebb0442bffda9e)
- alpine:3.9 (Digest: sha256:7746df395af22f04212cd25a92c1d6dbc5a06a0ca9579a229ef43008d4d1302a)
@@ -237,19 +247,21 @@ the
- alpine:3.8 (Digest: sha256:04696b491e0cc3c58a75bace8941c14c924b9f313b03ce5029ebbc040ed9dcd9)
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
- Python:
- Python 2.7.16
- Python 3.5.7
- Python 3.6.9
- Python 3.7.5
- Python 3.8.0
- Python 2.7.17
- Python 3.5.9
- Python 3.6.10
- Python 3.7.6
- Python 3.8.1
- Ruby:
- Ruby 2.4.6
- Ruby 2.5.5
- Ruby 2.6.3
- Python (Python 2.7.15+)
- Ruby 2.4.9
- Ruby 2.5.7
- Ruby 2.6.5
- Ruby 2.7.0
- PyPy:
- PyPy 2.7.13
- PyPy 3.6.9
- Python (Python 2.7.17)
- pip (pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7))
- Python3 (Python 3.6.9)
- pip3 (pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6))
- 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

@@ -32,6 +32,7 @@ apt-fast install -y --no-install-recommends \
telnet \
time \
unzip \
upx \
wget \
zip \
tzdata
@@ -55,7 +56,7 @@ apt-fast install -y --no-install-recommends \
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
for cmd in curl file ftp jq netcat ssh parallel rsync shellcheck sudo telnet time unzip wget zip; do
for cmd in curl file ftp jq netcat ssh parallel rsync shellcheck sudo telnet time unzip upx wget zip; do
if ! command -v $cmd; then
echo "$cmd was not installed"
exit 1
@@ -85,6 +86,7 @@ DocumentInstalledItemIndent "sudo"
DocumentInstalledItemIndent "telnet"
DocumentInstalledItemIndent "time"
DocumentInstalledItemIndent "unzip"
DocumentInstalledItemIndent "upx"
DocumentInstalledItemIndent "wget"
DocumentInstalledItemIndent "zip"
DocumentInstalledItemIndent "tzdata"

View File

@@ -7,7 +7,7 @@
source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh
LATEST_DOTNET_PACKAGE=dotnet-sdk-3.0
LATEST_DOTNET_PACKAGES=("dotnet-sdk-3.0" "dotnet-sdk-3.1")
LSB_RELEASE=$(lsb_release -rs)
@@ -30,21 +30,23 @@ mksamples()
set -e
echo "Determing if .NET Core ($LATEST_DOTNET_PACKAGE) is installed"
if ! IsInstalled $LATEST_DOTNET_PACKAGE; then
echo "Could not find .NET Core ($LATEST_DOTNET_PACKAGE), installing..."
wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
apt-get update
apt-get install apt-transport-https
apt-get update
apt-get install $LATEST_DOTNET_PACKAGE
else
echo ".NET Core ($LATEST_DOTNET_PACKAGE) is already installed"
fi
for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do
echo "Determing if .NET Core ($latest_package) is installed"
if ! IsInstalled $latest_package; then
echo "Could not find .NET Core ($latest_package), installing..."
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list'
apt-get install apt-transport-https
apt-get update
apt-get install $latest_package -y
else
echo ".NET Core ($latest_package) is already installed"
fi
done
# Get list of all released SDKs from channels which are not end-of-life or preview
release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json")
release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json")
sdks=()
for release_url in ${release_urls[@]}; do
echo "${release_url}"

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/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;
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 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
@@ -64,6 +61,9 @@ apt-get install -y --no-install-recommends time
echo "Install unzip"
apt-get install -y --no-install-recommends unzip
echo "Install upx"
apt-get install -y --no-install-recommends upx
echo "Install wget"
apt-get install -y --no-install-recommends wget
@@ -153,6 +153,7 @@ DocumentInstalledItemIndent "sudo"
DocumentInstalledItemIndent "telnet"
DocumentInstalledItemIndent "time"
DocumentInstalledItemIndent "unzip"
DocumentInstalledItemIndent "upx"
DocumentInstalledItemIndent "wget"
DocumentInstalledItemIndent "zip"
DocumentInstalledItemIndent "tzdata"

View File

@@ -7,7 +7,7 @@
source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh
LATEST_DOTNET_PACKAGE=dotnet-sdk-3.0
LATEST_DOTNET_PACKAGES=("dotnet-sdk-3.0" "dotnet-sdk-3.1")
LSB_RELEASE=$(lsb_release -rs)
@@ -30,21 +30,23 @@ mksamples()
set -e
echo "Determing if .NET Core ($LATEST_DOTNET_PACKAGE) is installed"
if ! IsInstalled $LATEST_DOTNET_PACKAGE; then
echo "Could not find .NET Core ($LATEST_DOTNET_PACKAGE), installing..."
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list'
apt-get install apt-transport-https
apt-get update
apt-get install $LATEST_DOTNET_PACKAGE -y
else
echo ".NET Core ($LATEST_DOTNET_PACKAGE) is already installed"
fi
for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do
echo "Determing if .NET Core ($latest_package) is installed"
if ! IsInstalled $latest_package; then
echo "Could not find .NET Core ($latest_package), installing..."
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list'
apt-get install apt-transport-https
apt-get update
apt-get install $latest_package -y
else
echo ".NET Core ($latest_package) is already installed"
fi
done
# Get list of all released SDKs from channels which are not end-of-life or preview
release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json")
release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json")
sdks=()
for release_url in ${release_urls[@]}; do
echo "${release_url}"

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

@@ -1,7 +1,7 @@
#!/bin/bash
################################################################################
## File: google-chrome.sh
## Desc: Installs google-chrome
## Desc: Installs google-chrome, chromedriver and selenium server
################################################################################
# Source the helpers for use with the script
@@ -25,3 +25,55 @@ fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Google Chrome ($(google-chrome --version))"
CHROME_VERSION=$(google-chrome --product-version)
CHROME_VERSION=${CHROME_VERSION%.*}
# Determine latest release of chromedriver
# Compatibility of Google Chrome and Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/downloads/version-selection
LATEST_CHROMEDRIVER_VERSION=$(curl "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_VERSION")
# Download and unpack latest release of chromedriver
echo "Downloading chromedriver v$LATEST_CHROMEDRIVER_VERSION..."
wget "https://chromedriver.storage.googleapis.com/$LATEST_CHROMEDRIVER_VERSION/chromedriver_linux64.zip"
unzip chromedriver_linux64.zip
rm chromedriver_linux64.zip
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"
if ! command -v chromedriver; then
echo "chromedriver was not installed"
exit 1
fi
echo "Lastly, documenting what we added to the metadata file"
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
SELENIUM_VERSION=$(curl $SELENIUM_LATEST_VERSION_URL | jq '.name' | tr -d '"' | cut -d ' ' -f 2)
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"
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"
if [ ! -f "$SELENIUM_JAR_NAME" ]; then
echo "Selenium server was not installed"
exit 1
fi
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 (available via SELENIUM_JAR_PATH environment variable)"

View File

@@ -0,0 +1,68 @@
#!/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
TOOLCACHE_REGISTRY="npm.pkg.github.com"
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
mkdir $AGENT_TOOLSDIRECTORY
echo "AGENT_TOOLSDIRECTORY=$AGENT_TOOLSDIRECTORY" | tee -a /etc/environment
chmod -R 777 $AGENT_TOOLSDIRECTORY
echo "Configure npm to use github package registry for '@actions' scope"
npm config set @actions:registry "https://${TOOLCACHE_REGISTRY}"
# Execute in /imagegeneration/installers folder to avoid node_modules creation in $HOME
pushd $INSTALLER_SCRIPT_FOLDER
# GitHub Package Registry doesn't support downloading public packages without auth so we have to authorize
echo "Configure auth for github package registry"
echo "//${TOOLCACHE_REGISTRY}/:_authToken=${GITHUB_FEED_TOKEN}" > ".npmrc"
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}
exit_code=$?
if [ $exit_code -ne 0 ]; then
echo "${PACKAGE_NAME}@${PACKAGE_VERSION} installation failure; Error:${exit_code}"
exit 1
fi
done;
done;
popd
DocumentInstalledItem "Python:"
pythons=$(ls $AGENT_TOOLSDIRECTORY/Python)
for python in $pythons; do
DocumentInstalledItemIndent "Python $python"
done;
DocumentInstalledItem "Ruby:"
rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby)
for ruby in $rubys; do
DocumentInstalledItemIndent "Ruby $ruby"
done;
DocumentInstalledItem "PyPy:"
pypys=$(ls $AGENT_TOOLSDIRECTORY/PyPy)
for pypy in $pypys; do
DocumentInstalledItemIndent "PyPy $pypy"
done;

View File

@@ -9,7 +9,7 @@ source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/apt.sh
# Install KIND
KIND_VERSION="v0.5.1"
KIND_VERSION="v0.7.0"
curl -L -o /usr/local/bin/kind "https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-linux-amd64"
chmod +x /usr/local/bin/kind

View File

@@ -12,6 +12,9 @@ export ACCEPT_EULA=Y
# Install MySQL Client
apt-get install mysql-client -y
# InstallMySQL database development files
apt-get install libmysqlclient-dev -y
# Install MySQL Server
MYSQL_ROOT_PASSWORD=root
echo "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD" | debconf-set-selections

View File

@@ -7,5 +7,11 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
sudo apt-get install ruby-full
sudo gem update --system
# Install Ruby requirements
apt-get install -y libz-dev openssl libssl-dev
DocumentInstalledItem "ruby ($(ruby --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "gem ($(gem -v 2>&1 | tail -n 1))"

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 @@
{
"@actions/toolcache-python-ubuntu-1604-x64": [
"2.7", "3.5", "3.6", "3.7", "3.8"
],
"@actions/toolcache-ruby-ubuntu-1604-x64": [
"2.4", "2.5", "2.6", "2.7"
],
"@actions/toolcache-pypy-ubuntu-1604-x64": [
"2", "3"
],
"@actions/toolcache-boost-ubuntu-1604-x64": [
"1.69", "1.72"
]
}

View File

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

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",
"github_feed_token": null
},
"sensitive-variables": ["client_secret", "github_feed_token"],
"builders": [
{
"type": "azure-arm",
@@ -75,9 +77,10 @@
"systemctl disable apt-daily.timer",
"systemctl disable apt-daily-upgrade.timer",
"systemctl disable apt-daily-upgrade.service",
"echo '* soft nofile 50000 \n* hard nofile 50000' >> /etc/security/limits.conf",
"echo '* soft nofile 65536 \n* hard nofile 65536' >> /etc/security/limits.conf",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive"
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive",
"echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
@@ -167,19 +170,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`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}"
],
"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",
"github_feed_token": null
},
"sensitive-variables": ["client_secret", "github_feed_token"],
"builders": [
{
"type": "azure-arm",
@@ -78,9 +80,10 @@
"systemctl disable apt-daily.timer",
"systemctl disable apt-daily-upgrade.timer",
"systemctl disable apt-daily-upgrade.service",
"echo '* soft nofile 50000 \n* hard nofile 50000' >> /etc/security/limits.conf",
"echo '* soft nofile 65536 \n* hard nofile 65536' >> /etc/security/limits.conf",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive"
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive",
"echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
@@ -170,19 +173,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`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},