Merge branch 'main' of https://github.com/actions/virtual-environments into al-cheb/ubuntu20_clang10

This commit is contained in:
Aleksandr Chebotov
2020-09-17 14:49:40 +03:00
211 changed files with 8697 additions and 1065 deletions

View File

@@ -1,12 +1,12 @@
<!--- DO NOT EDIT - This markdown file is autogenerated. -->
# Ubuntu 16.04.7 LTS
The following software is installed on machines with the 20200825.1 update.
The following software is installed on machines with the 20200908.1 update.
***
- 7-Zip 9.20
- Ansible (ansible 2.9.12)
- Ansible (ansible 2.9.13)
- AzCopy7 (available by azcopy alias) 7.3.0
- AzCopy10 (available by azcopy10 alias) 10.6.0
- Azure CLI (azure-cli 2.10.1 *)
- Azure CLI (azure-cli 2.11.1)
- Azure CLI (azure-devops 0.18.0)
- Basic packages:
- dnsutils
@@ -66,7 +66,7 @@ The following software is installed on machines with the 20200825.1 update.
- yamllint
- libcurl3
- Alibaba Cloud CLI (3.0.56)
- AWS CLI (aws-cli/1.18.125 Python/2.7.12 Linux/4.15.0-1092-azure botocore/1.17.48)
- AWS CLI (aws-cli/1.18.134 Python/2.7.12 Linux/4.15.0-1093-azure botocore/1.17.57)
- AWS CLI Session manager plugin (1.1.61.0)
- build-essential
- nvm (0.35.3)
@@ -76,10 +76,11 @@ The following software is installed on machines with the 20200825.1 update.
- Swift version 5.2.5 (swift-5.2.5-RELEASE)
Target: x86_64-unknown-linux-gnu
- CMake (cmake version 3.17.0)
- Docker Compose (docker-compose version 1.26.2, build eefe0d31)
- Docker Compose (docker-compose version 1.27.0, build 980ec85b)
- Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b)
- Docker-Buildx (0.4.2+azure)
- .NET Core SDK:
- 3.1.402
- 3.1.401
- 3.1.302
- 3.1.301
@@ -87,6 +88,7 @@ Target: x86_64-unknown-linux-gnu
- 3.1.202
- 3.1.201
- 3.1.200
- 3.1.108
- 3.1.107
- 3.1.106
- 3.1.105
@@ -99,6 +101,7 @@ Target: x86_64-unknown-linux-gnu
- 3.0.102
- 3.0.101
- 3.0.100
- 2.1.810
- 2.1.809
- 2.1.808
- 2.1.807
@@ -110,6 +113,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.801
- 2.1.701
- 2.1.700
- 2.1.615
- 2.1.614
- 2.1.613
- 2.1.612
@@ -123,6 +127,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.604
- 2.1.603
- 2.1.602
- 2.1.518
- 2.1.517
- 2.1.516
- 2.1.515
@@ -147,7 +152,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.301
- 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.3)
- Firefox (Mozilla Firefox 79.0)
- Firefox (Mozilla Firefox 80.0.1)
- Geckodriver (0.27.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.5.0
- GNU C++ 8.4.0
@@ -155,18 +160,18 @@ Target: x86_64-unknown-linux-gnu
- GNU Fortran 8.4.0
- GNU Fortran 9.3.0
- Git (2.28.0)
- Git Large File Storage (LFS) (2.11.0)
- Git Large File Storage (LFS) (2.12.0)
- Git-ftp (1.0.2)
- Hub CLI (2.14.2)
- GitHub CLI 0.11.1
- Google Chrome (Google Chrome 85.0.4183.83 )
- ChromeDriver 85.0.4183.38 (9047dbc2c693f044042bbec5c91401c708c7c26a-refs/branch-heads/4183@{#779}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (307.0.0)
- Haskell Cabal (cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library )
- GitHub CLI 0.12.0
- Google Chrome (Google Chrome 85.0.4183.102 )
- ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (308.0.0)
- Haskell Cabal (cabal-install version 3.4.0.0
compiled using version 3.4.0.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.2)
- Haskell Stack (Version 2.3.3, Git revision cb44d51bed48b723a5deb08c3348c0b3ccfc437e x86_64 hpack-0.33.0)
- Heroku (heroku/7.42.10 linux-x64 node-v12.16.2)
- Heroku (heroku/7.42.13 linux-x64 node-v12.16.2)
- HHVM (HipHop VM 4.56.1 (rel))
- ImageMagick
- Azul Zulu OpenJDK:
@@ -179,15 +184,16 @@ compiled using version 3.2.0.0 of the Cabal library )
- Gradle 6.6.1
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.8.1 go1.14.2 linux/amd64)
- kubectl (Client Version: v1.18.8)
- helm (v3.3.0+g8a4aeec)
- minikube version: v1.12.3
- kustomize ({kustomize/v3.8.1 2020-07-16T00:58:46Z })
- kubectl (Client Version: v1.19.0)
- helm (v3.3.1+g249e521)
- minikube version: v1.13.0
- kustomize ({kustomize/v3.8.2 2020-08-29T17:44:01Z })
- oc CLI Client Version: 4.5.0-202005291417-9933eb9
- Leiningen (Leiningen 2.9.4 on Java 1.8.0_265 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 4.4.1))
- Miniconda (conda 4.8.3)
- Mono (Mono JIT compiler version 6.10.0.104 (tarball Fri Jun 26 19:43:02 UTC 2020))
- Mono (Mono JIT compiler version 6.12.0.90 (tarball Fri Sep 4 13:58:50 UTC 2020))
- NuGet (NuGet Version: 5.5.0.6382)
- MySQL (mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using EditLine wrapper)
- MySQL Server (user:root password:root)
- MS SQL Server Client Tools
@@ -201,9 +207,9 @@ Local version: Unknown)
- TypeScript (Version 4.0.2)
- Webpack (4.44.1)
- Webpack CLI (3.3.12)
- Yarn (1.22.4)
- Newman (5.1.2)
- Bazel (bazel 3.4.1)
- Yarn (1.22.5)
- Newman (5.2.0)
- Bazel (bazel 3.5.0)
- Bazelisk (1.6.1)
- ORAS CLI 0.8.1
- PhantomJS (2.1.1)
@@ -213,39 +219,40 @@ Local version: Unknown)
- PHP 7.2 (PHP 7.2.33-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:43:59) ( NTS ))
- PHP 7.3 (PHP 7.3.21-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:43:42) ( NTS ))
- PHP 7.4 (PHP 7.4.9 (cli) (built: Aug 7 2020 14:29:10) ( NTS ))
- Composer (Composer version 1.10.10 2020-08-03 11:35:19)
- Composer (Composer version 1.10.12 2020-09-08 22:58:51)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate
- psql (PostgreSQL) 12.4
- Powershell (PowerShell 7.0.3)
- Pulumi v2.9.2
- ruby (2.3.1p112)
- gem (3.1.4)
- OpenSSL 1.1.0h 27 Mar 2018 (Library: OpenSSL 1.1.1g 21 Apr 2020)
- Libssl 1.1.1g-1+ubuntu16.04.1+deb.sury.org+1
- R 4.0.2
- rustup (1.22.1)
- rust (1.45.2)
- cargo (1.45.1)
- rustfmt (1.4.17-stable)
- rust (1.46.0)
- cargo (1.46.0)
- rustfmt (1.4.18-stable)
- clippy (0.0.212)
- rustdoc (1.45.2)
- rustdoc (1.46.0)
- bindgen (0.55.1)
- cbindgen (0.14.4)
- cargo audit (0.12.0)
- cargo outdated (v0.9.11)
- Julia (julia version 1.5.0)
- Julia (julia version 1.5.1)
- sbt (1.3.13)
- 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.13.0)
- Packer (1.6.1)
- Terraform (Terraform v0.13.2)
- Packer (1.6.2)
- Vcpkg 2020.06.15-unknownhash
- Vercel CLI (20.0.0)
- Vercel CLI (20.1.0)
- MongoDB on Linux v4.4.0
- Haveged 1.9.1-3
- Swig 3.0.8
- Netlify CLI (netlify-cli/2.59.1 linux-x64 node-v12.18.3)
- Netlify CLI (netlify-cli/2.61.2 linux-x64 node-v12.18.3)
- Google Repository 58
- Google Play services 49
- Google APIs 24
@@ -319,16 +326,17 @@ Local version: Unknown)
- Az Module (3.8.0)
- Az Module (4.3.0)
- Az Module (4.4.0)
- Az Module (4.6.0)
- Cached container images
- node:10 (Digest: sha256:cf3ee6a5a1b1916c7a2e4fb51eb7ecba1afe186739677d62e9c1bb2cb1c7d6b0)
- node:12 (Digest: sha256:d0738468dfc7cedb7d260369e0546fd7ee8731cfd67136f6023d070ad9679090)
- buildpack-deps:stretch (Digest: sha256:34a18637ed801407f7a17a29575e82264fb0818f9b6a0c890f8a6530afea43dc)
- buildpack-deps:buster (Digest: sha256:b9343e9ba16795186ab1f34825803f1d7e9b0943dba5d644d3c1de5473f0602e)
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
- node:10 (Digest: sha256:304c59f827930ae1a4a9775aec5837c8f95c3d41b5e6d7c0a329b4eb8c4cc8a8)
- node:12 (Digest: sha256:099346a8e9c861b406c9bbb1f109125c7263868e5447cc57d6d564e1fec8a5cf)
- buildpack-deps:stretch (Digest: sha256:82a686ba95fdf2bf4a5f5264e8e55b8aa272ffcedaed7826777f08de0d9e1146)
- buildpack-deps:buster (Digest: sha256:0f7be4c25fadb2b8aee537cdac00a684b09057e66368683bbf22adf477e05faa)
- debian:9 (Digest: sha256:335ecf9e8d9b2206c2e9e7f8b09547faa9f868e694f7c5be14c38be15ea8a7cf)
- debian:8 (Digest: sha256:8a0f2603166345b4d7bbf4842137b2ffcb492ece20d15f963f08aa26670f82c7)
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
- jekyll/builder:latest (Digest: sha256:98cda359955f25f18c4bcc78536cdfd30e7ded689b1f52fcd513c75cbe4e751e)
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
@@ -346,7 +354,7 @@ Local version: Unknown)
- pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5))
- Python:
- Python 2.7.18
- Python 3.5.9
- Python 3.5.10
- Python 3.6.12
- Python 3.7.9
- Python 3.8.5
@@ -357,16 +365,16 @@ Local version: Unknown)
- node 8.17.0
- node 10.22.0
- node 12.18.3
- node 14.8.0
- node 14.9.0
- go:
- go 1.11.13
- go 1.12.17
- go 1.13.15
- go 1.14.7
- go 1.15.0
- go 1.14.8
- go 1.15.1
- boost:
- boost 1.69.0
- boost 1.72.0
- AWS SAM CLI, version 1.1.0
- Homebrew on Linux (Homebrew 2.4.13
Homebrew/linuxbrew-core (git revision 7d5ec; last commit 2020-08-24))
- AWS SAM CLI, version 1.2.0
- Homebrew on Linux (Homebrew 2.5.0
Homebrew/linuxbrew-core (git revision 3199c; last commit 2020-09-08))

View File

