diff --git a/images.CI/azure-pipelines/ubuntu2004.yml b/images.CI/azure-pipelines/ubuntu2004.yml
new file mode 100644
index 00000000..87e06ad7
--- /dev/null
+++ b/images.CI/azure-pipelines/ubuntu2004.yml
@@ -0,0 +1,20 @@
+schedules:
+- cron: "0 0 * * *"
+ displayName: Daily
+ branches:
+ include:
+ - master
+ always: true
+
+trigger: none
+pr:
+ autoCancel: true
+ branches:
+ include:
+ - master
+
+jobs:
+- template: image-generation.yml
+ parameters:
+ image_type: ubuntu2004
+ image_readme_name: Ubuntu2004-README.md
\ No newline at end of file
diff --git a/images/linux/Ubuntu1604-README.md b/images/linux/Ubuntu1604-README.md
index 8dfad0a3..bf0f828b 100644
--- a/images/linux/Ubuntu1604-README.md
+++ b/images/linux/Ubuntu1604-README.md
@@ -1,12 +1,13 @@
# Ubuntu 16.04.6 LTS
-The following software is installed on machines with the 20200512.2 update.
+The following software is installed on machines with the 20200517.1 update.
***
- Homebrew on Linux (Homebrew 2.2.16
-Homebrew/linuxbrew-core (git revision a610a8; last commit 2020-05-12))
+Homebrew/linuxbrew-core (git revision a74a6a; last commit 2020-05-16))
- 7-Zip 9.20
-- Ansible (ansible 2.9.8)
-- AzCopy (azcopy 7.3.0-netcore)
+- Ansible (ansible 2.9.9)
+- AzCopy7 (available by azcopy alias) 7.3.0
+- AzCopy10 (available by azcopy10 alias) 10.4.3
- Azure CLI (azure-cli 2.5.1)
- Azure CLI (azure-devops 0.18.0)
- Basic CLI:
@@ -39,8 +40,9 @@ Homebrew/linuxbrew-core (git revision a610a8; last commit 2020-05-12))
- zip
- zstd
- gnupg2
-- Alibaba Cloud CLI (3.0.42)
-- AWS CLI (aws-cli/1.18.58 Python/2.7.12 Linux/4.15.0-1082-azure botocore/1.16.8)
+ - lib32z1
+- Alibaba Cloud CLI (3.0.43)
+- AWS CLI (aws-cli/1.18.61 Python/2.7.12 Linux/4.15.0-1082-azure botocore/1.16.11)
- build-essential
- nvm (0.35.3)
- Clang 6.0 (6.0.0)
@@ -53,8 +55,10 @@ Target: x86_64-unknown-linux-gnu
- Docker-Moby (Docker version 3.0.11+azure, build eb310fca49568dccd87c6136f774ef6fff2a1b51)
- Docker-Buildx (0.3.1+azure)
- .NET Core SDK:
+ - 3.1.202
- 3.1.201
- 3.1.200
+ - 3.1.104
- 3.1.103
- 3.1.101
- 3.1.100
@@ -83,6 +87,7 @@ Target: x86_64-unknown-linux-gnu
- 2.2.102
- 2.2.101
- 2.2.100
+ - 2.1.806
- 2.1.805
- 2.1.804
- 2.1.803
@@ -90,6 +95,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.801
- 2.1.701
- 2.1.700
+ - 2.1.611
- 2.1.610
- 2.1.609
- 2.1.608
@@ -99,6 +105,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.604
- 2.1.603
- 2.1.602
+ - 2.1.514
- 2.1.513
- 2.1.512
- 2.1.511
@@ -118,7 +125,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.302
- 2.1.301
- 2.1.300
-- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7.1)
+- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0)
- Firefox (Mozilla Firefox 76.0.1)
- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.5.0
@@ -163,7 +170,7 @@ compiled using version 3.2.0.0 of the Cabal library )
- 11 (openjdk version "11.0.7" 2020-04-14 LTS)
- 12 (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018)
-- Gradle 6.4
+- Gradle 6.4.1
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.7.0 go1.13.6 linux/amd64)
- kubectl (Client Version: v1.18.2)
@@ -189,17 +196,17 @@ Local version: Unknown)
- Bazel (bazel 3.1.0)
- Bazelisk (1.4.0)
- PhantomJS (2.1.1)
-- PHP 5.6 (PHP 5.6.40-27+ubuntu16.04.1+deb.sury.org+1 (cli) )
-- PHP 7.0 (PHP 7.0.33-27+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Apr 19 2020 08:00:54) ( NTS ))
-- PHP 7.1 (PHP 7.1.33-15+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Apr 19 2020 07:59:08) ( NTS ))
-- PHP 7.2 (PHP 7.2.30-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Apr 19 2020 07:50:31) ( NTS ))
-- PHP 7.3 (PHP 7.3.17-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Apr 19 2020 07:44:05) ( NTS ))
-- PHP 7.4 (PHP 7.4.5 (cli) (built: Apr 19 2020 07:36:13) ( NTS ))
+- PHP 5.6 (PHP 5.6.40-29+ubuntu16.04.1+deb.sury.org+1 (cli) )
+- PHP 7.0 (PHP 7.0.33-29+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 09:08:44) ( NTS ))
+- PHP 7.1 (PHP 7.1.33-16+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:26:44) ( NTS ))
+- PHP 7.2 (PHP 7.2.31-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:14) ( NTS ))
+- PHP 7.3 (PHP 7.3.18-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 10:34:21) ( NTS ))
+- PHP 7.4 (PHP 7.4.6 (cli) (built: May 14 2020 10:02:18) ( NTS ))
- Composer (Composer version 1.10.6 2020-05-06 10:28:10)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate
- psql (PostgreSQL) 9.5.21
-- Powershell (PowerShell 7.0.0)
+- Powershell (PowerShell 7.0.1)
- ruby (2.3.1p112)
- gem (3.1.3)
- rustup (1.21.1)
@@ -215,15 +222,15 @@ Local version: Unknown)
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server
- Subversion (svn, version 1.9.3 (r1718519))
-- Terraform (Terraform v0.12.24)
+- Terraform (Terraform v0.12.25)
- Packer (1.5.6)
- Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (19.0.1)
-- MongoDB on Linux (2020-05-12T23:21:16.910+0000 I CONTROL [initandlisten] db version v4.2.6
-2020-05-12T23:21:16.910+0000 I CONTROL [initandlisten] git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8
-2020-05-12T23:21:16.910+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016)
+- MongoDB on Linux (2020-05-17T09:41:36.640+0000 I CONTROL [initandlisten] db version v4.2.6
+2020-05-17T09:41:36.640+0000 I CONTROL [initandlisten] git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8
+2020-05-17T09:41:36.640+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016)
- Haveged 1.9.1-3
-- AWS SAM CLI, version 0.48.0
+- AWS SAM CLI, version 0.49.0
- Google Repository 58
- Google Play services 49
- Google APIs 24
@@ -292,16 +299,16 @@ Local version: Unknown)
- Az Module (3.1.0)
- Az Module (3.5.0)
- Cached container images
- - jekyll/builder:latest (Digest: sha256:a8345b1d5316347dccd73ed4e96cb08e29bd8b2634bb727fb4d9311fe1e3ec89)
+ - node:10 (Digest: sha256:ce98742448dff008ff29b81816c148599e41e9cc580d17412ce7fb555bf57c6a)
+ - node:12 (Digest: sha256:880673b2184fec70c7cf342452ce4cfac6c378cfa79d4529f49887bc55eb9f41)
+ - jekyll/builder:latest (Digest: sha256:15d3241ba69bbc0bc62e40c30ec11d9dc4211fde0365a378bf1b9ec8c18eb57e)
+ - buildpack-deps:stretch (Digest: sha256:dee4275fc056551e1f83c5a3ea024510ca63f03ceedd9a1c29cbab70644b046b)
+ - debian:9 (Digest: sha256:d4de82f467cf1c7e022e95a1cb074b7d4d38f8ab2c20deeafd884c6a4531d94d)
+ - debian:8 (Digest: sha256:be49b17833279f2177dbaeef87226528af8a652595afc11dd85c8cd8ad7fcd26)
- node:12-alpine (Digest: sha256:84f5c9090cc741421b2376b2393e7d5fa2f89d36167c12eb57aef16dd64ecf6c)
- - node:12 (Digest: sha256:5fe210262a6dc0c1f5555976356cf076c7a8c7645b0c781bc8a913881bbe7942)
- node:10-alpine (Digest: sha256:b2db1b026f1b01a6a91f39d8204b89c5c13d2b40a017dd4d9253ab066c9cf2cb)
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
- - node:10 (Digest: sha256:e0c512c52c3ca8797fc60ada3698004f5cba13af4a8a5968041edac1b5d98577)
- - buildpack-deps:stretch (Digest: sha256:38353fdc334fa612f3dedb3d1e8172c3e63de706ca80260856e5708d0fd1146a)
- - debian:9 (Digest: sha256:666ffd4fbcdff07edcbd65f0ec1dc86ed294f5e3be93eb26280575f77427df46)
- - debian:8 (Digest: sha256:734728c8e411698485ae644fc988dad06f757565e292b5b85edc084befa37bbb)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
- ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4)
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
@@ -320,14 +327,14 @@ Local version: Unknown)
- pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5))
- Go 1.11.13 (go version go1.11.13 linux/amd64)
- Go 1.12.17 (go version go1.12.17 linux/amd64)
-- Go 1.13.10 (go version go1.13.10 linux/amd64)
-- Go 1.14.2 (go version go1.14.2 linux/amd64)
+- Go 1.13.11 (go version go1.13.11 linux/amd64)
+- Go 1.14.3 (go version go1.14.3 linux/amd64)
- Python:
- Python 2.7.18
- Python 3.5.9
- Python 3.6.10
- Python 3.7.7
- - Python 3.8.2
+ - Python 3.8.3
- node:
- node 8.17.0
- node 10.20.1
diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md
index 460d72e3..e135ef32 100644
--- a/images/linux/Ubuntu1804-README.md
+++ b/images/linux/Ubuntu1804-README.md
@@ -1,12 +1,13 @@
# Ubuntu 18.04.4 LTS
-The following software is installed on machines with the 20200512.2 update.
+The following software is installed on machines with the 20200518.1 update.
***
- Homebrew on Linux (Homebrew 2.2.16
-Homebrew/linuxbrew-core (git revision a610a8; last commit 2020-05-12))
+Homebrew/linuxbrew-core (git revision 60cbe0; last commit 2020-05-17))
- 7-Zip 16.02
-- Ansible (ansible 2.9.8)
-- AzCopy (azcopy 7.3.0-netcore)
+- Ansible (ansible 2.9.9)
+- AzCopy7 (available by azcopy alias) 7.3.0
+- AzCopy10 (available by azcopy10 alias) 10.4.3
- Azure CLI (azure-cli 2.5.1)
- Azure CLI (azure-devops 0.18.0)
- Basic CLI:
@@ -37,8 +38,9 @@ Homebrew/linuxbrew-core (git revision a610a8; last commit 2020-05-12))
- zip
- zstd
- gnupg2
-- Alibaba Cloud CLI (3.0.42)
-- AWS CLI (aws-cli/1.18.58 Python/2.7.17 Linux/5.3.0-1020-azure botocore/1.16.8)
+ - lib32z1
+- Alibaba Cloud CLI (3.0.43)
+- AWS CLI (aws-cli/1.18.61 Python/2.7.17 Linux/5.3.0-1020-azure botocore/1.16.11)
- build-essential
- Clang 6.0 (6.0.0)
- Clang 8 (8.0.0)
@@ -47,14 +49,16 @@ Homebrew/linuxbrew-core (git revision a610a8; last commit 2020-05-12))
Target: x86_64-unknown-linux-gnu
- CMake (cmake version 3.17.0)
- Podman (1.9.1)
-- Buildah (1.14.8)
+- Buildah (1.14.9)
- Skopeo (0.2.0)
- Docker Compose (docker-compose version 1.25.4, build 8d51620a)
- Docker-Moby (Docker version 3.0.11+azure, build eb310fca49568dccd87c6136f774ef6fff2a1b51)
- Docker-Buildx (0.3.1+azure)
- .NET Core SDK:
+ - 3.1.202
- 3.1.201
- 3.1.200
+ - 3.1.104
- 3.1.103
- 3.1.101
- 3.1.100
@@ -83,6 +87,7 @@ Target: x86_64-unknown-linux-gnu
- 2.2.102
- 2.2.101
- 2.2.100
+ - 2.1.806
- 2.1.805
- 2.1.804
- 2.1.803
@@ -90,6 +95,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.801
- 2.1.701
- 2.1.700
+ - 2.1.611
- 2.1.610
- 2.1.609
- 2.1.608
@@ -99,6 +105,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.604
- 2.1.603
- 2.1.602
+ - 2.1.514
- 2.1.513
- 2.1.512
- 2.1.511
@@ -118,7 +125,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.302
- 2.1.301
- 2.1.300
-- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7.1)
+- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0)
- Firefox (Mozilla Firefox 76.0.1)
- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.5.0
@@ -163,7 +170,7 @@ compiled using version 3.2.0.0 of the Cabal library )
- 11 (openjdk version "11.0.7" 2020-04-14 LTS)
- 12 (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019)
-- Gradle 6.4
+- Gradle 6.4.1
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.7.0 go1.13.6 linux/amd64)
- kubectl (Client Version: v1.18.2)
@@ -190,15 +197,15 @@ Local version: Unknown)
- Bazel (bazel 3.1.0)
- Bazelisk (1.4.0)
- PhantomJS (2.1.1)
-- PHP 7.1 (PHP 7.1.33-15+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Apr 19 2020 07:59:27) ( NTS ))
-- PHP 7.2 (PHP 7.2.30-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Apr 19 2020 07:50:50) ( NTS ))
-- PHP 7.3 (PHP 7.3.17-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Apr 19 2020 07:44:26) ( NTS ))
-- PHP 7.4 (PHP 7.4.5 (cli) (built: Apr 19 2020 07:36:30) ( NTS ))
+- PHP 7.1 (PHP 7.1.33-16+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:11) ( NTS ))
+- PHP 7.2 (PHP 7.2.31-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:35) ( NTS ))
+- PHP 7.3 (PHP 7.3.18-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 10:34:44) ( NTS ))
+- PHP 7.4 (PHP 7.4.6 (cli) (built: May 14 2020 10:02:44) ( NTS ))
- Composer (Composer version 1.10.6 2020-05-06 10:28:10)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate
- psql (PostgreSQL) 10.12
-- Powershell (PowerShell 7.0.0)
+- Powershell (PowerShell 7.0.1)
- ruby (2.5.1p57)
- gem (3.1.3)
- rustup (1.21.1)
@@ -214,15 +221,15 @@ Local version: Unknown)
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server
- Subversion (svn, version 1.9.7 (r1800392))
-- Terraform (Terraform v0.12.24)
+- Terraform (Terraform v0.12.25)
- Packer (1.5.6)
- Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (19.0.1)
-- MongoDB on Linux (2020-05-12T23:26:04.659+0000 I CONTROL [initandlisten] db version v4.2.6
-2020-05-12T23:26:04.659+0000 I CONTROL [initandlisten] git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8
-2020-05-12T23:26:04.659+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020)
+- MongoDB on Linux (2020-05-18T09:20:20.102+0000 I CONTROL [initandlisten] db version v4.2.6
+2020-05-18T09:20:20.102+0000 I CONTROL [initandlisten] git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8
+2020-05-18T09:20:20.102+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020)
- Haveged 1.9.1-6
-- AWS SAM CLI, version 0.48.0
+- AWS SAM CLI, version 0.49.0
- Google Repository 58
- Google Play services 49
- Google APIs 24
@@ -285,16 +292,16 @@ Local version: Unknown)
- Az Module (3.1.0)
- Az Module (3.5.0)
- Cached container images
- - jekyll/builder:latest (Digest: sha256:a8345b1d5316347dccd73ed4e96cb08e29bd8b2634bb727fb4d9311fe1e3ec89)
+ - node:10 (Digest: sha256:ce98742448dff008ff29b81816c148599e41e9cc580d17412ce7fb555bf57c6a)
+ - node:12 (Digest: sha256:880673b2184fec70c7cf342452ce4cfac6c378cfa79d4529f49887bc55eb9f41)
+ - jekyll/builder:latest (Digest: sha256:15d3241ba69bbc0bc62e40c30ec11d9dc4211fde0365a378bf1b9ec8c18eb57e)
+ - buildpack-deps:stretch (Digest: sha256:dee4275fc056551e1f83c5a3ea024510ca63f03ceedd9a1c29cbab70644b046b)
+ - debian:9 (Digest: sha256:d4de82f467cf1c7e022e95a1cb074b7d4d38f8ab2c20deeafd884c6a4531d94d)
+ - debian:8 (Digest: sha256:be49b17833279f2177dbaeef87226528af8a652595afc11dd85c8cd8ad7fcd26)
- node:12-alpine (Digest: sha256:84f5c9090cc741421b2376b2393e7d5fa2f89d36167c12eb57aef16dd64ecf6c)
- - node:12 (Digest: sha256:5fe210262a6dc0c1f5555976356cf076c7a8c7645b0c781bc8a913881bbe7942)
- node:10-alpine (Digest: sha256:b2db1b026f1b01a6a91f39d8204b89c5c13d2b40a017dd4d9253ab066c9cf2cb)
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
- - node:10 (Digest: sha256:e0c512c52c3ca8797fc60ada3698004f5cba13af4a8a5968041edac1b5d98577)
- - buildpack-deps:stretch (Digest: sha256:38353fdc334fa612f3dedb3d1e8172c3e63de706ca80260856e5708d0fd1146a)
- - debian:9 (Digest: sha256:666ffd4fbcdff07edcbd65f0ec1dc86ed294f5e3be93eb26280575f77427df46)
- - debian:8 (Digest: sha256:734728c8e411698485ae644fc988dad06f757565e292b5b85edc084befa37bbb)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
- ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4)
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
@@ -313,14 +320,14 @@ Local version: Unknown)
- pip3 (pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6))
- Go 1.11.13 (go version go1.11.13 linux/amd64)
- Go 1.12.17 (go version go1.12.17 linux/amd64)
-- Go 1.13.10 (go version go1.13.10 linux/amd64)
-- Go 1.14.2 (go version go1.14.2 linux/amd64)
+- Go 1.13.11 (go version go1.13.11 linux/amd64)
+- Go 1.14.3 (go version go1.14.3 linux/amd64)
- Python:
- Python 2.7.18
- Python 3.5.9
- Python 3.6.10
- Python 3.7.7
- - Python 3.8.2
+ - Python 3.8.3
- node:
- node 8.17.0
- node 10.20.1
diff --git a/images/linux/config/ubuntu2004.conf b/images/linux/config/ubuntu2004.conf
new file mode 100644
index 00000000..63c41c26
--- /dev/null
+++ b/images/linux/config/ubuntu2004.conf
@@ -0,0 +1,2 @@
+# Name of pool supported by this image
+POOL_NAME="Ubuntu 2004"
diff --git a/images/linux/scripts/helpers/os.sh b/images/linux/scripts/helpers/os.sh
index fa2d4cf4..9c30c811 100644
--- a/images/linux/scripts/helpers/os.sh
+++ b/images/linux/scripts/helpers/os.sh
@@ -6,15 +6,20 @@
function isUbuntu16
{
- lsb_release -d|grep 'Ubuntu 16' > /dev/null
+ lsb_release -d | grep -q 'Ubuntu 16'
}
function isUbuntu18
{
- lsb_release -d|grep 'Ubuntu 18' > /dev/null
+ lsb_release -d | grep -q 'Ubuntu 18'
+}
+
+function isUbuntu20
+{
+ lsb_release -d | grep -q 'Ubuntu 20'
}
function getOSVersionLabel
{
- isUbuntu16 && echo xenial || echo bionic
+ lsb_release -cs
}
\ No newline at end of file
diff --git a/images/linux/scripts/installers/1604/php.sh b/images/linux/scripts/installers/1604/php.sh
deleted file mode 100644
index d2209041..00000000
--- a/images/linux/scripts/installers/1604/php.sh
+++ /dev/null
@@ -1,313 +0,0 @@
-#!/bin/bash
-################################################################################
-## File: php.sh
-## Desc: Installs php
-################################################################################
-
-# Source the helpers for use with the script
-source $HELPER_SCRIPTS/etc-environment.sh
-source $HELPER_SCRIPTS/document.sh
-
-LSB_RELEASE=$(lsb_release -rs)
-
-set -e
-
-apt-add-repository ppa:ondrej/php -y
-
-# Install php5.6
-apt-get update
-apt-fast install -y --no-install-recommends \
- php5.6 \
- php5.6-bcmath \
- php5.6-bz2 \
- php5.6-cgi \
- php5.6-cli \
- php5.6-common \
- php5.6-curl \
- php5.6-dba \
- php5.6-dev \
- php5.6-enchant \
- php5.6-fpm \
- php5.6-gd \
- php5.6-gmp \
- php5.6-imap \
- php5.6-interbase \
- php5.6-intl \
- php5.6-json \
- php5.6-ldap \
- php5.6-mbstring \
- php5.6-mcrypt \
- php5.6-mysql \
- php5.6-odbc \
- php5.6-opcache \
- php5.6-pgsql \
- php5.6-phpdbg \
- php5.6-pspell \
- php5.6-readline \
- php5.6-recode \
- php5.6-snmp \
- php5.6-soap \
- php5.6-sqlite3 \
- php5.6-sybase \
- php5.6-tidy \
- php5.6-xml \
- php5.6-xmlrpc \
- php5.6-xsl \
- php5.6-zip
-apt-get remove --purge -yq php5.6-dev
-
-# Install php7.0
-apt-fast install -y --no-install-recommends \
- php7.0 \
- php7.0-bcmath \
- php7.0-bz2 \
- php7.0-cgi \
- php7.0-cli \
- php7.0-common \
- php7.0-curl \
- php7.0-dba \
- php7.0-dev \
- php7.0-enchant \
- php7.0-fpm \
- php7.0-gd \
- php7.0-gmp \
- php7.0-imap \
- php7.0-interbase \
- php7.0-intl \
- php7.0-json \
- php7.0-ldap \
- php7.0-mbstring \
- php7.0-mcrypt \
- php7.0-mysql \
- php7.0-odbc \
- php7.0-opcache \
- php7.0-pgsql \
- php7.0-phpdbg \
- php7.0-pspell \
- php7.0-readline \
- php7.0-recode \
- php7.0-snmp \
- php7.0-soap \
- php7.0-sqlite3 \
- php7.0-sybase \
- php7.0-tidy \
- php7.0-xml \
- php7.0-xmlrpc \
- php7.0-xsl \
- php7.0-zip
-apt-get remove --purge -yq php7.0-dev
-
-# Install php7.1
-apt-fast install -y --no-install-recommends \
- php7.1 \
- php7.1-bcmath \
- php7.1-bz2 \
- php7.1-cgi \
- php7.1-cli \
- php7.1-common \
- php7.1-curl \
- php7.1-dba \
- php7.1-dev \
- php7.1-enchant \
- php7.1-fpm \
- php7.1-gd \
- php7.1-gmp \
- php7.1-imap \
- php7.1-interbase \
- php7.1-intl \
- php7.1-json \
- php7.1-ldap \
- php7.1-mbstring \
- php7.1-mcrypt \
- php7.1-mysql \
- php7.1-odbc \
- php7.1-opcache \
- php7.1-pgsql \
- php7.1-phpdbg \
- php7.1-pspell \
- php7.1-readline \
- php7.1-recode \
- php7.1-snmp \
- php7.1-soap \
- php7.1-sqlite3 \
- php7.1-sybase \
- php7.1-tidy \
- php7.1-xml \
- php7.1-xmlrpc \
- php7.1-xsl \
- php7.1-zip
-apt-get remove --purge -yq php7.1-dev
-
-# Install php7.2
-apt-fast install -y --no-install-recommends \
- php7.2 \
- php7.2-bcmath \
- php7.2-bz2 \
- php7.2-cgi \
- php7.2-cli \
- php7.2-common \
- php7.2-curl \
- php7.2-dba \
- php7.2-dev \
- php7.2-enchant \
- php7.2-fpm \
- php7.2-gd \
- php7.2-gmp \
- php7.2-imap \
- php7.2-interbase \
- php7.2-intl \
- php7.2-json \
- php7.2-ldap \
- php7.2-mbstring \
- php7.2-mysql \
- php7.2-odbc \
- php7.2-opcache \
- php7.2-pgsql \
- php7.2-phpdbg \
- php7.2-pspell \
- php7.2-readline \
- php7.2-recode \
- php7.2-snmp \
- php7.2-soap \
- php7.2-sqlite3 \
- php7.2-sybase \
- php7.2-tidy \
- php7.2-xml \
- php7.2-xmlrpc \
- php7.2-xsl \
- php7.2-zip
-
-# Install php7.3
-apt-fast install -y --no-install-recommends \
- php7.3 \
- php7.3-bcmath \
- php7.3-bz2 \
- php7.3-cgi \
- php7.3-cli \
- php7.3-common \
- php7.3-curl \
- php7.3-dba \
- php7.3-dev \
- php7.3-enchant \
- php7.3-fpm \
- php7.3-gd \
- php7.3-gmp \
- php7.3-imap \
- php7.3-interbase \
- php7.3-intl \
- php7.3-json \
- php7.3-ldap \
- php7.3-mbstring \
- php7.3-mysql \
- php7.3-odbc \
- php7.3-opcache \
- php7.3-pgsql \
- php7.3-phpdbg \
- php7.3-pspell \
- php7.3-readline \
- php7.3-recode \
- php7.3-snmp \
- php7.3-soap \
- php7.3-sqlite3 \
- php7.3-sybase \
- php7.3-tidy \
- php7.3-xml \
- php7.3-xmlrpc \
- php7.3-xsl \
- php7.3-zip
-
-# Install php7.4
-apt-fast install -y --no-install-recommends \
- php7.4 \
- php7.4-bcmath \
- php7.4-bz2 \
- php7.4-cgi \
- php7.4-cli \
- php7.4-common \
- php7.4-curl \
- php7.4-dba \
- php7.4-dev \
- php7.4-enchant \
- php7.4-fpm \
- php7.4-gd \
- php7.4-gmp \
- php7.4-imap \
- php7.4-interbase \
- php7.4-intl \
- php7.4-json \
- php7.4-ldap \
- php7.4-mbstring \
- php7.4-mysql \
- php7.4-odbc \
- php7.4-opcache \
- php7.4-pgsql \
- php7.4-phpdbg \
- php7.4-pspell \
- php7.4-readline \
- php7.4-snmp \
- php7.4-soap \
- php7.4-sqlite3 \
- php7.4-sybase \
- php7.4-tidy \
- php7.4-xml \
- php7.4-xmlrpc \
- php7.4-xsl \
- php7.4-zip
-
-apt-fast install -y --no-install-recommends \
- php-amqp \
- php-apcu \
- php-igbinary \
- php-memcache \
- php-memcached \
- php-mongodb \
- php-redis \
- php-xdebug \
- php-yaml \
- php-zmq
-
-apt-get remove --purge -yq php7.2-dev
-
-apt-fast install -y --no-install-recommends snmp
-
-# Install composer
-php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
-php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
-php composer-setup.php
-sudo mv composer.phar /usr/bin/composer
-php -r "unlink('composer-setup.php');"
-
-# Update /etc/environment
-prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin
-
-# Add composer bin folder to path
-echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc
-
-#Create composer folder for user to preserve folder permissions
-mkdir -p /etc/skel/.composer
-
-# Install phpunit (for PHP)
-wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar
-chmod +x phpunit
-mv phpunit /usr/local/bin/phpunit
-
-# Run tests to determine that the software installed as expected
-echo "Testing to make sure that script performed as expected, and basic scenarios work"
-for cmd in php php5.6 php7.0 php7.1 php7.2 php7.3 php7.4 composer phpunit; do
- if ! command -v $cmd; then
- echo "$cmd was not installed"
- exit 1
- fi
-done
-
-
-# Document what was added to the image
-echo "Lastly, documenting what we added to the metadata file"
-DocumentInstalledItem "PHP 5.6 ($(php5.6 --version | head -n 1))"
-DocumentInstalledItem "PHP 7.0 ($(php7.0 --version | head -n 1))"
-DocumentInstalledItem "PHP 7.1 ($(php7.1 --version | head -n 1))"
-DocumentInstalledItem "PHP 7.2 ($(php7.2 --version | head -n 1))"
-DocumentInstalledItem "PHP 7.3 ($(php7.3 --version | head -n 1))"
-DocumentInstalledItem "PHP 7.4 ($(php7.4 --version | head -n 1))"
-DocumentInstalledItem "Composer ($(composer --version))"
-DocumentInstalledItem "PHPUnit ($(phpunit --version))"
diff --git a/images/linux/scripts/installers/1804/php.sh b/images/linux/scripts/installers/1804/php.sh
deleted file mode 100644
index cbf25393..00000000
--- a/images/linux/scripts/installers/1804/php.sh
+++ /dev/null
@@ -1,227 +0,0 @@
-#!/bin/bash
-################################################################################
-## File: php.sh
-## Desc: Installs php
-################################################################################
-
-# Source the helpers for use with the script
-source $HELPER_SCRIPTS/etc-environment.sh
-source $HELPER_SCRIPTS/document.sh
-
-LSB_RELEASE=$(lsb_release -rs)
-
-set -e
-
-apt-add-repository ppa:ondrej/php -y
-
-# Install php7.1
-apt-fast install -y --no-install-recommends \
- php7.1 \
- php7.1-bcmath \
- php7.1-bz2 \
- php7.1-cgi \
- php7.1-cli \
- php7.1-common \
- php7.1-curl \
- php7.1-dba \
- php7.1-dev \
- php7.1-enchant \
- php7.1-fpm \
- php7.1-gd \
- php7.1-gmp \
- php7.1-imap \
- php7.1-interbase \
- php7.1-intl \
- php7.1-json \
- php7.1-ldap \
- php7.1-mbstring \
- php7.1-mcrypt \
- php7.1-mysql \
- php7.1-odbc \
- php7.1-opcache \
- php7.1-pgsql \
- php7.1-phpdbg \
- php7.1-pspell \
- php7.1-readline \
- php7.1-recode \
- php7.1-snmp \
- php7.1-soap \
- php7.1-sqlite3 \
- php7.1-sybase \
- php7.1-tidy \
- php7.1-xml \
- php7.1-xmlrpc \
- php7.1-xsl \
- php7.1-zip
-apt-get remove --purge -yq php7.1-dev
-
-# Install php7.2
-apt-fast install -y --no-install-recommends \
- php7.2 \
- php7.2-bcmath \
- php7.2-bz2 \
- php7.2-cgi \
- php7.2-cli \
- php7.2-common \
- php7.2-curl \
- php7.2-dba \
- php7.2-dev \
- php7.2-enchant \
- php7.2-fpm \
- php7.2-gd \
- php7.2-gmp \
- php7.2-imap \
- php7.2-interbase \
- php7.2-intl \
- php7.2-json \
- php7.2-ldap \
- php7.2-mbstring \
- php7.2-mysql \
- php7.2-odbc \
- php7.2-opcache \
- php7.2-pgsql \
- php7.2-phpdbg \
- php7.2-pspell \
- php7.2-readline \
- php7.2-recode \
- php7.2-snmp \
- php7.2-soap \
- php7.2-sqlite3 \
- php7.2-sybase \
- php7.2-tidy \
- php7.2-xml \
- php7.2-xmlrpc \
- php7.2-xsl \
- php7.2-zip
-
-# Install php7.3
-apt-fast install -y --no-install-recommends \
- php7.3 \
- php7.3-bcmath \
- php7.3-bz2 \
- php7.3-cgi \
- php7.3-cli \
- php7.3-common \
- php7.3-curl \
- php7.3-dba \
- php7.3-dev \
- php7.3-enchant \
- php7.3-fpm \
- php7.3-gd \
- php7.3-gmp \
- php7.3-imap \
- php7.3-interbase \
- php7.3-intl \
- php7.3-json \
- php7.3-ldap \
- php7.3-mbstring \
- php7.3-mysql \
- php7.3-odbc \
- php7.3-opcache \
- php7.3-pgsql \
- php7.3-phpdbg \
- php7.3-pspell \
- php7.3-readline \
- php7.3-recode \
- php7.3-snmp \
- php7.3-soap \
- php7.3-sqlite3 \
- php7.3-sybase \
- php7.3-tidy \
- php7.3-xml \
- php7.3-xmlrpc \
- php7.3-xsl \
- php7.3-zip
-
-# Install php7.4
-apt-fast install -y --no-install-recommends \
- php7.4 \
- php7.4-bcmath \
- php7.4-bz2 \
- php7.4-cgi \
- php7.4-cli \
- php7.4-common \
- php7.4-curl \
- php7.4-dba \
- php7.4-dev \
- php7.4-enchant \
- php7.4-fpm \
- php7.4-gd \
- php7.4-gmp \
- php7.4-imap \
- php7.4-interbase \
- php7.4-intl \
- php7.4-json \
- php7.4-ldap \
- php7.4-mbstring \
- php7.4-mysql \
- php7.4-odbc \
- php7.4-opcache \
- php7.4-pgsql \
- php7.4-phpdbg \
- php7.4-pspell \
- php7.4-readline \
- php7.4-snmp \
- php7.4-soap \
- php7.4-sqlite3 \
- php7.4-sybase \
- php7.4-tidy \
- php7.4-xml \
- php7.4-xmlrpc \
- php7.4-xsl \
- php7.4-zip
-
-apt-fast install -y --no-install-recommends \
- php-amqp \
- php-apcu \
- php-igbinary \
- php-memcache \
- php-memcached \
- php-mongodb \
- php-redis \
- php-xdebug \
- php-yaml \
- php-zmq
-
-apt-get remove --purge -yq php7.2-dev
-
-apt-fast install -y --no-install-recommends snmp
-
-# Install composer
-php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
-php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
-php composer-setup.php
-sudo mv composer.phar /usr/bin/composer
-php -r "unlink('composer-setup.php');"
-
-# Update /etc/environment
-prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin
-
-# Add composer bin folder to path
-echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc
-
-#Create composer folder for user to preserve folder permissions
-mkdir -p /etc/skel/.composer
-
-# Install phpunit (for PHP)
-wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar
-chmod +x phpunit
-mv phpunit /usr/local/bin/phpunit
-
-# Run tests to determine that the software installed as expected
-echo "Testing to make sure that script performed as expected, and basic scenarios work"
-for cmd in php php7.1 php7.2 php7.3 php7.4 composer phpunit; do
- if ! command -v $cmd; then
- echo "$cmd was not installed"
- exit 1
- fi
-done
-
-# Document what was added to the image
-echo "Lastly, documenting what we added to the metadata file"
-DocumentInstalledItem "PHP 7.1 ($(php7.1 --version | head -n 1))"
-DocumentInstalledItem "PHP 7.2 ($(php7.2 --version | head -n 1))"
-DocumentInstalledItem "PHP 7.3 ($(php7.3 --version | head -n 1))"
-DocumentInstalledItem "PHP 7.4 ($(php7.4 --version | head -n 1))"
-DocumentInstalledItem "Composer ($(composer --version))"
-DocumentInstalledItem "PHPUnit ($(phpunit --version))"
diff --git a/images/linux/scripts/installers/1804/preparemetadata.sh b/images/linux/scripts/installers/1804/preparemetadata.sh
deleted file mode 100644
index e3304945..00000000
--- a/images/linux/scripts/installers/1804/preparemetadata.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-################################################################################
-## File: preparemetadata.sh
-## Desc: This script adds a image title information to the metadata
-## document
-################################################################################
-
-source $HELPER_SCRIPTS/document.sh
-
-WriteItem ""
-AddTitle "$(lsb_release -ds)"
-WriteItem "The following software is installed on machines with the $IMAGE_VERSION update."
-WriteItem "***"
\ No newline at end of file
diff --git a/images/linux/scripts/installers/2004/android.sh b/images/linux/scripts/installers/2004/android.sh
new file mode 100644
index 00000000..8c863ab0
--- /dev/null
+++ b/images/linux/scripts/installers/2004/android.sh
@@ -0,0 +1,94 @@
+#!/bin/bash
+################################################################################
+## File: android.sh
+## Desc: Installs Android SDK
+################################################################################
+
+set -e
+
+# Source the helpers for use with the script
+source $HELPER_SCRIPTS/document.sh
+source $HELPER_SCRIPTS/os.sh
+
+# Set env variable for SDK Root (https://developer.android.com/studio/command-line/variables)
+ANDROID_ROOT=/usr/local/lib/android
+ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk
+echo "ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}" | tee -a /etc/environment
+
+# ANDROID_HOME is deprecated, but older versions of Gradle rely on it
+echo "ANDROID_HOME=${ANDROID_SDK_ROOT}" | tee -a /etc/environment
+
+# Create android sdk directory
+mkdir -p ${ANDROID_SDK_ROOT}
+
+# Download the latest command line tools so that we can accept all of the licenses.
+# See https://developer.android.com/studio/#command-tools
+wget -O android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
+unzip android-sdk.zip -d ${ANDROID_SDK_ROOT}
+rm -f android-sdk.zip
+
+# Add required permissions
+chmod -R a+X ${ANDROID_SDK_ROOT}
+
+if isUbuntu20 ; then
+ # Sdk manager doesn't work with Java > 8, set version 8 explicitly
+ sed -i "2i export JAVA_HOME=${JAVA_HOME_8_X64}" /usr/local/lib/android/sdk/tools/bin/sdkmanager
+fi
+
+# Check sdk manager installation
+/usr/local/lib/android/sdk/tools/bin/sdkmanager --list 1>/dev/null
+if [ $? -eq 0 ]
+then
+ echo "Android SDK manager was installed"
+else
+ echo "Android SDK manager was not installed"
+ exit 1
+fi
+
+# Install the following SDKs and build tools, passing in "y" to accept licenses.
+echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
+ "ndk-bundle" \
+ "platform-tools" \
+ "platforms;android-29" \
+ "platforms;android-28" \
+ "platforms;android-27" \
+ "build-tools;29.0.3" \
+ "build-tools;29.0.2" \
+ "build-tools;29.0.0" \
+ "build-tools;28.0.3" \
+ "build-tools;28.0.2" \
+ "build-tools;28.0.1" \
+ "build-tools;28.0.0" \
+ "build-tools;27.0.3" \
+ "build-tools;27.0.2" \
+ "build-tools;27.0.1" \
+ "build-tools;27.0.0" \
+ "extras;android;m2repository" \
+ "extras;google;m2repository" \
+ "extras;google;google_play_services" \
+ "cmake;3.10.2.4988404" \
+ "patcher;v4"
+
+# Document what was added to the image
+echo "Lastly, document what was added to the metadata file"
+DocumentInstalledItem "Google Repository $(cat ${ANDROID_SDK_ROOT}/extras/google/m2repository/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
+DocumentInstalledItem "Google Play services $(cat ${ANDROID_SDK_ROOT}/extras/google/google_play_services/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
+DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)"
+DocumentInstalledItem "Android Support Repository 47.0.0"
+DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
+DocumentInstalledItem "Android SDK Platform 29"
+DocumentInstalledItem "Android SDK Platform 28"
+DocumentInstalledItem "Android SDK Platform 27"
+DocumentInstalledItem "Android SDK Patch Applier v4"
+DocumentInstalledItem "Android SDK Build-Tools 29.0.3"
+DocumentInstalledItem "Android SDK Build-Tools 29.0.2"
+DocumentInstalledItem "Android SDK Build-Tools 29.0.0"
+DocumentInstalledItem "Android SDK Build-Tools 28.0.3"
+DocumentInstalledItem "Android SDK Build-Tools 28.0.2"
+DocumentInstalledItem "Android SDK Build-Tools 28.0.1"
+DocumentInstalledItem "Android SDK Build-Tools 28.0.0"
+DocumentInstalledItem "Android SDK Build-Tools 27.0.3"
+DocumentInstalledItem "Android SDK Build-Tools 27.0.2"
+DocumentInstalledItem "Android SDK Build-Tools 27.0.1"
+DocumentInstalledItem "Android SDK Build-Tools 27.0.0"
+DocumentInstalledItem "Android NDK $(cat ${ANDROID_SDK_ROOT}/ndk-bundle/source.properties 2>&1 | grep Pkg.Revision | cut -d ' ' -f 3)"
diff --git a/images/linux/scripts/installers/2004/containers.sh b/images/linux/scripts/installers/2004/containers.sh
new file mode 100644
index 00000000..0ccf746a
--- /dev/null
+++ b/images/linux/scripts/installers/2004/containers.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+################################################################################
+## File: containers.sh
+## Desc: Installs container tools: podman, buildah and skopeo onto the image
+################################################################################
+
+source $HELPER_SCRIPTS/apt.sh
+source $HELPER_SCRIPTS/document.sh
+
+source /etc/os-release
+sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
+wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
+apt-key add - < Release.key
+apt-get update -qq
+apt-get -qq -y install podman buildah skopeo
+mkdir -p /etc/containers
+echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf
+
+## Add version information to the metadata file
+echo "Documenting container tools version"
+PODMAN_VERSION='podman --version'
+BUILDAH_VERSION='buildah --version'
+SKOPEO_VERSION='skopeo --version'
+DocumentInstalledItem "Podman ($PODMAN_VERSION)\nBuildah ($BUILDAH_VERSION)\nSkopeo ($SKOPEO_VERSION)"
diff --git a/images/linux/scripts/installers/ansible.sh b/images/linux/scripts/installers/ansible.sh
index b4e8a4d7..fcf03930 100644
--- a/images/linux/scripts/installers/ansible.sh
+++ b/images/linux/scripts/installers/ansible.sh
@@ -6,11 +6,15 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
-source $HELPER_SCRIPTS/apt.sh
+source $HELPER_SCRIPTS/os.sh
-# Install Ansible PPA and latest Ansible
-add-apt-repository ppa:ansible/ansible
-apt-get update
+# ppa:ansible/ansible doesn't contain packages for Ubuntu20.04
+if isUbuntu16 || isUbuntu18 ; then
+ add-apt-repository ppa:ansible/ansible
+ apt-get update
+fi
+
+# Install latest Ansible
apt-get install -y --no-install-recommends ansible
# Run tests to determine that the software installed as expected
diff --git a/images/linux/scripts/installers/azpowershell.sh b/images/linux/scripts/installers/azpowershell.sh
index feef2d62..9f43f85e 100644
--- a/images/linux/scripts/installers/azpowershell.sh
+++ b/images/linux/scripts/installers/azpowershell.sh
@@ -6,6 +6,29 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
+source $HELPER_SCRIPTS/os.sh
+
+# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
+if isUbuntu20 ; then
+ latestVersion=$(pwsh -Command '(Find-Module -Name Az).Version')
+ modulePath="/usr/share/az_$latestVersion"
+ echo "Save Az Module ($latestVersion) to $modulePath"
+ pwsh -Command "Save-Module -Name Az -LiteralPath $modulePath -RequiredVersion $latestVersion -Force"
+
+ # Run tests to determine that the software installed as expected
+ echo "Testing to make sure that script performed as expected, and basic scenarios work"
+ if ! pwsh -Command "\$env:PSModulePath = '${modulePath}:' + \$env:PSModulePath
+ if ( -not (Get-Module -ListAvailable -Name Az.Accounts)) {
+ Write-Host 'Az Module was not installed'
+ exit 1
+ }"; then
+ exit 1
+ fi
+
+ # Document what was added to the image
+ DocumentInstalledItem "Az Module ($latestVersion)"
+ exit 0
+fi
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
sudo pwsh -Command 'Save-Module -Name Az -LiteralPath /usr/share/az_1.0.0 -RequiredVersion 1.0.0 -Force'
diff --git a/images/linux/scripts/installers/1804/basic.sh b/images/linux/scripts/installers/basic.sh
similarity index 91%
rename from images/linux/scripts/installers/1804/basic.sh
rename to images/linux/scripts/installers/basic.sh
index c16b53de..08a22335 100644
--- a/images/linux/scripts/installers/1804/basic.sh
+++ b/images/linux/scripts/installers/basic.sh
@@ -7,9 +7,15 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/apt.sh
+source $HELPER_SCRIPTS/os.sh
set -e
+if isUbuntu20 ; then
+ echo "Install python2"
+ apt-get install -y --no-install-recommends python-is-python2
+fi
+
echo "Install dnsutils"
apt-get install -y --no-install-recommends dnsutils
@@ -28,8 +34,16 @@ apt-get install -y --no-install-recommends iputils-ping
echo "Install jq"
apt-get install -y --no-install-recommends jq
-echo "Install libcurl3"
-apt-get install -y --no-install-recommends libcurl3
+echo "Install libcurl"
+if isUbuntu18 ; then
+ libcurelVer="libcurl3"
+fi
+
+if isUbuntu20 ; then
+ libcurelVer="libcurl4"
+fi
+
+apt-get install -y --no-install-recommends $libcurelVer
echo "Install libunwind8"
apt-get install -y --no-install-recommends libunwind8
@@ -145,13 +159,6 @@ for cmd in curl file ftp jq netcat ssh parallel rsync shellcheck sudo telnet tim
fi
done
-# Workaround for systemd-resolve, since sometimes stub resolver does not work properly. Details: https://github.com/actions/virtual-environments/issues/798
-echo "Create resolv.conf link."
-if [[ -f /run/systemd/resolve/resolv.conf ]]; then
- echo "Create resolv.conf link."
- ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
-fi
-
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Basic CLI:"
@@ -162,7 +169,7 @@ DocumentInstalledItemIndent "ftp"
DocumentInstalledItemIndent "iproute2"
DocumentInstalledItemIndent "iputils-ping"
DocumentInstalledItemIndent "jq"
-DocumentInstalledItemIndent "libcurl3"
+DocumentInstalledItemIndent "$libcurelVer"
DocumentInstalledItemIndent "libgbm-dev"
DocumentInstalledItemIndent "libicu55"
DocumentInstalledItemIndent "libunwind8"
diff --git a/images/linux/scripts/installers/dotnetcore-sdk.sh b/images/linux/scripts/installers/dotnetcore-sdk.sh
index 70d712e2..06323d0e 100644
--- a/images/linux/scripts/installers/dotnetcore-sdk.sh
+++ b/images/linux/scripts/installers/dotnetcore-sdk.sh
@@ -6,10 +6,18 @@
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh
+source $HELPER_SCRIPTS/os.sh
-LATEST_DOTNET_PACKAGES=("dotnet-sdk-3.0" "dotnet-sdk-3.1")
+# Ubuntu 20 doesn't support EOL versions
+if isUbuntu20 ; then
+ LATEST_DOTNET_PACKAGES=("dotnet-sdk-3.1")
+ release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json")
+fi
-LSB_RELEASE=$(lsb_release -rs)
+if isUbuntu16 || isUbuntu18 ; then
+ LATEST_DOTNET_PACKAGES=("dotnet-sdk-3.0" "dotnet-sdk-3.1")
+ release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json")
+fi
mksamples()
{
@@ -37,19 +45,13 @@ 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..."
- #temporary avoid 3.1.102 installation due to https://github.com/dotnet/aspnetcore/issues/19133
- if [ $latest_package != "dotnet-sdk-3.1" ]; then
- apt-get install $latest_package -y
- else
- apt-get install dotnet-sdk-3.1=3.1.101-1 -y
- fi
+ 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" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json")
sdks=()
for release_url in ${release_urls[@]}; do
echo "${release_url}"
diff --git a/images/linux/scripts/installers/1804/mercurial.sh b/images/linux/scripts/installers/github-cli.sh
similarity index 50%
rename from images/linux/scripts/installers/1804/mercurial.sh
rename to images/linux/scripts/installers/github-cli.sh
index abd9cdb0..5cc43094 100644
--- a/images/linux/scripts/installers/1804/mercurial.sh
+++ b/images/linux/scripts/installers/github-cli.sh
@@ -1,21 +1,26 @@
#!/bin/bash
################################################################################
-## File: mercurial.sh
-## Desc: Installs Mercurial
+## File: github-cli.sh
+## Desc: Installs GitHub CLI
+## Must be run as non-root user after homebrew
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
-source $HELPER_SCRIPTS/apt.sh
-apt-get install -y --no-install-recommends mercurial
+# Install GitHub CLI
+url=$(curl -s https://api.github.com/repos/cli/cli/releases/latest | jq -r '.assets[].browser_download_url|select(contains("linux") and contains("amd64") and contains(".deb"))')
+wget $url
+apt install ./gh_*_linux_amd64.deb
+rm gh_*_linux_amd64.deb
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
-if ! command -v hg; then
+if ! gh --version; then
+ echo "GitHub CLI was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
-DocumentInstalledItem "Mercurial ($(hg --version | head -n 1))"
+DocumentInstalledItem "GitHub CLI $(gh --version|awk 'FNR==1 {print $3}')"
diff --git a/images/linux/scripts/installers/go.sh b/images/linux/scripts/installers/go.sh
index c454f59f..617c406d 100644
--- a/images/linux/scripts/installers/go.sh
+++ b/images/linux/scripts/installers/go.sh
@@ -46,7 +46,7 @@ function getFullGoVersion () {
}
# load golang_tags.json file
-curl -s 'https://api.github.com/repos/golang/go/git/refs/tags' >> $golangTags
+curl -s 'https://api.github.com/repos/golang/go/git/refs/tags' > $golangTags
# Install Go versions
for go in ${GO_VERSIONS}; do
echo "Installing Go ${go}"
diff --git a/images/linux/scripts/installers/haskell.sh b/images/linux/scripts/installers/haskell.sh
index 1335c504..af9facd1 100644
--- a/images/linux/scripts/installers/haskell.sh
+++ b/images/linux/scripts/installers/haskell.sh
@@ -6,7 +6,7 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
-source $HELPER_SCRIPTS/apt.sh
+source $HELPER_SCRIPTS/os.sh
# Install Herbert V. Riedel's PPA for managing multiple version of ghc on ubuntu.
# https://launchpad.net/~hvr/+archive/ubuntu/ghc
@@ -15,23 +15,24 @@ add-apt-repository -y ppa:hvr/ghc
apt-get update
# Install various versions of ghc and cabal
-apt-get install -y \
- ghc-8.0.2 \
- ghc-8.2.2 \
- ghc-8.4.4 \
- ghc-8.6.2 \
- ghc-8.6.3 \
- ghc-8.6.4 \
- ghc-8.6.5 \
- ghc-8.8.1 \
- ghc-8.8.2 \
- ghc-8.8.3 \
- ghc-8.10.1 \
- cabal-install-2.0 \
- cabal-install-2.2 \
- cabal-install-2.4 \
- cabal-install-3.0 \
- cabal-install-3.2
+if isUbuntu20 ; then
+ ghcVersions="8.6.5 8.8.3 8.10.1"
+ cabalVersions="3.2"
+fi
+
+if isUbuntu16 || isUbuntu18 ; then
+ # Install various versions of ghc and cabal
+ ghcVersions="8.0.2 8.2.2 8.4.4 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.10.1"
+ cabalVersions="2.0 2.2 2.4 3.0 3.2"
+fi
+
+for version in $ghcVersions; do
+ apt-get install -y ghc-$version
+done
+
+for version in $cabalVersions; do
+ apt-get install -y cabal-install-$version
+done
# Install the latest stable release of haskell stack
curl -sSL https://get.haskellstack.org/ | sh
@@ -39,14 +40,14 @@ curl -sSL https://get.haskellstack.org/ | sh
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
# Check all ghc versions
-for version in 8.0.2 8.2.2 8.4.4 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.10.1; do
+for version in $ghcVersions; do
if ! command -v /opt/ghc/$version/bin/ghc; then
echo "ghc $version was not installed"
exit 1
fi
done
# Check all cabal versions
-for version in 2.0 2.2 2.4 3.0 3.2; do
+for version in $cabalVersions; do
if ! command -v /opt/cabal/$version/bin/cabal; then
echo "cabal $version was not installed"
exit 1
@@ -59,10 +60,10 @@ fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
-for version in 2.0 2.2 2.4 3.0 3.2; do
+for version in $cabalVersions; do
DocumentInstalledItem "Haskell Cabal ($(/opt/cabal/$version/bin/cabal --version))"
done
-for version in 8.0.2 8.2.2 8.4.4 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.10.1; do
+for version in $ghcVersions; do
DocumentInstalledItem "GHC ($(/opt/ghc/$version/bin/ghc --version))"
done
DocumentInstalledItem "Haskell Stack ($(stack --version))"
diff --git a/images/linux/scripts/installers/java-tools.sh b/images/linux/scripts/installers/java-tools.sh
index c4586039..ffc57f73 100644
--- a/images/linux/scripts/installers/java-tools.sh
+++ b/images/linux/scripts/installers/java-tools.sh
@@ -6,8 +6,7 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
-
-DEFAULT_JDK_VERSION=8
+source $HELPER_SCRIPTS/os.sh
set -e
@@ -16,12 +15,24 @@ set -e
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main"
apt-get -q update
-apt-get -y install zulu-7-azure-jdk=\*
+
+if isUbuntu16 || isUbuntu18 ; then
+ apt-get -y install zulu-7-azure-jdk=\*
+ echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment
+ DEFAULT_JDK_VERSION=8
+ defaultLabel8="(default)"
+fi
+
+if isUbuntu20 ; then
+ DEFAULT_JDK_VERSION=11
+ defaultLabel11="(default)"
+fi
+
apt-get -y install zulu-8-azure-jdk=\*
apt-get -y install zulu-11-azure-jdk=\*
apt-get -y install zulu-12-azure-jdk=\*
update-java-alternatives -s /usr/lib/jvm/zulu-8-azure-amd64
-echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment
+
echo "JAVA_HOME_8_X64=/usr/lib/jvm/zulu-8-azure-amd64" | tee -a /etc/environment
echo "JAVA_HOME_11_X64=/usr/lib/jvm/zulu-11-azure-amd64" | tee -a /etc/environment
echo "JAVA_HOME_12_X64=/usr/lib/jvm/zulu-12-azure-amd64" | tee -a /etc/environment
@@ -69,9 +80,11 @@ done
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Azul Zulu OpenJDK:"
+if isUbuntu16 || isUbuntu18 ; then
DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))"
-DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1)) (default)"
-DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1))"
+fi
+DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1)) $defaultLabel8"
+DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1)) $defaultLabel11"
DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/zulu-12-azure-amd64/bin/java -showversion |& head -n 1))"
DocumentInstalledItem "Ant ($(ant -version))"
DocumentInstalledItem "Gradle ${gradleVersion}"
diff --git a/images/linux/scripts/installers/1604/mercurial.sh b/images/linux/scripts/installers/mercurial.sh
similarity index 72%
rename from images/linux/scripts/installers/1604/mercurial.sh
rename to images/linux/scripts/installers/mercurial.sh
index 584131fe..77e5bc85 100644
--- a/images/linux/scripts/installers/1604/mercurial.sh
+++ b/images/linux/scripts/installers/mercurial.sh
@@ -7,11 +7,15 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/apt.sh
+source $HELPER_SCRIPTS/os.sh
+
+if isUbuntu16 ; then
+ # Install Mercurial from the mercurial-ppa/releases repository for the latest version for Ubuntu16.
+ # https://www.mercurial-scm.org/wiki/Download
+ add-apt-repository ppa:mercurial-ppa/releases -y
+ apt-get update
+fi
-# Install Mercurial from the mercurial-ppa/releases repository for the latest version.
-# https://www.mercurial-scm.org/wiki/Download
-add-apt-repository ppa:mercurial-ppa/releases -y
-apt-get update
apt-get install -y --no-install-recommends mercurial
# Run tests to determine that the software installed as expected
diff --git a/images/linux/scripts/installers/php.sh b/images/linux/scripts/installers/php.sh
new file mode 100644
index 00000000..a63c4b71
--- /dev/null
+++ b/images/linux/scripts/installers/php.sh
@@ -0,0 +1,137 @@
+#!/bin/bash
+################################################################################
+## File: php.sh
+## Desc: Installs php
+################################################################################
+
+# Source the helpers for use with the script
+source $HELPER_SCRIPTS/etc-environment.sh
+source $HELPER_SCRIPTS/document.sh
+
+set -e
+
+# add repository
+apt-add-repository ppa:ondrej/php -y
+apt-get update
+
+# Install PHP
+if isUbuntu16 ; then
+ php_versions="5.6 7.0 7.1 7.2 7.3 7.4"
+fi
+
+if isUbuntu18 ; then
+ php_versions="7.1 7.2 7.3 7.4"
+fi
+
+if isUbuntu20 ; then
+ php_versions="7.4"
+fi
+
+for version in $php_versions; do
+ echo "Installing PHP $version"
+ apt-fast install -y --no-install-recommends \
+ php$version \
+ php$version-bcmath \
+ php$version-bz2 \
+ php$version-cgi \
+ php$version-cli \
+ php$version-common \
+ php$version-curl \
+ php$version-dba \
+ php$version-dev \
+ php$version-enchant \
+ php$version-fpm \
+ php$version-gd \
+ php$version-gmp \
+ php$version-imap \
+ php$version-interbase \
+ php$version-intl \
+ php$version-json \
+ php$version-ldap \
+ php$version-mbstring \
+ php$version-mysql \
+ php$version-odbc \
+ php$version-opcache \
+ php$version-pgsql \
+ php$version-phpdbg \
+ php$version-pspell \
+ php$version-readline \
+ php$version-snmp \
+ php$version-soap \
+ php$version-sqlite3 \
+ php$version-sybase \
+ php$version-tidy \
+ php$version-xml \
+ php$version-xmlrpc \
+ php$version-xsl \
+ php$version-zip
+
+ if [[ $version == "5.6" || $version == "7.0" || $version == "7.1" ]]; then
+ apt-fast install -y --no-install-recommends php$version-mcrypt php$version-recode
+ apt-get remove --purge -yq php$version-dev
+ fi
+
+ if [[ $version == "7.2" || $version == "7.3" ]]; then
+ apt-fast install -y --no-install-recommends php$version-recode
+ fi
+done
+
+apt-fast install -y --no-install-recommends \
+ php-amqp \
+ php-apcu \
+ php-igbinary \
+ php-memcache \
+ php-memcached \
+ php-mongodb \
+ php-redis \
+ php-xdebug \
+ php-yaml \
+ php-zmq
+
+apt-get remove --purge -yq php7.2-dev
+
+apt-fast install -y --no-install-recommends snmp
+
+# Install composer
+php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
+php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
+php composer-setup.php
+sudo mv composer.phar /usr/bin/composer
+php -r "unlink('composer-setup.php');"
+
+# Update /etc/environment
+prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin
+
+# Add composer bin folder to path
+echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc
+
+#Create composer folder for user to preserve folder permissions
+mkdir -p /etc/skel/.composer
+
+# Install phpunit (for PHP)
+wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar
+chmod +x phpunit
+mv phpunit /usr/local/bin/phpunit
+
+# Run tests to determine that the software installed as expected
+echo "Testing to make sure that script performed as expected, and basic scenarios work"
+for cmd in php $php_versions composer phpunit; do
+ if [[ $cmd =~ ^[0-9] ]]; then
+ cmd="php$cmd"
+ fi
+
+ if ! command -v $cmd; then
+ echo "$cmd was not installed"
+ exit 1
+ fi
+done
+
+# Document what was added to the image
+echo "Lastly, documenting what we added to the metadata file"
+
+for version in $php_versions; do
+ DocumentInstalledItem "PHP $version ($(php$version --version | head -n 1))"
+done;
+
+DocumentInstalledItem "Composer ($(composer --version))"
+DocumentInstalledItem "PHPUnit ($(phpunit --version))"
diff --git a/images/linux/scripts/installers/powershellcore.sh b/images/linux/scripts/installers/powershellcore.sh
index 5c615ae3..abd5d751 100644
--- a/images/linux/scripts/installers/powershellcore.sh
+++ b/images/linux/scripts/installers/powershellcore.sh
@@ -6,9 +6,16 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
+source $HELPER_SCRIPTS/os.sh
# Install Powershell
-apt-get install -y powershell
+if isUbuntu20 ; then
+ snap install powershell --classic --channel=edge/useedge
+fi
+
+if isUbuntu16 || isUbuntu18 ; then
+ apt-get install -y powershell
+fi
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
diff --git a/images/linux/scripts/installers/preimagedata.sh b/images/linux/scripts/installers/preimagedata.sh
index 91b36a9c..26be3bfa 100644
--- a/images/linux/scripts/installers/preimagedata.sh
+++ b/images/linux/scripts/installers/preimagedata.sh
@@ -6,6 +6,10 @@ os_name=$(lsb_release -ds | sed "s/ /\\\n/g")
image_label="ubuntu-$(lsb_release -rs)"
github_url="https://github.com/actions/virtual-environments/blob"
+if [[ "$image_label" =~ "ubuntu-20" ]]; then
+ software_url="${github_url}/ubuntu20/${image_version}/images/linux/Ubuntu2004-README.md"
+fi
+
if [[ "$image_label" =~ "ubuntu-18" ]]; then
software_url="${github_url}/ubuntu18/${image_version}/images/linux/Ubuntu1804-README.md"
fi
diff --git a/images/linux/scripts/installers/1604/preparemetadata.sh b/images/linux/scripts/installers/preparemetadata.sh
similarity index 100%
rename from images/linux/scripts/installers/1604/preparemetadata.sh
rename to images/linux/scripts/installers/preparemetadata.sh
diff --git a/images/linux/scripts/installers/pypy.sh b/images/linux/scripts/installers/pypy.sh
index d6e36a28..117a927b 100644
--- a/images/linux/scripts/installers/pypy.sh
+++ b/images/linux/scripts/installers/pypy.sh
@@ -7,9 +7,6 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
-# Fail out if any setups fail
-set -e
-
# This function installs PyPy using the specified arguments:
# $1=PACKAGE_URL
function InstallPyPy
@@ -75,7 +72,21 @@ function InstallPyPy
function getPyPyVersions
{
uri="https://downloads.python.org/pypy/"
- wget -q -O - $uri | gunzip -c | grep 'linux64' | awk -v uri="$uri" -F'>|<' '{print uri$5}'
+ i=20
+
+ while [ $i -gt 0 ]; do
+ ((i--))
+ result="$(curl -4 -s --compressed $uri | grep 'linux64' | awk -v uri="$uri" -F'>|<' '{print uri$5}')"
+ if [ -z "$result" ]; then
+ sleep 30
+ else
+ echo "$result"
+ return
+ fi
+ done
+
+ echo "There are no more attempts to retrive PyPy version"
+ exit 1
}
# Installation PyPy
@@ -83,6 +94,9 @@ pypyVersions=$(getPyPyVersions)
toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json"
toolsetVersions=$(cat $toolsetJson | jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]')
+# Fail out if any setups fail
+set -e
+
for toolsetVersion in $toolsetVersions; do
latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1)
diff --git a/images/linux/scripts/installers/python.sh b/images/linux/scripts/installers/python.sh
index e23d7c0e..7081c5e7 100644
--- a/images/linux/scripts/installers/python.sh
+++ b/images/linux/scripts/installers/python.sh
@@ -6,9 +6,19 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
+source $HELPER_SCRIPTS/os.sh
# Install Python, Python 3, pip, pip3
-apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip
+if isUbuntu20 ; then
+ apt-get install -y --no-install-recommends python3 python3-dev python3-pip
+
+ curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py
+ python2 get-pip.py
+fi
+
+if isUbuntu16 || isUbuntu18 ; then
+ apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip
+fi
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
diff --git a/images/linux/scripts/installers/rust.sh b/images/linux/scripts/installers/rust.sh
index c3f0ae94..605bce11 100644
--- a/images/linux/scripts/installers/rust.sh
+++ b/images/linux/scripts/installers/rust.sh
@@ -32,6 +32,9 @@ for cmd in rustup rustc rustdoc cargo rustfmt cargo-clippy bindgen cbindgen; do
fi
done
+# Cleanup Cargo cache
+rm -rf "${CARGO_HOME}/registry/*"
+
# Update /etc/environemnt
prependEtcEnvironmentPath "${CARGO_HOME}/bin"
diff --git a/images/linux/scripts/installers/validate-disk-space.sh b/images/linux/scripts/installers/validate-disk-space.sh
index ffe366c7..49863064 100644
--- a/images/linux/scripts/installers/validate-disk-space.sh
+++ b/images/linux/scripts/installers/validate-disk-space.sh
@@ -5,7 +5,7 @@
################################################################################
availableSpaceMB=$(df / -hm | sed 1d | awk '{ print $4}')
-minimumFreeSpaceMB=17800
+minimumFreeSpaceMB=16000
echo "Available disk space: $availableSpaceMB MB"
diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json
index a493a330..09e7083d 100644
--- a/images/linux/ubuntu1604.json
+++ b/images/linux/ubuntu1604.json
@@ -102,7 +102,7 @@
{
"type": "shell",
"scripts":[
- "{{template_dir}}/scripts/installers/1604/preparemetadata.sh"
+ "{{template_dir}}/scripts/installers/preparemetadata.sh"
],
"environment_vars": [
"IMAGE_VERSION={{user `image_version`}}",
@@ -197,6 +197,7 @@
"{{template_dir}}/scripts/installers/gcc.sh",
"{{template_dir}}/scripts/installers/gfortran.sh",
"{{template_dir}}/scripts/installers/git.sh",
+ "{{template_dir}}/scripts/installers/github-cli.sh",
"{{template_dir}}/scripts/installers/google-chrome.sh",
"{{template_dir}}/scripts/installers/google-cloud-sdk.sh",
"{{template_dir}}/scripts/installers/haskell.sh",
@@ -207,14 +208,14 @@
"{{template_dir}}/scripts/installers/kind.sh",
"{{template_dir}}/scripts/installers/kubernetes-tools.sh",
"{{template_dir}}/scripts/installers/leiningen.sh",
- "{{template_dir}}/scripts/installers/1604/mercurial.sh",
+ "{{template_dir}}/scripts/installers/mercurial.sh",
"{{template_dir}}/scripts/installers/miniconda.sh",
"{{template_dir}}/scripts/installers/mono.sh",
"{{template_dir}}/scripts/installers/mysql.sh",
"{{template_dir}}/scripts/installers/nodejs.sh",
"{{template_dir}}/scripts/installers/bazel.sh",
"{{template_dir}}/scripts/installers/phantomjs.sh",
- "{{template_dir}}/scripts/installers/1604/php.sh",
+ "{{template_dir}}/scripts/installers/php.sh",
"{{template_dir}}/scripts/installers/pollinate.sh",
"{{template_dir}}/scripts/installers/postgresql.sh",
"{{template_dir}}/scripts/installers/powershellcore.sh",
diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json
index 89a024d3..d20432b5 100644
--- a/images/linux/ubuntu1804.json
+++ b/images/linux/ubuntu1804.json
@@ -105,7 +105,7 @@
{
"type": "shell",
"scripts":[
- "{{template_dir}}/scripts/installers/1804/preparemetadata.sh"
+ "{{template_dir}}/scripts/installers/preparemetadata.sh"
],
"environment_vars": [
"IMAGE_VERSION={{user `image_version`}}",
@@ -184,7 +184,7 @@
"{{template_dir}}/scripts/installers/azcopy.sh",
"{{template_dir}}/scripts/installers/azure-cli.sh",
"{{template_dir}}/scripts/installers/azure-devops-cli.sh",
- "{{template_dir}}/scripts/installers/1804/basic.sh",
+ "{{template_dir}}/scripts/installers/basic.sh",
"{{template_dir}}/scripts/installers/aliyun-cli.sh",
"{{template_dir}}/scripts/installers/aws.sh",
"{{template_dir}}/scripts/installers/build-essential.sh",
@@ -200,6 +200,7 @@
"{{template_dir}}/scripts/installers/gcc.sh",
"{{template_dir}}/scripts/installers/gfortran.sh",
"{{template_dir}}/scripts/installers/git.sh",
+ "{{template_dir}}/scripts/installers/github-cli.sh",
"{{template_dir}}/scripts/installers/google-chrome.sh",
"{{template_dir}}/scripts/installers/google-cloud-sdk.sh",
"{{template_dir}}/scripts/installers/haskell.sh",
@@ -210,7 +211,7 @@
"{{template_dir}}/scripts/installers/kind.sh",
"{{template_dir}}/scripts/installers/kubernetes-tools.sh",
"{{template_dir}}/scripts/installers/leiningen.sh",
- "{{template_dir}}/scripts/installers/1804/mercurial.sh",
+ "{{template_dir}}/scripts/installers/mercurial.sh",
"{{template_dir}}/scripts/installers/miniconda.sh",
"{{template_dir}}/scripts/installers/mono.sh",
"{{template_dir}}/scripts/installers/mysql.sh",
@@ -218,7 +219,7 @@
"{{template_dir}}/scripts/installers/nodejs.sh",
"{{template_dir}}/scripts/installers/bazel.sh",
"{{template_dir}}/scripts/installers/phantomjs.sh",
- "{{template_dir}}/scripts/installers/1804/php.sh",
+ "{{template_dir}}/scripts/installers/php.sh",
"{{template_dir}}/scripts/installers/pollinate.sh",
"{{template_dir}}/scripts/installers/postgresql.sh",
"{{template_dir}}/scripts/installers/powershellcore.sh",
diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json
new file mode 100644
index 00000000..16852639
--- /dev/null
+++ b/images/linux/ubuntu2004.json
@@ -0,0 +1,337 @@
+{
+ "variables": {
+ "commit_url": "{{env `COMMIT_URL`}}",
+ "client_id": "{{env `ARM_CLIENT_ID`}}",
+ "client_secret": "{{env `ARM_CLIENT_SECRET`}}",
+ "subscription_id": "{{env `ARM_SUBSCRIPTION_ID`}}",
+ "tenant_id": "{{env `ARM_TENANT_ID`}}",
+ "resource_group": "{{env `ARM_RESOURCE_GROUP`}}",
+ "storage_account": "{{env `ARM_STORAGE_ACCOUNT`}}",
+ "temp_resource_group_name": "{{env `TEMP_RESOURCE_GROUP_NAME`}}",
+ "location": "{{env `ARM_RESOURCE_LOCATION`}}",
+ "virtual_network_name": "{{env `VNET_NAME`}}",
+ "virtual_network_resource_group_name": "{{env `VNET_RESOURCE_GROUP`}}",
+ "virtual_network_subnet_name": "{{env `VNET_SUBNET`}}",
+ "private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
+ "image_folder": "/imagegeneration",
+ "commit_file": "/imagegeneration/commit.txt",
+ "imagedata_file": "/imagegeneration/imagedata.json",
+ "metadata_file": "/imagegeneration/metadatafile",
+ "installer_script_folder": "/imagegeneration/installers",
+ "helper_script_folder": "/imagegeneration/helpers",
+ "vm_size": "Standard_DS2_v2",
+ "capture_name_prefix": "packer",
+ "image_version": "dev",
+ "image_os": "ubuntu20",
+ "github_feed_token": null,
+ "run_validation_diskspace": "false",
+ "go_default": "1.14",
+ "go_versions": "1.14"
+ },
+ "sensitive-variables": ["client_secret", "github_feed_token"],
+ "builders": [
+ {
+ "type": "azure-arm",
+ "client_id": "{{user `client_id`}}",
+ "client_secret": "{{user `client_secret`}}",
+ "subscription_id": "{{user `subscription_id`}}",
+ "tenant_id": "{{user `tenant_id`}}",
+
+ "location": "{{user `location`}}",
+ "vm_size": "{{user `vm_size`}}",
+ "resource_group_name": "{{user `resource_group`}}",
+ "storage_account": "{{user `storage_account`}}",
+ "temp_resource_group_name": "{{user `temp_resource_group_name`}}",
+ "capture_container_name": "images",
+ "capture_name_prefix": "{{user `capture_name_prefix`}}",
+ "virtual_network_name": "{{user `virtual_network_name`}}",
+ "virtual_network_resource_group_name": "{{user `virtual_network_resource_group_name`}}",
+ "virtual_network_subnet_name": "{{user `virtual_network_subnet_name`}}",
+ "private_virtual_network_with_public_ip": "{{user `private_virtual_network_with_public_ip`}}",
+ "os_type": "Linux",
+ "image_publisher": "canonical",
+ "image_offer": "0001-com-ubuntu-server-focal",
+ "image_sku": "20_04-lts",
+ "os_disk_size_gb": "86"
+ }
+ ],
+ "provisioners": [
+ {
+ "type": "shell",
+ "inline": [
+ "mkdir {{user `image_folder`}}",
+ "chmod 777 {{user `image_folder`}}",
+ "echo {{user `commit_url`}} > {{user `commit_file`}}",
+ "chmod +r {{user `commit_file`}}"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "scripts":[
+ "{{template_dir}}/scripts/base/repos.sh"
+ ],
+ "environment_vars": [
+ "DEBIAN_FRONTEND=noninteractive"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "inline": [
+ "apt-get update",
+ "apt-get dist-upgrade -y",
+ "systemctl disable apt-daily.service",
+ "systemctl disable apt-daily.timer",
+ "systemctl disable apt-daily-upgrade.timer",
+ "systemctl disable apt-daily-upgrade.service",
+ "echo '* soft nofile 65536 \n* hard nofile 65536' >> /etc/security/limits.conf",
+ "echo 'session required pam_limits.so' >> /etc/pam.d/common-session",
+ "echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive",
+ "echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "file",
+ "source": "{{template_dir}}/scripts/helpers",
+ "destination": "{{user `helper_script_folder`}}"
+ },
+ {
+ "type": "file",
+ "source": "{{template_dir}}/scripts/installers",
+ "destination": "{{user `installer_script_folder`}}"
+ },
+ {
+ "type": "shell",
+ "scripts":[
+ "{{template_dir}}/scripts/installers/preparemetadata.sh"
+ ],
+ "environment_vars": [
+ "IMAGE_VERSION={{user `image_version`}}",
+ "METADATA_FILE={{user `metadata_file`}}",
+ "HELPER_SCRIPTS={{user `helper_script_folder`}}"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "scripts":[
+ "{{template_dir}}/scripts/installers/preimagedata.sh"
+ ],
+ "environment_vars": [
+ "IMAGE_VERSION={{user `image_version`}}",
+ "IMAGEDATA_FILE={{user `imagedata_file`}}"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "scripts": [
+ "{{template_dir}}/scripts/installers/configure-environment.sh"
+ ],
+ "environment_vars": [
+ "IMAGE_VERSION={{user `image_version`}}",
+ "IMAGE_OS={{user `image_os`}}"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "scripts": [
+ "{{template_dir}}/scripts/installers/complete-snap-setup.sh"
+ ],
+ "environment_vars": [
+ "HELPER_SCRIPTS={{user `helper_script_folder`}}"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "scripts": [
+ "{{template_dir}}/scripts/installers/homebrew.sh"
+ ],
+ "environment_vars": [
+ "METADATA_FILE={{user `metadata_file`}}",
+ "HELPER_SCRIPTS={{user `helper_script_folder`}}",
+ "DEBIAN_FRONTEND=noninteractive"
+ ],
+ "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "expect_disconnect": true,
+ "scripts": [
+ "{{template_dir}}/scripts/base/reboot.sh"
+ ],
+ "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "pause_before": "30s",
+ "timeout": "10m",
+ "start_retry_timeout": "10s",
+ "scripts": [
+ "{{template_dir}}/scripts/installers/homebrew-validate.sh"
+ ],
+ "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "scripts": [
+ "{{template_dir}}/scripts/installers/7-zip.sh",
+ "{{template_dir}}/scripts/installers/ansible.sh",
+ "{{template_dir}}/scripts/installers/azcopy.sh",
+ "{{template_dir}}/scripts/installers/azure-cli.sh",
+ "{{template_dir}}/scripts/installers/azure-devops-cli.sh",
+ "{{template_dir}}/scripts/installers/basic.sh",
+ "{{template_dir}}/scripts/installers/aliyun-cli.sh",
+ "{{template_dir}}/scripts/installers/aws.sh",
+ "{{template_dir}}/scripts/installers/build-essential.sh",
+ "{{template_dir}}/scripts/installers/clang.sh",
+ "{{template_dir}}/scripts/installers/swift.sh",
+ "{{template_dir}}/scripts/installers/cmake.sh",
+ "{{template_dir}}/scripts/installers/2004/containers.sh",
+ "{{template_dir}}/scripts/installers/docker-compose.sh",
+ "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
+ "{{template_dir}}/scripts/installers/erlang.sh",
+ "{{template_dir}}/scripts/installers/firefox.sh",
+ "{{template_dir}}/scripts/installers/gcc.sh",
+ "{{template_dir}}/scripts/installers/gfortran.sh",
+ "{{template_dir}}/scripts/installers/git.sh",
+ "{{template_dir}}/scripts/installers/google-chrome.sh",
+ "{{template_dir}}/scripts/installers/google-cloud-sdk.sh",
+ "{{template_dir}}/scripts/installers/haskell.sh",
+ "{{template_dir}}/scripts/installers/heroku.sh",
+ "{{template_dir}}/scripts/installers/hhvm.sh",
+ "{{template_dir}}/scripts/installers/image-magick.sh",
+ "{{template_dir}}/scripts/installers/java-tools.sh",
+ "{{template_dir}}/scripts/installers/kind.sh",
+ "{{template_dir}}/scripts/installers/kubernetes-tools.sh",
+ "{{template_dir}}/scripts/installers/leiningen.sh",
+ "{{template_dir}}/scripts/installers/mercurial.sh",
+ "{{template_dir}}/scripts/installers/miniconda.sh",
+ "{{template_dir}}/scripts/installers/mono.sh",
+ "{{template_dir}}/scripts/installers/mysql.sh",
+ "{{template_dir}}/scripts/installers/nvm.sh",
+ "{{template_dir}}/scripts/installers/nodejs.sh",
+ "{{template_dir}}/scripts/installers/bazel.sh",
+ "{{template_dir}}/scripts/installers/phantomjs.sh",
+ "{{template_dir}}/scripts/installers/php.sh",
+ "{{template_dir}}/scripts/installers/pollinate.sh",
+ "{{template_dir}}/scripts/installers/postgresql.sh",
+ "{{template_dir}}/scripts/installers/powershellcore.sh",
+ "{{template_dir}}/scripts/installers/ruby.sh",
+ "{{template_dir}}/scripts/installers/rust.sh",
+ "{{template_dir}}/scripts/installers/julia.sh",
+ "{{template_dir}}/scripts/installers/selenium.sh",
+ "{{template_dir}}/scripts/installers/sphinx.sh",
+ "{{template_dir}}/scripts/installers/subversion.sh",
+ "{{template_dir}}/scripts/installers/terraform.sh",
+ "{{template_dir}}/scripts/installers/packer.sh",
+ "{{template_dir}}/scripts/installers/vcpkg.sh",
+ "{{template_dir}}/scripts/installers/zeit-now.sh",
+ "{{template_dir}}/scripts/installers/dpkg-config.sh",
+ "{{template_dir}}/scripts/installers/rndgenerator.sh"
+ ],
+ "environment_vars": [
+ "METADATA_FILE={{user `metadata_file`}}",
+ "HELPER_SCRIPTS={{user `helper_script_folder`}}",
+ "DEBIAN_FRONTEND=noninteractive"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "scripts": [
+ "{{template_dir}}/scripts/installers/aws-sam-cli.sh"
+ ],
+ "environment_vars": [
+ "METADATA_FILE={{user `metadata_file`}}",
+ "HELPER_SCRIPTS={{user `helper_script_folder`}}",
+ "DEBIAN_FRONTEND=noninteractive"
+ ],
+ "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "scripts": [
+ "{{template_dir}}/scripts/installers/go.sh"
+ ],
+ "environment_vars": [
+ "METADATA_FILE={{user `metadata_file`}}",
+ "HELPER_SCRIPTS={{user `helper_script_folder`}}",
+ "GO_VERSIONS={{user `go_versions`}}",
+ "GO_DEFAULT={{user `go_default`}}"
+ ],
+ "execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
+ },
+ {
+ "type": "shell",
+ "scripts":[
+ "{{template_dir}}/scripts/installers/2004/android.sh",
+ "{{template_dir}}/scripts/installers/azpowershell.sh",
+ "{{template_dir}}/scripts/installers/python.sh"
+ ],
+ "environment_vars": [
+ "METADATA_FILE={{user `metadata_file`}}",
+ "HELPER_SCRIPTS={{user `helper_script_folder`}}",
+ "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
+ "GITHUB_FEED_TOKEN={{user `github_feed_token`}}"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "scripts":[
+ "{{template_dir}}/scripts/installers/cleanup.sh"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "file",
+ "source": "{{user `metadata_file`}}",
+ "destination": "{{template_dir}}/Ubuntu2004-README.md",
+ "direction": "download"
+ },
+ {
+ "type": "shell",
+ "scripts":[
+ "{{template_dir}}/scripts/installers/validate-disk-space.sh"
+ ],
+ "environment_vars": [
+ "RUN_VALIDATION={{user `run_validation_diskspace`}}"
+ ]
+ },
+ {
+ "type": "shell",
+ "inline": [
+ "rm -rf {{user `helper_script_folder`}}",
+ "rm -rf {{user `installer_script_folder`}}",
+ "chmod 755 {{user `image_folder`}}"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "file",
+ "source": "{{template_dir}}/config/ubuntu2004.conf",
+ "destination": "/tmp/"
+ },
+ {
+ "type": "shell",
+ "inline": [
+ "mkdir -p /etc/vsts",
+ "cp /tmp/ubuntu2004.conf /etc/vsts/machine_instance.conf"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ },
+ {
+ "type": "shell",
+ "inline": [
+ "sleep 30",
+ "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync"
+ ],
+ "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
+ }
+ ]
+}
diff --git a/images/macos/macos-10.15-Readme.md b/images/macos/macos-10.15-Readme.md
index 58384493..5562427c 100644
--- a/images/macos/macos-10.15-Readme.md
+++ b/images/macos/macos-10.15-Readme.md
@@ -2,7 +2,7 @@
- System Version: macOS 10.15.4 (19E287)
- Kernel Version: Darwin 19.4.0
- System Integrity Protection: Enabled
-- Image Version: 20200507.1
+- Image Version: 20200518.2
## Installed Software
### Language and Runtime
@@ -21,13 +21,13 @@
- Node.js v12.16.3
- NVM 0.35.3
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.20.1 v12.16.3 v13.14.0 v14.2.0
-- PowerShell 7.0.0
+- PowerShell 7.0.1
- Python 2.7.17
- Python 3.7.7
- Ruby 2.6.6p146
-- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 3.1.201
-- Go 1.14.2
-- PHP 7.4.5
+- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 3.1.201 3.1.202
+- Go 1.14.3
+- PHP 7.4.6
- julia 1.4.1
### Package Management
@@ -36,7 +36,7 @@
- Bundler version 2.1.4
- Carthage 0.34.0
- CocoaPods 1.9.1
-- Homebrew 2.2.15
+- Homebrew 2.2.17
- NPM 6.14.4
- Yarn 1.22.4
- NuGet 5.5.0.6382
@@ -47,48 +47,51 @@
### Project Management
- Apache Maven 3.6.3
-- Gradle 6.4
+- Gradle 6.4.1
### Utilities
- Curl 7.70.0
- Git: 2.26.2
-- Git LFS: 2.10.0
+- Git LFS: 2.11.0
+- GitHub CLI: 0.8.0
- Hub CLI: 2.14.2
- GNU Wget 1.20.3
- Subversion (SVN) 1.13.0
- Packer 1.5.6
- GNU parallel 20200422
-- OpenSSL 1.0.2t 10 Sep 2019
+- OpenSSL 1.0.2t 10 Sep 2019 `(/usr/local/opt/openssl -> /usr/local/Cellar/openssl/1.0.2t)`
- jq 1.6
- gpg (GnuPG) 2.2.20
-- psql (PostgreSQL) 12.2
-- PostgreSQL 12.2
+- psql (PostgreSQL) 12.3
+- PostgreSQL 12.3
- aria2 1.35.0
- azcopy 10.4.3
- zstd 1.4.4
- bazel 3.1.0
- bazelisk v1.4.0
-- helm v3.2.0+ge11b7ce
-- virtualbox 6.1.6r137129
-- Vagrant 2.2.8
+- helm v3.2.1+gfe51cd1
+- virtualbox 6.1.8r137981
+- mongo v4.2.6
+- mongod v4.2.6
+- Vagrant 2.2.9
### Tools
-- Fastlane 2.146.1
+- Fastlane 2.148.1
- Cmake 3.17.2
-- App Center CLI 2.5.1
+- App Center CLI 2.5.2
- Azure CLI 2.5.1
- AWS CLI 2.0.10
-- AWS SAM CLI 0.48.0
-- Aliyun CLI 3.0.39
+- AWS SAM CLI 0.49.0
+- Aliyun CLI 3.0.42
### Browsers
- Safari 13.1 (15609.1.20.111.8)
- SafariDriver 13.1 (15609.1.20.111.8)
-- Google Chrome 81.0.4044.138
+- Google Chrome 81.0.4044.138
- ChromeDriver 81.0.4044.138
-- Microsoft Edge 81.0.416.68
-- MSEdgeDriver 81.0.416.68
-- Mozilla Firefox 76.0
+- Microsoft Edge 81.0.416.72
+- MSEdgeDriver 81.0.416.72
+- Mozilla Firefox 76.0.1
- geckodriver 0.26.0
### Toolcache
@@ -103,7 +106,7 @@
- 3.5.9
- 3.6.10
- 3.7.7
-- 3.8.2
+- 3.8.3
#### PyPy
- 2.7.17
@@ -145,18 +148,16 @@
- NUnit 3.6.1
### Xcode
-| Version | Build | Path |
-| ---------------- | ------- | --------------------------------- |
-| 11.5 (beta) | 11N605f | /Applications/Xcode_11.5_beta.app |
-| 11.4.1 (default) | 11E503a | /Applications/Xcode_11.4.1.app |
-| 11.4 | 11E146 | /Applications/Xcode_11.4.app |
-| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app |
-| 11.3 | 11C29 | /Applications/Xcode_11.3.app |
-| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
-| 11.2 | 11B52 | /Applications/Xcode_11.2.app |
-| 11.1 | 11A1027 | /Applications/Xcode_11.1.app |
-| 11.0 | 11A420a | /Applications/Xcode_11.app |
-| 10.3 | 10G8 | /Applications/Xcode_10.3.app |
+| Version | Build | Path |
+| ---------------- | ------- | ------------------------------ |
+| 11.5 | 11E608c | /Applications/Xcode_11.5.app |
+| 11.4.1 (default) | 11E503a | /Applications/Xcode_11.4.1.app |
+| 11.4 | 11E146 | /Applications/Xcode_11.4.app |
+| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app |
+| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
+| 11.1 | 11A1027 | /Applications/Xcode_11.1.app |
+| 11.0 | 11A420a | /Applications/Xcode_11.app |
+| 10.3 | 10G8 | /Applications/Xcode_10.3.app |
#### Xcode Support Tools
- Nomad CLI 3.1.3
@@ -166,59 +167,59 @@
- xcversion 2.6.4
#### Installed SDKs
-| SDK | SDK Name | Xcode Version |
-| ----------------------- | -------------------- | ---------------------------------------------------------- |
-| macOS 10.14 | macosx10.14 | 10.3 |
-| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4, 11.4.1, 11.5 |
-| iOS 12.4 | iphoneos12.4 | 10.3 |
-| iOS 13.0 | iphoneos13.0 | 11.0 |
-| iOS 13.1 | iphoneos13.1 | 11.1 |
-| iOS 13.2 | iphoneos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
-| iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 |
-| iOS 13.5 | iphoneos13.5 | 11.5 |
-| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 |
-| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 |
-| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 |
-| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
-| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 |
-| Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 |
-| tvOS 12.4 | appletvos12.4 | 10.3 |
-| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
-| tvOS 13.2 | appletvos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
-| tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5 |
-| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 |
-| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 |
-| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
-| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5 |
-| watchOS 5.3 | watchos5.3 | 10.3 |
-| watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
-| watchOS 6.1 | watchos6.1 | 11.2, 11.2.1, 11.3, 11.3.1 |
-| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5 |
-| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 |
-| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 |
-| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2, 11.2.1, 11.3, 11.3.1 |
-| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5 |
-| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4, 11.4.1, 11.5 |
+| SDK | SDK Name | Xcode Version |
+| ----------------------- | -------------------- | ---------------------------------------------- |
+| macOS 10.14 | macosx10.14 | 10.3 |
+| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5 |
+| iOS 12.4 | iphoneos12.4 | 10.3 |
+| iOS 13.0 | iphoneos13.0 | 11.0 |
+| iOS 13.1 | iphoneos13.1 | 11.1 |
+| iOS 13.2 | iphoneos13.2 | 11.2.1, 11.3.1 |
+| iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 |
+| iOS 13.5 | iphoneos13.5 | 11.5 |
+| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 |
+| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 |
+| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 |
+| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2.1, 11.3.1 |
+| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 |
+| Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 |
+| tvOS 12.4 | appletvos12.4 | 10.3 |
+| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
+| tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.1 |
+| tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5 |
+| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 |
+| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 |
+| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2.1, 11.3.1 |
+| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5 |
+| watchOS 5.3 | watchos5.3 | 10.3 |
+| watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
+| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.1 |
+| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5 |
+| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 |
+| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 |
+| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2.1, 11.3.1 |
+| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5 |
+| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5 |
#### Installed Simulators
-| OS | Xcode Version | Simulators |
-| ----------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| iOS 12.4 | 10.3 | iPhone 5s
iPhone 6 Plus
iPhone 6
iPhone 6s
iPhone 6s Plus
iPhone SE
iPhone 7
iPhone 7 Plus
iPhone 8
iPhone 8 Plus
iPhone X
iPhone Xs
iPhone Xs Max
iPhone Xʀ
iPad Air
iPad Air 2
iPad Pro (9.7-inch)
iPad Pro (12.9-inch)
iPad (5th generation)
iPad Pro (12.9-inch) (2nd generation)
iPad Pro (10.5-inch)
iPad (6th generation)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
-| iOS 13.0 | 11.0 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
-| iOS 13.1 | 11.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
-| iOS 13.2 | 11.2
11.2.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
-| iOS 13.3 | 11.3
11.3.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
-| iOS 13.4 | 11.4
11.4.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (2nd generation)
iPad Pro (9.7-inch)
iPad (7th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Air (3rd generation) |
-| iOS 13.5 | 11.5 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (2nd generation)
iPad Pro (9.7-inch)
iPad (7th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Air (3rd generation) |
-| tvOS 12.4 | 10.3 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
-| tvOS 13.0 | 11.0
11.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
-| tvOS 13.2 | 11.2
11.2.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
-| tvOS 13.3 | 11.3
11.3.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
-| tvOS 13.4 | 11.4
11.4.1
11.5 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
-| watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm
Apple Watch Series 2 - 42mm
Apple Watch Series 3 - 38mm
Apple Watch Series 3 - 42mm
Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm |
-| watchOS 6.0 | 11.0
11.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
-| watchOS 6.1 | 11.2
11.2.1
11.3
11.3.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
-| watchOS 6.2 | 11.4
11.4.1
11.5 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
+| OS | Xcode Version | Simulators |
+| ----------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| iOS 12.4 | 10.3 | iPhone 5s
iPhone 6 Plus
iPhone 6
iPhone 6s
iPhone 6s Plus
iPhone SE
iPhone 7
iPhone 7 Plus
iPhone 8
iPhone 8 Plus
iPhone X
iPhone Xs
iPhone Xs Max
iPhone Xʀ
iPad Air
iPad Air 2
iPad Pro (9.7-inch)
iPad Pro (12.9-inch)
iPad (5th generation)
iPad Pro (12.9-inch) (2nd generation)
iPad Pro (10.5-inch)
iPad (6th generation)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
+| iOS 13.0 | 11.0 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
+| iOS 13.1 | 11.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
+| iOS 13.2 | 11.2.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
+| iOS 13.3 | 11.3.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad Pro (11-inch)
iPad Pro (12.9-inch) (3rd generation)
iPad Air (3rd generation) |
+| iOS 13.4 | 11.4
11.4.1 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPad Pro (9.7-inch)
iPad (7th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Air (3rd generation)
iPhone SE (2nd generation) |
+| iOS 13.5 | 11.5 | iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (2nd generation)
iPad Pro (9.7-inch)
iPad (7th generation)
iPad Pro (11-inch) (2nd generation)
iPad Pro (12.9-inch) (4th generation)
iPad Air (3rd generation) |
+| tvOS 12.4 | 10.3 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
+| tvOS 13.0 | 11.0
11.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
+| tvOS 13.2 | 11.2.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
+| tvOS 13.3 | 11.3.1 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
+| tvOS 13.4 | 11.4
11.4.1
11.5 | Apple TV
Apple TV 4K
Apple TV 4K (at 1080p) |
+| watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm
Apple Watch Series 2 - 42mm
Apple Watch Series 3 - 38mm
Apple Watch Series 3 - 42mm
Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm |
+| watchOS 6.0 | 11.0
11.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
+| watchOS 6.1 | 11.2.1
11.3.1 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
+| watchOS 6.2 | 11.4
11.4.1
11.5 | Apple Watch Series 4 - 40mm
Apple Watch Series 4 - 44mm
Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm |
### Android
#### Android SDK Tools
@@ -270,12 +271,18 @@
| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 |
| build-tools-30.0.0-rc4 | Android SDK Build-Tools, Revision 30.0.0 rc4 |
+#### Android NDKs
+| Version | Path |
+| ------------ | ------------------------------------------ |
+| 15.2.4203891 | $HOME/Library/Android/sdk/android-ndk-r15c |
+| 18.1.5063045 | $HOME/Library/Android/sdk/ndk/18.1.5063045 |
+| 21.1.6352462 | $HOME/Library/Android/sdk/ndk-bundle |
+
#### Android Utils
-| Package Name | Version |
-| ---------------- | ------------ |
-| cmake | 3.6.4111459 |
-| ndk-bundle | 21.1.6352462 |
-| Android Emulator | 30.0.5 |
+| Package Name | Version |
+| ---------------- | ----------- |
+| cmake | 3.6.4111459 |
+| Android Emulator | 30.0.12 |
#### Android Google APIs
| Package Name | Description |
diff --git a/images/win/Windows2016-Readme.md b/images/win/Windows2016-Readme.md
index 6f6ac6d8..ea7fbb5e 100644
--- a/images/win/Windows2016-Readme.md
+++ b/images/win/Windows2016-Readme.md
@@ -1,7 +1,7 @@
# Windows Server 2016
-The following software is installed on machines with the 20200505.1 update.
+The following software is installed on machines with the 20200517.1 update.
Components marked with **\*** have been upgraded since the previous version of the image.
@@ -26,26 +26,26 @@ _Environment:_
## Helm
-_Version:_ v3.2.0+ge11b7ce
+_Version:_ v3.2.1+gfe51cd1
_Environment:_
* PATH: contains location of helm
## Powershell Core
-_Version:_ 7.0.0
+_Version:_ 7.0.1
## Docker images
The following container images have been cached:
-* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:4610dbc0e9f033247b336ebf62b2c690dc9e93de5c937b4660aad52847123086)
-* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:888f36a9fa4ccd409967426f1a731ab6112a8acc36459268471fccd0e67e5326)
-* mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:f4c4f31c7ee654e73bd130b89e6ad5a659f5ede52fd9eb653c9db4aa12f6e0ea)
+* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:f94f291d29e62d8569633b332d7e7697c7d9801475175d77a40676750452a0c4)
+* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:e430d0477c99e480bd849ee22c0e3265c9c0ebcfc914cf90a05c47abedc3c82d)
+* mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:6611aae4ad3de2eb6db8f9893dad4aa04282ec47e68a6e7161325e1de2cfe5eb)
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
* mcr.microsoft.com/windows/nanoserver:10.0.14393.953 (Digest: sha256:fc60bd5ae0e61b334ce1cf1bcbf20c10c36b4c5482a01da319c9c989f9e6e268)
## Visual Studio 2017 Enterprise
-_Version:_ VisualStudio/15.9.22+28307.1093
+_Version:_ VisualStudio/15.9.23+28307.1146
_Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise
The following workloads including required and recommended components are installed with Visual Studio 2017:
@@ -178,7 +178,7 @@ _Version:_ 1.1.1809.18001
## AWS CLI
-_Version:_ aws-cli 2.0.10
+_Version:_ aws-cli 2.0.14
## Android SDK Build Tools
@@ -439,12 +439,21 @@ _Environment:_
## AWS SAM CLI
-_Version:_ 0.48.0
+_Version:_ 0.49.0
## Azure DevOps Cli extension
_Version:_ azure-devops 0.18.0
+## MSYS2
+
+_Tool versions_
+_pacman:_ 5.2.1
+_bash:_ 4.4.23
+_gcc:_ 10.1.0
+_tar:_ 1.32
+MSYS2 location: C:\msys64
+
## PyPy
_Version:_ 2.7.13 (x86)
_Version:_ 3.6.9 (x86)
@@ -455,11 +464,15 @@ _Version:_ 2.4.10 (x64)
_Version:_ 2.5.8 (x64)
_Version:_ 2.6.6 (x64)
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.2
__System default version:__ Python 3.7.7
_Environment:_
* Location: C:\hostedtoolcache\windows\Python\3.7.7\x64
* PATH: contains the location of Python 3.7.7
+_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.3
__System default version:__ Python 3.7.7
_Environment:_
* Location: C:\hostedtoolcache\windows\Python\3.7.7\x64
* PATH: contains the location of Python 3.7.7
## Python (x86)
-_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.2
+_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.3
+
+## node (x64)
+
+_Version:_ 8.17.0
_Version:_ 10.20.1
_Version:_ 12.16.3
_Version:_ 14.2.0
## OpenSSL
@@ -506,6 +519,10 @@ _Environment:_
#### _Notes:_
+
+> `BOOST_ROOT` is not set on images but it is required by CMake. Please make sure you set this variable
+> value to either `BOOST_ROOT_1_69_0` or `BOOST_ROOT_1_72_0` depending on the Boost version you are using.
+
Link: https://cmake.org/cmake/help/latest/module/FindBoost.html
If Boost was built using the `boost-cmake` project or from `Boost 1.70.0` on it provides a package
@@ -519,11 +536,11 @@ Set `Boost_NO_BOOST_CMAKE to ON`, to disable the search for boost-cmake.
## Composer
-#### Composer version 1.10.5 2020-04-10 11:44:22
+#### Composer version 1.10.6 2020-05-06 10:28:10
_Environment:_
-* PATH: contains the location of composer.exe version Composer version 1.10.5 2020-04-10 11:44:22
-* PHPROOT: root directory of the Composer Composer version 1.10.5 2020-04-10 11:44:22 installation
+* PATH: contains the location of composer.exe version Composer version 1.10.6 2020-05-06 10:28:10
+* PHPROOT: root directory of the Composer Composer version 1.10.6 2020-05-06 10:28:10 installation
## PHP (x64)
@@ -535,7 +552,7 @@ _Environment:_
## Rust (64-bit)
-#### 1.43.0
+#### 1.43.1
_Environment:_
* _Location:_ C:\Rust\.cargo\bin
* PATH: contains the location of rustc.exe
@@ -557,17 +574,17 @@ _Environment:_
## Google Chrome
_version:_
-81.0.4044.129
+81.0.4044.138
## Microsoft Edge
_version:_
-81.0.416.68
+81.0.416.72
## Mozilla Firefox
_version:_
-75.0
+76.0.1
## Selenium Web Drivers
@@ -575,7 +592,7 @@ _version:_
#### Chrome Driver
_version:_
-81.0.4044.69
+81.0.4044.138
_Environment:_
* ChromeWebDriver: location of chromedriver.exe
@@ -599,7 +616,7 @@ _Environment:_
#### Microsoft Edge Driver
_version:_
-81.0.416.68
+81.0.416.72
_Environment:_
* EdgeWebDriver: location of msedgedriver.exe
@@ -646,9 +663,9 @@ _Environment:_
_Location:_ C:\Program Files\Java\zulu-7-azure-jdk_7.31.0.5-7.0.232-win_x64
-#### 13.0.3
+#### 11.0.4
-_Location:_ C:\Program Files\Java\zulu-13-azure-jdk_13.31.11-13.0.3-win_x64
+_Location:_ C:\Program Files\Java\zulu-11-azure-jdk_11.33.15-11.0.4-win_x64
#### 13.0.3
@@ -683,7 +700,7 @@ _Environment:_
## SQL Server Data Tier Application Framework (x64)
-_Version:_ 15.0.4538.1
+_Version:_ 15.0.4769.1
* SQL Server Express LocalDB is available at C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe
## .NET Core
@@ -694,8 +711,10 @@ _Environment:_
* PATH: contains location of dotnet.exe
_SDK:_
+* 3.1.202 C:\Program Files\dotnet\sdk\3.1.202
* 3.1.201 C:\Program Files\dotnet\sdk\3.1.201
* 3.1.200 C:\Program Files\dotnet\sdk\3.1.200
+* 3.1.104 C:\Program Files\dotnet\sdk\3.1.104
* 3.1.103 C:\Program Files\dotnet\sdk\3.1.103
* 3.1.102 C:\Program Files\dotnet\sdk\3.1.102
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
@@ -721,6 +740,7 @@ _SDK:_
* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102
* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101
* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100
+* 2.1.806 C:\Program Files\dotnet\sdk\2.1.806
* 2.1.805 C:\Program Files\dotnet\sdk\2.1.805
* 2.1.804 C:\Program Files\dotnet\sdk\2.1.804
* 2.1.803 C:\Program Files\dotnet\sdk\2.1.803
@@ -728,6 +748,7 @@ _SDK:_
* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801
* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701
* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700
+* 2.1.611 C:\Program Files\dotnet\sdk\2.1.611
* 2.1.610 C:\Program Files\dotnet\sdk\2.1.610
* 2.1.609 C:\Program Files\dotnet\sdk\2.1.609
* 2.1.608 C:\Program Files\dotnet\sdk\2.1.608
@@ -737,6 +758,7 @@ _SDK:_
* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604
* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603
* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602
+* 2.1.514 C:\Program Files\dotnet\sdk\2.1.514
* 2.1.513 C:\Program Files\dotnet\sdk\2.1.513
* 2.1.512 C:\Program Files\dotnet\sdk\2.1.512
* 2.1.511 C:\Program Files\dotnet\sdk\2.1.511
@@ -760,6 +782,7 @@ _SDK:_
* 1.1.14 C:\Program Files\dotnet\sdk\1.1.14
_Runtime:_
+* 3.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.4
* 3.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.3
* 3.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.2
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1
@@ -781,6 +804,7 @@ _Runtime:_
* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4
* 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3
* 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2
+* 2.1.18 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.18
* 2.1.17 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.17
* 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16
* 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15
@@ -817,7 +841,25 @@ _Environment:_
## TypeScript
-_Version:_ Version 3.8.3
+_Version:_ Version 3.9.2
+
+## ghc
+
+_Version:_
+ghc 8.10.1
+ ghc 8.6.5 (default)
+ ghc 8.8.3
+
+
+## cabal
+
+_Version:_ cabal-install version 3.2.0.0 compiled using version 3.2.0.0 of the Cabal library
+
+## Stack
+
+_Version:_ Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0
+_Environment:_
+* PATH: contains location of stack.exe
## Miniconda
@@ -836,7 +878,7 @@ _Version:_ 19.00
## Packer
-_Version:_ 1.5.5
+_Version:_ 1.5.6
## Mercurial
@@ -856,7 +898,7 @@ _Version:_ 6.0.4
## GitVersion
-_Version:_ 5.3.2.0
+_Version:_ 5.3.3.0
## Nullsoft Install System (NSIS)
diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md
index 13e5f4ec..ead818c9 100644
--- a/images/win/Windows2019-Readme.md
+++ b/images/win/Windows2019-Readme.md
@@ -1,7 +1,7 @@
# Windows Server 2019
-The following software is installed on machines with the 20200430.2 update.
+The following software is installed on machines with the 20200517.1 update.
Components marked with **\*** have been upgraded since the previous version of the image.
@@ -26,26 +26,26 @@ _Environment:_
## Helm
-_Version:_ v3.2.0+ge11b7ce
+_Version:_ v3.2.1+gfe51cd1
_Environment:_
* PATH: contains location of helm
## Powershell Core
-_Version:_ 7.0.0
+_Version:_ 7.0.1
## Docker images
The following container images have been cached:
-* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:8d2ffe560c2e25ac85080aed33ac7a010584db157e49255c2a7d2405f78017b7)
-* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:fd6801e45c7899858a1ffe7e89e29b9a012704af34350ad94abbd82b6e5ddb88)
-* mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:2ecf1e2987b91b41f576afd7f56aa40c9ddbc691d7b6b066c64d8f27fb3070ca)
-* mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:28805a307e17836a84a6af231f8516110839e4840e4ab41c7d286a0ca5627ea1)
+* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:dbf97206264133cdef6b49b06fa5d4028482845547c2858a086b5ce5c4513f00)
+* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:bf47599181ae3877ec680428a99f76d43ffb26251155a6f0b0b76f4e70304c26)
+* mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:2629881183feda906459163cb58fbdbc001bea76a92b2dc4695c8e5b14f747ae)
+* mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:8e6807c213b52405fec8a861e0b766055ba9d4f941267adf49ee67526755b63a)
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
## Visual Studio 2019 Enterprise
-_Version:_ VisualStudio/16.5.4+30011.22
+_Version:_ VisualStudio/16.5.5+30104.148
_Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
The following workloads and components are installed with Visual Studio 2019:
@@ -75,6 +75,7 @@ The following workloads and components are installed with Visual Studio 2019:
* Microsoft.VisualStudio.Component.EntityFramework
* Microsoft.VisualStudio.Component.FSharp.Desktop
* Microsoft.VisualStudio.Component.LinqToSql
+* Microsoft.VisualStudio.Component.SQL.SSDT
* Microsoft.VisualStudio.Component.PortableLibrary
* Microsoft.VisualStudio.Component.TeamOffice
* Microsoft.VisualStudio.Component.TestTools.CodedUITest
@@ -109,7 +110,6 @@ The following workloads and components are installed with Visual Studio 2019:
* Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre
* Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre
* Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre
-* Microsoft.VisualStudio.Component.Windows10SDK.14393
* Microsoft.VisualStudio.Component.Windows10SDK.16299
* Microsoft.VisualStudio.Component.Windows10SDK.17134
* Microsoft.VisualStudio.Component.Windows10SDK.17763
@@ -137,6 +137,9 @@ The following workloads and components are installed with Visual Studio 2019:
* Microsoft.VisualStudio.Workload.Universal
* Microsoft.VisualStudio.Workload.VisualStudioExtension
+Additional Windows 10 SDKs:
+* Windows 10 SDK version 10.0.14393.795
+
## WIX Tools
_Toolset Version:_ 3.11.4516
@@ -146,9 +149,9 @@ _Environment:_
## Microsoft SSDT Visual Studio 2019 Extensions
-_Microsoft Analysis Services Projects Version:_ 2.9.8
+_Microsoft Analysis Services Projects Version:_ 2.9.9
_SQL Server Integration Services Projects Version:_ 3.6
-_Microsoft Reporting Services Projects Version:_ 2.6.5
+_Microsoft Reporting Services Projects Version:_ 2.6.7
## .NET 4.8
@@ -171,7 +174,7 @@ _Version:_ 1.1.1809.18001
## AWS CLI
-_Version:_ aws-cli 2.0.10
+_Version:_ aws-cli 2.0.14
## Android SDK Build Tools
@@ -426,17 +429,26 @@ _Description:_ .NET has been configured to use TLS 1.2 by default
## Azure CLI
-_Version:_ 2.5.0 *
+_Version:_ 2.5.1
_Environment:_
* PATH: contains location of az.cmd
## AWS SAM CLI
-_Version:_ 0.48.0
+_Version:_ 0.49.0
## Azure DevOps Cli extension
-_Version:_ azure-devops 1.25.9
+_Version:_ azure-devops 0.18.0
+
+## MSYS2
+
+_Tool versions_
+_pacman:_ 5.2.1
+_bash:_ 4.4.23
+_gcc:_ 10.1.0
+_tar:_ 1.32
+MSYS2 location: C:\msys64
## PyPy
@@ -444,15 +456,19 @@ _Version:_ 2.7.13 (x86)
_Version:_ 3.6.9 (x86)
## Ruby
-_Version:_ 2.4.10 (x64)
_Version:_ 2.5.8 (x64)
_Version:_ 2.6.6 (x64)
_Version:_ 2.7.1 (x64)
__System default version:__ Ruby 2.5.8p224
_Environment:_
* Location: C:\hostedtoolcache\windows\Ruby\2.5.8\x64\bin
* PATH: contains the location of Ruby 2.5.8p224
* Gem Version: 3.1.2
+_Version:_ 2.4.10 (x64)
_Version:_ 2.5.8 (x64)
_Version:_ 2.6.6 (x64)
_Version:_ 2.7.1 (x64)
__System default version:__ Ruby 2.5.8p224
_Environment:_
* Location: C:\hostedtoolcache\windows\Ruby\2.5.8\x64\bin
* PATH: contains the location of Ruby 2.5.8p224
* Gem Version: 3.1.3
## Python (x64)
-_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.2
__System default version:__ Python 3.7.7
_Environment:_
* Location: C:\hostedtoolcache\windows\Python\3.7.7\x64
* PATH: contains the location of Python 3.7.7
+_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.3
__System default version:__ Python 3.7.7
_Environment:_
* Location: C:\hostedtoolcache\windows\Python\3.7.7\x64
* PATH: contains the location of Python 3.7.7
## Python (x86)
-_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.2
+_Version:_ 2.7.18
_Version:_ 3.5.4
_Version:_ 3.6.8
_Version:_ 3.7.7
_Version:_ 3.8.3
+
+## node (x64)
+
+_Version:_ 8.17.0
_Version:_ 10.20.1
_Version:_ 12.16.3
_Version:_ 14.2.0
## OpenSSL
@@ -499,6 +515,10 @@ _Environment:_
#### _Notes:_
+
+> `BOOST_ROOT` is not set on images but it is required by CMake. Please make sure you set this variable
+> value to either `BOOST_ROOT_1_69_0` or `BOOST_ROOT_1_72_0` depending on the Boost version you are using.
+
Link: https://cmake.org/cmake/help/latest/module/FindBoost.html
If Boost was built using the `boost-cmake` project or from `Boost 1.70.0` on it provides a package
@@ -512,11 +532,11 @@ Set `Boost_NO_BOOST_CMAKE to ON`, to disable the search for boost-cmake.
## Composer
-#### Composer version 1.10.5 2020-04-10 11:44:22
+#### Composer version 1.10.6 2020-05-06 10:28:10
_Environment:_
-* PATH: contains the location of composer.exe version Composer version 1.10.5 2020-04-10 11:44:22
-* PHPROOT: root directory of the Composer Composer version 1.10.5 2020-04-10 11:44:22 installation
+* PATH: contains the location of composer.exe version Composer version 1.10.6 2020-05-06 10:28:10
+* PHPROOT: root directory of the Composer Composer version 1.10.6 2020-05-06 10:28:10 installation
## PHP (x64)
@@ -528,7 +548,7 @@ _Environment:_
## Rust (64-bit)
-#### 1.43.0
+#### 1.43.1
_Environment:_
* _Location:_ C:\Rust\.cargo\bin
* PATH: contains the location of rustc.exe
@@ -550,17 +570,17 @@ _Environment:_
## Google Chrome
_version:_
-81.0.4044.129
+81.0.4044.138
## Microsoft Edge
_version:_
-81.0.416.68
+81.0.416.72
## Mozilla Firefox
_version:_
-75.0
+76.0.1
## Selenium Web Drivers
@@ -568,7 +588,7 @@ _version:_
#### Chrome Driver
_version:_
-81.0.4044.69
+81.0.4044.138
_Environment:_
* ChromeWebDriver: location of chromedriver.exe
@@ -592,7 +612,7 @@ _Environment:_
#### Microsoft Edge Driver
_version:_
-81.0.416.68
+81.0.416.72
_Environment:_
* EdgeWebDriver: location of msedgedriver.exe
@@ -629,7 +649,11 @@ _Location:_ C:\Program Files\Java\zulu-7-azure-jdk_7.31.0.5-7.0.232-win_x64
#### 11.0.4
-_Location:_ C:\Program Files\Java\zulu-11-azure-jdk_11.33.15-11.0.4-win_x64
+_Location:_ C:\Program Files\Java\zulu-11-azure-jdk_11.33.15-11.0.4-win_x64
+
+#### 13.0.3
+
+_Location:_ C:\Program Files\Java\zulu-13-azure-jdk_13.31.11-13.0.3-win_x64
## Ant
@@ -660,7 +684,7 @@ _Environment:_
## SQL Server Data Tier Application Framework (x64)
-_Version:_ 15.0.4538.1
+_Version:_ 15.0.4769.1
* SQL Server Express LocalDB is available at C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe
## .NET Core
@@ -671,8 +695,10 @@ _Environment:_
* PATH: contains location of dotnet.exe
_SDK:_
+* 3.1.202 C:\Program Files\dotnet\sdk\3.1.202
* 3.1.201 C:\Program Files\dotnet\sdk\3.1.201
* 3.1.200 C:\Program Files\dotnet\sdk\3.1.200
+* 3.1.104 C:\Program Files\dotnet\sdk\3.1.104
* 3.1.103 C:\Program Files\dotnet\sdk\3.1.103
* 3.1.102 C:\Program Files\dotnet\sdk\3.1.102
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
@@ -698,6 +724,7 @@ _SDK:_
* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102
* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101
* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100
+* 2.1.806 C:\Program Files\dotnet\sdk\2.1.806
* 2.1.805 C:\Program Files\dotnet\sdk\2.1.805
* 2.1.804 C:\Program Files\dotnet\sdk\2.1.804
* 2.1.803 C:\Program Files\dotnet\sdk\2.1.803
@@ -705,6 +732,7 @@ _SDK:_
* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801
* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701
* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700
+* 2.1.611 C:\Program Files\dotnet\sdk\2.1.611
* 2.1.610 C:\Program Files\dotnet\sdk\2.1.610
* 2.1.609 C:\Program Files\dotnet\sdk\2.1.609
* 2.1.608 C:\Program Files\dotnet\sdk\2.1.608
@@ -714,6 +742,7 @@ _SDK:_
* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604
* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603
* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602
+* 2.1.514 C:\Program Files\dotnet\sdk\2.1.514
* 2.1.513 C:\Program Files\dotnet\sdk\2.1.513
* 2.1.512 C:\Program Files\dotnet\sdk\2.1.512
* 2.1.511 C:\Program Files\dotnet\sdk\2.1.511
@@ -735,6 +764,7 @@ _SDK:_
* 2.1.300 C:\Program Files\dotnet\sdk\2.1.300
_Runtime:_
+* 3.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.4
* 3.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.3
* 3.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.2
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1
@@ -756,6 +786,7 @@ _Runtime:_
* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4
* 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3
* 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2
+* 2.1.18 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.18
* 2.1.17 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.17
* 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16
* 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15
@@ -789,7 +820,25 @@ _Environment:_
## TypeScript
-_Version:_ Version 3.8.3
+_Version:_ Version 3.9.2
+
+## ghc
+
+_Version:_
+ghc 8.10.1
+ ghc 8.6.5 (default)
+ ghc 8.8.3
+
+
+## cabal
+
+_Version:_ cabal-install version 3.2.0.0 compiled using version 3.2.0.0 of the Cabal library
+
+## Stack
+
+_Version:_ Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0
+_Environment:_
+* PATH: contains location of stack.exe
## Miniconda
@@ -808,7 +857,7 @@ _Version:_ 19.00
## Packer
-_Version:_ 1.5.5
+_Version:_ 1.5.6
## Mercurial
@@ -828,7 +877,7 @@ _Version:_ 6.0.4
## GitVersion
-_Version:_ 5.2.4.0
+_Version:_ 5.3.3.0
## Nullsoft Install System (NSIS)
diff --git a/images/win/scripts/Installers/Install-Haskell.ps1 b/images/win/scripts/Installers/Install-Haskell.ps1
index 19483fd7..7f398a86 100644
--- a/images/win/scripts/Installers/Install-Haskell.ps1
+++ b/images/win/scripts/Installers/Install-Haskell.ps1
@@ -15,5 +15,10 @@ ForEach ($version in $VersionsList)
Choco-Install -PackageName ghc -ArgumentList "--version", $version, "-m"
}
+# Add default version of GHC to path, because choco formula updates path on user level
+$DefaultGhcVersion = $VersionsList | Select-Object -Last 1
+$DefaultGhcPath = Join-Path $env:ChocolateyInstall "lib\ghc.$DefaultGhcVersion\tools\ghc-$DefaultGhcVersion\bin"
+Add-MachinePathItem -PathItem $DefaultGhcPath
+
Write-Host "Installing cabal..."
Choco-Install -PackageName cabal
diff --git a/images/win/scripts/Installers/Install-Msys2.ps1 b/images/win/scripts/Installers/Install-Msys2.ps1
index f91f6b3d..8c5f859f 100644
--- a/images/win/scripts/Installers/Install-Msys2.ps1
+++ b/images/win/scripts/Installers/Install-Msys2.ps1
@@ -18,7 +18,7 @@ $msys2Uri = ((Invoke-RestMethod $msys2_release).assets | Where-Object {
$msys2File = "$env:TEMP\msys2.tar.xz"
# Download the latest msys2 x86_64
-Write-Host "Starting msys2 download"
+Write-Host "Starting msys2 download using $($msys2Uri.split('/')[-1])"
(New-Object System.Net.WebClient).DownloadFile($msys2Uri, $msys2File)
Write-Host "Finished download"
@@ -45,9 +45,9 @@ bash.exe -c "pacman-key --init 2>&1"
Write-Host "bash pacman-key --populate msys2"
bash.exe -c "pacman-key --populate msys2 2>&1"
-Write-Host "pacman --noconfirm -Sy pacman"
-pacman --noconfirm -Sy pacman
-pacman --noconfirm -Su
+Write-Host "pacman -Sy --noconfirm --needed pacman"
+pacman -Sy --noconfirm --needed pacman
+pacman -Su --noconfirm
# Force stop gpg-agent to continue installation
Get-Process gpg-agent -ErrorAction SilentlyContinue | Stop-Process -Force
@@ -59,6 +59,9 @@ pacman.exe -Syuu --noconfirm
Write-Host "Install msys2 packages"
pacman.exe -S --noconfirm --needed --noprogressbar base-devel compression
+Write-Host "Remove p7zip/7z package due to conflicts"
+pacman.exe -R --noconfirm --noprogressbar p7zip
+
# mingw package list
$tools = "___clang ___cmake ___llvm ___toolchain ___ragel"
diff --git a/images/win/scripts/Installers/Install-Rust.ps1 b/images/win/scripts/Installers/Install-Rust.ps1
index ae18371a..96f9618b 100644
--- a/images/win/scripts/Installers/Install-Rust.ps1
+++ b/images/win/scripts/Installers/Install-Rust.ps1
@@ -44,5 +44,8 @@ if exist $env:RUSTUP_HOME (
$cmdPath = "C:\Rust\rustsym.bat"
$cmdRustSymScript | Out-File -Encoding ascii -FilePath $cmdPath
+# Cleanup Cargo crates cache
+Remove-Item "${env:CARGO_HOME}\registry\*" -Recurse -Force
+
# Update Run key to run a script at logon
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "RUSTSYM" -Value $cmdPath
diff --git a/images/win/scripts/Installers/Install-Stack.ps1 b/images/win/scripts/Installers/Install-Stack.ps1
index 6996ac7f..bd3cabda 100644
--- a/images/win/scripts/Installers/Install-Stack.ps1
+++ b/images/win/scripts/Installers/Install-Stack.ps1
@@ -5,16 +5,18 @@
Write-Host "Get the latest Stack version..."
$StackReleasesJson = Invoke-RestMethod "https://api.github.com/repos/commercialhaskell/stack/releases/latest"
+$Version = $StackReleasesJson.name.TrimStart("v")
$DownloadFilePattern = "windows-x86_64.zip"
$DownloadUrl = $StackReleasesJson.assets | Where-Object { $_.name.EndsWith($DownloadFilePattern) } | Select-Object -ExpandProperty "browser_download_url" -First 1
Write-Host "Download stack archive"
-$DestinationPath = Join-Path $Env:AGENT_TOOLSDIRECTORY "stack\x64"
+$StackToolcachePath = Join-Path $Env:AGENT_TOOLSDIRECTORY "stack\$Version"
+$DestinationPath = Join-Path $StackToolcachePath "x64"
$StackArchivePath = Start-DownloadWithRetry -Url $DownloadUrl
Write-Host "Expand stack archive"
Extract-7Zip -Path $StackArchivePath -DestinationPath $DestinationPath
-New-Item -Name "x64.complete" -Path $DestinationPath
+New-Item -Name "x64.complete" -Path $StackToolcachePath
Add-MachinePathItem -PathItem $DestinationPath
\ No newline at end of file
diff --git a/images/win/scripts/Installers/Update-AndroidSDK.ps1 b/images/win/scripts/Installers/Update-AndroidSDK.ps1
index 0e35c27a..51b6b50c 100644
--- a/images/win/scripts/Installers/Update-AndroidSDK.ps1
+++ b/images/win/scripts/Installers/Update-AndroidSDK.ps1
@@ -36,24 +36,6 @@ Expand-Archive -Path .\android-sdk-licenses.zip -DestinationPath 'C:\Program Fil
$sdk_root = "C:\Program Files (x86)\Android\android-sdk"
-# The NDK is installed by Visual Studio at this location:
-$ndk_root = "C:\Microsoft\AndroidNDK64\"
-
-if(Test-Path $ndk_root){
-
- $androidNDKs = Get-ChildItem -Path $ndk_root | Sort-Object -Property Name -Descending | Select-Object -First 1
- $latestAndroidNDK = $androidNDKs.FullName;
-
- setx ANDROID_HOME $sdk_root /M
- setx ANDROID_NDK_HOME $latestAndroidNDK /M
- setx ANDROID_NDK_PATH $latestAndroidNDK /M
-}
-else {
- Write-Host "NDK is not installed at path $ndk_root"
- exit 1
-}
-
-
Push-Location -Path $sdk.FullName
& '.\tools\bin\sdkmanager.bat' --sdk_root=$sdk_root `
@@ -70,6 +52,7 @@ Push-Location -Path $sdk.FullName
"platforms;android-19" `
"build-tools;29.0.3" `
"build-tools;29.0.2" `
+ "build-tools;29.0.1" `
"build-tools;29.0.0" `
"build-tools;28.0.3" `
"build-tools;28.0.2" `
@@ -111,11 +94,23 @@ Push-Location -Path $sdk.FullName
"add-ons;addon-google_apis-google-21" `
"cmake;3.6.4111459" `
"cmake;3.10.2.4988404" `
- "patcher;v4"
+ "patcher;v4" `
+ "ndk-bundle"
+
+ # Android NDK root path.
+ $ndk_root = "C:\Program Files (x86)\Android\android-sdk\ndk-bundle"
+
+ if (Test-Path $ndk_root){
+ setx ANDROID_HOME $sdk_root /M
+ setx ANDROID_NDK_HOME $ndk_root /M
+ setx ANDROID_NDK_PATH $ndk_root /M
+ } else {
+ Write-Host "NDK is not installed at path $ndk_root"
+ exit 1
+ }
Pop-Location
-
# Adding description of the software to Markdown
$Header = @"