@@ -1,12 +1,12 @@
<!--- DO NOT EDIT - This markdown file is autogenerated. -->
# Ubuntu 18.04.5 LTS
The following software is installed on machines with the 20200825.1 update.
The following software is installed on machines with the 20200908.1 update.
***
- 7-Zip 16.02
- Ansible (ansible 2.9.12)
- Ansible (ansible 2.9.13)
- AzCopy7 (available by azcopy alias) 7.3.0
- AzCopy10 (available by azcopy10 alias) 10.6.0
- Azure CLI (azure-cli 2.10.1 *)
- Azure CLI (azure-cli 2.11.1)
- Azure CLI (azure-devops 0.18.0)
- Basic packages:
- dnsutils
@@ -65,7 +65,7 @@ The following software is installed on machines with the 20200825.1 update.
- yamllint
- libcurl3
- Alibaba Cloud CLI (3.0.56)
- AWS CLI (aws-cli/1.18.125 Python/2.7.17 Linux/5.3.0-1035-azure botocore/1.17.48)
- AWS CLI (aws-cli/1.18.134 Python/2.7.17 Linux/5.4.0-1025-azure botocore/1.17.57)
- AWS CLI Session manager plugin (1.1.61.0)
- build-essential
- Clang 6.0 (6.0.0)
@@ -74,13 +74,14 @@ The following software is installed on machines with the 20200825.1 update.
- Swift version 5.2.5 (swift-5.2.5-RELEASE)
Target: x86_64-unknown-linux-gnu
- CMake (cmake version 3.17.0)
- Podman (2.0.4)
- Buildah (1.15.1)
- Podman (2.0.6)
- Buildah (1.15.2)
- Skopeo (1.1.1)
- Docker Compose (docker-compose version 1.26.2, build eefe0d31)
- Docker Compose (docker-compose version 1.27.0, build 980ec85b)
- Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b)
- Docker-Buildx (0.4.2+azure)
- .NET Core SDK:
- 3.1.402
- 3.1.401
- 3.1.302
- 3.1.301
@@ -88,6 +89,7 @@ Target: x86_64-unknown-linux-gnu
- 3.1.202
- 3.1.201
- 3.1.200
- 3.1.108
- 3.1.107
- 3.1.106
- 3.1.105
@@ -100,6 +102,7 @@ Target: x86_64-unknown-linux-gnu
- 3.0.102
- 3.0.101
- 3.0.100
- 2.1.810
- 2.1.809
- 2.1.808
- 2.1.807
@@ -111,6 +114,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.801
- 2.1.701
- 2.1.700
- 2.1.615
- 2.1.614
- 2.1.613
- 2.1.612
@@ -124,6 +128,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.604
- 2.1.603
- 2.1.602
- 2.1.518
- 2.1.517
- 2.1.516
- 2.1.515
@@ -148,7 +153,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.301
- 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.3)
- Firefox (Mozilla Firefox 79.0)
- Firefox (Mozilla Firefox 80.0.1)
- Geckodriver (0.27.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.5.0
- GNU C++ 8.4.0
@@ -156,19 +161,19 @@ Target: x86_64-unknown-linux-gnu
- GNU Fortran 8.4.0
- GNU Fortran 9.3.0
- Git (2.28.0)
- Git Large File Storage (LFS) (2.11.0)
- Git Large File Storage (LFS) (2.12.0)
- Git-ftp (1.3.1)
- Hub CLI (2.14.2)
- GitHub CLI 0.11.1
- Google Chrome (Google Chrome 85.0.4183.83 )
- ChromeDriver 85.0.4183.38 (9047dbc2c693f044042bbec5c91401c708c7c26a-refs/branch-heads/4183@{#779}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (307.0.0)
- Haskell Cabal (cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library )
- GitHub CLI 0.12.0
- Google Chrome (Google Chrome 85.0.4183.102 )
- ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (308.0.0)
- Haskell Cabal (cabal-install version 3.4.0.0
compiled using version 3.4.0.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.2)
- Haskell Stack (Version 2.3.3, Git revision cb44d51bed48b723a5deb08c3348c0b3ccfc437e x86_64 hpack-0.33.0)
- Heroku (heroku/7.42.10 linux-x64 node-v12.16.2)
- HHVM (HipHop VM 4.71.0 (rel))
- Heroku (heroku/7.42.13 linux-x64 node-v12.16.2)
- HHVM (HipHop VM 4.74.0 (rel))
- ImageMagick
- Azul Zulu OpenJDK:
- 7 (openjdk version "1.7.0_272")
@@ -180,15 +185,16 @@ compiled using version 3.2.0.0 of the Cabal library )
- Gradle 6.6.1
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.8.1 go1.14.2 linux/amd64)
- kubectl (Client Version: v1.18.8)
- helm (v3.3.0+g8a4aeec)
- minikube version: v1.12.3
- kustomize ({kustomize/v3.8.1 2020-07-16T00:58:46Z })
- kubectl (Client Version: v1.19.0)
- helm (v3.3.1+g249e521)
- minikube version: v1.13.0
- kustomize ({kustomize/v3.8.2 2020-08-29T17:44:01Z })
- oc CLI Client Version: 4.5.0-202005291417-9933eb9
- Leiningen (Leiningen 2.9.4 on Java 1.8.0_265 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 4.5.3))
- Miniconda (conda 4.8.3)
- Mono (Mono JIT compiler version 6.10.0.104 (tarball Fri Jun 26 19:38:24 UTC 2020))
- Mono (Mono JIT compiler version 6.12.0.90 (tarball Fri Sep 4 14:01:23 UTC 2020))
- NuGet (NuGet Version: 5.5.0.6382)
- MySQL (mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using EditLine wrapper)
- MySQL Server (user:root password:root)
- MS SQL Server Client Tools
@@ -203,9 +209,9 @@ Local version: Unknown)
- TypeScript (Version 4.0.2)
- Webpack (4.44.1)
- Webpack CLI (3.3.12)
- Yarn (1.22.4)
- Newman (5.1.2)
- Bazel (bazel 3.4.1)
- Yarn (1.22.5)
- Newman (5.2.0)
- Bazel (bazel 3.5.0)
- Bazelisk (1.6.1)
- ORAS CLI 0.8.1
- PhantomJS (2.1.1)
@@ -213,39 +219,40 @@ Local version: Unknown)
- PHP 7.2 (PHP 7.2.33-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:44:29) ( NTS ))
- PHP 7.3 (PHP 7.3.21-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:44:10) ( NTS ))
- PHP 7.4 (PHP 7.4.9 (cli) (built: Aug 7 2020 14:29:36) ( NTS ))
- Composer (Composer version 1.10.10 2020-08-03 11:35:19)
- Composer (Composer version 1.10.12 2020-09-08 22:58:51)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate
- psql (PostgreSQL) 12.4
- Powershell (PowerShell 7.0.3)
- Pulumi v2.9.2
- ruby (2.5.1p57)
- gem (3.1.4)
- OpenSSL 1.1.1g 21 Apr 2020
- Libssl 1.1.1g-1+ubuntu18.04.1+deb.sury.org+1
- R 4.0.2
- rustup (1.22.1)
- rust (1.45.2)
- cargo (1.45.1)
- rustfmt (1.4.17-stable)
- rust (1.46.0)
- cargo (1.46.0)
- rustfmt (1.4.18-stable)
- clippy (0.0.212)
- rustdoc (1.45.2)
- rustdoc (1.46.0)
- bindgen (0.55.1)
- cbindgen (0.14.4)
- cargo audit (0.12.0)
- cargo outdated (v0.9.11)
- Julia (julia version 1.5.0)
- Julia (julia version 1.5.1)
- sbt (1.3.13)
- 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.13.0)
- Packer (1.6.1)
- Terraform (Terraform v0.13.2)
- Packer (1.6.2)
- Vcpkg 2020.06.15-unknownhash
- Vercel CLI (20.0.0)
- Vercel CLI (20.1.0)
- MongoDB on Linux v4.4.0
- Haveged 1.9.1-6
- Swig 3.0.12
- Netlify CLI (netlify-cli/2.59.1 linux-x64 node-v12.18.3)
- Netlify CLI (netlify-cli/2.61.2 linux-x64 node-v12.18.3)
- Google Repository 58
- Google Play services 49
- Google APIs 24
@@ -313,16 +320,17 @@ Local version: Unknown)
- Az Module (3.8.0)
- Az Module (4.3.0)
- Az Module (4.4.0)
- Az Module (4.6.0)
- Cached container images
- node:10 (Digest: sha256:cf3ee6a5a1b1916c7a2e4fb51eb7ecba1afe186739677d62e9c1bb2cb1c7d6b0)
- node:12 (Digest: sha256:d0738468dfc7cedb7d260369e0546fd7ee8731cfd67136f6023d070ad9679090)
- buildpack-deps:stretch (Digest: sha256:34a18637ed801407f7a17a29575e82264fb0818f9b6a0c890f8a6530afea43dc)
- buildpack-deps:buster (Digest: sha256:b9343e9ba16795186ab1f34825803f1d7e9b0943dba5d644d3c1de5473f0602e)
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
- node:10 (Digest: sha256:304c59f827930ae1a4a9775aec5837c8f95c3d41b5e6d7c0a329b4eb8c4cc8a8)
- node:12 (Digest: sha256:099346a8e9c861b406c9bbb1f109125c7263868e5447cc57d6d564e1fec8a5cf)
- buildpack-deps:stretch (Digest: sha256:82a686ba95fdf2bf4a5f5264e8e55b8aa272ffcedaed7826777f08de0d9e1146)
- buildpack-deps:buster (Digest: sha256:0f7be4c25fadb2b8aee537cdac00a684b09057e66368683bbf22adf477e05faa)
- debian:9 (Digest: sha256:335ecf9e8d9b2206c2e9e7f8b09547faa9f868e694f7c5be14c38be15ea8a7cf)
- debian:8 (Digest: sha256:8a0f2603166345b4d7bbf4842137b2ffcb492ece20d15f963f08aa26670f82c7)
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
- jekyll/builder:latest (Digest: sha256:98cda359955f25f18c4bcc78536cdfd30e7ded689b1f52fcd513c75cbe4e751e)
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
@@ -340,7 +348,7 @@ Local version: Unknown)
- pip3 (pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6))
- Python:
- Python 2.7.18
- Python 3.5.9
- Python 3.5.10
- Python 3.6.12
- Python 3.7.9
- Python 3.8.5
@@ -351,16 +359,16 @@ Local version: Unknown)
- node 8.17.0
- node 10.22.0
- node 12.18.3
- node 14.8.0
- node 14.9.0
- go:
- go 1.11.13
- go 1.12.17
- go 1.13.15
- go 1.14.7
- go 1.15.0
- go 1.14.8
- go 1.15.1
- boost:
- boost 1.69.0
- boost 1.72.0
- AWS SAM CLI, version 1.1.0
- Homebrew on Linux (Homebrew 2.4.13
Homebrew/linuxbrew-core (git revision 7d5ec; last commit 2020-08-24))
- AWS SAM CLI, version 1.2.0
- Homebrew on Linux (Homebrew 2.5.0
Homebrew/linuxbrew-core (git revision 3199c; last commit 2020-09-08))

View File

@@ -1,12 +1,12 @@
<!--- DO NOT EDIT - This markdown file is autogenerated. -->
# Ubuntu 20.04.1 LTS
The following software is installed on machines with the 20200825.1 update.
The following software is installed on machines with the 20200908.1 update.
***
- 7-Zip 16.02
- Ansible (ansible 2.9.6)
- AzCopy7 (available by azcopy alias) 7.3.0
- AzCopy10 (available by azcopy10 alias) 10.6.0
- Azure CLI (azure-cli 2.10.1 *)
- Azure CLI (azure-cli 2.11.1)
- Azure CLI (azure-devops 0.18.0)
- Basic packages:
- dnsutils
@@ -65,7 +65,7 @@ The following software is installed on machines with the 20200825.1 update.
- yamllint
- libcurl4
- Alibaba Cloud CLI (3.0.56)
- AWS CLI (aws-cli/2.0.42 Python/3.7.3 Linux/5.4.0-1022-azure exe/x86_64.ubuntu.20)
- AWS CLI (aws-cli/2.0.46 Python/3.7.3 Linux/5.4.0-1023-azure exe/x86_64.ubuntu.20)
- AWS CLI Session manager plugin (1.1.61.0)
- build-essential
- Clang 6.0 (6.0.1)
@@ -74,13 +74,14 @@ The following software is installed on machines with the 20200825.1 update.
- Swift version 5.2.5 (swift-5.2.5-RELEASE)
Target: x86_64-unknown-linux-gnu
- CMake (cmake version 3.17.0)
- Podman (2.0.4)
- Buildah (1.15.1)
- Podman (2.0.6)
- Buildah (1.15.2)
- Skopeo (1.1.1)
- Docker Compose (docker-compose version 1.26.2, build eefe0d31)
- Docker Compose (docker-compose version 1.27.0, build 980ec85b)
- Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b)
- Docker-Buildx (0.4.2+azure)
- .NET Core SDK:
- 3.1.402
- 3.1.401
- 3.1.302
- 3.1.301
@@ -88,6 +89,7 @@ Target: x86_64-unknown-linux-gnu
- 3.1.202
- 3.1.201
- 3.1.200
- 3.1.108
- 3.1.107
- 3.1.106
- 3.1.105
@@ -96,6 +98,7 @@ Target: x86_64-unknown-linux-gnu
- 3.1.102
- 3.1.101
- 3.1.100
- 2.1.810
- 2.1.809
- 2.1.808
- 2.1.807
@@ -107,6 +110,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.801
- 2.1.701
- 2.1.700
- 2.1.615
- 2.1.614
- 2.1.613
- 2.1.612
@@ -120,6 +124,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.604
- 2.1.603
- 2.1.602
- 2.1.518
- 2.1.517
- 2.1.516
- 2.1.515
@@ -144,7 +149,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.301
- 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.3)
- Firefox (Mozilla Firefox 79.0)
- Firefox (Mozilla Firefox 80.0.1)
- Geckodriver (0.27.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.5.0
- GNU C++ 8.4.0
@@ -152,19 +157,19 @@ Target: x86_64-unknown-linux-gnu
- GNU Fortran 8.4.0
- GNU Fortran 9.3.0
- Git (2.28.0)
- Git Large File Storage (LFS) (2.11.0)
- Git Large File Storage (LFS) (2.12.0)
- Git-ftp (1.6.0)
- Hub CLI (2.14.2)
- GitHub CLI 0.11.1
- Google Chrome (Google Chrome 85.0.4183.83 )
- ChromeDriver 85.0.4183.38 (9047dbc2c693f044042bbec5c91401c708c7c26a-refs/branch-heads/4183@{#779}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (307.0.0)
- Haskell Cabal (cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library )
- GitHub CLI 0.12.0
- Google Chrome (Google Chrome 85.0.4183.102 )
- ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (308.0.0)
- Haskell Cabal (cabal-install version 3.4.0.0
compiled using version 3.4.0.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.2)
- Haskell Stack (Version 2.3.3, Git revision cb44d51bed48b723a5deb08c3348c0b3ccfc437e x86_64 hpack-0.33.0)
- Heroku (heroku/7.42.10 linux-x64 node-v12.16.2)
- HHVM (HipHop VM 4.71.0 (rel))
- Heroku (heroku/7.42.13 linux-x64 node-v12.16.2)
- HHVM (HipHop VM 4.74.0 (rel))
- ImageMagick
- Adopt OpenJDK:
- 8 (openjdk version "1.8.0_265")
@@ -173,15 +178,16 @@ compiled using version 3.2.0.0 of the Cabal library )
- Gradle 6.6.1
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.8.1 go1.14.2 linux/amd64)
- kubectl (Client Version: v1.18.8)
- helm (v3.3.0+g8a4aeec)
- minikube version: v1.12.3
- kustomize ({kustomize/v3.8.1 2020-07-16T00:58:46Z })
- kubectl (Client Version: v1.19.0)
- helm (v3.3.1+g249e521)
- minikube version: v1.13.0
- kustomize ({kustomize/v3.8.2 2020-08-29T17:44:01Z })
- oc CLI Client Version: 4.5.0-202005291417-9933eb9
- Leiningen (Leiningen 2.9.4 on Java 11.0.8 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 5.3.1))
- Miniconda (conda 4.8.3)
- Mono (Mono JIT compiler version 6.10.0.104 (tarball Fri Jun 26 19:38:44 UTC 2020))
- Mono (Mono JIT compiler version 6.12.0.90 (tarball Fri Sep 4 14:02:38 UTC 2020))
- NuGet (NuGet Version: 5.5.0.6382)
- MySQL (mysql Ver 8.0.21-0ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu)))
- MySQL Server (user:root password:root)
- MS SQL Server Client Tools
@@ -196,9 +202,9 @@ Local version: Unknown)
- TypeScript (Version 4.0.2)
- Webpack (4.44.1)
- Webpack CLI (3.3.12)
- Yarn (1.22.4)
- Newman (5.1.2)
- Bazel (bazel 3.4.1)
- Yarn (1.22.5)
- Newman (5.2.0)
- Bazel (bazel 3.5.0)
- Bazelisk (1.6.1)
- ORAS CLI 0.8.1
- PhantomJS (2.1.1)
@@ -208,40 +214,41 @@ Local version: Unknown)
apt-add-repository ppa:ondrej/php -y
apt-get update
```
- Composer (Composer version 1.10.10 2020-08-03 11:35:19)
- Composer (Composer version 1.10.12 2020-09-08 22:58:51)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate
- psql (PostgreSQL) 12.4
- Powershell (PowerShell 7.0.3)
- Pulumi v2.9.2
- ruby (2.7.0p0)
- gem (3.1.2)
- OpenSSL 1.1.1f 31 Mar 2020
- Libssl 1.1.1f-1ubuntu2
- R 4.0.2
- rustup (1.22.1)
- rust (1.45.2)
- cargo (1.45.1)
- rustfmt (1.4.17-stable)
- rust (1.46.0)
- cargo (1.46.0)
- rustfmt (1.4.18-stable)
- clippy (0.0.212)
- rustdoc (1.45.2)
- rustdoc (1.46.0)
- bindgen (0.55.1)
- cbindgen (0.14.4)
- cargo audit (0.12.0)
- cargo outdated (v0.9.11)
- Julia (julia version 1.5.0)
- Julia (julia version 1.5.1)
- sbt (copying runtime jar...
1.3.13)
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server
- Subversion (svn, version 1.13.0 (r1867053))
- Terraform (Terraform v0.13.0)
- Packer (1.6.1)
- Terraform (Terraform v0.13.2)
- Packer (1.6.2)
- Vcpkg 2020.06.15-unknownhash
- Vercel CLI (20.0.0)
- Vercel CLI (20.1.0)
- MongoDB on Linux v4.4.0
- Haveged 1.9.1-6ubuntu1
- Swig 4.0.1
- Netlify CLI (netlify-cli/2.59.1 linux-x64 node-v12.18.3)
- Netlify CLI (netlify-cli/2.61.2 linux-x64 node-v12.18.3)
- Google Repository 58
- Google Play services 49
- CMake 3.10.2.4988404
@@ -266,17 +273,17 @@ apt-get update
- Android SDK Build-Tools 27.0.1
- Android SDK Build-Tools 27.0.0
- Android NDK 21.3.6528147
- Az Module (4.6.0)
- Az Module (4.6.1)
- Cached container images
- node:10 (Digest: sha256:cf3ee6a5a1b1916c7a2e4fb51eb7ecba1afe186739677d62e9c1bb2cb1c7d6b0)
- node:12 (Digest: sha256:d0738468dfc7cedb7d260369e0546fd7ee8731cfd67136f6023d070ad9679090)
- buildpack-deps:stretch (Digest: sha256:34a18637ed801407f7a17a29575e82264fb0818f9b6a0c890f8a6530afea43dc)
- buildpack-deps:buster (Digest: sha256:b9343e9ba16795186ab1f34825803f1d7e9b0943dba5d644d3c1de5473f0602e)
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
- node:10 (Digest: sha256:304c59f827930ae1a4a9775aec5837c8f95c3d41b5e6d7c0a329b4eb8c4cc8a8)
- node:12 (Digest: sha256:099346a8e9c861b406c9bbb1f109125c7263868e5447cc57d6d564e1fec8a5cf)
- buildpack-deps:stretch (Digest: sha256:82a686ba95fdf2bf4a5f5264e8e55b8aa272ffcedaed7826777f08de0d9e1146)
- buildpack-deps:buster (Digest: sha256:0f7be4c25fadb2b8aee537cdac00a684b09057e66368683bbf22adf477e05faa)
- debian:9 (Digest: sha256:335ecf9e8d9b2206c2e9e7f8b09547faa9f868e694f7c5be14c38be15ea8a7cf)
- debian:8 (Digest: sha256:8a0f2603166345b4d7bbf4842137b2ffcb492ece20d15f963f08aa26670f82c7)
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
- jekyll/builder:latest (Digest: sha256:98cda359955f25f18c4bcc78536cdfd30e7ded689b1f52fcd513c75cbe4e751e)
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
@@ -288,12 +295,12 @@ apt-get update
- Ruby 2.6.6
- Ruby 2.7.1
- Python (Python 2.7.18rc1)
- pip (pip 20.2.2 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7))
- pip (pip 20.2.3 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7))
- Python3 (Python 3.8.2)
- pip3 (pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8))
- Python:
- Python 2.7.18
- Python 3.5.9
- Python 3.5.10
- Python 3.6.12
- Python 3.7.9
- Python 3.8.5
@@ -304,10 +311,10 @@ apt-get update
- node 8.17.0
- node 10.22.0
- node 12.18.3
- node 14.8.0
- node 14.9.0
- go:
- go 1.14.7
- go 1.15.0
- AWS SAM CLI, version 1.1.0
- Homebrew on Linux (Homebrew 2.4.13
Homebrew/linuxbrew-core (git revision 7d5ec; last commit 2020-08-24))
- go 1.14.8
- go 1.15.1
- AWS SAM CLI, version 1.2.0
- Homebrew on Linux (Homebrew 2.5.0
Homebrew/linuxbrew-core (git revision 3199c; last commit 2020-09-08))

View File

@@ -0,0 +1,147 @@
function Split-TableRowByColumns {
param(
[string] $Row
)
return $Row.Split("|") | ForEach-Object { $_.trim() }
}
function Get-AndroidSDKRoot {
return "/usr/local/lib/android/sdk"
}
function Get-AndroidSDKManagerPath {
$androidSDKDir = Get-AndroidSDKRoot
return Join-Path $androidSDKDir "tools" "bin" "sdkmanager"
}
function Get-AndroidInstalledPackages {
$androidSDKManagerPath = Get-AndroidSDKManagerPath
$androidSDKManagerList = Invoke-Expression "$androidSDKManagerPath --list --include_obsolete"
$androidInstalledPackages = @()
foreach($packageInfo in $androidSDKManagerList) {
if($packageInfo -Match "Available Packages:") {
break
}
$androidInstalledPackages += $packageInfo
}
return $androidInstalledPackages
}
function Build-AndroidTable {
$packageInfo = Get-AndroidInstalledPackages
return @(
@{
"Package" = "Android SDK Platform-Tools"
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Android SDK Platform-Tools"
},
@{
"Package" = "Android SDK Tools"
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Android SDK Tools"
},
@{
"Package" = "Android SDK Platforms"
"Version" = Get-AndroidPlatformVersions -PackageInfo $packageInfo
},
@{
"Package" = "Android SDK Build-tools"
"Version" = Get-AndroidBuildToolVersions -PackageInfo $packageInfo
},
@{
"Package" = "Google APIs"
"Version" = Get-AndroidGoogleAPIsVersions -PackageInfo $packageInfo
},
@{
"Package" = "NDK"
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "ndk-bundle"
},
@{
"Package" = "Android Support Repository"
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Android Support Repository"
},
@{
"Package" = "Google Play services"
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Google Play services"
},
@{
"Package" = "Google Repository"
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Google Repository"
},
@{
"Package" = "SDK Patch Applier v4"
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "SDK Patch Applier v4"
},
@{
"Package" = "CMake"
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "cmake"
}
) | Where-Object { $_.Version } | ForEach-Object {
[PSCustomObject] @{
"Package Name" = $_.Package
"Version" = $_.Version
}
}
}
function Get-AndroidPackageVersions {
param (
[Parameter(Mandatory)]
[object] $PackageInfo,
[Parameter(Mandatory)]
[object] $MatchedString
)
$versions = $packageInfo | Where-Object { $_ -Match $MatchedString } | ForEach-Object {
$packageInfoParts = Split-TableRowByColumns $_
return $packageInfoParts[1]
}
return ($versions -Join "<br>")
}
function Get-AndroidPlatformVersions {
param (
[Parameter(Mandatory)]
[object] $PackageInfo
)
$versions = $packageInfo | Where-Object { $_ -Match "Android SDK Platform " } | ForEach-Object {
$packageInfoParts = Split-TableRowByColumns $_
$revision = $packageInfoParts[1]
$version = $packageInfoParts[0].split(";")[1]
return "$version (rev $revision)"
}
[array]::Reverse($versions)
return ($versions -Join "<br>")
}
function Get-AndroidBuildToolVersions {
param (
[Parameter(Mandatory)]
[object] $PackageInfo
)
$versions = $packageInfo | Where-Object { $_ -Match "Android SDK Build-Tools" } | ForEach-Object {
$packageInfoParts = Split-TableRowByColumns $_
return $packageInfoParts[1]
}
$groupVersions = @()
$versions | ForEach-Object {
$majorVersion = $_.Split(".")[0]
$groupVersions += $versions | Where-Object { $_.StartsWith($majorVersion) } | Join-String -Separator " "
}
return ($groupVersions | Sort-Object -Descending -Unique | Join-String -Separator "<br>")
}
function Get-AndroidGoogleAPIsVersions {
param (
[Parameter(Mandatory)]
[object] $PackageInfo
)
$versions = $packageInfo | Where-Object { $_ -Match "Google APIs" } | ForEach-Object {
$packageInfoParts = Split-TableRowByColumns $_
return $packageInfoParts[0].split(";")[1]
}
return ($versions -Join "<br>")
}

View File

@@ -0,0 +1,19 @@
function Get-ChromeVersion {
$googleChromeVersion = google-chrome --version | Take-OutputPart -Part 2
return "Google Chrome $googleChromeVersion"
}
function Get-ChromeDriverVersion {
$chromeDriverVersion = chromedriver --version | Take-OutputPart -Part 1
return "ChromeDriver $chromeDriverVersion"
}
function Get-FirefoxVersion {
$firefoxVersion = firefox --version
return $firefoxVersion
}
function Get-GeckodriverVersion {
$geckodriverVersion = geckodriver --version | Select-Object -First 1 | Take-OutputPart -Part 1
return "Geckodriver $geckodriverVersion"
}

View File

@@ -0,0 +1,64 @@
function Get-ToolcacheRubyVersions {
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "Ruby"
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
}
function Get-ToolcachePythonVersions {
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "Python"
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
}
function Get-ToolcachePyPyVersions {
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "PyPy"
Get-ChildItem -Path $toolcachePath -Name | Sort-Object { [Version] $_ } | ForEach-Object {
$pypyRootPath = Join-Path $toolcachePath $_ "x64"
[string]$pypyVersionOutput = & "$pypyRootPath/bin/python" -c "import sys;print(sys.version)"
$pypyVersionOutput -match "^([\d\.]+) \(.+\) \[PyPy ([\d\.]+) .+]$" | Out-Null
return "{0} [PyPy {1}]" -f $Matches[1], $Matches[2]
}
}
function Get-ToolcacheNodeVersions {
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "node"
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
}
function Get-ToolcacheGoVersions {
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "go"
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
}
function Get-ToolcacheBoostVersions {
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "boost"
if (-not (Test-Path $toolcachePath)) {
return @()
}
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
}
function Build-CachedToolsSection {
$output = ""
$output += New-MDHeader "Ruby" -Level 4
$output += New-MDList -Lines (Get-ToolcacheRubyVersions) -Style Unordered
$output += New-MDHeader "Python" -Level 4
$output += New-MDList -Lines (Get-ToolcachePythonVersions) -Style Unordered
$output += New-MDHeader "PyPy" -Level 4
$output += New-MDList -Lines (Get-ToolcachePyPyVersions) -Style Unordered
$output += New-MDHeader "Node.js" -Level 4
$output += New-MDList -Lines (Get-ToolcacheNodeVersions) -Style Unordered
$output += New-MDHeader "Go" -Level 4
$output += New-MDList -Lines (Get-ToolcacheGoVersions) -Style Unordered
$boostVersions = Get-ToolcacheBoostVersions
if ($boostVersions.Count -gt 0) {
$output += New-MDHeader "Boost" -Level 4
$output += New-MDList -Lines $boostVersions -Style Unordered
}
return $output
}

View File

@@ -0,0 +1,247 @@
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Helpers.psm1") -DisableNameChecking
function Get-OSName {
lsb_release -ds
}
function Get-CPPVersions {
$cppVersions = apt list --installed 2>&1 | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object {
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
$Matches.version
}
return "GNU C++ " + ($cppVersions -Join ", ")
}
function Get-FortranVersions {
$fortranVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^gfortran-\d+"} | ForEach-Object {
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
$Matches.version
}
return "GNU Fortran " + ($fortranVersions -Join ", ")
}
function Get-ClangVersions {
$clangVersions = @()
$clangVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^clang-\d+"} | ForEach-Object {
$clangCommand = ($_ -Split "/")[0]
Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "clang version" } | ForEach-Object {
$_ -match "clang version (?<version>\d+\.\d+\.\d+)-" | Out-Null
$Matches.version
}
}
return "Clang " + ($clangVersions -Join ", ")
}
function Get-ErlangVersion {
$result = Get-CommandResult "erl -version"
$result.Output -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
$version = $Matches.version
return "Erlang $version"
}
function Get-MonoVersion {
$monoVersion = mono --version | Out-String | Take-OutputPart -Part 4
return "Mono $monoVersion"
}
function Get-NodeVersion {
$nodeVersion = $(node --version).Substring(1)
return "Node $nodeVersion"
}
function Get-PythonVersion {
$result = Get-CommandResult "python --version"
$version = $result.Output | Take-OutputPart -Part 1
return "Python $version"
}
function Get-Python3Version {
$result = Get-CommandResult "python3 --version"
$version = $result.Output | Take-OutputPart -Part 1
return "Python3 $version"
}
function Get-PowershellVersion {
return $(pwsh --version)
}
function Get-RubyVersion {
$rubyVersion = ruby --version | Out-String | Take-OutputPart -Part 1
return "Ruby $rubyVersion"
}
function Get-SwiftVersion {
$swiftVersion = swift --version | Out-String | Take-OutputPart -Part 2
return "Swift $swiftVersion"
}
function Get-JuliaVersion {
$juliaVersion = julia --version | Take-OutputPart -Part 2
return "Julia $juliaVersion"
}
function Get-HomebrewVersion {
$result = Get-CommandResult "brew -v"
$result.Output -match "Homebrew (?<version>\d+\.\d+\.\d+)" | Out-Null
$version = $Matches.version
return "Homebrew $version"
}
function Get-GemVersion {
$result = Get-CommandResult "gem --version"
$result.Output -match "(?<version>\d+\.\d+\.\d+)" | Out-Null
$gemVersion = $Matches.version
return "Gem $gemVersion"
}
function Get-MinicondaVersion {
$condaVersion = conda --version
return "Mini$condaVersion"
}
function Get-HelmVersion {
$(helm version) -match 'Version:"v(?<version>\d+\.\d+\.\d+)"' | Out-Null
$helmVersion = $Matches.version
return "Helm $helmVersion"
}
function Get-NpmVersion {
$npmVersion = npm --version
return "Npm $npmVersion"
}
function Get-YarnVersion {
$yarnVersion = yarn --version
return "Yarn $yarnVersion"
}
function Get-PipVersion {
$result = Get-CommandResult "pip --version"
$result.Output -match "pip (?<version>\d+\.\d+\.\d+)" | Out-Null
$pipVersion = $Matches.version
return "Pip $pipVersion"
}
function Get-Pip3Version {
$result = Get-CommandResult "pip3 --version"
$result.Output -match "pip (?<version>\d+\.\d+\.\d+)" | Out-Null
$pipVersion = $Matches.version
return "Pip3 $pipVersion"
}
function Get-VcpkgVersion {
$result = Get-CommandResult "vcpkg version"
$result.Output -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
$vcpkgVersion = $Matches.version
return "Vcpkg $vcpkgVersion"
}
function Get-AntVersion {
$result = ant -version | Out-String
$result -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
$antVersion = $Matches.version
return "Ant $antVersion"
}
function Get-GradleVersion {
$result = gradle -v | Out-String
$result -match "Gradle (?<version>\d+\.\d+\.\d+)" | Out-Null
$gradleVersion = $Matches.version
return "Gradle $gradleVersion"
}
function Get-MavenVersion {
$result = mvn -version | Out-String
$result -match "Apache Maven (?<version>\d+\.\d+\.\d+)" | Out-Null
$mavenVersion = $Matches.version
return "Maven $mavenVersion"
}
function Get-SbtVersion {
$result = sbt -version 2>&1 | Out-String
$result -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null
$sbtVersion = $Matches.version
return "Sbt $sbtVersion"
}
function Get-PHPVersions {
return $(apt list --installed 2>&1) | Where-Object { $_ -match "^php\d+\.\d+/"} | ForEach-Object {
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
$Matches.version
}
}
function Get-ComposerVersion {
$(composer --version) -match "Composer version (?<version>\d+\.\d+\.\d+)\s" | Out-Null
return $Matches.version
}
function Get-PHPUnitVersion {
$(phpunit --version | Out-String) -match "PHPUnit (?<version>\d+\.\d+\.\d+)\s" | Out-Null
return $Matches.version
}
function Build-PHPTable {
$php = @{
"Tool" = "PHP"
"Version" = "$(Get-PHPVersions -Join '<br>')"
}
$composer = @{
"Tool" = "Composer"
"Version" = Get-ComposerVersion
}
$phpunit = @{
"Tool" = "PHPUnit"
"Version" = Get-PHPUnitVersion
}
return @($php, $composer, $phpunit) | ForEach-Object {
[PSCustomObject] @{
"Tool" = $_.Tool
"Version" = $_.Version
}
}
}
function Get-GHCVersion {
$(ghc --version) -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
$ghcVersion = $Matches.version
return "GHC $ghcVersion"
}
function Get-CabalVersion {
$(cabal --version | Out-String) -match "cabal-install version (?<version>\d+\.\d+\.\d+\.\d+)" | Out-Null
$cabalVersion = $Matches.version
return "Cabal $cabalVersion"
}
function Get-StackVersion {
$(stack --version | Out-String) -match "Version (?<version>\d+\.\d+\.\d+)" | Out-Null
$stackVersion = $Matches.version
return "Stack $stackVersion"
}
function Get-AzModuleVersions {
$azModuleVersions = Get-ChildItem /usr/share | Where-Object { $_ -match "az_\d+" } | Foreach-Object {
$_.Name.Split("_")[1]
}
$azModuleVersions = $azModuleVersions -join " "
return $azModuleVersions
}
function Get-DotNetCoreSdkVersions {
$unsortedDotNetCoreSdkVersion = dotnet --list-sdks list | ForEach-Object { $_ | Take-OutputPart -Part 0 }
$dotNetCoreSdkVersion = $unsortedDotNetCoreSdkVersion -join " "
return $dotNetCoreSdkVersion
}
function Get-CachedDockerImages {
$toolsetJson = Get-ToolsetContent
$images = $toolsetJson.docker.images
return $images
}
function Get-AptPackages {
$toolsetJson = Get-ToolsetContent
$apt = $toolsetJson.apt
$pkgs = ($apt.common_packages + $apt.cmd_packages | Sort-Object) -join ", "
return $pkgs
}

View File

@@ -0,0 +1,35 @@
function Get-PostgreSqlVersion {
$postgreSQLVersion = psql --version | Take-OutputPart -Part 2
return "Postgre SQL $postgreSQLVersion"
}
function Get-MongoDbVersion {
$mongoDBVersion = mongod --version | Select-Object -First 1 | Take-OutputPart -Part 2 -Delimiter "v"
return "MongoDB $mongoDBVersion"
}
function Get-SqliteVersion {
$sqliteVersion = sqlite3 --version | Take-OutputPart -Part 0
return "sqlite3 $sqliteVersion"
}
function Get-MySQLVersion {
$mySQLVersion = mysqld --version | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "-"
return "MySQL $mySQLVersion"
}
function Build-MySQLSection {
$output = ""
$output += New-MDHeader "MySQL" -Level 4
$output += New-MDList -Style Unordered -Lines @(
(Get-MySQLVersion ),
"MySQL Server (user:root password:root)",
"MS SQL Server Client Tools"
)
$output += New-MDCode -Lines @(
"MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service'"
)
return $output
}

View File

@@ -0,0 +1,212 @@
param (
[Parameter(Mandatory)][string]
$OutputDirectory
)
Import-Module MarkdownPS
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.CachedTools.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Common.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Databases.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Helpers.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Java.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Rust.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking
$markdown = ""
if ($env:ANNOUNCEMENTS) {
$markdown += $env:ANNOUNCEMENTS
$markdown += New-MDNewLine
$markdown += "***"
$markdown += New-MDNewLine
}
$OSName = Get-OSName
$markdown += New-MDHeader "$OSName" -Level 1
$markdown += New-MDList -Style Unordered -Lines @(
"Image Version: $env:IMAGE_VERSION"
)
$markdown += New-MDHeader "Installed Software" -Level 2
$markdown += New-MDHeader "Language and Runtime" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-CPPVersions),
(Get-FortranVersions),
(Get-ClangVersions),
(Get-ErlangVersion),
(Get-MonoVersion),
(Get-NodeVersion),
(Get-PythonVersion),
(Get-Python3Version),
(Get-PowershellVersion),
(Get-RubyVersion),
(Get-SwiftVersion),
(Get-JuliaVersion)
)
$markdown += New-MDHeader "Package Management" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-HomebrewVersion),
(Get-GemVersion),
(Get-MinicondaVersion),
(Get-HelmVersion),
(Get-NpmVersion),
(Get-YarnVersion),
(Get-PipVersion),
(Get-Pip3Version),
(Get-VcpkgVersion)
)
$markdown += New-MDHeader "Project Management" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-AntVersion),
(Get-GradleVersion),
(Get-MavenVersion),
(Get-SbtVersion)
)
$markdown += New-MDHeader "Tools" -Level 3
$toolsList = @(
(Get-7zipVersion),
(Get-AnsibleVersion),
(Get-AzCopy7Version),
(Get-AzCopy10Version),
(Get-BazelVersion),
(Get-BazeliskVersion),
(Get-CMakeVersion),
(Get-CurlVersion),
(Get-DockerMobyVersion),
(Get-DockerComposeVersion),
(Get-DockerBuildxVersion),
(Get-GitVersion),
(Get-GitLFSVersion),
(Get-GitFTPVersion),
(Get-GoogleCloudSDKVersion),
(Get-HavegedVersion),
(Get-HerokuVersion),
(Get-HHVMVersion),
(Get-SVNVersion),
(Get-JqVersion),
(Get-KindVersion),
(Get-KubectlVersion),
(Get-KustomizeVersion),
(Get-LeiningenVersion),
(Get-M4Version),
(Get-HGVersion),
(Get-MinikubeVersion),
(Get-NewmanVersion),
(Get-NvmVersion),
(Get-PackerVersion),
(Get-PhantomJSVersion),
(Get-SwigVersion),
(Get-TerraformVersion),
(Get-UnZipVersion),
(Get-WgetVersion),
(Get-ZipVersion),
(Get-ZstdVersion)
)
if (-not (Test-IsUbuntu16)) {
$toolsList += @(
(Get-PodManVersion),
(Get-BuildahVersion),
(Get-SkopeoVersion)
)
}
$markdown += New-MDList -Style Unordered -Lines ($toolsList | Sort-Object)
$markdown += New-MDHeader "CLI Tools" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-AlibabaCloudCliVersion),
(Get-AWSCliVersion),
(Get-AWSCliSessionManagerPluginVersion),
(Get-AWSSAMVersion),
(Get-AzureCliVersion),
(Get-AzureDevopsVersion),
(Get-GitHubCliVersion),
(Get-HubCliVersion),
(Get-NetlifyCliVersion),
(Get-OCCliVersion),
(Get-ORASCliVersion),
(Get-VerselCliversion)
)
$markdown += New-MDHeader "Java" -Level 3
$markdown += Get-JavaVersions | New-MDTable
$markdown += New-MDNewLine
$markdown += New-MDHeader "PHP" -Level 3
$markdown += Build-PHPTable | New-MDTable
$markdown += New-MDNewLine
$markdown += New-MDHeader "Haskell" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-GHCVersion),
(Get-CabalVersion),
(Get-StackVersion)
)
$markdown += New-MDHeader "Rust Tools" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-RustVersion),
(Get-RustupVersion),
(Get-RustdocVersion),
(Get-CargoVersion)
)
$markdown += New-MDHeader "Packages" -Level 4
$markdown += New-MDList -Style Unordered -Lines @(
(Get-BindgenVersion),
(Get-CargoAuditVersion),
(Get-CargoOutdatedVersion),
(Get-CargoClippyVersion),
(Get-CbindgenVersion),
(Get-RustfmtVersion)
)
$markdown += New-MDHeader "Browsers and Drivers" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-ChromeVersion),
(Get-ChromeDriverVersion),
(Get-FirefoxVersion),
(Get-GeckodriverVersion)
)
$markdown += New-MDHeader ".NET Core SDK" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-DotNetCoreSdkVersions)
)
$markdown += New-MDHeader "Az Module" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-AzModuleVersions)
)
$markdown += New-MDHeader "Databases" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
(Get-PostgreSqlVersion),
(Get-MongoDbVersion),
(Get-SqliteVersion)
)
$markdown += Build-MySQLSection
$markdown += New-MDHeader "Cached Tools" -Level 3
$markdown += Build-CachedToolsSection
$markdown += New-MDHeader "Android" -Level 3
$markdown += Build-AndroidTable | New-MDTable
$markdown += New-MDNewLine
$markdown += New-MDHeader "Cached Docker images" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(Get-CachedDockerImages)
$markdown += New-MDHeader "Installed apt packages" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(Get-AptPackages)
$markdown | Out-File -FilePath "${OutputDirectory}/Ubuntu-Readme.md"

View File

@@ -0,0 +1,51 @@
function Get-CommandResult {
param (
[Parameter(Mandatory=$true)]
[string] $Command,
[switch] $Multiline
)
# Bash trick to suppress and show error output because some commands write to stderr (for example, "python --version")
$stdout = & bash -c "$Command 2>&1"
$exitCode = $LASTEXITCODE
return @{
Output = If ($Multiline -eq $true) { $stdout } else { [string]$stdout }
ExitCode = $exitCode
}
}
function Take-OutputPart {
param (
[Parameter(ValueFromPipeline)]
[string] $toolOutput,
[string] $Delimiter = " ",
[int[]] $Part
)
$parts = $toolOutput.Split($Delimiter, [System.StringSplitOptions]::RemoveEmptyEntries)
$selectedParts = $parts[$Part]
return [string]::Join($Delimiter, $selectedParts)
}
function Test-IsUbuntu16 {
return (lsb_release -rs) -eq "16.04"
}
function Test-IsUbuntu18 {
return (lsb_release -rs) -eq "18.04"
}
function Test-IsUbuntu20 {
return (lsb_release -rs) -eq "20.04"
}
function Get-ToolsetContent {
$toolset = Join-Path $env:INSTALLER_SCRIPT_FOLDER "toolset.json"
Get-Content $toolset -Raw | ConvertFrom-Json
}
function New-MDNewLine {
param (
[int] $Count = 1
)
$newLineSymbol = [System.Environment]::NewLine
return $newLineSymbol * $Count
}

View File

@@ -0,0 +1,30 @@
function Get-JavaFullVersion {
param($JavaRootPath)
$javaBinPath = Join-Path $javaRootPath "/bin/java"
$javaVersionOutput = (Get-CommandResult "$javaBinPath -version").Output
$matchResult = $javaVersionOutput | Select-String '^openjdk version \"([\d\._]+)\"'
return $matchResult.Matches.Groups[1].Value
}
function Get-JavaVersions {
$defaultJavaPath = $env:JAVA_HOME
$javaVersions = Get-Item env:JAVA_HOME_*_X64
$sortRules = @{
Expression = { [Int32]$_.Name.Split("_")[2] }
Descending = $false
}
return $javaVersions | Sort-Object $sortRules | ForEach-Object {
$javaPath = $_.Value
$version = Get-JavaFullVersion $javaPath
$vendor = $version.StartsWith("1.7") ? "Zulu" : "AdoptOpenJDK"
$defaultPostfix = ($javaPath -eq $defaultJavaPath) ? " (default)" : ""
[PSCustomObject] @{
"Version" = $version + $defaultPostfix
"Vendor" = $vendor
"Environment Variable" = $_.Name
}
}
}

View File

@@ -0,0 +1,55 @@
function Initialize-RustEnvironment {
ln -sf "/usr/share/rust/.rustup" $HOME/.rustup
ln -sf "/usr/share/rust/.cargo" $HOME/.cargo
}
function Get-RustVersion {
Initialize-RustEnvironment
$rustVersion = $(rustc --version) | Take-OutputPart -Part 1
return "Rust $rustVersion"
}
function Get-BindgenVersion {
$bindgenVersion = $(bindgen --version) | Take-OutputPart -Part 1
return "Bindgen $bindgenVersion"
}
function Get-CargoVersion {
$cargoVersion = $(cargo --version) | Take-OutputPart -Part 1
return "Cargo $cargoVersion"
}
function Get-CargoAuditVersion {
$cargoAuditVersion = $(cargo audit --version) | Take-OutputPart -Part 1
return "Cargo audit $cargoAuditVersion"
}
function Get-CargoOutdatedVersion {
$cargoOutdatedVersion = $(cargo outdated --version) | Take-OutputPart -Part 1 -Delimiter "v"
return "Cargo outdated $cargoOutdatedVersion"
}
function Get-CargoClippyVersion {
$cargoClippyVersion = $(cargo-clippy --version) | Take-OutputPart -Part 1
return "Cargo clippy $cargoClippyVersion"
}
function Get-CbindgenVersion {
$cbindgenVersion = $(cbindgen --version) | Take-OutputPart -Part 1
return "Cbindgen $cbindgenVersion"
}
function Get-RustupVersion {
$rustupVersion = $(rustup --version) | Take-OutputPart -Part 1
return "Rustup $rustupVersion"
}
function Get-RustdocVersion {
$rustdocVersion = $(rustdoc --version) | Take-OutputPart -Part 1
return "Rustdoc $rustdocVersion"
}
function Get-RustfmtVersion {
$rustfmtVersion = $(rustfmt --version) | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
return "Rustfmt $rustfmtVersion"
}

View File

@@ -0,0 +1,249 @@
function Get-7zipVersion {
$7zVersion = 7z i | Select-String "7-Zip" | Take-OutputPart -Part 2
return "7-Zip $7zVersion"
}
function Get-AnsibleVersion {
$ansibleVersion = sudo ansible --version | Select-Object -First 1 | Take-OutputPart -Part 1
return "Ansible $ansibleVersion"
}
function Get-AzCopy7Version {
$azcopy7Version = azcopy --version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
return "AzCopy7 $azcopy7Version (available by ``azcopy`` alias)"
}
function Get-AzCopy10Version {
$azcopy10Version = azcopy10 --version | Take-OutputPart -Part 2
return "AzCopy10 $azcopy10Version (available by ``azcopy10`` alias)"
}
function Get-BazelVersion {
$bazelVersion = sudo bazel --version | Select-String "bazel" | Take-OutputPart -Part 1
return "Bazel $bazelVersion"
}
function Get-BazeliskVersion {
$bazeliskVersion = sudo bazelisk version 2>&1 | Select-String "Bazelisk version:" | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
return "Bazelisk $bazeliskVersion"
}
function Get-PodManVersion {
$podmanVersion = podman --version | Take-OutputPart -Part 2
return "Podman $podmanVersion"
}
function Get-BuildahVersion {
$buildahVersion = buildah --version | Take-OutputPart -Part 2
return "Buildah $buildahVersion"
}
function Get-SkopeoVersion {
$skopeoVersion = skopeo --version | Take-OutputPart -Part 2
return "Skopeo $skopeoVersion"
}
function Get-CMakeVersion {
$cmakeVersion = cmake --version | Select-Object -First 1 | Take-OutputPart -Part 2
return "CMake $cmakeVersion"
}
function Get-CurlVersion {
$curlVersion = curl --version | Select-Object -First 1 | Take-OutputPart -Part 0,1
return $curlVersion
}
function Get-DockerComposeVersion {
$composeVersion = docker-compose -v | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter ","
return "Docker Compose $composeVersion"
}
function Get-DockerMobyVersion {
$dockerVersion = docker -v | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "+"
return "Docker-Moby $dockerVersion"
}
function Get-DockerBuildxVersion {
$buildxVersion = docker buildx version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "+"
return "Docker-Buildx $buildxVersion"
}
function Get-GitVersion {
$gitVersion = git --version 2>&1 | Take-OutputPart -Part 2
return "Git $gitVersion"
}
function Get-GitLFSVersion {
$gitlfsversion = git-lfs --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
return "Git LFS $gitlfsversion"
}
function Get-GitFTPVersion {
$gitftpVersion = git-ftp --version | Take-OutputPart -Part 2
return "Git-ftp $gitftpVersion"
}
function Get-GoogleCloudSDKVersion {
return "$(sudo gcloud --version | Select-Object -First 1)"
}
function Get-HavegedVersion {
$havegedVersion = dpkg-query --showformat='${Version}' --show haveged | Take-OutputPart -Part 0 -Delimiter "-"
return "Haveged $havegedVersion"
}
function Get-HerokuVersion {
$herokuVersion = sudo heroku version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
return "Heroku $herokuVersion"
}
function Get-HHVMVersion {
$hhvmVersion = hhvm --version | Select-Object -First 1 | Take-OutputPart -Part 2
return "HHVM (HipHop VM) $hhvmVersion"
}
function Get-SVNVersion {
$svnVersion = svn --version | Select-Object -First 1 | Take-OutputPart -Part 2
return "SVN $svnVersion"
}
function Get-KustomizeVersion {
$kustomizeVersion = kustomize version --short | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "v"
return "Kustomize $kustomizeVersion"
}
function Get-KindVersion {
$kindVersion = kind version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "v"
return "Kind $kindVersion"
}
function Get-KubectlVersion {
$kubectlVersion = kubectl version --client --short | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
return "Kubectl $kubectlVersion"
}
function Get-MinikubeVersion {
$minikubeVersion = minikube version --short | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
return "Minikube $minikubeVersion"
}
function Get-HGVersion {
$hgVersion = hg --version | Select-Object -First 1 | Take-OutputPart -Part -1 | Take-OutputPart -Part 0 -Delimiter ")"
return "Mercurial $hgVersion"
}
function Get-M4Version {
$m4Version = m4 --version | Select-Object -First 1 | Take-OutputPart -Part -1
return "m4 $m4Version"
}
function Get-LeiningenVersion {
return "$(lein -v | Take-OutputPart -Part 0,1)"
}
function Get-NewmanVersion {
return "Newman $(newman --version)"
}
function Get-NvmVersion {
$nvmVersion = bash -c "source /etc/skel/.nvm/nvm.sh && nvm --version"
return "nvm $nvmVersion"
}
function Get-PackerVersion {
return "Packer $(packer --version)"
}
function Get-PhantomJSVersion {
return "PhantomJS $(phantomjs --version)"
}
function Get-SwigVersion {
$swigVersion = swig -version | Select-String "SWIG Version" | Take-OutputPart -Part 2
return "Swig $swigVersion"
}
function Get-TerraformVersion {
return (terraform version | Select-String "^Terraform").Line.Replace('v','')
}
function Get-UnZipVersion {
$unzipVersion = unzip -v | Select-Object -First 1 | Take-OutputPart -Part 1
return "unzip $unzipVersion"
}
function Get-WgetVersion {
$wgetVersion = wget --version | Select-Object -First 1 | Take-OutputPart -Part 2
return "wget $wgetVersion"
}
function Get-ZipVersion {
$zipVersion = zip -v | Select-String "This is Zip" | Take-OutputPart -Part 3
return "zip $zipVersion"
}
function Get-ZstdVersion {
$zstdVersion = (zstd --version).Split() -match "v\d+" | ForEach-Object {$_.Replace("v","").Replace(",","")}
return "zstd $zstdVersion"
}
function Get-JqVersion {
$jqVersion = jq --version | Take-OutputPart -Part 1 -Delimiter "-"
return "jq $jqVersion"
}
function Get-AzureCliVersion {
$azcliVersion = sudo az -v | Select-String "azure-cli" | Take-OutputPart -Part -1
return "Azure CLI (azure-cli) $azcliVersion"
}
function Get-AzureDevopsVersion {
$azdevopsVersion = sudo az -v | Select-String "azure-devops" | Take-OutputPart -Part -1
return "Azure CLI (azure-devops) $azdevopsVersion"
}
function Get-AlibabaCloudCliVersion {
return "Alibaba Cloud CLI $(aliyun version)"
}
function Get-AWSCliVersion {
$awsVersion = aws --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
return "AWS CLI $awsVersion"
}
function Get-AWSCliSessionManagerPluginVersion {
return "AWS CLI Session manager plugin $(session-manager-plugin --version 2>&1)"
}
function Get-AWSSAMVersion {
return "AWS SAM CLI $(sam --version | Take-OutputPart -Part -1)"
}
function Get-HubCliVersion {
$hubVersion = hub --version | Select-String "hub version" | Take-OutputPart -Part 2
return "Hub CLI $hubVersion"
}
function Get-GitHubCliVersion {
$ghVersion = gh --version | Select-String "gh version" | Take-OutputPart -Part 2
return "GitHub CLI $ghVersion"
}
function Get-NetlifyCliVersion {
$netlifyVersion = sudo netlify --version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
return "Netlify CLI $netlifyVersion"
}
function Get-OCCliVersion {
$ocVersion = oc version | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "-"
return "oc CLI $ocVersion"
}
function Get-ORASCliVersion {
$orasVersion = oras version | Select-String "^Version:" | Take-OutputPart -Part 1
return "ORAS CLI $orasVersion"
}
function Get-VerselCliversion {
return "$(vercel --version 2>&1 | Select-Object -First 1)"
}

View File

@@ -11,8 +11,10 @@ systemctl disable apt-daily-upgrade.service
# Configure apt to always assume Y
echo "APT::Get::Assume-Yes \"true\";" > /etc/apt/apt.conf.d/90assumeyes
# Use apt-fast for parallel downloads
# Install aria2 and jq
apt-get install aria2
apt-get install jq
# Use apt-fast for parallel downloads
add-apt-repository -y ppa:apt-fast/stable
apt-get update
apt-get -y install apt-fast
apt-get install apt-fast

View File

@@ -1,34 +0,0 @@
#!/bin/bash
################################################################################
## File: containercache.sh
## Desc: Prepulls Docker images used in build tasks and templates
################################################################################
source $HELPER_SCRIPTS/document.sh
# Check prereqs
echo "Checking prereqs for image pulls"
if ! command -v docker; then
echo "Docker is not installed, cant pull images"
exit 1
fi
# Information output
systemctl status docker --no-pager
# Pull images
images=(
docker.io/jekyll/builder
mcr.microsoft.com/azure-pipelines/node8-typescript
)
for image in "${images[@]}"; do
docker pull "$image"
done
## Add container information to the metadata file
DocumentInstalledItem "Cached container images"
while read -r line; do
DocumentInstalledItemIndent "$line"
done <<< "$(docker images --digests --format '{{.Repository}}:{{.Tag}} (Digest: {{.Digest}})')"

View File

@@ -1,42 +0,0 @@
#!/bin/bash
################################################################################
## File: document.sh
## Desc: Helper functions for writing information to the metadata document
################################################################################
function WriteItem {
if [ -z "$METADATA_FILE" ]; then
echo "METADATA_FILE environment variable must be set to output to Metadata Document!"
return 1;
else
echo -e "$1" | sudo tee -a "$METADATA_FILE"
fi
}
function AddTitle {
WriteItem "# $1"
}
function AddSubTitle {
WriteItem "## $1"
}
function DocumentInstalledItem {
WriteItem "- $1"
}
function DocumentInstalledItemIndent {
WriteItem " - $1"
}
function AddBlockquote {
WriteItem "> $1"
}
function StartCode {
WriteItem '```'
}
function EndCode {
WriteItem '```'
}

View File

@@ -4,8 +4,6 @@
## Desc: Installs 7-zip
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install 7-Zip
apt-get update -y
@@ -17,7 +15,3 @@ if ! command -v 7z; then
echo "7-Zip was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "7-Zip $(7z i | head --lines=2 | cut -d ' ' -f 3 | tr -d '\n')"

View File

@@ -0,0 +1,31 @@
$ErrorActionPreference = "Stop"
function Get-ToolsetContent
{
$toolset = Join-Path $env:INSTALLER_SCRIPT_FOLDER "toolset.json"
Get-Content $toolset -Raw | ConvertFrom-Json
}
# Specifies the installation policy
Set-PSRepository -InstallationPolicy Trusted -Name PSGallery
# Install PowerShell modules
$modules = (Get-ToolsetContent).powershellModules
foreach($module in $modules)
{
$moduleName = $module.name
Write-Host "Installing ${moduleName} module"
if ($module.versions)
{
foreach ($version in $module.versions)
{
Write-Host " - $version"
Install-Module -Name $moduleName -RequiredVersion $version -Scope AllUsers -SkipPublisherCheck -Force
}
continue
}
Install-Module -Name $moduleName -Scope AllUsers -SkipPublisherCheck -Force
}

View File

@@ -27,10 +27,10 @@ Function Install-Asset {
$ErrorActionPreference = "Stop"
# Get toolset content
$toolsetJson = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw
$toolset = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw
$toolsToInstall = @("Python", "Node", "Boost", "Go")
$tools = ConvertFrom-Json -InputObject $toolsetJson | Select-Object -ExpandProperty toolcache | Where-Object {$ToolsToInstall -contains $_.Name}
$tools = ConvertFrom-Json -InputObject $toolset | Select-Object -ExpandProperty toolcache | Where-Object {$ToolsToInstall -contains $_.Name}
foreach ($tool in $tools) {
# Get versions manifest for current tool

View File

@@ -46,11 +46,10 @@ $toolsExecutables = @{
}
# Get toolset content
$toolsetJson = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw
$tools = ConvertFrom-Json -InputObject $toolsetJson | Select-Object -ExpandProperty toolcache
$toolset = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw
$tools = ConvertFrom-Json -InputObject $toolset | Select-Object -ExpandProperty toolcache
foreach($tool in $tools) {
Invoke-Expression "bash -c `"source $env:HELPER_SCRIPTS/document.sh; DocumentInstalledItem '$($tool.name):'`""
$toolPath = Join-Path $env:AGENT_TOOLSDIRECTORY $tool.name
# Get executables for current tool
@@ -85,8 +84,5 @@ foreach($tool in $tools) {
$pypyVersion = & "$foundVersionPath/bin/python" -c "import sys;print(sys.version.split('\n')[1])"
$foundVersionName = "{0} {1}" -f $foundVersionName, $pypyVersion
}
# Add tool version to documentation
Invoke-Expression "bash -c `"source $env:HELPER_SCRIPTS/document.sh; DocumentInstalledItemIndent '$($tool.name) $foundVersionName'`""
}
}

View File

@@ -4,8 +4,6 @@
## Desc: Installs Alibaba Cloud CLI
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Alibaba Cloud CLI
URL=$(curl -s https://api.github.com/repos/aliyun/aliyun-cli/releases/latest | jq -r '.assets[].browser_download_url | select(contains("aliyun-cli-linux"))')
@@ -19,8 +17,3 @@ if ! command -v aliyun ; then
echo "aliyun was not installed"
exit 1
fi
# Document what was added to the image
aliyun_version="$(aliyun version)"
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Alibaba Cloud CLI ($aliyun_version)"

View File

@@ -7,7 +7,6 @@
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)
@@ -42,12 +41,12 @@ else
exit 1
fi
toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json"
platforms=$(cat $toolsetJson | jq -r '.android.platform_list[]|"platforms;" + .')
buildtools=$(cat $toolsetJson | jq -r '.android.build_tools[]|"build-tools;" + .')
extras=$(cat $toolsetJson | jq -r '.android.extra_list[]|"extras;" + .')
addons=$(cat $toolsetJson | jq -r '.android.addon_list[]|"add-ons;" + .')
additional=$(cat $toolsetJson | jq -r '.android.additional_tools[]')
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
platforms=$(jq -r '.android.platform_list[]|"platforms;" + .' $toolset)
buildtools=$(jq -r '.android.build_tools[]|"build-tools;" + .' $toolset)
extras=$(jq -r '.android.extra_list[]|"extras;" + .' $toolset)
addons=$(jq -r '.android.addon_list[]|"add-ons;" + .' $toolset)
additional=$(jq -r '.android.additional_tools[]' $toolset)
# Install the following SDKs and build tools, passing in "y" to accept licenses.
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager $platforms $buildtools $extras $google_api_list $addons $additional
@@ -62,34 +61,3 @@ buildtools_versions_list=$(echo "$buildtools"|awk -F';' '{print $2}')
# Add required permissions
chmod -R a+rwx ${ANDROID_SDK_ROOT}
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)"
for version in $google_api_versions_list; do
DocumentInstalledItem "Google APIs $version"
done
DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)"
for version in $constraint_layout_versions_list; do
DocumentInstalledItem "Android ConstraintLayout $version"
done
for version in $constraint_layout_solver_versions_list; do
DocumentInstalledItem "Android ConstraintLayout Solver $version"
done
DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
for version in $platform_versions_list; do
DocumentInstalledItem "Android SDK Platform $version"
done
DocumentInstalledItem "Android SDK Patch Applier v4"
for version in $buildtools_versions_list; do
DocumentInstalledItem "Android SDK Build-Tools $version"
done
DocumentInstalledItem "Android NDK $(cat ${ANDROID_SDK_ROOT}/ndk-bundle/source.properties 2>&1 | grep Pkg.Revision | cut -d ' ' -f 3)"

View File

@@ -5,7 +5,6 @@
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# ppa:ansible/ansible doesn't contain packages for Ubuntu20.04
@@ -23,7 +22,3 @@ if ! command -v ansible; then
echo "Ansible was not installed or found on PATH"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Ansible ($(ansible --version |& head -n 1))"

View File

@@ -5,8 +5,6 @@
## Requires Python >=3.6, must be run as non-root user after toolset installation
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Download latest aws sam cli sources
TarballUrl=$(curl -s https://api.github.com/repos/aws/aws-sam-cli/releases/latest | jq -r '.tarball_url')
@@ -31,7 +29,3 @@ if ! sam --version; then
echo "AWS SAM 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 "AWS $(sam --version)"

View File

@@ -4,8 +4,6 @@
## Desc: Installs the AWS CLI
################################################################################
# Source the helpers
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# Install the AWS CLI v1 on Ubuntu16 and Ubuntu18, and AWS CLI v2 on Ubuntu20
@@ -41,8 +39,3 @@ if ! [[ $sessionPlugin == *"was installed successfully"* ]]
then
exit 1
fi
# Document the installed version
echo "Document the installed version"
DocumentInstalledItem "AWS CLI ($(aws --version 2>&1))"
DocumentInstalledItem "AWS CLI Session manager plugin ($(session-manager-plugin --version 2>&1))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs AzCopy
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install AzCopy7
wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinux64
@@ -17,6 +15,7 @@ rm azcopy.tar.gz
wget -O /tmp/azcopy.tar.gz https://aka.ms/downloadazcopy-v10-linux
tar zxvf /tmp/azcopy.tar.gz --strip-components=1 -C /tmp
mv /tmp/azcopy /usr/local/bin/azcopy10
chmod +x /usr/local/bin/azcopy10
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
@@ -29,10 +28,3 @@ if ! command -v azcopy10; then
echo "azcopy10 was not installed"
exit 1
fi
# Document what was added to the image
azcopy7Version=$(azcopy --version | awk '{print $2}' | cut -d '-' -f 1)
azcopy10Version=$(azcopy10 --version | awk '{print $3}')
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "AzCopy7 (available by azcopy alias) $azcopy7Version"
DocumentInstalledItem "AzCopy10 (available by azcopy10 alias) $azcopy10Version"

View File

@@ -5,15 +5,14 @@
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# List of versions
if isUbuntu20 ; then
versions=$(pwsh -Command '(Find-Module -Name Az).Version')
else
toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json"
versions=$(cat $toolsetJson | jq -r '.azureModules[] | select(.name | contains("az")) | .versions[]')
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
versions=$(jq -r '.azureModules[] | select(.name | contains("az")) | .versions[]' $toolset)
fi
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
@@ -36,9 +35,3 @@ for version in ${versions[@]}; do
exit 1
fi
done
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
for version in ${versions[@]}; do
DocumentInstalledItem "Az Module ($version)"
done

View File

@@ -4,8 +4,6 @@
## Desc: Installed Azure CLI (az)
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
@@ -16,6 +14,3 @@ if ! command -v az; then
echo "azure-cli was not installed"
exit 1
fi
# Document what was added to the image
DocumentInstalledItem "Azure CLI ($(az -v | head -n 1))"

View File

@@ -4,8 +4,6 @@
## Desc: Installed Azure DevOps CLI (az devops)
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# AZURE_EXTENSION_DIR shell variable defines where modules are installed
# https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
@@ -23,6 +21,3 @@ else
echo "azure DevOps Cli extension was not installed"
exit 1
fi
# Document what was added to the image
DocumentInstalledItem "Azure CLI ($(az -v | grep azure-devops))"

View File

@@ -4,90 +4,11 @@
## Desc: Installs basic command line utilities and dev packages
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
set -e
common_packages="dnsutils
iproute2
iputils-ping
libunwind8
locales
openssh-client
tzdata
upx
zstd
libxkbfile-dev
pkg-config
libsecret-1-dev
libxss1
libgconf-2-4
dbus
xvfb
libgbm-dev
libgtk-3-0
tk
fakeroot
dpkg
rpm
xz-utils
xorriso
zsync
gnupg2
lib32z1
texinfo
libsqlite3-dev
libc++-dev
libc++abi-dev"
cmd_packages="curl
file
ftp
jq
netcat
ssh
parallel
rsync
shellcheck
sudo
telnet
time
unzip
zip
wget
m4
bison
flex
patchelf
bzip2
sqlite3
brotli
yamllint"
if isUbuntu20 ; then
echo "Install python2"
apt-get install -y --no-install-recommends python-is-python2
fi
echo "Install libcurl"
if isUbuntu16 || isUbuntu18; then
libcurelVer="libcurl3"
fi
if isUbuntu20 ; then
libcurelVer="libcurl4"
fi
apt-get install -y --no-install-recommends $libcurelVer
# install additional packages only for Ubuntu16.04
if isUbuntu16; then
common_packages="$common_packages
libicu55"
fi
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
common_packages=$(jq -r ".apt.common_packages[]" $toolset)
cmd_packages=$(jq -r ".apt.cmd_packages[]" $toolset)
for package in $common_packages $cmd_packages; do
echo "Install $package"
apt-get install -y --no-install-recommends $package
@@ -101,12 +22,3 @@ for cmd in $cmd_packages; do
exit 1
fi
done
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Basic packages:"
for package in $common_packages $cmd_packages; do
DocumentInstalledItemIndent $package
done
DocumentInstalledItemIndent "$libcurelVer"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Bazel and Bazelisk (A user-friendly launcher for Bazel)
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install bazel
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
@@ -27,10 +25,3 @@ if ! command -v bazelisk; then
echo "Bazelisk was not installed"
exit 1
fi
# Document what was added to the image
bazelisk_version="$(bazelisk version 2>null | grep "Bazelisk version:" | cut -d "v" -f 3)"
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Bazel ($(bazel --version))"
DocumentInstalledItem "Bazelisk ($bazelisk_version)"

View File

@@ -4,8 +4,7 @@
## Desc: Installs build-essential package
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/install.sh
PACKAGE=build-essential
@@ -18,7 +17,3 @@ if ! IsPackageInstalled $PACKAGE; then
else
echo "$PACKAGE is already installed"
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "$PACKAGE"

View File

@@ -4,10 +4,6 @@
## Desc: Installs Clang compiler
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
function InstallClang {
local version=$1
@@ -27,10 +23,6 @@ function InstallClang {
exit 1
fi
done
# Document what was added to the image
echo "Documenting clang-$version..."
DocumentInstalledItem "Clang $version ($(clang-$version --version | head -n 1 | cut -d '-' -f 1 | awk '{print $NF}'))"
}
function SetDefaultClang {

View File

@@ -4,8 +4,6 @@
## Desc: Installs CMake
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Test to see if the software in question is already installed, if not install it
echo "Checking to see if the installer script has already been run"
@@ -24,7 +22,3 @@ if ! command -v cmake; then
echo "cmake was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "CMake ($(cmake --version | head -n 1))"

View File

@@ -4,7 +4,6 @@
## Desc: Installs container tools: podman, buildah and skopeo onto the image
################################################################################
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"
@@ -14,12 +13,3 @@ 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 | cut -d " " -f 3)"
BUILDAH_VERSION="$(buildah --version | cut -d " " -f 3)"
SKOPEO_VERSION="$(skopeo --version | cut -d " " -f 3)"
DocumentInstalledItem "Podman ($PODMAN_VERSION)"
DocumentInstalledItem "Buildah ($BUILDAH_VERSION)"
DocumentInstalledItem "Skopeo ($SKOPEO_VERSION)"

View File

@@ -4,7 +4,6 @@
## Desc: Installs Docker Compose
################################################################################
source $HELPER_SCRIPTS/document.sh
URL=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r '.assets[].browser_download_url | select(contains("docker-compose-Linux-x86_64"))' | head -1)
@@ -18,8 +17,3 @@ if ! command -v docker-compose; then
echo "docker-compose was not installed"
exit 1
fi
## Add version information to the metadata file
echo "Documenting Docker Compose version"
docker_compose_version=$(docker-compose -v)
DocumentInstalledItem "Docker Compose (${docker_compose_version})"

View File

@@ -3,19 +3,19 @@
## File: docker-moby.sh
## Desc: Installs docker onto the image
################################################################################
set -e
source $HELPER_SCRIPTS/document.sh
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
source $HELPER_SCRIPTS/os.sh
docker_package=moby
# There is no stable docker-moby for Ubuntu 20 at the moment
if isUbuntu20 ; then
add-apt-repository "deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/prod testing main"
fi
## Check to see if docker is already installed
# Check to see if docker is already installed
docker_package=moby
echo "Determing if Docker ($docker_package) is installed"
if ! IsPackageInstalled $docker_package; then
echo "Docker ($docker_package) was not found. Installing..."
@@ -44,30 +44,12 @@ else
echo "Docker-moby and Docker-buildx checking the successfull"
# Docker daemon takes time to come up after installing
sleep 10
set -e
docker info
set +e
fi
docker pull node:10
docker pull node:12
docker pull buildpack-deps:stretch
docker pull buildpack-deps:buster
docker pull node:10-alpine
docker pull node:12-alpine
docker pull debian:8
docker pull debian:9
docker pull alpine:3.7
docker pull alpine:3.8
docker pull alpine:3.9
docker pull alpine:3.10
docker pull ubuntu:14.04
## Add version information to the metadata file
echo "Documenting Docker version"
docker_version=$(docker -v)
DocumentInstalledItem "Docker-Moby ($docker_version)"
echo "Documenting Docker-buildx version"
DOCKER_BUILDX_VERSION=$(docker buildx version | cut -d ' ' -f2)
DocumentInstalledItem "Docker-Buildx ($DOCKER_BUILDX_VERSION)"
# Pull images
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
images=$(jq -r '.docker.images[]' $toolset)
for image in $images; do
docker pull "$image"
done

View File

@@ -5,7 +5,6 @@
################################################################################
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/install.sh
source $HELPER_SCRIPTS/os.sh
@@ -84,7 +83,6 @@ for tarball in *.tar.gz; do
done
rm urls
DocumentInstalledItem ".NET Core SDK:"
# Smoke test each SDK
for sdk in $sortedSdks; do
mksamples "$sdk" "console"
@@ -93,7 +91,6 @@ for sdk in $sortedSdks; do
mksamples "$sdk" "web"
mksamples "$sdk" "mvc"
mksamples "$sdk" "webapi"
DocumentInstalledItemIndent "$sdk"
done
# NuGetFallbackFolder at /usr/share/dotnet/sdk/NuGetFallbackFolder is warmed up by smoke test

View File

@@ -4,8 +4,6 @@
## Desc: Installs erlang
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source_list=/etc/apt/sources.list.d/eslerlang.list
@@ -29,10 +27,5 @@ for cmd in erl erlc rebar3; do
fi
done
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
erlang_version="$(erl -version 2>&1 | tr -d '\n' | tr -d '\r')"
DocumentInstalledItem "Erlang ($erlang_version)"
# Clean up source list
rm $source_list

View File

@@ -5,8 +5,6 @@
## installer to the image
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Test to see if the software in question is already installed, if not install it
echo "Checking to see if the installer script has already been run"
@@ -24,7 +22,3 @@ if [ -z $EXAMPLE_VAR ]; then
else
echo "EXAMPLE_VAR was set properly"
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Example Var ($EXAMPLE_VAR)"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Firefox
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Firefox
apt-get install -y firefox
@@ -20,13 +18,6 @@ fi
# Default firefox local is en_GB
echo 'pref("intl.locale.requested","en_US");' >> "/usr/lib/firefox/browser/defaults/preferences/syspref.js"
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
# Resolves: Running Firefox as root in a regular user's session is not supported.
# ($HOME is /home/packer which is owned by packer.)
HOME=/root
DocumentInstalledItem "Firefox ($(firefox --version))"
# Download and unpack latest release of geckodriver
URL=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | jq -r '.assets[].browser_download_url | select(test("linux64.tar.gz$"))')
echo "Downloading geckodriver $URL"
@@ -50,7 +41,3 @@ if ! command -v geckodriver; then
echo "geckodriver was not installed"
exit 1
fi
echo "Lastly, documenting what we added to the metadata file"
ver=`geckodriver --version | head -1 |awk '{print $2}'`
DocumentInstalledItem "Geckodriver (${ver}); Gecko Driver is available via GECKOWEBDRIVER environment variable"

View File

@@ -4,8 +4,6 @@
## Desc: Installs GNU C++
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
function InstallGcc {
version=$1
@@ -19,10 +17,6 @@ function InstallGcc {
echo "$version was not installed"
exit 1
fi
# Document what was added to the image
echo "Documenting $version..."
DocumentInstalledItem "GNU C++ $($version --version | head -n 1 | cut -d ' ' -f 4)"
}
# Install GNU C++ compiler

View File

@@ -4,8 +4,6 @@
## Desc: Installs GNU Fortran
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
function InstallFortran {
version=$1
@@ -19,10 +17,6 @@ function InstallFortran {
echo "$version was not installed"
exit 1
fi
# Document what was added to the image
echo "Documenting $version..."
DocumentInstalledItem "GNU Fortran $($version --version | head -n 1 | cut -d ' ' -f 5)"
}
# Install GNU Fortran compiler

View File

@@ -6,7 +6,6 @@
set -e
# Source the helpers for use with the script
source "$HELPER_SCRIPTS"/document.sh
source "$HELPER_SCRIPTS"/install.sh
## Install git
@@ -39,14 +38,6 @@ if ! command -v git-ftp; then
exit 1
fi
# Document what was added to the image
echo "Lastly, document the installed versions"
# git version 2.20.1
DocumentInstalledItem "Git ($(git --version 2>&1 | cut -d ' ' -f 3))"
# git-lfs/2.6.1 (GitHub; linux amd64; go 1.11.1)
DocumentInstalledItem "Git Large File Storage (LFS) ($(git-lfs --version 2>&1 | cut -d ' ' -f 1 | cut -d '/' -f 2))"
DocumentInstalledItem "Git-ftp ($(git-ftp --version | cut -d ' ' -f 3))"
#Install hub
tmp_hub="/tmp/hub"
mkdir -p "$tmp_hub"
@@ -57,7 +48,6 @@ mv "$tmp_hub"/bin/hub /usr/local/bin
if command -v hub; then
echo "hub CLI was installed successfully"
DocumentInstalledItem "Hub CLI ($(hub --version | grep "hub version" | cut -d ' ' -f 3))"
else
echo "[!] Hub CLI was not installed"
exit 1

View File

@@ -5,8 +5,6 @@
## Must be run as non-root user after homebrew
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# 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"))')
@@ -20,7 +18,3 @@ 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 "GitHub CLI $(gh --version|awk 'FNR==1 {print $3}')"

View File

@@ -4,8 +4,6 @@
## Desc: Installs google-chrome and chromedriver
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
LSB_RELEASE=$(lsb_release -rs)
@@ -22,10 +20,6 @@ if ! command -v google-chrome; then
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Google Chrome ($(google-chrome --version))"
CHROME_VERSION=$(google-chrome --product-version)
CHROME_VERSION=${CHROME_VERSION%.*}
@@ -54,6 +48,3 @@ if ! command -v chromedriver; then
echo "chromedriver was not installed"
exit 1
fi
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "$(chromedriver --version); Chrome Driver is available via CHROMEWEBDRIVER environment variable"

View File

@@ -4,8 +4,6 @@
## Desc: Installs the Google Cloud SDK
################################################################################
# Source the helpers
source $HELPER_SCRIPTS/document.sh
# Install the Google Cloud SDK
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
@@ -19,7 +17,3 @@ if ! command -v gcloud; then
echo "gcloud was not installed"
exit 1
fi
# Document the installed version
echo "Document the installed version"
DocumentInstalledItem "Google Cloud SDK ($(gcloud --version | head -n 1 | cut -d ' ' -f 4))"

View File

@@ -6,7 +6,6 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh
# Install Herbert V. Riedel's PPA for managing multiple version of ghc on ubuntu.
# https://launchpad.net/~hvr/+archive/ubuntu/ghc
@@ -58,9 +57,3 @@ fi
# Create symlink for ghc and cabal in /usr/bin
ln -s "/opt/ghc/$defaultGHCVersion/bin/ghc" "/usr/bin/ghc"
ln -s "/opt/cabal/$cabalVersion/bin/cabal" "/usr/bin/cabal"
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Haskell Cabal ($(cabal --version))"
DocumentInstalledItem "GHC ($(ghc --version))"
DocumentInstalledItem "Haskell Stack ($(stack --version))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Heroku CLI
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Heroku CLI
curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
@@ -15,7 +13,3 @@ echo "Testing to make sure that script performed as expected, and basic scenario
if ! command -v heroku; then
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Heroku ($(heroku version))"

View File

@@ -5,7 +5,6 @@
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/install.sh
hhvm_package=hhvm
@@ -31,7 +30,3 @@ fi
if ! command -v hhvm; then
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "HHVM ($(hhvm --version | head -n 1))"

View File

@@ -6,7 +6,6 @@
################################################################################
# Source the helpers
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/etc-environment.sh
# Install the Homebrew on Linux
@@ -31,7 +30,3 @@ if ! command -v brew; then
echo "brew was not installed"
exit 1
fi
# Document the installed version
echo "Document the installed version"
DocumentInstalledItem "Homebrew on Linux ($(brew -v 2>&1))"

View File

@@ -4,8 +4,6 @@
## Desc: Downloads and installs hosted tools cache
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Fail out if any setups fail
set -e
@@ -43,9 +41,3 @@ for PACKAGE_NAME in ${PACKAGE_LIST[@]}; do
done;
popd
DocumentInstalledItem "Ruby:"
rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby)
for ruby in $rubys; do
DocumentInstalledItemIndent "Ruby $ruby"
done;

View File

@@ -4,8 +4,6 @@
## Desc: Installs ImageMagick
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install ImageMagick
apt-get install -y --no-install-recommends --fix-missing \
@@ -13,7 +11,3 @@ apt-get install -y --no-install-recommends --fix-missing \
libmagickcore-dev \
libmagickwand-dev \
libmagic-dev
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "ImageMagick"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Java and related tooling (Ant, Gradle, Maven)
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
set -e
@@ -103,19 +101,3 @@ javaVersion=$(java -version |& head -n 1 | cut -d\" -f 2)
javaTool "Java" $javaVersion
javacVersion=$(javac -version |& cut -d" " -f2)
javaTool "Javac" $javacVersion
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
if isUbuntu16 || isUbuntu18 ; then
DocumentInstalledItem "Azul Zulu OpenJDK:"
DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))"
fi
DocumentInstalledItem "Adopt OpenJDK:"
DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java -showversion |& head -n 1)) $defaultLabel8"
DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/java -showversion |& head -n 1)) $defaultLabel11"
if isUbuntu16 || isUbuntu18 ; then
DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/adoptopenjdk-12-hotspot-amd64/bin/java -showversion |& head -n 1))"
fi
DocumentInstalledItem "Ant ($(ant -version))"
DocumentInstalledItem "Gradle ${gradleVersion}"
DocumentInstalledItem "Maven ($(mvn -version | head -n 1))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Julia, and adds Julia to the path
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# This function fetches the latest Julia release from the GitHub API
# Based on https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
@@ -54,10 +52,6 @@ function InstallJulia () {
echo "Julia was not installed correctly"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Julia ($(julia --version))"
}
InstallJulia "$(GetLatestJuliaRelease)" true

View File

@@ -4,8 +4,6 @@
## Desc: Installs kind
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install KIND
URL=$(curl -s https://api.github.com/repos/kubernetes-sigs/kind/releases/latest | jq -r '.assets[].browser_download_url | select(contains("kind-linux-amd64"))')
@@ -18,7 +16,3 @@ if ! command -v kind; then
echo "Kind was not installed or found on PATH"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Kind ($(kind version))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs kubectl, helm, kustomize
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
## Install kubectl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
@@ -52,12 +50,3 @@ if ! command -v kustomize; then
echo "kustomize was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "kubectl ($(kubectl version --client --short |& head -n 1))"
DocumentInstalledItem "helm ($(helm version --short |& head -n 1))"
# minikube version output already has word minikube in it. example minikube version: v1.9.2
DocumentInstalledItem "$(minikube version --short)"
# kustomize version output has "{} in it". example {kustomize/v3.8.1 2020-07-16T00:58:46Z }
DocumentInstalledItem "kustomize ($(kustomize version --short))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Leiningen
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
set -e
@@ -29,7 +27,3 @@ if ! command -v lein; then
else
lein new app testapp && rm -rf testapp
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Leiningen ($(lein -v))"

View File

@@ -5,7 +5,6 @@
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
if isUbuntu16 ; then
@@ -22,7 +21,3 @@ echo "Testing to make sure that script performed as expected, and basic scenario
if ! command -v hg; then
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))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs miniconda
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Miniconda
curl -sL https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh \
@@ -17,7 +15,3 @@ CONDA=/usr/share/miniconda
echo "CONDA=$CONDA" | tee -a /etc/environment
ln -s $CONDA/bin/conda /usr/bin/conda
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Miniconda ($($CONDA/bin/conda --version))"

View File

@@ -6,7 +6,6 @@
# Source the helpers
source $HELPER_SCRIPTS/os.sh
source $HELPER_SCRIPTS/document.sh
# Install Mongo DB
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
@@ -21,7 +20,3 @@ if ! command -v mongod; then
echo "mongodb was not installed"
exit 1
fi
# Document the installed version
echo "Document the installed version"
DocumentInstalledItem "MongoDB on Linux $(mongod --version | awk 'NR==1{print $3}')"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Mono
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
LSB_CODENAME=$(lsb_release -cs)
@@ -27,8 +25,3 @@ if ! command -v nuget; then
echo "nuget was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Mono ($(mono --version | head -n 1))"
DocumentInstalledItem "NuGet ($(nuget | tail -n +1 | head -n 1))" # Pipe to tail before piping to head because NuGet prints an ugly error if you close its stream before it's done writing.

View File

@@ -4,8 +4,6 @@
## Desc: Installs MySQL Client
################################################################################
## Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
export ACCEPT_EULA=Y
@@ -51,13 +49,6 @@ mysql -vvv -e 'CREATE DATABASE smoke_test' -uroot -proot
mysql -vvv -e 'DROP DATABASE smoke_test' -uroot -proot
set +e
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "MySQL ($(mysql --version))"
DocumentInstalledItem "MySQL Server (user:root password:root)"
DocumentInstalledItem "MS SQL Server Client Tools"
DocumentInstalledItem "MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service'"
# Disable mysql.service
systemctl is-active --quiet mysql.service && systemctl stop mysql.service
systemctl disable mysql.service

View File

@@ -4,8 +4,6 @@
## Desc: Installs the Netlify CLI
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install the Netlify CLI
npm i -g netlify-cli
@@ -16,7 +14,3 @@ if ! command -v netlify; then
echo "Netlify CLI was not installed"
exit 1
fi
# Document the installed version
echo "Document the installed version"
DocumentInstalledItem "Netlify CLI ($(netlify --version))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Node.js LTS and related tooling (Gulp, Grunt)
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install LTS Node.js and related build tools
curl -sL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s -- -ny -
@@ -31,16 +29,3 @@ for cmd in node grunt gulp webpack parcel yarn newman; do
exit 1
fi
done
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Node.js ($(node --version))"
DocumentInstalledItem "Grunt ($(grunt --version))"
DocumentInstalledItem "Gulp ($(gulp --version))"
DocumentInstalledItem "n ($(n --version))"
DocumentInstalledItem "Parcel ($(parcel --version))"
DocumentInstalledItem "TypeScript ($(tsc --version))"
DocumentInstalledItem "Webpack ($(webpack --version))"
DocumentInstalledItem "Webpack CLI ($(webpack-cli --version))"
DocumentInstalledItem "Yarn ($(yarn --version))"
DocumentInstalledItem "Newman ($(newman --version))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Nvm
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
export NVM_DIR="/etc/skel/.nvm"
mkdir $NVM_DIR
@@ -21,5 +19,3 @@ fi
# set system node.js as default one
nvm alias default system
DocumentInstalledItem "nvm ($(nvm --version))"

View File

@@ -4,8 +4,7 @@
## Desc: Installs the OC CLI
################################################################################
# Source the helpers
source $HELPER_SCRIPTS/document.sh
# Install the oc CLI
curl "https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/linux/oc.tar.gz" > oc.tar.gz
tar xvzf oc.tar.gz
@@ -18,7 +17,3 @@ if ! command -v oc; then
echo "oc was not installed"
exit 1
fi
# Document the installed version
echo "Document the installed version"
DocumentInstalledItem "oc CLI $(oc version)"

View File

@@ -4,8 +4,6 @@
## Desc: Installs ORAS CLI
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/install.sh
# Determine latest ORAS CLI version
@@ -24,7 +22,3 @@ if ! oras version; then
echo "ORAS 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 "ORAS CLI $(oras version | awk 'NR==1{print $2}')"

View File

@@ -3,8 +3,7 @@
## File: packer.sh
## Desc: Installs packer
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Packer
PACKER_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | jq -r .current_version)
@@ -18,7 +17,3 @@ if ! command -v packer; then
echo "Packer was not installed or found on PATH"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Packer ($(packer --version))"

View File

@@ -6,9 +6,6 @@
set -e
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install PhantomJS
apt-get install -y chrpath libssl-dev libxft-dev libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev
PHANTOM_JS=phantomjs-2.1.1-linux-x86_64
@@ -23,7 +20,3 @@ if ! command -v phantomjs; then
echo "phantomjs was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "PhantomJS ($(phantomjs --version))"

View File

@@ -6,7 +6,6 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
set -e
@@ -127,24 +126,9 @@ for cmd in php $php_versions composer phpunit; do
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
# ubuntu 20.04 libzip-dev is libzip5 based and is not compatible libzip-dev of ppa:ondrej/php
# see https://github.com/actions/virtual-environments/issues/1084
if isUbuntu20 ; then
rm /etc/apt/sources.list.d/ondrej-ubuntu-php-focal.list
apt-get update
AddBlockquote "To use ppa:ondrej/php APT repository On Ubuntu 20.04 it is necessary to add it to the APT sources"
StartCode
WriteItem "apt-add-repository ppa:ondrej/php -y"
WriteItem "apt-get update"
EndCode
fi
DocumentInstalledItem "Composer ($(composer --version))"
DocumentInstalledItem "PHPUnit ($(phpunit --version))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Pollinate
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Pollinate
apt-get install -y --no-install-recommends pollinate
@@ -16,7 +14,3 @@ if ! command -v pollinate; then
echo "pollinate was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Pollinate"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Postgresql
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
#Preparing repo for PostgreSQL 12.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
@@ -25,8 +23,6 @@ apt-get install libpq-dev
# connection timeout - 2
pg_isready
DocumentInstalledItem "$(psql -V 2>&1 | cut -d ' ' -f 1,2,3)"
# Disable postgresql.service
systemctl is-active --quiet postgresql.service && systemctl stop postgresql.service
systemctl disable postgresql.service

View File

@@ -5,7 +5,6 @@
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# Install Powershell
@@ -27,7 +26,3 @@ if ! pwsh -c 'Write-Host Hello world'; then
echo "pwsh failed to run"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Powershell ($(pwsh --version))"

View File

@@ -1,20 +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 "<!--- DO NOT EDIT - This markdown file is autogenerated. -->"
if [ $ANNOUNCEMENTS ]; then
WriteItem $ANNOUNCEMENTS
WriteItem "***"
fi
AddTitle "$(lsb_release -ds)"
WriteItem "The following software is installed on machines with the $IMAGE_VERSION update."
WriteItem "***"

View File

@@ -5,7 +5,6 @@
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/install.sh
# Install Pulumi
@@ -20,7 +19,3 @@ if ! command -v pulumi ; then
echo "Pulumi was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Pulumi $(pulumi version)"

View File

@@ -4,8 +4,6 @@
## Desc: Installs PyPy
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/install.sh
# This function installs PyPy using the specified arguments:
@@ -75,8 +73,8 @@ uri="https://downloads.python.org/pypy/"
download_with_retries $uri "/tmp" "pypyUrls.html" compressed
pypyVersions="$(cat /tmp/pypyUrls.html | grep 'linux64' | awk -v uri="$uri" -F'>|<' '{print uri$5}')"
toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json"
toolsetVersions=$(cat $toolsetJson | jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]')
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
toolsetVersions=$(jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]' $toolset)
# Fail out if any setups fail
set -e

View File

@@ -5,7 +5,6 @@
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# Install Python, Python 3, pip, pip3
@@ -28,10 +27,3 @@ for cmd in python pip python3 pip3; do
exit 1
fi
done
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Python ($(python --version 2>&1))"
DocumentInstalledItem "pip ($(pip --version))"
DocumentInstalledItem "Python3 ($(python3 --version))"
DocumentInstalledItem "pip3 ($(pip3 --version))"

View File

@@ -1,7 +1,6 @@
#!/bin/bash
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# install R
@@ -13,5 +12,3 @@ sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $osLab
sudo apt update
sudo apt install r-base
version=$(R --version | grep "R version" | cut -d " " -f 3)
DocumentInstalledItem "R $version"

View File

@@ -4,8 +4,6 @@
## Desc: Install random number generator
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install haveged
apt-get -y install haveged
@@ -18,7 +16,3 @@ for cmd in haveged; do
exit 1
fi
done
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Haveged $(dpkg-query --showformat='${Version}' --show haveged)"

View File

@@ -4,16 +4,9 @@
## Desc: Installs Ruby requirements
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
sudo apt-get install ruby-full
sudo gem update --system
# Install Ruby requirements
apt-get install -y libz-dev openssl libssl-dev
DocumentInstalledItem "ruby ($(ruby --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "gem ($(gem -v 2>&1 | tail -n 1))"
DocumentInstalledItem "$(openssl version)"
DocumentInstalledItem "Libssl $(dpkg -l libssl-dev | grep '^ii' | awk '{print $3}')"

View File

@@ -6,7 +6,6 @@
# Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh
export RUSTUP_HOME=/usr/share/rust/.rustup
export CARGO_HOME=/usr/share/rust/.cargo
@@ -45,16 +44,3 @@ pushd /etc/skel
ln -sf $RUSTUP_HOME .rustup
ln -sf $CARGO_HOME .cargo
popd
# Document what was added to the image
echo "Lastly, document what was added to the metadata file"
DocumentInstalledItem "rustup ($(rustup --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "rust ($(rustc --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "cargo ($(cargo --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "rustfmt ($(rustfmt --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "clippy ($(cargo-clippy --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "rustdoc ($(rustdoc --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "bindgen ($(bindgen --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "cbindgen ($(cbindgen --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "cargo audit ($(cargo audit --version 2>&1 | cut -d ' ' -f 2))"
DocumentInstalledItem "cargo outdated ($(cargo outdated --version 2>&1 | cut -d ' ' -f 2))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs sbt
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install sbt
# https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Linux.html
@@ -13,7 +11,3 @@ echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.li
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | apt-key add
apt-get -q update
apt-get -y install sbt
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "sbt ($(sbt --script-version))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs selenium server
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Determine latest selenium standalone server version
SELENIUM_LATEST_VERSION_URL=https://api.github.com/repos/SeleniumHQ/selenium/releases/latest
@@ -26,6 +24,3 @@ fi
SELENIUM_JAR_PATH="/usr/share/java/selenium-server-standalone.jar"
mv $SELENIUM_JAR_NAME $SELENIUM_JAR_PATH
echo "SELENIUM_JAR_PATH=$SELENIUM_JAR_PATH" | tee -a /etc/environment
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)"

View File

@@ -4,12 +4,6 @@
## Desc: Installs Sphinx
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Sphinx
apt-get install -y sphinxsearch
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Sphinx Open Source Search Server"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Subversion client
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Subversion
apt-get install -y --no-install-recommends subversion
@@ -16,7 +14,3 @@ if ! command -v svn; then
echo "Subversion (svn) was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Subversion ($(svn --version | head -n 1))"

View File

@@ -4,8 +4,6 @@
## Desc: Installs Swift
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install
image_label="$(lsb_release -rs)"
@@ -26,7 +24,3 @@ if ! command -v swift; then
echo "Swift was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "$(swift --version)"

View File

@@ -1,7 +1,5 @@
#!/bin/bash
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Swig
sudo apt-get install -y swig
@@ -12,7 +10,3 @@ if ! command -v swig; then
echo "Swig was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Swig $(swig -version | sed -n 2p | cut -d ' ' -f 3)"

View File

@@ -4,8 +4,6 @@
## Desc: Installs terraform
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install Terraform
TERRAFORM_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r .current_version)
@@ -19,7 +17,3 @@ if ! command -v terraform; then
echo "Terraform was not installed or found on PATH"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Terraform ($(terraform --version))"

View File

@@ -5,7 +5,6 @@
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# Set env variable for vcpkg
@@ -36,7 +35,3 @@ if ! command -v vcpkg; then
echo "vcpkg was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Vcpkg $(vcpkg version | head -n 1 | cut -d ' ' -f 6)"

View File

@@ -4,9 +4,6 @@
## Desc: Installs the Vercel CLI
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install the Vercel CLI
npm i -g vercel
@@ -25,7 +22,3 @@ if ! command -v now; then
echo "[Now] symlink to Vercel CLI was not created"
exit 1
fi
# Document the installed version
echo "Document the installed version"
DocumentInstalledItem "Vercel CLI ($(vercel --version))"

View File

@@ -91,6 +91,10 @@
"platform-tools"
]
},
"powershellModules": [
{"name": "MarkdownPS"},
{"name": "Pester"}
],
"azureModules": [
{
"name": "az",
@@ -108,5 +112,86 @@
"4.6.0"
]
}
]
],
"apt": {
"common_packages": [
"dbus",
"dnsutils",
"dpkg",
"fakeroot",
"gnupg2",
"iproute2",
"iputils-ping",
"lib32z1",
"libc++abi-dev",
"libc++-dev",
"libcurl3",
"libgbm-dev",
"libgconf-2-4",
"libgtk-3-0",
"libicu55",
"libsecret-1-dev",
"libsqlite3-dev",
"libunwind8",
"libxkbfile-dev",
"libxss1",
"locales",
"openssh-client",
"pkg-config",
"rpm",
"texinfo",
"tk",
"tzdata",
"upx",
"xorriso",
"xvfb",
"xz-utils",
"zstd",
"zsync"
],
"cmd_packages": [
"bison",
"brotli",
"bzip2",
"curl",
"file",
"flex",
"ftp",
"jq",
"m4",
"netcat",
"parallel",
"patchelf",
"rsync",
"shellcheck",
"sqlite3",
"ssh",
"sudo",
"telnet",
"time",
"unzip",
"wget",
"yamllint",
"zip"
]
},
"docker": {
"images": [
"alpine:3.7",
"alpine:3.8",
"alpine:3.9",
"alpine:3.10",
"buildpack-deps:stretch",
"buildpack-deps:buster",
"debian:8",
"debian:9",
"jekyll/builder",
"mcr.microsoft.com/azure-pipelines/node8-typescript",
"node:10",
"node:12",
"node:10-alpine",
"node:12-alpine",
"ubuntu:14.04"
]
}
}

View File

@@ -87,6 +87,10 @@
"platform-tools"
]
},
"powershellModules": [
{"name": "MarkdownPS"},
{"name": "Pester"}
],
"azureModules": [
{
"name": "az",
@@ -104,5 +108,85 @@
"4.6.0"
]
}
]
],
"apt": {
"common_packages": [
"dbus",
"dnsutils",
"dpkg",
"fakeroot",
"gnupg2",
"iproute2",
"iputils-ping",
"lib32z1",
"libc++abi-dev",
"libc++-dev",
"libcurl3",
"libgbm-dev",
"libgconf-2-4",
"libgtk-3-0",
"libsecret-1-dev",
"libsqlite3-dev",
"libunwind8",
"libxkbfile-dev",
"libxss1",
"locales",
"openssh-client",
"pkg-config",
"rpm",
"texinfo",
"tk",
"tzdata",
"upx",
"xorriso",
"xvfb",
"xz-utils",
"zstd",
"zsync"
],
"cmd_packages": [
"bison",
"brotli",
"bzip2",
"curl",
"file",
"flex",
"ftp",
"jq",
"m4",
"netcat",
"parallel",
"patchelf",
"rsync",
"shellcheck",
"sqlite3",
"ssh",
"sudo",
"telnet",
"time",
"unzip",
"wget",
"yamllint",
"zip"
]
},
"docker": {
"images": [
"alpine:3.7",
"alpine:3.8",
"alpine:3.9",
"alpine:3.10",
"buildpack-deps:stretch",
"buildpack-deps:buster",
"debian:8",
"debian:9",
"jekyll/builder",
"mcr.microsoft.com/azure-pipelines/node8-typescript",
"node:10",
"node:12",
"node:10-alpine",
"node:12-alpine",
"ubuntu:14.04"
]
}
}

View File

@@ -67,5 +67,90 @@
"ndk-bundle",
"platform-tools"
]
},
"powershellModules": [
{"name": "MarkdownPS"},
{"name": "Pester"}
],
"apt": {
"common_packages": [
"dbus",
"dnsutils",
"dpkg",
"fakeroot",
"gnupg2",
"iproute2",
"iputils-ping",
"lib32z1",
"libc++abi-dev",
"libc++-dev",
"libcurl4",
"libgbm-dev",
"libgconf-2-4",
"libgtk-3-0",
"libsecret-1-dev",
"libsqlite3-dev",
"libunwind8",
"libxkbfile-dev",
"libxss1",
"locales",
"openssh-client",
"pkg-config",
"python-is-python2",
"rpm",
"texinfo",
"tk",
"tzdata",
"upx",
"xorriso",
"xvfb",
"xz-utils",
"zstd",
"zsync"
],
"cmd_packages": [
"bison",
"brotli",
"bzip2",
"curl",
"file",
"flex",
"ftp",
"jq",
"m4",
"netcat",
"parallel",
"patchelf",
"rsync",
"shellcheck",
"sqlite3",
"ssh",
"sudo",
"telnet",
"time",
"unzip",
"wget",
"yamllint",
"zip"
]
},
"docker": {
"images": [
"alpine:3.7",
"alpine:3.8",
"alpine:3.9",
"alpine:3.10",
"buildpack-deps:stretch",
"buildpack-deps:buster",
"debian:8",
"debian:9",
"jekyll/builder",
"mcr.microsoft.com/azure-pipelines/node8-typescript",
"node:10",
"node:12",
"node:10-alpine",
"node:12-alpine",
"ubuntu:14.04"
]
}
}

View File

@@ -14,7 +14,6 @@
"private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
"image_folder": "/imagegeneration",
"imagedata_file": "/imagegeneration/imagedata.json",
"metadata_file": "/imagegeneration/metadatafile",
"installer_script_folder": "/imagegeneration/installers",
"helper_script_folder": "/imagegeneration/helpers",
"vm_size": "Standard_DS2_v2",
@@ -89,17 +88,19 @@
"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`}}",
"ANNOUNCEMENTS={{user `announcements`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
"type": "file",
"source": "{{ template_dir }}/scripts/SoftwareReport",
"destination": "{{user `image_folder`}}"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolcache-1604.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-1604.json",
"destination": "{{user `installer_script_folder`}}/toolset.json"
},
{
"type": "shell",
@@ -198,41 +199,19 @@
"{{template_dir}}/scripts/installers/mongodb.sh",
"{{template_dir}}/scripts/installers/rndgenerator.sh",
"{{template_dir}}/scripts/installers/swig.sh",
"{{template_dir}}/scripts/installers/netlify.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": "file",
"source": "{{template_dir}}/toolsets/toolcache-1604.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-1604.json",
"destination": "{{user `installer_script_folder`}}/toolset.json"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/netlify.sh",
"{{template_dir}}/scripts/installers/android.sh",
"{{template_dir}}/scripts/installers/azpowershell.sh",
"{{template_dir}}/scripts/helpers/containercache.sh",
"{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
"{{template_dir}}/scripts/installers/pypy.sh",
"{{template_dir}}/scripts/installers/python.sh",
"{{template_dir}}/scripts/installers/test-toolcache.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}"
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}",
"DEBIAN_FRONTEND=noninteractive"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
@@ -244,7 +223,6 @@
"{{template_dir}}/scripts/installers/Validate-Toolset.ps1"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
],
@@ -256,7 +234,6 @@
"{{template_dir}}/scripts/installers/aws-sam-cli.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
@@ -267,7 +244,6 @@
"{{template_dir}}/scripts/installers/homebrew.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"DEBIAN_FRONTEND=noninteractive"
],
@@ -298,9 +274,30 @@
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/Install-PowerShellModules.ps1"
],
"environment_vars": [
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
},
{
"type": "shell",
"inline": [
"pwsh -File {{user `image_folder`}}/SoftwareReport/SoftwareReport.Generator.ps1 -OutputDirectory {{user `image_folder`}}"
],
"environment_vars":[
"IMAGE_VERSION={{user `image_version`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"ANNOUNCEMENTS={{user `announcements`}}"
]
},
{
"type": "file",
"source": "{{user `metadata_file`}}",
"source": "{{user `image_folder`}}/Ubuntu-Readme.md",
"destination": "{{template_dir}}/Ubuntu1604-README.md",
"direction": "download"
},

View File

@@ -14,7 +14,6 @@
"private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
"image_folder": "/imagegeneration",
"imagedata_file": "/imagegeneration/imagedata.json",
"metadata_file": "/imagegeneration/metadatafile",
"installer_script_folder": "/imagegeneration/installers",
"helper_script_folder": "/imagegeneration/helpers",
"vm_size": "Standard_DS2_v2",
@@ -92,17 +91,19 @@
"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`}}",
"ANNOUNCEMENTS={{user `announcements`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
"type": "file",
"source": "{{ template_dir }}/scripts/SoftwareReport",
"destination": "{{user `image_folder`}}"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolcache-1804.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-1804.json",
"destination": "{{user `installer_script_folder`}}/toolset.json"
},
{
"type": "shell",
@@ -202,41 +203,19 @@
"{{template_dir}}/scripts/installers/mongodb.sh",
"{{template_dir}}/scripts/installers/rndgenerator.sh",
"{{template_dir}}/scripts/installers/swig.sh",
"{{template_dir}}/scripts/installers/netlify.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": "file",
"source": "{{template_dir}}/toolsets/toolcache-1804.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-1804.json",
"destination": "{{user `installer_script_folder`}}/toolset.json"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/netlify.sh",
"{{template_dir}}/scripts/installers/android.sh",
"{{template_dir}}/scripts/installers/azpowershell.sh",
"{{template_dir}}/scripts/helpers/containercache.sh",
"{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
"{{template_dir}}/scripts/installers/pypy.sh",
"{{template_dir}}/scripts/installers/python.sh",
"{{template_dir}}/scripts/installers/test-toolcache.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}"
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}",
"DEBIAN_FRONTEND=noninteractive"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
@@ -248,7 +227,6 @@
"{{template_dir}}/scripts/installers/Validate-Toolset.ps1"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
],
@@ -260,7 +238,6 @@
"{{template_dir}}/scripts/installers/aws-sam-cli.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
@@ -271,7 +248,6 @@
"{{template_dir}}/scripts/installers/homebrew.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"DEBIAN_FRONTEND=noninteractive"
],
@@ -302,9 +278,30 @@
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/Install-PowerShellModules.ps1"
],
"environment_vars": [
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
},
{
"type": "shell",
"inline": [
"pwsh -File {{user `image_folder`}}/SoftwareReport/SoftwareReport.Generator.ps1 -OutputDirectory {{user `image_folder`}}"
],
"environment_vars":[
"IMAGE_VERSION={{user `image_version`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"ANNOUNCEMENTS={{user `announcements`}}"
]
},
{
"type": "file",
"source": "{{user `metadata_file`}}",
"source": "{{user `image_folder`}}/Ubuntu-Readme.md",
"destination": "{{template_dir}}/Ubuntu1804-README.md",
"direction": "download"
},

View File

@@ -14,7 +14,6 @@
"private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}",
"image_folder": "/imagegeneration",
"imagedata_file": "/imagegeneration/imagedata.json",
"metadata_file": "/imagegeneration/metadatafile",
"installer_script_folder": "/imagegeneration/installers",
"helper_script_folder": "/imagegeneration/helpers",
"vm_size": "Standard_DS2_v2",
@@ -94,17 +93,19 @@
"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`}}",
"ANNOUNCEMENTS={{user `announcements`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
"type": "file",
"source": "{{ template_dir }}/scripts/SoftwareReport",
"destination": "{{user `image_folder`}}"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolcache-2004.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-2004.json",
"destination": "{{user `installer_script_folder`}}/toolset.json"
},
{
"type": "shell",
@@ -204,41 +205,19 @@
"{{template_dir}}/scripts/installers/mongodb.sh",
"{{template_dir}}/scripts/installers/rndgenerator.sh",
"{{template_dir}}/scripts/installers/swig.sh",
"{{template_dir}}/scripts/installers/netlify.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": "file",
"source": "{{template_dir}}/toolsets/toolcache-2004.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-2004.json",
"destination": "{{user `installer_script_folder`}}/toolset.json"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/netlify.sh",
"{{template_dir}}/scripts/installers/android.sh",
"{{template_dir}}/scripts/installers/azpowershell.sh",
"{{template_dir}}/scripts/helpers/containercache.sh",
"{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
"{{template_dir}}/scripts/installers/pypy.sh",
"{{template_dir}}/scripts/installers/python.sh",
"{{template_dir}}/scripts/installers/test-toolcache.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}"
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}",
"DEBIAN_FRONTEND=noninteractive"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
@@ -250,7 +229,6 @@
"{{template_dir}}/scripts/installers/Validate-Toolset.ps1"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
],
@@ -262,7 +240,6 @@
"{{template_dir}}/scripts/installers/aws-sam-cli.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
@@ -273,7 +250,6 @@
"{{template_dir}}/scripts/installers/homebrew.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"DEBIAN_FRONTEND=noninteractive"
],
@@ -304,9 +280,30 @@
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/Install-PowerShellModules.ps1"
],
"environment_vars": [
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
},
{
"type": "shell",
"inline": [
"pwsh -File {{user `image_folder`}}/SoftwareReport/SoftwareReport.Generator.ps1 -OutputDirectory {{user `image_folder`}}"
],
"environment_vars":[
"IMAGE_VERSION={{user `image_version`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"ANNOUNCEMENTS={{user `announcements`}}"
]
},
{
"type": "file",
"source": "{{user `metadata_file`}}",
"source": "{{user `image_folder`}}/Ubuntu-Readme.md",
"destination": "{{template_dir}}/Ubuntu2004-README.md",
"direction": "download"
},