Merge pull request #2 from actions/master

update branch
This commit is contained in:
Dibir Magomedsaygitov
2020-05-05 20:27:40 +03:00
committed by GitHub
115 changed files with 1943 additions and 654 deletions
+5 -1
View File
@@ -9,6 +9,7 @@ assignees: ''
**Tool information** **Tool information**
- Tool name: <!--- Name --> - Tool name: <!--- Name -->
- Tool license: <!--- Type of licensing for desired tool -->
- Add or update? <!--- Add or update? --> - Add or update? <!--- Add or update? -->
- Desired version: <!--- Let us know if you're requesting a specific version, dev/RC, whatever is latest, etc. --> - Desired version: <!--- Let us know if you're requesting a specific version, dev/RC, whatever is latest, etc. -->
- Approximate size: <!--- Leave blank if not known --> - Approximate size: <!--- Leave blank if not known -->
@@ -30,7 +31,10 @@ assignees: ''
- [ ] Windows Server 2019 - [ ] Windows Server 2019
**Can this tool be installed during the build?** **Can this tool be installed during the build?**
<!--- If so, please provide a description of how and approximately how much time it takes. --> <!--- If so, please provide a description with required steps. -->
**Tool installation time in runtime**
<!--- How long does it take to install the tool? -->
**Are you willing to submit a PR?** **Are you willing to submit a PR?**
<!--- We accept contributions! --> <!--- We accept contributions! -->
+6 -1
View File
@@ -1,5 +1,5 @@
# GitHub Actions Virtual Environments # GitHub Actions Virtual Environments
This repository contains the source used to create the [virtual environments](https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners) for GitHub Actions hosted runners. To file bug reports, or request that tools be added/updated, please [open an issue using the appropriate template](https://github.com/actions/virtual-environments/issues/new/choose). To build a VM machine from this repo's source, see the [instructions](./help/CreateImageAndAzureResources.md). This repository contains the source used to create the [virtual environments](https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners) for GitHub Actions hosted runners, as well as the VM images of [Microsoft-hosted agents](https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#use-a-microsoft-hosted-agent) used for Azure Pipelines. To file bug reports, or request that tools be added/updated, please [open an issue using the appropriate template](https://github.com/actions/virtual-environments/issues/new/choose). To build a VM machine from this repo's source, see the [instructions](./help/CreateImageAndAzureResources.md).
For general questions about using the virtual environments or writing your Actions workflow, please open requests in the [GitHub Actions Community Forum](https://github.community/t5/GitHub-Actions/bd-p/actions). For general questions about using the virtual environments or writing your Actions workflow, please open requests in the [GitHub Actions Community Forum](https://github.community/t5/GitHub-Actions/bd-p/actions).
@@ -25,6 +25,11 @@ In general, these are the guidelines we consider when deciding what to pre-insta
- Tools and versions will typically be removed 6 months after they are deprecated or have reached end-of-life. - Tools and versions will typically be removed 6 months after they are deprecated or have reached end-of-life.
- If a tool can be installed during the build, we will evaluate how much time is saved - If a tool can be installed during the build, we will evaluate how much time is saved
and how much space is used by having the tool pre-installed. and how much space is used by having the tool pre-installed.
- MIT, Apache, and GNU licenses are ok, anything else we'll have to check with lawyers.
- If a tool takes much space we will evaluate space usage and provide a decision if this tool can be pre-installed.
- If a tool requires the support of more than one version, we will consider the cost of this maintenance, how often new versions bring dangerous updates.
**Note:** For new tools, please, create an issue and get an approval from us to add this tool to the image before creating the pull request.
## Updates to virtual environments ## Updates to virtual environments
*Cadence* *Cadence*
+9
View File
@@ -0,0 +1,9 @@
{
"tool": "Credential Scanner",
"suppressions": [
{
"placeholder": "P@ssword!!",
"_justification": "Password used by SQL Express. It is required to interact with database."
}
]
}
+29 -22
View File
@@ -1,11 +1,11 @@
# Ubuntu 16.04.6 LTS # Ubuntu 16.04.6 LTS
The following software is installed on machines with the 20200330.1 update. The following software is installed on machines with the 20200406.2 update.
*** ***
- 7-Zip 9.20 - 7-Zip 9.20
- Ansible (ansible 2.9.6) - Ansible (ansible 2.9.6)
- AzCopy (azcopy 7.3.0-netcore) - AzCopy (azcopy 7.3.0-netcore)
- Azure CLI (azure-cli 2.2.0) - Azure CLI (azure-cli 2.3.1)
- Azure CLI (azure-devops 0.17.0) - Azure CLI (azure-devops 0.18.0)
- Basic CLI: - Basic CLI:
- curl - curl
- dnsutils - dnsutils
@@ -34,12 +34,13 @@ The following software is installed on machines with the 20200330.1 update.
- wget - wget
- zip - zip
- zstd - zstd
- AWS CLI (aws-cli/1.18.31 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.31) - AWS CLI (aws-cli/1.18.37 Python/2.7.12 Linux/4.15.0-1075-azure botocore/1.15.37)
- build-essential - build-essential
- nvm (0.35.3)
- Clang 6.0 (6.0.0) - Clang 6.0 (6.0.0)
- Clang 8 (8.0.0) - Clang 8 (8.0.0)
- Clang 9 (9.0.1) - Clang 9 (9.0.1)
- Swift version 5.2 (swift-5.2-RELEASE) - Swift version 5.2.1 (swift-5.2.1-RELEASE)
Target: x86_64-unknown-linux-gnu Target: x86_64-unknown-linux-gnu
- CMake (cmake version 3.16.2) - CMake (cmake version 3.16.2)
- Docker Compose (docker-compose version 1.25.4, build 8d51620a) - Docker Compose (docker-compose version 1.25.4, build 8d51620a)
@@ -111,7 +112,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7) - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7)
- Firefox (Mozilla Firefox 74.0) - Firefox (Mozilla Firefox 74.0.1)
- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.4.0 - GNU C++ 7.4.0
- GNU C++ 8.3.0 - GNU C++ 8.3.0
@@ -121,9 +122,9 @@ Target: x86_64-unknown-linux-gnu
- Git (2.26.0) - Git (2.26.0)
- Git Large File Storage (LFS) (2.10.0) - Git Large File Storage (LFS) (2.10.0)
- Hub CLI (2.14.2) - Hub CLI (2.14.2)
- Google Chrome (Google Chrome 80.0.3987.149 ) - Google Chrome (Google Chrome 80.0.3987.163 )
- ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable - ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (286.0.0) - Google Cloud SDK (287.0.0)
- Haskell Cabal (cabal-install version 2.0.0.1 - Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library ) compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0 - Haskell Cabal (cabal-install version 2.2.0.0
@@ -132,6 +133,8 @@ compiled using version 2.2.0.1 of the Cabal library )
compiled using version 2.4.1.0 of the Cabal library ) compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.1.0 - Haskell Cabal (cabal-install version 3.0.1.0
compiled using version 3.0.2.0 of the Cabal library ) compiled using version 3.0.2.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4)
@@ -142,9 +145,10 @@ compiled using version 3.0.2.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1)
- Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2)
- Heroku (heroku/7.39.1 linux-x64 node-v12.13.0) - Heroku (heroku/7.39.2 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.50.0 (rel)) - HHVM (HipHop VM 4.52.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK: - Azul Zulu OpenJDK:
- 7 (openjdk version "1.7.0_252") - 7 (openjdk version "1.7.0_252")
@@ -174,7 +178,7 @@ Local version: Unknown)
- Webpack (4.42.1) - Webpack (4.42.1)
- Webpack CLI (3.3.11) - Webpack CLI (3.3.11)
- Yarn (1.22.4) - Yarn (1.22.4)
- Bazel (bazel 2.2.0) - Bazel (bazel 3.0.0)
- Bazelisk (1.3.0) - Bazelisk (1.3.0)
- PhantomJS (2.1.1) - PhantomJS (2.1.1)
- PHP 5.6 (PHP 5.6.40-26+ubuntu16.04.1+deb.sury.org+1 (cli) ) - PHP 5.6 (PHP 5.6.40-26+ubuntu16.04.1+deb.sury.org+1 (cli) )
@@ -197,9 +201,9 @@ Local version: Unknown)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.42.0) - rustdoc (1.42.0)
- bindgen (0.53.2) - bindgen (0.53.2)
- cbindgen (0.13.2) - cbindgen (0.14.0)
- Julia (julia version 1.4.0) - Julia (julia version 1.4.0)
- sbt (1.3.8) - sbt (1.3.9)
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server - Sphinx Open Source Search Server
- Subversion (svn, version 1.9.3 (r1718519)) - Subversion (svn, version 1.9.3 (r1718519))
@@ -207,6 +211,9 @@ Local version: Unknown)
- Packer (1.5.5) - Packer (1.5.5)
- Vcpkg 2020.02.04-unknownhash - Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (17.1.1) - Zeit Now CLI (17.1.1)
- MongoDB on Linux (2020-04-07T01:29:52.795+0000 I CONTROL [initandlisten] db version v4.2.5
2020-04-07T01:29:52.795+0000 I CONTROL [initandlisten] git version: 2261279b51ea13df08ae708ff278f0679c59dc32
2020-04-07T01:29:52.795+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016)
- Go 1.11 (go version go1.11.13 linux/amd64) - Go 1.11 (go version go1.11.13 linux/amd64)
- Go 1.12 (go version go1.12.17 linux/amd64) - Go 1.12 (go version go1.12.17 linux/amd64)
- Go 1.13 (go version go1.13.9 linux/amd64) - Go 1.13 (go version go1.13.9 linux/amd64)
@@ -279,13 +286,13 @@ Local version: Unknown)
- Az Module (3.1.0) - Az Module (3.1.0)
- Az Module (3.5.0) - Az Module (3.5.0)
- Cached container images - Cached container images
- node:10 (Digest: sha256:816cfaee24dc2cea534e21d7f9c55f3b22c8bc6af61d8445f8d0178168ef3b28)
- node:12 (Digest: sha256:46f4c17e1edbde36d60a9f6362db7912cfe301bac89afef7cc92421ab3e7ca18)
- buildpack-deps:stretch (Digest: sha256:a711a64b26285b42cd02618a191ec6c99650449f698858e0e2cc0535ab85e4dd)
- debian:9 (Digest: sha256:344470192d10cf7cf0bedcb183effbe99065829a8dbe68e65e703faf46fc10c1)
- debian:8 (Digest: sha256:a77aa078ad4769799286bba5fc198deda5bfd4d0144a24e6aa0c8dddf0a22833)
- node:10-alpine (Digest: sha256:9a88e3bc3f845b74d2fd8adcbc64608736a8be4a3e9dc7aa34fa743e3677a552) - node:10-alpine (Digest: sha256:9a88e3bc3f845b74d2fd8adcbc64608736a8be4a3e9dc7aa34fa743e3677a552)
- node:12-alpine (Digest: sha256:6b5b783c9cfe229af0bd5b0b677dd32005bb22d58465f3d0fe7fbd1c60ce068c) - node:12-alpine (Digest: sha256:6b5b783c9cfe229af0bd5b0b677dd32005bb22d58465f3d0fe7fbd1c60ce068c)
- node:10 (Digest: sha256:df200903ff34c07c1b9112b4fd9d1342c11eb7d99525f2b366c487f91dda8131)
- node:12 (Digest: sha256:facc1cbde6e5aa3255092b1a1417451953c80bd31ab5a4403f8bcd90b90a8407)
- buildpack-deps:stretch (Digest: sha256:dc901bbf4b34e4ca8771c0d0773e557221452f97bcf0c732de7ecda3782bdf97)
- debian:9 (Digest: sha256:ddb131307ad9c70ebf8c7962ba73c20101f68c7a511915aea3ad3b7ad47b9d20)
- debian:8 (Digest: sha256:2c9b2323299846c5298c12db373da310f8114f2941ae3f496e95270cc8ca5ebd)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14) - alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
- alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178) - alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178)
- alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f) - alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f)
@@ -299,10 +306,10 @@ Local version: Unknown)
- Python 3.7.6 - Python 3.7.6
- Python 3.8.2 - Python 3.8.2
- Ruby: - Ruby:
- Ruby 2.4.9 - Ruby 2.4.10
- Ruby 2.5.7 - Ruby 2.5.8
- Ruby 2.6.5 - Ruby 2.6.6
- Ruby 2.7.0 - Ruby 2.7.1
- PyPy: - PyPy:
- PyPy 2.7.17 - PyPy 2.7.17
- PyPy 3.6.9 - PyPy 3.6.9
+31 -24
View File
@@ -1,11 +1,11 @@
# Ubuntu 18.04.4 LTS # Ubuntu 18.04.4 LTS
The following software is installed on machines with the 20200330.1 update. The following software is installed on machines with the 20200406.2 update.
*** ***
- 7-Zip 16.02 - 7-Zip 16.02
- Ansible (ansible 2.9.6) - Ansible (ansible 2.9.6)
- AzCopy (azcopy 7.3.0-netcore) - AzCopy (azcopy 7.3.0-netcore)
- Azure CLI (azure-cli 2.2.0) - Azure CLI (azure-cli 2.3.1)
- Azure CLI (azure-devops 0.17.0) - Azure CLI (azure-devops 0.18.0)
- Basic CLI: - Basic CLI:
- curl - curl
- dnsutils - dnsutils
@@ -32,12 +32,12 @@ The following software is installed on machines with the 20200330.1 update.
- wget - wget
- zip - zip
- zstd - zstd
- AWS CLI (aws-cli/1.18.31 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.31) - AWS CLI (aws-cli/1.18.37 Python/2.7.17 Linux/5.0.0-1035-azure botocore/1.15.37)
- build-essential - build-essential
- Clang 6.0 (6.0.0) - Clang 6.0 (6.0.0)
- Clang 8 (8.0.0) - Clang 8 (8.0.0)
- Clang 9 (9.0.0) - Clang 9 (9.0.0)
- Swift version 5.2 (swift-5.2-RELEASE) - Swift version 5.2.1 (swift-5.2.1-RELEASE)
Target: x86_64-unknown-linux-gnu Target: x86_64-unknown-linux-gnu
- CMake (cmake version 3.16.2) - CMake (cmake version 3.16.2)
- Docker Compose (docker-compose version 1.25.4, build 8d51620a) - Docker Compose (docker-compose version 1.25.4, build 8d51620a)
@@ -109,19 +109,19 @@ Target: x86_64-unknown-linux-gnu
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7) - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7)
- Firefox (Mozilla Firefox 74.0) - Firefox (Mozilla Firefox 74.0.1)
- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.5.0 - GNU C++ 7.5.0
- GNU C++ 8.3.0 - GNU C++ 8.4.0
- GNU C++ 9.2.1 - GNU C++ 9.2.1
- GNU Fortran 8.3.0 - GNU Fortran 8.4.0
- GNU Fortran 9.2.1 - GNU Fortran 9.2.1
- Git (2.26.0) - Git (2.26.0)
- Git Large File Storage (LFS) (2.10.0) - Git Large File Storage (LFS) (2.10.0)
- Hub CLI (2.14.2) - Hub CLI (2.14.2)
- Google Chrome (Google Chrome 80.0.3987.149 ) - Google Chrome (Google Chrome 80.0.3987.163 )
- ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable - ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (286.0.0) - Google Cloud SDK (287.0.0)
- Haskell Cabal (cabal-install version 2.0.0.1 - Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library ) compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0 - Haskell Cabal (cabal-install version 2.2.0.0
@@ -130,6 +130,8 @@ compiled using version 2.2.0.1 of the Cabal library )
compiled using version 2.4.1.0 of the Cabal library ) compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.1.0 - Haskell Cabal (cabal-install version 3.0.1.0
compiled using version 3.0.2.0 of the Cabal library ) compiled using version 3.0.2.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4)
@@ -140,9 +142,10 @@ compiled using version 3.0.2.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1)
- Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2)
- Heroku (heroku/7.39.1 linux-x64 node-v12.13.0) - Heroku (heroku/7.39.2 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.50.0 (rel)) - HHVM (HipHop VM 4.52.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK: - Azul Zulu OpenJDK:
- 7 (openjdk version "1.7.0_252") - 7 (openjdk version "1.7.0_252")
@@ -162,6 +165,7 @@ compiled using version 3.0.2.0 of the Cabal library )
- MySQL (mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper) - MySQL (mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper)
- MySQL Server (user:root password:root) - MySQL Server (user:root password:root)
- MS SQL Server Client Tools - MS SQL Server Client Tools
- nvm (0.35.3)
- Node.js (v12.16.1) - Node.js (v12.16.1)
- Grunt (grunt-cli v1.2.0) - Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.0 - Gulp (CLI version: 2.2.0
@@ -172,7 +176,7 @@ Local version: Unknown)
- Webpack (4.42.1) - Webpack (4.42.1)
- Webpack CLI (3.3.11) - Webpack CLI (3.3.11)
- Yarn (1.22.4) - Yarn (1.22.4)
- Bazel (bazel 2.2.0) - Bazel (bazel 3.0.0)
- Bazelisk (1.3.0) - Bazelisk (1.3.0)
- PhantomJS (2.1.1) - PhantomJS (2.1.1)
- PHP 7.1 (PHP 7.1.33-14+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Mar 20 2020 13:57:43) ( NTS )) - PHP 7.1 (PHP 7.1.33-14+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Mar 20 2020 13:57:43) ( NTS ))
@@ -193,9 +197,9 @@ Local version: Unknown)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.42.0) - rustdoc (1.42.0)
- bindgen (0.53.2) - bindgen (0.53.2)
- cbindgen (0.13.2) - cbindgen (0.14.0)
- Julia (julia version 1.4.0) - Julia (julia version 1.4.0)
- sbt (1.3.8) - sbt (1.3.9)
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server - Sphinx Open Source Search Server
- Subversion (svn, version 1.9.7 (r1800392)) - Subversion (svn, version 1.9.7 (r1800392))
@@ -203,6 +207,9 @@ Local version: Unknown)
- Packer (1.5.5) - Packer (1.5.5)
- Vcpkg 2020.02.04-unknownhash - Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (17.1.1) - Zeit Now CLI (17.1.1)
- MongoDB on Linux (2020-04-07T01:27:09.357+0000 I CONTROL [initandlisten] db version v4.2.5
2020-04-07T01:27:09.357+0000 I CONTROL [initandlisten] git version: 2261279b51ea13df08ae708ff278f0679c59dc32
2020-04-07T01:27:09.357+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1d 10 Sep 2019)
- Go 1.11 (go version go1.11.13 linux/amd64) - Go 1.11 (go version go1.11.13 linux/amd64)
- Go 1.12 (go version go1.12.17 linux/amd64) - Go 1.12 (go version go1.12.17 linux/amd64)
- Go 1.13 (go version go1.13.9 linux/amd64) - Go 1.13 (go version go1.13.9 linux/amd64)
@@ -269,13 +276,13 @@ Local version: Unknown)
- Az Module (3.1.0) - Az Module (3.1.0)
- Az Module (3.5.0) - Az Module (3.5.0)
- Cached container images - Cached container images
- node:10 (Digest: sha256:816cfaee24dc2cea534e21d7f9c55f3b22c8bc6af61d8445f8d0178168ef3b28)
- node:12 (Digest: sha256:46f4c17e1edbde36d60a9f6362db7912cfe301bac89afef7cc92421ab3e7ca18)
- buildpack-deps:stretch (Digest: sha256:a711a64b26285b42cd02618a191ec6c99650449f698858e0e2cc0535ab85e4dd)
- debian:9 (Digest: sha256:344470192d10cf7cf0bedcb183effbe99065829a8dbe68e65e703faf46fc10c1)
- debian:8 (Digest: sha256:a77aa078ad4769799286bba5fc198deda5bfd4d0144a24e6aa0c8dddf0a22833)
- node:10-alpine (Digest: sha256:9a88e3bc3f845b74d2fd8adcbc64608736a8be4a3e9dc7aa34fa743e3677a552) - node:10-alpine (Digest: sha256:9a88e3bc3f845b74d2fd8adcbc64608736a8be4a3e9dc7aa34fa743e3677a552)
- node:12-alpine (Digest: sha256:6b5b783c9cfe229af0bd5b0b677dd32005bb22d58465f3d0fe7fbd1c60ce068c) - node:12-alpine (Digest: sha256:6b5b783c9cfe229af0bd5b0b677dd32005bb22d58465f3d0fe7fbd1c60ce068c)
- node:10 (Digest: sha256:df200903ff34c07c1b9112b4fd9d1342c11eb7d99525f2b366c487f91dda8131)
- node:12 (Digest: sha256:facc1cbde6e5aa3255092b1a1417451953c80bd31ab5a4403f8bcd90b90a8407)
- buildpack-deps:stretch (Digest: sha256:dc901bbf4b34e4ca8771c0d0773e557221452f97bcf0c732de7ecda3782bdf97)
- debian:9 (Digest: sha256:ddb131307ad9c70ebf8c7962ba73c20101f68c7a511915aea3ad3b7ad47b9d20)
- debian:8 (Digest: sha256:2c9b2323299846c5298c12db373da310f8114f2941ae3f496e95270cc8ca5ebd)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14) - alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
- alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178) - alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178)
- alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f) - alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f)
@@ -289,10 +296,10 @@ Local version: Unknown)
- Python 3.7.6 - Python 3.7.6
- Python 3.8.2 - Python 3.8.2
- Ruby: - Ruby:
- Ruby 2.4.9 - Ruby 2.4.10
- Ruby 2.5.7 - Ruby 2.5.8
- Ruby 2.6.5 - Ruby 2.6.6
- Ruby 2.7.0 - Ruby 2.7.1
- PyPy: - PyPy:
- PyPy 2.7.17 - PyPy 2.7.17
- PyPy 3.6.9 - PyPy 3.6.9
+8
View File
@@ -0,0 +1,8 @@
#!/bin/bash
################################################################################
## File: reboot.sh
## Desc: Reboot VM
################################################################################
echo "Reboot VM"
sudo reboot
+1 -1
View File
@@ -9,7 +9,7 @@ function WriteItem {
echo "METADATA_FILE environment variable must be set to output to Metadata Document!" echo "METADATA_FILE environment variable must be set to output to Metadata Document!"
return 1; return 1;
else else
echo -e "$1" >> "$METADATA_FILE" echo -e "$1" | sudo tee -a "$METADATA_FILE"
fi fi
} }
@@ -0,0 +1,85 @@
#!/bin/bash
################################################################################
## File: etc-environment.sh
## Desc: Helper functions for source and modify /etc/environment
################################################################################
# NB: sed expression use '%' as a delimiter in order to simplify handling
# values containg slashes (i.e. directory path)
# The values containing '%' will break the functions
function getEtcEnvironmentVariable {
variable_name="$1"
# remove `variable_name=` and possible quotes from the line
grep "^${variable_name}=" /etc/environment |sed -E "s%^${variable_name}=\"?([^\"]+)\"?.*$%\1%"
}
function addEtcEnvironmentVariable {
variable_name="$1"
variable_value="$2"
echo "$variable_name=\"$variable_value\"" | sudo tee -a /etc/environment
}
function replaceEtcEnvironmentVariable {
variable_name="$1"
variable_value="$2"
# modify /etc/environemnt in place by replacing a string that begins with variable_name
sudo sed -i -e "s%^${variable_name}=.*$%${variable_name}=\"${variable_value}\"%" /etc/environment
}
function setEtcEnvironmentVariable {
variable_name="$1"
variable_value="$2"
if grep "$variable_name" /etc/environment > /dev/null; then
replaceEtcEnvironmentVariable $variable_name $variable_value
else
addEtcEnvironmentVariable $variable_name $variable_value
fi
}
function prependEtcEnvironmentVariable {
variable_name="$1"
element="$2"
# TODO: handle the case if the variable does not exist
existing_value=$(getEtcEnvironmentVariable "${variable_name}")
setEtcEnvironmentVariable "${variable_name}" "${element}:${existing_value}"
}
function appendEtcEnvironmentVariable {
variable_name="$1"
element="$2"
# TODO: handle the case if the variable does not exist
existing_value=$(getEtcEnvironmentVariable "${variable_name}")
setEtcEnvironmentVariable "${variable_name}" "${existing_value}:${element}"
}
function prependEtcEnvironmentPath {
element="$1"
prependEtcEnvironmentVariable PATH "${element}"
}
function appendEtcEnvironmentPath {
element="$1"
appendEtcEnvironmentVariable PATH "${element}"
}
# Process /etc/environment as if it were shell script with `export VAR=...` expressions
# The PATH variable is handled specially in order to do not override the existing PATH
# variable. The value of PATH variable read from /etc/environment is added to the end
# of value of the exiting PATH variable exactly as it would happen with real PAM app read
# /etc/environment
#
# TODO: there might be the others variables to be processed in the same way as "PATH" variable
# ie MANPATH, INFOPATH, LD_*, etc. In the current implementation the values from /etc/evironments
# replace the values of the current environment
function reloadEtcEnvironment {
# add `export ` to every variable of /etc/environemnt except PATH and eval the result shell script
eval $(grep -v '^PATH=' /etc/environment | sed -e 's%^%export %')
# handle PATH specially
etc_path=$(getEtcEnvironmentVariable PATH)
export PATH="$PATH:$etc_path"
}
@@ -37,6 +37,8 @@ else
exit 1 exit 1
fi fi
# Add required permissions
chmod -R a+X ${ANDROID_SDK_ROOT}
# Install the following SDKs and build tools, passing in "y" to accept licenses. # Install the following SDKs and build tools, passing in "y" to accept licenses.
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
@@ -49,6 +49,7 @@ apt-fast install -y --no-install-recommends \
libgconf-2-4 \ libgconf-2-4 \
dbus \ dbus \
xvfb \ xvfb \
libgbm-dev \
libgtk-3-0 \ libgtk-3-0 \
tk \ tk \
fakeroot \ fakeroot \
@@ -80,6 +81,7 @@ DocumentInstalledItemIndent "jq"
DocumentInstalledItemIndent "libc++-dev" DocumentInstalledItemIndent "libc++-dev"
DocumentInstalledItemIndent "libc++abi-dev" DocumentInstalledItemIndent "libc++abi-dev"
DocumentInstalledItemIndent "libcurl3" DocumentInstalledItemIndent "libcurl3"
DocumentInstalledItemIndent "libgbm-dev"
DocumentInstalledItemIndent "libicu55" DocumentInstalledItemIndent "libicu55"
DocumentInstalledItemIndent "libunwind8" DocumentInstalledItemIndent "libunwind8"
DocumentInstalledItemIndent "locales" DocumentInstalledItemIndent "locales"
@@ -5,6 +5,7 @@
################################################################################ ################################################################################
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
LSB_RELEASE=$(lsb_release -rs) LSB_RELEASE=$(lsb_release -rs)
@@ -276,9 +277,15 @@ php composer-setup.php
sudo mv composer.phar /usr/bin/composer sudo mv composer.phar /usr/bin/composer
php -r "unlink('composer-setup.php');" php -r "unlink('composer-setup.php');"
# Update /etc/environment
prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin
# Add composer bin folder to path # Add composer bin folder to path
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc
#Create composer folder for user to preserve folder permissions
mkdir -p /etc/skel/.composer
# Install phpunit (for PHP) # Install phpunit (for PHP)
wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar
chmod +x phpunit chmod +x phpunit
@@ -293,6 +300,7 @@ for cmd in php php5.6 php7.0 php7.1 php7.2 php7.3 php7.4 composer phpunit; do
fi fi
done done
# Document what was added to the image # Document what was added to the image
echo "Lastly, documenting what we added to the metadata file" echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "PHP 5.6 ($(php5.6 --version | head -n 1))" DocumentInstalledItem "PHP 5.6 ($(php5.6 --version | head -n 1))"
@@ -7,6 +7,7 @@
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
WriteItem "<!--- DO NOT EDIT - This markdown file is autogenerated. -->"
AddTitle "$(lsb_release -ds)" AddTitle "$(lsb_release -ds)"
WriteItem "The following software is installed on machines with the $IMAGE_VERSION update." WriteItem "The following software is installed on machines with the $IMAGE_VERSION update."
WriteItem "***" WriteItem "***"
@@ -27,6 +27,9 @@ wget -O android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux
unzip android-sdk.zip -d ${ANDROID_SDK_ROOT} unzip android-sdk.zip -d ${ANDROID_SDK_ROOT}
rm -f android-sdk.zip rm -f android-sdk.zip
# Add required permissions
chmod -R a+X ${ANDROID_SDK_ROOT}
# Check sdk manager installation # Check sdk manager installation
/usr/local/lib/android/sdk/tools/bin/sdkmanager --list 1>/dev/null /usr/local/lib/android/sdk/tools/bin/sdkmanager --list 1>/dev/null
if [ $? -eq 0 ] if [ $? -eq 0 ]
@@ -97,6 +97,9 @@ apt-get install -y --no-install-recommends dbus
echo "Install xvfb" echo "Install xvfb"
apt-get install -y --no-install-recommends xvfb apt-get install -y --no-install-recommends xvfb
echo "Install libgbm-dev"
apt-get install -y --no-install-recommends libgbm-dev
echo "Install libgtk" echo "Install libgtk"
apt-get install -y --no-install-recommends libgtk-3-0 apt-get install -y --no-install-recommends libgtk-3-0
@@ -147,6 +150,7 @@ DocumentInstalledItemIndent "iproute2"
DocumentInstalledItemIndent "iputils-ping" DocumentInstalledItemIndent "iputils-ping"
DocumentInstalledItemIndent "jq" DocumentInstalledItemIndent "jq"
DocumentInstalledItemIndent "libcurl3" DocumentInstalledItemIndent "libcurl3"
DocumentInstalledItemIndent "libgbm-dev"
DocumentInstalledItemIndent "libicu55" DocumentInstalledItemIndent "libicu55"
DocumentInstalledItemIndent "libunwind8" DocumentInstalledItemIndent "libunwind8"
DocumentInstalledItemIndent "locales" DocumentInstalledItemIndent "locales"
@@ -0,0 +1,26 @@
#!/bin/bash
################################################################################
## File: containers.sh
## Desc: Installs container tools: podman, buildah and skopeo onto the image
################################################################################
source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh
source /etc/os-release
sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
apt-key add - < Release.key
apt-get update -qq
apt-get -qq -y install podman buildah skopeo
mkdir -p /etc/containers
echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf
## Add version information to the metadata file
echo "Documenting container tools version"
PODMAN_VERSION="$(podman --version | 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)"
@@ -5,6 +5,7 @@
################################################################################ ################################################################################
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
LSB_RELEASE=$(lsb_release -rs) LSB_RELEASE=$(lsb_release -rs)
@@ -193,9 +194,15 @@ php composer-setup.php
sudo mv composer.phar /usr/bin/composer sudo mv composer.phar /usr/bin/composer
php -r "unlink('composer-setup.php');" php -r "unlink('composer-setup.php');"
# Update /etc/environment
prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin
# Add composer bin folder to path # Add composer bin folder to path
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc
#Create composer folder for user to preserve folder permissions
mkdir -p /etc/skel/.composer
# Install phpunit (for PHP) # Install phpunit (for PHP)
wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar
chmod +x phpunit chmod +x phpunit
@@ -7,6 +7,7 @@
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
WriteItem "<!--- DO NOT EDIT - This markdown file is autogenerated. -->"
AddTitle "$(lsb_release -ds)" AddTitle "$(lsb_release -ds)"
WriteItem "The following software is installed on machines with the $IMAGE_VERSION update." WriteItem "The following software is installed on machines with the $IMAGE_VERSION update."
WriteItem "***" WriteItem "***"
@@ -0,0 +1,55 @@
################################################################################
## File: Install-Toolset.ps1
## Team: CI-Build
## Desc: Install toolset
################################################################################
Function Install-Asset {
param(
[Parameter(Mandatory = $true)]
[object] $ReleaseAsset
)
Write-Host "Download $($ReleaseAsset.filename)"
wget $ReleaseAsset.download_url -nv --retry-connrefused --tries=10
Write-Host "Extract $($ReleaseAsset.filename) content..."
$assetFolderPath = Join-Path $env:INSTALLER_SCRIPT_FOLDER $($ReleaseAsset.filename)
New-Item -ItemType Directory -Path $assetFolderPath
tar -xzf $ReleaseAsset.filename -C $assetFolderPath
Write-Host "Invoke installation script..."
Push-Location -Path $assetFolderPath
Invoke-Expression "bash ./setup.sh"
Pop-Location
}
$ErrorActionPreference = "Stop"
# Get toolset content
$toolsetJson = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw
$tools = ConvertFrom-Json -InputObject $toolsetJson | Select-Object -ExpandProperty toolcache
foreach ($tool in $tools) {
# Get versions manifest for current tool
$assets = Invoke-RestMethod $tool.url
# Get github release asset for each version
foreach ($toolVersion in $tool.versions) {
$asset = $assets | Where-Object version -like $toolVersion `
| Select-Object -ExpandProperty files `
| Where-Object { ($_.platform -eq $tool.platform) -and ($_.platform_version -eq $tool.platform_version)} `
| Select-Object -First 1
Write-Host "Installing $($tool.name) $toolVersion $($tool.arch)..."
if ($asset -ne $null) {
Install-Asset -ReleaseAsset $asset
}
else {
Write-Host "Asset was not found in versions manifest"
exit 1
}
}
}
chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/Python
@@ -0,0 +1,62 @@
################################################################################
## File: Validate-Toolset.ps1
## Team: CI-Build
## Desc: Validate Toolset
################################################################################
function Run-ExecutableTests {
param (
[Parameter(Mandatory)] [string[]] $Executables,
[Parameter(Mandatory)] [string] $ToolPath
)
foreach ($executable in $Executables) {
$executablePath = Join-Path $ToolPath $executable
Write-Host "Check $executable..."
if (Test-Path $executablePath) {
Write-Host "$executable is successfully installed: $(& $executablePath --version)"
} else {
Write-Host "$executablePath is not installed!"
exit 1
}
}
}
$ErrorActionPreference = "Stop"
# Define executables for cached tools
$toolsExecutables = @{ Python = @("python", "bin/pip") }
# Get toolset content
$toolsetJson = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw
$tools = ConvertFrom-Json -InputObject $toolsetJson | 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
$toolExecs = $toolsExecutables[$tool.name]
foreach ($version in $tool.versions) {
# Check if version folder exists
$expectedVersionPath = Join-Path $toolPath $version
if (-not (Test-Path $expectedVersionPath)) {
Write-Host "Expected $($tool.name) $version folder is not found!"
exit 1
}
# Take latest installed version in case if toolset version contains wildcards
$foundVersion = Get-Item $expectedVersionPath `
| Sort-Object -Property {[version]$_.name} -Descending `
| Select-Object -First 1
$foundVersionPath = Join-Path $foundVersion $tool.arch
Write-Host "Run validation test for $($tool.name)($($tool.arch)) $($foundVersion.name) executables..."
Run-ExecutableTests -Executables $toolExecs -ToolPath $foundVersionPath
# Add tool version to documentation
Invoke-Expression "bash -c `"source $env:HELPER_SCRIPTS/document.sh; DocumentInstalledItemIndent '$($tool.name) $($foundVersion.name)'`""
}
}
@@ -0,0 +1,27 @@
#!/bin/bash
################################################################################
## File: aliyun-cli.sh
## Desc: Installs Alibaba Cloud CLI
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/apt.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"))')
wget -P /tmp $URL
tar xzvf /tmp/aliyun-cli-linux-*-amd64.tgz
mv aliyun /usr/local/bin
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! command -v aliyun ; then
echo "aliyun was not installed"
exit 1
fi
# Document what was added to the image
aliyun_version="$(aliyun --version | grep "Alibaba Cloud Command Line Interface Version" | cut -d " " -f 7)"
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Alibaba Cloud CLI ($aliyun_version)"
@@ -0,0 +1,24 @@
#!/bin/bash
################################################################################
## File: aws-sam-cli.sh
## Desc: Installs AWS SAM CLI
## Must be run as non-root user after homebrew and clang
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install aws sam cli
brew tap aws/tap
brew install aws-sam-cli
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! 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)"
@@ -0,0 +1,16 @@
#!/bin/bash
# before cleanup
before=$(df / -Pm | awk 'NR==2{print $4}')
# clears out the local repository of retrieved package files
# It removes everything but the lock file from /var/cache/apt/archives/ and /var/cache/apt/archives/partial
apt-get clean
# after cleanup
after=$(df / -Pm | awk 'NR==2{print $4}')
# display size
echo "Before: $before MB"
echo "After : $after MB"
echo "Delta : $(($after-$before)) MB"
+2 -2
View File
@@ -10,9 +10,9 @@ source $HELPER_SCRIPTS/document.sh
# Test to see if the software in question is already installed, if not install it # 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" echo "Checking to see if the installer script has already been run"
if command -v cmake; then if command -v cmake; then
echo "Example variable already set to $EXAMPLE_VAR" echo "cmake is already installed"
else else
curl -sL https://cmake.org/files/v3.16/cmake-3.16.2-Linux-x86_64.sh -o cmakeinstall.sh \ curl -sL https://cmake.org/files/v3.17/cmake-3.17.0-Linux-x86_64.sh -o cmakeinstall.sh \
&& chmod +x cmakeinstall.sh \ && chmod +x cmakeinstall.sh \
&& ./cmakeinstall.sh --prefix=/usr/local --exclude-subdir \ && ./cmakeinstall.sh --prefix=/usr/local --exclude-subdir \
&& rm cmakeinstall.sh && rm cmakeinstall.sh
@@ -0,0 +1,12 @@
#!/bin/bash
################################################################################
## File: snap-environment.sh
## Desc: Update /etc/environment to include /snap/bin in PATH
## because /etc/profile.d is ignored by `--norc` shell launch option
################################################################################
# Source the helpers
source $HELPER_SCRIPTS/etc-environment.sh
# Update /etc/environemnt
prependEtcEnvironmentPath "/snap/bin"
@@ -16,16 +16,22 @@ if ! IsInstalled $docker_package; then
apt-get remove -y moby-engine moby-cli apt-get remove -y moby-engine moby-cli
apt-get update apt-get update
apt-get install -y moby-engine moby-cli apt-get install -y moby-engine moby-cli
apt-get install --no-install-recommends -y moby-buildx
else else
echo "Docker ($docker_package) is already installed" echo "Docker ($docker_package) is already installed"
fi fi
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
echo "Checking the docker-moby and moby-buildx"
if ! command -v docker; then if ! command -v docker; then
echo "docker was not installed" echo "docker was not installed"
exit 1 exit 1
elif ! [[ $(docker buildx) ]]; then
echo "Docker-Buildx was not installed"
exit 1
else else
echo "Docker-moby and Docker-buildx checking the successfull"
# Docker daemon takes time to come up after installing # Docker daemon takes time to come up after installing
sleep 10 sleep 10
set -e set -e
@@ -44,8 +50,13 @@ docker pull alpine:3.7
docker pull alpine:3.8 docker pull alpine:3.8
docker pull alpine:3.9 docker pull alpine:3.9
docker pull alpine:3.10 docker pull alpine:3.10
docker pull ubuntu:14.04
## Add version information to the metadata file ## Add version information to the metadata file
echo "Documenting Docker version" echo "Documenting Docker version"
docker_version=$(docker -v) docker_version=$(docker -v)
DocumentInstalledItem "Docker-Moby ($docker_version)" 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)"
@@ -3,6 +3,7 @@
## File: dotnetcore-sdk.sh ## File: dotnetcore-sdk.sh
## Desc: Installs .NET Core SDK ## Desc: Installs .NET Core SDK
################################################################################ ################################################################################
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/apt.sh source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
@@ -95,5 +96,6 @@ done
# NuGetFallbackFolder at /usr/share/dotnet/sdk/NuGetFallbackFolder is warmed up by smoke test # NuGetFallbackFolder at /usr/share/dotnet/sdk/NuGetFallbackFolder is warmed up by smoke test
# Additional FTE will just copy to ~/.dotnet/NuGet which provides no benefit on a fungible machine # Additional FTE will just copy to ~/.dotnet/NuGet which provides no benefit on a fungible machine
echo "DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1" | tee -a /etc/environment setEtcEnvironmentVariable DOTNET_SKIP_FIRST_TIME_EXPERIENCE 1
prependEtcEnvironmentPath /home/runner/.dotnet/tools
echo 'export PATH="$PATH:$HOME/.dotnet/tools"' | tee -a /etc/skel/.bashrc echo 'export PATH="$PATH:$HOME/.dotnet/tools"' | tee -a /etc/skel/.bashrc
@@ -17,6 +17,10 @@ if ! command -v firefox; then
exit 1 exit 1
fi fi
# add to gloabl system preferences for firefox locale en_US, because other browsers have en_US local.
# 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 # Document what was added to the image
echo "Lastly, documenting what we added to the metadata file" echo "Lastly, documenting what we added to the metadata file"
# Resolves: Running Firefox as root in a regular user's session is not supported. # Resolves: Running Firefox as root in a regular user's session is not supported.
@@ -0,0 +1,14 @@
#!/bin/bash
################################################################################
## File: homebrew-validate.sh
## Desc: Validate the Homebrew can run after reboot without extra configuring
################################################################################
# Validate the installation
echo "Validate the Homebrew can run after reboot"
if ! command -v brew; then
echo "brew cat not run after reboot"
exit 1
fi
@@ -0,0 +1,36 @@
#!/bin/bash
################################################################################
## File: homebrew.sh
## Desc: Installs the Homebrew on Linux
################################################################################
# Source the helpers
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/etc-environment.sh
# Install the Homebrew on Linux
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
# Make brew files and directories writable by any user
sudo chmod -R o+w $HOMEBREW_PREFIX
# Update /etc/environemnt
## Put HOMEBREW_* variables
brew shellenv|grep 'export HOMEBREW'|sed -E 's/^export (.*);$/\1/' | sudo tee -a /etc/environment
# add brew executables locations to PATH
brew_path=$(brew shellenv|grep '^export PATH' |sed -E 's/^export PATH="([^$]+)\$.*/\1/')
appendEtcEnvironmentPath "$brew_path"
# Validate the installation ad hoc
echo "Validate the installation reloading /etc/environment"
reloadEtcEnvironment
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))"
@@ -49,12 +49,6 @@ done;
popd popd
DocumentInstalledItem "Python:"
pythons=$(ls $AGENT_TOOLSDIRECTORY/Python)
for python in $pythons; do
DocumentInstalledItemIndent "Python $python"
done;
DocumentInstalledItem "Ruby:" DocumentInstalledItem "Ruby:"
rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby) rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby)
for ruby in $rubys; do for ruby in $rubys; do
+1
View File
@@ -44,6 +44,7 @@ echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "MySQL ($(mysql --version))" DocumentInstalledItem "MySQL ($(mysql --version))"
DocumentInstalledItem "MySQL Server (user:root password:root)" DocumentInstalledItem "MySQL Server (user:root password:root)"
DocumentInstalledItem "MS SQL Server Client Tools" 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 # Disable mysql.service
systemctl is-active --quiet mysql.service && systemctl stop mysql.service systemctl is-active --quiet mysql.service && systemctl stop mysql.service
@@ -0,0 +1,24 @@
#!/bin/bash
################################################################################
## File: rndgenerator.sh
## 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
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
for cmd in haveged; do
if ! command -v $cmd; then
echo "$cmd was not installed or not found on PATH"
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)"
+4 -2
View File
@@ -5,10 +5,9 @@
################################################################################ ################################################################################
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
set -e
export RUSTUP_HOME=/usr/share/rust/.rustup export RUSTUP_HOME=/usr/share/rust/.rustup
export CARGO_HOME=/usr/share/rust/.cargo export CARGO_HOME=/usr/share/rust/.cargo
@@ -33,6 +32,9 @@ for cmd in rustup rustc rustdoc cargo rustfmt cargo-clippy bindgen cbindgen; do
fi fi
done done
# Update /etc/environemnt
prependEtcEnvironmentPath "${CARGO_HOME}/bin"
# Rust Symlinks are added to a default profile /etc/skel # Rust Symlinks are added to a default profile /etc/skel
pushd /etc/skel pushd /etc/skel
ln -sf $RUSTUP_HOME .rustup ln -sf $RUSTUP_HOME .rustup
@@ -69,6 +69,5 @@ done;
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
Test_Hostedtoolcache_Tool "Python" "x64/python -c 'import sys;print(sys.version)'| head -1 | egrep -o '[0-9]+\.[0-9]+'"
Test_Hostedtoolcache_Tool "Ruby" "x64/bin/ruby -e 'puts RUBY_VERSION' | egrep -o '[0-9]+\.[0-9]+'" Test_Hostedtoolcache_Tool "Ruby" "x64/bin/ruby -e 'puts RUBY_VERSION' | egrep -o '[0-9]+\.[0-9]+'"
Test_Hostedtoolcache_Tool "PyPy" "x64/bin/python -c 'import sys;print(sys.version)'| head -1 | egrep -o '[0-9]+\.[0-9]+' | cut -d '.' -f 1" Test_Hostedtoolcache_Tool "PyPy" "x64/bin/python -c 'import sys;print(sys.version)'| head -1 | egrep -o '[0-9]+\.[0-9]+' | cut -d '.' -f 1"
@@ -1,6 +0,0 @@
#!/bin/bash
CARGO_HOME=/usr/share/rust/.cargo
DOTNET_TOOLS_HOME=/home/runner/.dotnet/tools
PHP_COMPOSER_HOME=/home/runner/.config/composer/vendor/bin
echo "PATH=${CARGO_HOME}/bin:${PATH}:${DOTNET_TOOLS_HOME}:${PHP_COMPOSER_HOME}" | tee -a /etc/environment
@@ -0,0 +1,14 @@
#!/bin/bash
################################################################################
## File: validate-disk-space.sh
## Desc: Validate free disk space
################################################################################
availableSpaceMB=$(df / -hm | sed 1d | awk '{ print $4}')
minimumFreeSpaceMB=18000
echo "Available disk space: $availableSpaceMB MB"
if [ $availableSpaceMB -le $minimumFreeSpaceMB ]; then
echo "Not enough disk space on the image (minimum available space: $minimumFreeSpaceMB MB)"
exit 1
fi
+12
View File
@@ -6,6 +6,7 @@
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# Set env variable for vcpkg # Set env variable for vcpkg
VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg
@@ -13,11 +14,22 @@ echo "VCPKG_INSTALLATION_ROOT=${VCPKG_INSTALLATION_ROOT}" | tee -a /etc/environm
# Install vcpkg # Install vcpkg
git clone --depth=1 https://github.com/Microsoft/vcpkg $VCPKG_INSTALLATION_ROOT git clone --depth=1 https://github.com/Microsoft/vcpkg $VCPKG_INSTALLATION_ROOT
# vcpkg requires g++ version 7+, yet Ubuntu 16 default is 5.4. Set version 7 as default temporarily
if isUbuntu16; then
ln -sf g++-7 /usr/bin/g++
fi
$VCPKG_INSTALLATION_ROOT/bootstrap-vcpkg.sh $VCPKG_INSTALLATION_ROOT/bootstrap-vcpkg.sh
$VCPKG_INSTALLATION_ROOT/vcpkg integrate install $VCPKG_INSTALLATION_ROOT/vcpkg integrate install
chmod 0777 -R $VCPKG_INSTALLATION_ROOT chmod 0777 -R $VCPKG_INSTALLATION_ROOT
ln -sf $VCPKG_INSTALLATION_ROOT/vcpkg /usr/local/bin ln -sf $VCPKG_INSTALLATION_ROOT/vcpkg /usr/local/bin
# Set back g++ 5.4 as default
if isUbuntu16; then
ln -sf g++-5 /usr/bin/g++
fi
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! command -v vcpkg; then if ! command -v vcpkg; then
-3
View File
@@ -1,7 +1,4 @@
{ {
"@actions/toolcache-python-ubuntu-1604-x64": [
"2.7", "3.5", "3.6", "3.7", "3.8"
],
"@actions/toolcache-ruby-ubuntu-1604-x64": [ "@actions/toolcache-ruby-ubuntu-1604-x64": [
"2.4", "2.5", "2.6", "2.7" "2.4", "2.5", "2.6", "2.7"
], ],
-3
View File
@@ -1,7 +1,4 @@
{ {
"@actions/toolcache-python-ubuntu-1804-x64": [
"2.7", "3.5", "3.6", "3.7", "3.8"
],
"@actions/toolcache-ruby-ubuntu-1804-x64": [ "@actions/toolcache-ruby-ubuntu-1804-x64": [
"2.4", "2.5", "2.6", "2.7" "2.4", "2.5", "2.6", "2.7"
], ],
+18
View File
@@ -0,0 +1,18 @@
{
"toolcache": [
{
"name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json",
"platform" : "linux",
"platform_version": "16.04",
"arch": "x64",
"versions": [
"2.7.*",
"3.5.*",
"3.6.*",
"3.7.*",
"3.8.*"
]
}
]
}
+18
View File
@@ -0,0 +1,18 @@
{
"toolcache": [
{
"name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json",
"platform" : "linux",
"platform_version": "18.04",
"arch": "x64",
"versions": [
"2.7.*",
"3.5.*",
"3.6.*",
"3.7.*",
"3.8.*"
]
}
]
}
+86 -3
View File
@@ -132,6 +132,46 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/complete-snap-setup.sh"
],
"environment_vars": [
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/homebrew.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"DEBIAN_FRONTEND=noninteractive"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"expect_disconnect": true,
"scripts": [
"{{template_dir}}/scripts/base/reboot.sh"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"pause_before": "30s",
"timeout": "10m",
"start_retry_timeout": "10s",
"scripts": [
"{{template_dir}}/scripts/installers/homebrew-validate.sh"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{ {
"type": "shell", "type": "shell",
"scripts": [ "scripts": [
@@ -141,6 +181,7 @@
"{{template_dir}}/scripts/installers/azure-cli.sh", "{{template_dir}}/scripts/installers/azure-cli.sh",
"{{template_dir}}/scripts/installers/azure-devops-cli.sh", "{{template_dir}}/scripts/installers/azure-devops-cli.sh",
"{{template_dir}}/scripts/installers/1604/basic.sh", "{{template_dir}}/scripts/installers/1604/basic.sh",
"{{template_dir}}/scripts/installers/aliyun-cli.sh",
"{{template_dir}}/scripts/installers/aws.sh", "{{template_dir}}/scripts/installers/aws.sh",
"{{template_dir}}/scripts/installers/build-essential.sh", "{{template_dir}}/scripts/installers/build-essential.sh",
"{{template_dir}}/scripts/installers/nvm.sh", "{{template_dir}}/scripts/installers/nvm.sh",
@@ -187,10 +228,9 @@
"{{template_dir}}/scripts/installers/packer.sh", "{{template_dir}}/scripts/installers/packer.sh",
"{{template_dir}}/scripts/installers/vcpkg.sh", "{{template_dir}}/scripts/installers/vcpkg.sh",
"{{template_dir}}/scripts/installers/zeit-now.sh", "{{template_dir}}/scripts/installers/zeit-now.sh",
"{{template_dir}}/scripts/installers/updatepath.sh",
"{{template_dir}}/scripts/installers/dpkg-config.sh", "{{template_dir}}/scripts/installers/dpkg-config.sh",
"{{template_dir}}/scripts/installers/mongodb.sh" "{{template_dir}}/scripts/installers/mongodb.sh",
"{{template_dir}}/scripts/installers/rndgenerator.sh"
], ],
"environment_vars": [ "environment_vars": [
"METADATA_FILE={{user `metadata_file`}}", "METADATA_FILE={{user `metadata_file`}}",
@@ -199,6 +239,18 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/aws-sam-cli.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"DEBIAN_FRONTEND=noninteractive"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{ {
"type": "shell", "type": "shell",
"scripts": [ "scripts": [
@@ -217,6 +269,11 @@
"source": "{{template_dir}}/toolcache-1604.json", "source": "{{template_dir}}/toolcache-1604.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json" "destination": "{{user `installer_script_folder`}}/toolcache.json"
}, },
{
"type": "file",
"source": "{{template_dir}}/toolset-1604.json",
"destination": "{{user `installer_script_folder`}}/toolset.json"
},
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
@@ -235,6 +292,19 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/Install-Toolset.ps1",
"{{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`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
},
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
@@ -247,6 +317,19 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/cleanup.sh"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/validate-disk-space.sh"
]
},
{ {
"type": "file", "type": "file",
"source": "{{user `metadata_file`}}", "source": "{{user `metadata_file`}}",
+87 -2
View File
@@ -135,6 +135,46 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/complete-snap-setup.sh"
],
"environment_vars": [
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/homebrew.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"DEBIAN_FRONTEND=noninteractive"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"expect_disconnect": true,
"scripts": [
"{{template_dir}}/scripts/base/reboot.sh"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"pause_before": "30s",
"timeout": "10m",
"start_retry_timeout": "10s",
"scripts": [
"{{template_dir}}/scripts/installers/homebrew-validate.sh"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{ {
"type": "shell", "type": "shell",
"scripts": [ "scripts": [
@@ -144,11 +184,13 @@
"{{template_dir}}/scripts/installers/azure-cli.sh", "{{template_dir}}/scripts/installers/azure-cli.sh",
"{{template_dir}}/scripts/installers/azure-devops-cli.sh", "{{template_dir}}/scripts/installers/azure-devops-cli.sh",
"{{template_dir}}/scripts/installers/1804/basic.sh", "{{template_dir}}/scripts/installers/1804/basic.sh",
"{{template_dir}}/scripts/installers/aliyun-cli.sh",
"{{template_dir}}/scripts/installers/aws.sh", "{{template_dir}}/scripts/installers/aws.sh",
"{{template_dir}}/scripts/installers/build-essential.sh", "{{template_dir}}/scripts/installers/build-essential.sh",
"{{template_dir}}/scripts/installers/clang.sh", "{{template_dir}}/scripts/installers/clang.sh",
"{{template_dir}}/scripts/installers/swift.sh", "{{template_dir}}/scripts/installers/swift.sh",
"{{template_dir}}/scripts/installers/cmake.sh", "{{template_dir}}/scripts/installers/cmake.sh",
"{{template_dir}}/scripts/installers/1804/containers.sh",
"{{template_dir}}/scripts/installers/docker-compose.sh", "{{template_dir}}/scripts/installers/docker-compose.sh",
"{{template_dir}}/scripts/installers/docker-moby.sh", "{{template_dir}}/scripts/installers/docker-moby.sh",
"{{template_dir}}/scripts/installers/dotnetcore-sdk.sh", "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
@@ -190,9 +232,9 @@
"{{template_dir}}/scripts/installers/packer.sh", "{{template_dir}}/scripts/installers/packer.sh",
"{{template_dir}}/scripts/installers/vcpkg.sh", "{{template_dir}}/scripts/installers/vcpkg.sh",
"{{template_dir}}/scripts/installers/zeit-now.sh", "{{template_dir}}/scripts/installers/zeit-now.sh",
"{{template_dir}}/scripts/installers/updatepath.sh",
"{{template_dir}}/scripts/installers/dpkg-config.sh", "{{template_dir}}/scripts/installers/dpkg-config.sh",
"{{template_dir}}/scripts/installers/mongodb.sh" "{{template_dir}}/scripts/installers/mongodb.sh",
"{{template_dir}}/scripts/installers/rndgenerator.sh"
], ],
"environment_vars": [ "environment_vars": [
"METADATA_FILE={{user `metadata_file`}}", "METADATA_FILE={{user `metadata_file`}}",
@@ -201,6 +243,18 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/aws-sam-cli.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"DEBIAN_FRONTEND=noninteractive"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{ {
"type": "shell", "type": "shell",
"scripts": [ "scripts": [
@@ -219,6 +273,11 @@
"source": "{{template_dir}}/toolcache-1804.json", "source": "{{template_dir}}/toolcache-1804.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json" "destination": "{{user `installer_script_folder`}}/toolcache.json"
}, },
{
"type": "file",
"source": "{{template_dir}}/toolset-1804.json",
"destination": "{{user `installer_script_folder`}}/toolset.json"
},
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
@@ -237,6 +296,19 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/Install-Toolset.ps1",
"{{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`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
},
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
@@ -249,6 +321,19 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/cleanup.sh"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/validate-disk-space.sh"
]
},
{ {
"type": "file", "type": "file",
"source": "{{user `metadata_file`}}", "source": "{{user `metadata_file`}}",
+117 -98
View File
@@ -1,45 +1,43 @@
# macOS Catalina 10.15.4 (19E266) # OS X info
The following software is installed on machines with the 20200328.1 update. - System Version: macOS 10.15.4 (19E287)
- Kernel Version: Darwin 19.4.0
- System Integrity Protection: Enabled
- Image Version: 20200425.1
#### Xcode 11.3.1 set by default # Installed Software
## Operating System ## Language and Runtime
- Java 1.7: (Zulu 7.38.0.11-CA-macosx) (build 1.7.0_262-b10)
- OS X 10.15.4 (19E266) **Catalina** - Java 1.8: (Zulu 8.46.0.19-CA-macosx) (build 1.8.0_252-b14) (default)
- Java 11: Zulu11.39+15-CA (build 11.0.7+10-LTS)
## Installed Software
### Language and Runtime
- Java 1.7: (Zulu 7.36.0.5-CA-macosx) (build 1.7.0_252-b10)
- Java 1.8: (Zulu 8.44.0.11-CA-macosx) (build 1.8.0_242-b20) (default)
- Java 11: Zulu11.37+17-CA (build 11.0.6+10-LTS)
- Java 12: Zulu12.3+11-CA (build 12.0.2+3) - Java 12: Zulu12.3+11-CA (build 12.0.2+3)
- Java 13: Zulu13.29+9-CA (build 13.0.2+6-MTS) - Java 13: Zulu13.31+11-CA (build 13.0.3+3-MTS)
- Java 14: Zulu14.27+1-CA (build 14+36) - Java 14: Zulu14.28+21-CA (build 14.0.1+8)
- Rust 1.42.0 - Rust 1.43.0
- Clang/LLVM 9.0.1 - Clang/LLVM 10.0.0
- gcc-8 (Homebrew GCC 8.4.0) 8.4.0 - gcc-8 (Homebrew GCC 8.4.0_1) 8.4.0
- gcc-9 (Homebrew GCC 9.3.0) 9.3.0 - gcc-9 (Homebrew GCC 9.3.0_1) 9.3.0
- GNU Fortran (Homebrew GCC 8.4.0) 8.4.0 - GNU Fortran (Homebrew GCC 8.4.0_1) 8.4.0
- GNU Fortran (Homebrew GCC 9.3.0) 9.3.0 - GNU Fortran (Homebrew GCC 9.3.0_1) 9.3.0
- Node.js v12.16.1 - Node.js v12.16.2
- NVM 0.33.11 - NVM 0.33.11
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.19.0 v12.16.1 v13.12.0 - NVM - Cached node versions: v6.17.1 v8.17.0 v10.20.1 v12.16.2 v13.13.0
- PowerShell 7.0.0 - PowerShell 7.0.0
- Python 2.7.17 - Python 2.7.17
- Python 3.7.7 - Python 3.7.7
- Ruby 2.6.5p114 - Ruby 2.6.6p146
- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 3.1.201 - .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 3.1.201
- Go 1.14.1 - Go 1.14.2
- PHP 7.4.4 - PHP 7.4.5
- julia 1.4.0 - julia 1.4.1
### Package Management ## Package Management
- Rustup 1.21.1 - Rustup 1.21.1
- Vcpkg 2020.02.04 - Vcpkg 2020.02.04
- Bundler version 2.1.4 - Bundler version 2.1.4
- Carthage 0.34.0 - Carthage 0.34.0
- CocoaPods 1.9.1 - CocoaPods 1.9.1
- Homebrew 2.2.11 - Homebrew 2.2.13
- NPM 6.13.4 - NPM 6.14.4
- Yarn 1.22.4 - Yarn 1.22.4
- NuGet 5.5.0.6382 - NuGet 5.5.0.6382
- Pip 19.3.1 (python 2.7) - Pip 19.3.1 (python 2.7)
@@ -47,169 +45,189 @@ The following software is installed on machines with the 20200328.1 update.
- Miniconda 4.8.2 - Miniconda 4.8.2
- RubyGems 3.1.2 - RubyGems 3.1.2
### Project Management ## Project Management
- Apache Maven 3.6.3 - Apache Maven 3.6.3
- Gradle 6.3 - Gradle 6.3
### Utilities ## Utilities
- Curl 7.69.1 - Curl 7.69.1
- Git: 2.26.0 - Git: 2.26.2
- Git LFS: 2.10.0 - Git LFS: 2.10.0
- Hub CLI: 2.14.2 - Hub CLI: 2.14.2
- GNU Wget 1.20.3 - GNU Wget 1.20.3
- Subversion (SVN) 1.13.0 - Subversion (SVN) 1.13.0
- Packer 1.5.5 - Packer 1.5.5
- GNU parallel 20200322 - GNU parallel 20200422
- OpenSSL 1.0.2t 10 Sep 2019 - OpenSSL 1.0.2t 10 Sep 2019
- jq 1.6 - jq 1.6
- gpg (GnuPG) 2.2.20 - gpg (GnuPG) 2.2.20
- psql (PostgreSQL) 12.2 - psql (PostgreSQL) 12.2
- PostgreSQL 12.2
- aria2 1.35.0 - aria2 1.35.0
- azcopy 10.3.4 - azcopy 10.4.1
- zstd 1.4.4 - zstd 1.4.4
- bazel 2.2.0 - bazel 3.1.0
- bazelisk v1.3.0 - bazelisk v1.4.0
- helm v3.1.2+gd878d4d - helm v3.2.0+ge11b7ce
- Docker 19.03.8 - virtualbox 6.1.6r137129
- docker-machine 0.16.2 - Vagrant 2.2.7
- docker-compose 1.25.4
### Tools ## Tools
- Fastlane 2.144.0 - Fastlane 2.146.1
- Cmake 3.17.0 - Cmake 3.17.1
- App Center CLI 2.3.5 - App Center CLI 2.5.0
- Azure CLI 2.2.0 - Azure CLI 2.4.0
- AWS CLI 2.0.5 - AWS CLI 2.0.9
- AWS SAM CLI 0.47.0
- Aliyun CLI 3.0.39
### Browsers ## Browsers
- Google Chrome 80.0.3987.149 - Safari 13.1 (15609.1.20.111.8)
- ChromeDriver 80.0.3987.106 - SafariDriver 13.1 (15609.1.20.111.8)
- Microsoft Edge 80.0.361.69 - Google Chrome 81.0.4044.122
- MSEdgeDriver 80.0.361.69 - ChromeDriver 81.0.4044.69
- Mozilla Firefox 74.0 - Microsoft Edge 81.0.416.64
- MSEdgeDriver 81.0.416.64
- Mozilla Firefox 75.0
- geckodriver 0.26.0 - geckodriver 0.26.0
### Toolcache ## Toolcache
#### Ruby ### Ruby
- 2.4.9 - 2.4.10
- 2.5.7 - 2.5.8
- 2.6.5 - 2.6.6
- 2.7.0 - 2.7.1
#### Python ### Python
- 2.7.17 - 2.7.17
- 3.5.9 - 3.5.9
- 3.6.10 - 3.6.10
- 3.7.6 - 3.7.6
- 3.8.2 - 3.8.2
#### PyPy ### PyPy
- 2.7.17 - 2.7.17
- 3.6.9 - 3.6.9
### Xamarin ## Xamarin
#### Visual Studio for Mac ### Visual Studio for Mac
- 8.5.0.3183 - 8.5.4.12
#### Mono ### Mono
- 6.8.0.123 - 6.8.0.123
- 6.6.0.166 - 6.6.0.166
- 6.4.0.208 - 6.4.0.208
#### Xamarin.iOS ### Xamarin.iOS
- 13.16.0.13
- 13.14.1.39 - 13.14.1.39
- 13.10.0.21 - 13.10.0.21
- 13.8.3.0 - 13.8.3.0
- 13.6.0.12 - 13.6.0.12
- 13.4.0.2 - 13.4.0.2
- 13.2.0.47
#### Xamarin.Mac ### Xamarin.Mac
- 6.16.0.13
- 6.14.1.39 - 6.14.1.39
- 6.10.0.21 - 6.10.0.21
- 6.8.3.0 - 6.8.3.0
- 6.6.0.12 - 6.6.0.12
- 6.4.0.2 - 6.4.0.2
- 6.2.0.47
#### Xamarin.Android ### Xamarin.Android
- 10.2.0 - 10.2.0
- 10.1.3 - 10.1.3
- 10.0.6 - 10.0.6
#### Unit Test Framework ### Unit Test Framework
- NUnit 3.6.1 - NUnit 3.6.1
### Xcode ## Xcode
| Version | Build | Path | | Version | Build | Path |
| ---------------- | ------- | ------------------------------ | | ---------------- | ------- | ------------------------------ |
| 11.4.1 (default) | 11E503a | /Applications/Xcode_11.4.1.app |
| 11.4 | 11E146 | /Applications/Xcode_11.4.app | | 11.4 | 11E146 | /Applications/Xcode_11.4.app |
| 11.3.1 (default) | 11C505 | /Applications/Xcode_11.3.1.app | | 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app |
| 11.3 | 11C29 | /Applications/Xcode_11.3.app | | 11.3 | 11C29 | /Applications/Xcode_11.3.app |
| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app | | 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
| 11.2 | 11B52 | /Applications/Xcode_11.2.app | | 11.2 | 11B52 | /Applications/Xcode_11.2.app |
| 11.1 | 11A1027 | /Applications/Xcode_11.1.app | | 11.1 | 11A1027 | /Applications/Xcode_11.1.app |
| 11.0 | 11A420a | /Applications/Xcode_11.app | | 11.0 | 11A420a | /Applications/Xcode_11.app |
| 10.3 | 10G8 | /Applications/Xcode_10.3.app |
#### Xcode Support Tools ### Xcode Support Tools
- Nomad CLI 3.1.2 - Nomad CLI 3.1.2
- Nomad CLI IPA ipa 0.14.3 - Nomad CLI IPA ipa 0.14.3
- xcpretty 0.3.0 - xcpretty 0.3.0
- xctool 0.3.7 - xctool 0.3.7
- xcversion 2.6.3 - xcversion 2.6.4
#### Installed SDKs ### Installed SDKs
| SDK | SDK Name | Xcode Version | | SDK | SDK Name | Xcode Version |
| ----------------------- | -------------------- | -------------------------------------------- | | ----------------------- | -------------------- | ---------------------------------------------------- |
| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4 | | macOS 10.14 | macosx10.14 | 10.3 |
| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4, 11.4.1 |
| iOS 12.4 | iphoneos12.4 | 10.3 |
| iOS 13.0 | iphoneos13.0 | 11.0 | | iOS 13.0 | iphoneos13.0 | 11.0 |
| iOS 13.1 | iphoneos13.1 | 11.1 | | iOS 13.1 | iphoneos13.1 | 11.1 |
| iOS 13.2 | iphoneos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 | | iOS 13.2 | iphoneos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
| iOS 13.4 | iphoneos13.4 | 11.4 | | iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 |
| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 |
| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 | | Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 |
| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 | | Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 |
| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 | | Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4 | | Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 |
| tvOS 12.4 | appletvos12.4 | 10.3 |
| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 | | tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
| tvOS 13.2 | appletvos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 | | tvOS 13.2 | appletvos13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
| tvOS 13.4 | appletvos13.4 | 11.4 | | tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1 |
| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 |
| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 | | Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 |
| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 | | Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2, 11.2.1, 11.3, 11.3.1 |
| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4 | | Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1 |
| watchOS 5.3 | watchos5.3 | 10.3 |
| watchOS 6.0 | watchos6.0 | 11.0, 11.1 | | watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
| watchOS 6.1 | watchos6.1 | 11.2, 11.2.1, 11.3, 11.3.1 | | watchOS 6.1 | watchos6.1 | 11.2, 11.2.1, 11.3, 11.3.1 |
| watchOS 6.2 | watchos6.2 | 11.4 | | watchOS 6.2 | watchos6.2 | 11.4, 11.4.1 |
| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 |
| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 | | Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 |
| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2, 11.2.1, 11.3, 11.3.1 | | Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2, 11.2.1, 11.3, 11.3.1 |
| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4 | | Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1 |
| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4 | | DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2, 11.2.1, 11.3, 11.3.1, 11.4, 11.4.1 |
#### Installed Simulators ### Installed Simulators
| OS | Xcode Version | Simulators | | OS | Xcode Version | Simulators |
| ----------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 12.4 | 10.3 | iPhone 5s<br>iPhone 6 Plus<br>iPhone 6<br>iPhone 6s<br>iPhone 6s Plus<br>iPhone SE<br>iPhone 7<br>iPhone 7 Plus<br>iPhone 8<br>iPhone 8 Plus<br>iPhone X<br>iPhone Xs<br>iPhone Xs Max<br>iPhone Xʀ<br>iPad Air<br>iPad Air 2<br>iPad Pro (9.7-inch)<br>iPad Pro (12.9-inch)<br>iPad (5th generation)<br>iPad Pro (12.9-inch) (2nd generation)<br>iPad Pro (10.5-inch)<br>iPad (6th generation)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
| iOS 13.0 | 11.0 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) | | iOS 13.0 | 11.0 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
| iOS 13.1 | 11.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) | | iOS 13.1 | 11.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
| iOS 13.2 | 11.2<br>11.2.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) | | iOS 13.2 | 11.2<br>11.2.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
| iOS 13.3 | 11.3<br>11.3.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad (7th generation)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (1st generation) | | iOS 13.3 | 11.3<br>11.3.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad Pro (11-inch)<br>iPad Pro (12.9-inch) (3rd generation)<br>iPad Air (3rd generation) |
| iOS 13.4 | 11.4 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad (7th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Air (3rd generation) | | iOS 13.4 | 11.4<br>11.4.1 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPad Pro (9.7-inch)<br>iPad (7th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Air (3rd generation)<br>iPhone SE (2nd generation) |
| tvOS 12.4 | 10.3 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 13.0 | 11.0<br>11.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.0 | 11.0<br>11.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 13.2 | 11.2<br>11.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.2 | 11.2<br>11.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 13.3 | 11.3<br>11.3.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.3 | 11.3<br>11.3.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 13.4 | 11.4 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.4 | 11.4<br>11.4.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| watchOS 5.3 | 10.3 | Apple Watch Series 2 - 38mm<br>Apple Watch Series 2 - 42mm<br>Apple Watch Series 3 - 38mm<br>Apple Watch Series 3 - 42mm<br>Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm |
| watchOS 6.0 | 11.0<br>11.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm | | watchOS 6.0 | 11.0<br>11.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
| watchOS 6.1 | 11.2<br>11.2.1<br>11.3<br>11.3.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm | | watchOS 6.1 | 11.2<br>11.2.1<br>11.3<br>11.3.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
| watchOS 6.2 | 11.4 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm | | watchOS 6.2 | 11.4<br>11.4.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
### Android ## Android
#### Android SDK Tools ### Android SDK Tools
| Package Name | Description | | Package Name | Description |
| ------------ | ---------------------------------- | | ------------ | ---------------------------------- |
| tools | Android SDK Tools, Revision 26.1.1 | | tools | Android SDK Tools, Revision 26.1.1 |
#### Android SDK Platform-Tools ### Android SDK Platform-Tools
| Package Name | Description | | Package Name | Description |
| -------------- | ------------------------------------------- | | -------------- | ------------------------------------------- |
| platform-tools | Android SDK Platform-Tools, Revision 29.0.6 | | platform-tools | Android SDK Platform-Tools, Revision 30.0.0 |
#### Android SDK Platforms ### Android SDK Platforms
| Package Name | Description | | Package Name | Description |
| ------------ | ----------------------------------- | | ------------ | ----------------------------------- |
| android-24 | Android SDK Platform 24, Revision 2 | | android-24 | Android SDK Platform 24, Revision 2 |
@@ -219,7 +237,7 @@ The following software is installed on machines with the 20200328.1 update.
| android-28 | Android SDK Platform 28, Revision 6 | | android-28 | Android SDK Platform 28, Revision 6 |
| android-29 | Android SDK Platform 29, Revision 4 | | android-29 | Android SDK Platform 29, Revision 4 |
#### Android SDK Build-Tools ### Android SDK Build-Tools
| Package Name | Description | | Package Name | Description |
| ---------------------- | -------------------------------------------- | | ---------------------- | -------------------------------------------- |
| build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 | | build-tools-24.0.0 | Android SDK Build-Tools, Revision 24.0.0 |
@@ -248,15 +266,15 @@ The following software is installed on machines with the 20200328.1 update.
| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 | | build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 |
| build-tools-30.0.0-rc1 | Android SDK Build-Tools, Revision 30.0.0 rc1 | | build-tools-30.0.0-rc1 | Android SDK Build-Tools, Revision 30.0.0 rc1 |
#### Android Utils ### Android Utils
| Package Name | Version | | Package Name | Version |
| ---------------- | ------------ | | ---------------- | ------------ |
| cmake | 3.6.4111459 | | cmake | 3.6.4111459 |
| lldb | 3.1.4508709 | | lldb | 3.1.4508709 |
| ndk-bundle | 18.1.5063045 | | ndk-bundle | 21.1.6352462 |
| Android Emulator | 30.0.5 | | Android Emulator | 30.0.5 |
#### Android Google APIs ### Android Google APIs
| Package Name | Description | | Package Name | Description |
| --------------------------- | ----------------------- | | --------------------------- | ----------------------- |
| addon-google_apis-google-21 | Google APIs, Revision 1 | | addon-google_apis-google-21 | Google APIs, Revision 1 |
@@ -264,7 +282,7 @@ The following software is installed on machines with the 20200328.1 update.
| addon-google_apis-google-23 | Google APIs, Revision 1 | | addon-google_apis-google-23 | Google APIs, Revision 1 |
| addon-google_apis-google-24 | Google APIs, Revision 1 | | addon-google_apis-google-24 | Google APIs, Revision 1 |
#### Extra Packages ### Extra Packages
| Package Name | Version | | Package Name | Version |
| ----------------------------------------------- | ------- | | ----------------------------------------------- | ------- |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
@@ -272,3 +290,4 @@ The following software is installed on machines with the 20200328.1 update.
| Google Repository | 58 | | Google Repository | 58 |
| Intel x86 Emulator Accelerator (HAXM installer) | 7.5.1 | | Intel x86 Emulator Accelerator (HAXM installer) | 7.5.1 |
+49 -13
View File
@@ -18,6 +18,7 @@
"run_scan_antivirus": "false", "run_scan_antivirus": "false",
"root_folder": "C:", "root_folder": "C:",
"toolset_json_path": "{{env `TEMP`}}\\toolset.json",
"image_folder": "C:\\image", "image_folder": "C:\\image",
"commit_file": "C:\\image\\commit.txt", "commit_file": "C:\\image\\commit.txt",
"imagedata_file": "C:\\imagedata.json", "imagedata_file": "C:\\imagedata.json",
@@ -175,10 +176,6 @@
"{{ template_dir }}/scripts/Installers/Windows2016/Update-DockerImages.ps1" "{{ template_dir }}/scripts/Installers/Windows2016/Update-DockerImages.ps1"
] ]
}, },
{
"type": "powershell",
"inline": ["choco install vcredist140 -y"]
},
{ {
"type": "powershell", "type": "powershell",
"valid_exit_codes": [ "valid_exit_codes": [
@@ -299,6 +296,12 @@
"{{ template_dir }}/scripts/Installers/Install-Bazel.ps1" "{{ template_dir }}/scripts/Installers/Install-Bazel.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-AliyunCli.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -316,6 +319,11 @@
"source": "{{template_dir}}/toolcache-2016.json", "source": "{{template_dir}}/toolcache-2016.json",
"destination": "{{user `root_folder`}}/toolcache.json" "destination": "{{user `root_folder`}}/toolcache.json"
}, },
{
"type": "file",
"source": "{{template_dir}}/toolset-2016.json",
"destination": "{{user `toolset_json_path`}}"
},
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[ "environment_vars":[
@@ -326,6 +334,15 @@
"{{ template_dir }}/scripts/Installers/Download-ToolCache.ps1" "{{ template_dir }}/scripts/Installers/Download-ToolCache.ps1"
] ]
}, },
{
"type": "powershell",
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Toolset.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -452,6 +469,12 @@
"{{ template_dir }}/scripts/Installers/Install-AWS.ps1" "{{ template_dir }}/scripts/Installers/Install-AWS.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -470,14 +493,6 @@
"{{ template_dir }}/scripts/Installers/Install-MysqlCli.ps1" "{{ template_dir }}/scripts/Installers/Install-MysqlCli.ps1"
] ]
}, },
{
"type": "powershell",
"elevated_user": "SYSTEM",
"elevated_password": "",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-SQLExpress.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -621,6 +636,12 @@
"{{ template_dir }}/scripts/Installers/Validate-AzureCli.ps1" "{{ template_dir }}/scripts/Installers/Validate-AzureCli.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-AWS-SAM.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -636,6 +657,15 @@
"{{ template_dir }}/scripts/Installers/Validate-ToolCache.ps1" "{{ template_dir }}/scripts/Installers/Validate-ToolCache.ps1"
] ]
}, },
{
"type": "powershell",
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Toolset.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -742,7 +772,7 @@
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Validate-SQLExpress.ps1" "{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1"
] ]
}, },
{ {
@@ -877,6 +907,12 @@
"{{ template_dir }}/scripts/Installers/Validate-Kind.ps1" "{{ template_dir }}/scripts/Installers/Validate-Kind.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1"
]
},
{ {
"type": "file", "type": "file",
"source": "C:\\InstalledSoftware.md", "source": "C:\\InstalledSoftware.md",
+71 -35
View File
@@ -1,6 +1,6 @@
# Windows Server 2016 # Windows Server 2016
The following software is installed on machines with the 20200323.1 update. The following software is installed on machines with the 20200426.1 update.
Components marked with **\*** have been upgraded since the previous version of the image. Components marked with **\*** have been upgraded since the previous version of the image.
@@ -25,7 +25,7 @@ _Environment:_
## Helm ## Helm
_Version:_ v3.1.2+gd878d4d<br/> _Version:_ v3.2.0+ge11b7ce<br/>
_Environment:_ _Environment:_
* PATH: contains location of helm * PATH: contains location of helm
@@ -36,15 +36,15 @@ _Version:_ 7.0.0 <br/>
## Docker images ## Docker images
The following container images have been cached: The following container images have been cached:
* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:7bf99ba791cce2c51091ac0c6922ff98e5a448c1046ba046fab3760070173e0d) * mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:4610dbc0e9f033247b336ebf62b2c690dc9e93de5c937b4660aad52847123086)
* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:000d639c6c287bf0e69b27c008f2d411a9e161093dd1855667a8e6189f9adac8) * mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:888f36a9fa4ccd409967426f1a731ab6112a8acc36459268471fccd0e67e5326)
* mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:5bd97dbab1afe8d3200f5d5c974df3b0130e74e8a69fddcd427699c4c8cb5037) * mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:f4c4f31c7ee654e73bd130b89e6ad5a659f5ede52fd9eb653c9db4aa12f6e0ea)
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c) * microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
* mcr.microsoft.com/windows/nanoserver:10.0.14393.953 (Digest: sha256:fc60bd5ae0e61b334ce1cf1bcbf20c10c36b4c5482a01da319c9c989f9e6e268) * mcr.microsoft.com/windows/nanoserver:10.0.14393.953 (Digest: sha256:fc60bd5ae0e61b334ce1cf1bcbf20c10c36b4c5482a01da319c9c989f9e6e268)
## Visual Studio 2017 Enterprise ## Visual Studio 2017 Enterprise
_Version:_ VisualStudio/15.9.21+28307.1064<br/> _Version:_ VisualStudio/15.9.22+28307.1093<br/>
_Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise _Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise
The following workloads including required and recommended components are installed with Visual Studio 2017: The following workloads including required and recommended components are installed with Visual Studio 2017:
@@ -135,6 +135,8 @@ In addition the following optional components are installed:
* Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre * Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre
* Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre * Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre
* Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre * Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre
* Microsoft.VisualStudio.Workload.Office
* Microsoft.VisualStudio.Workload.OfficeBuildTools
## SQL Server Data Tools for VS 2017 ## SQL Server Data Tools for VS 2017
@@ -166,13 +168,17 @@ _WDK Visual Studio Extension Version:_ 10.0.17740.0<br/>
## Azure Service Fabric ## Azure Service Fabric
_SDK Version:_ 4.0.470.9590<br/> _SDK Version:_ 4.1.409.9590<br/>
_Runtime Version:_ 7.0.470.9590 _Runtime Version:_ 7.1.409.9590
## WinAppDriver ## WinAppDriver
_Version:_ 1.1.1809.18001<br/> _Version:_ 1.1.1809.18001<br/>
## AWS CLI
_Version:_ aws-cli 2.0.9<br/>
## Android SDK Build Tools ## Android SDK Build Tools
#### 29.0.3 #### 29.0.3
@@ -422,13 +428,17 @@ _Description:_ .NET has been configured to use TLS 1.2 by default
## Azure CLI ## Azure CLI
_Version:_ 2.2.0 _Version:_ 2.4.0
_Environment:_ _Environment:_
* PATH: contains location of az.cmd * PATH: contains location of az.cmd
## AWS SAM CLI
_Version:_ 0.47.0<br/>
## Azure DevOps Cli extension ## Azure DevOps Cli extension
_Version:_ azure-devops 0.17.0 _Version:_ azure-devops 0.18.0
## Python ## Python
@@ -440,11 +450,11 @@ _Version:_ 2.7.13 (x86)<br/>_Version:_ 3.6.9 (x86)<br/>
## Ruby ## Ruby
_Version:_ 2.4.9 (x64)<br/>_Version:_ 2.5.7 (x64)<br/>_Version:_ 2.6.5 (x64)<br/>_Version:_ 2.7.0 (x64)<br/><br/>__System default version:__ Ruby 2.5.7p206<br/>_Environment:_<br/>* Location: C:\hostedtoolcache\windows\Ruby\2.5.7\x64\bin<br/>* PATH: contains the location of Ruby 2.5.7p206<br/>* Gem Version: 2.7.6.2<br/> _Version:_ 2.4.10 (x64)<br/>_Version:_ 2.5.8 (x64)<br/>_Version:_ 2.6.6 (x64)<br/>_Version:_ 2.7.1 (x64)<br/><br/>__System default version:__ Ruby 2.5.8p224<br/>_Environment:_<br/>* Location: C:\hostedtoolcache\windows\Ruby\2.5.8\x64\bin<br/>* PATH: contains the location of Ruby 2.5.8p224<br/>* Gem Version: 3.1.2<br/>
## OpenSSL ## OpenSSL
_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Strawberry\c\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe<br/>_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe<br/> _Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Strawberry\c\bin\openssl.exe<br/>_Version:_ 1.1.1f at C:\Program Files\Git\mingw64\bin\openssl.exe<br/>_Version:_ 1.1.1f at C:\Program Files\Git\usr\bin\openssl.exe<br/>_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe<br/>
## Perl ## Perl
@@ -452,7 +462,7 @@ _Version:_ v5.30.2<br/>
## Git ## Git
_Version:_ 2.25.1<br/> _Version:_ 2.26.2<br/>
_Environment:_ _Environment:_
* PATH: contains location of git.exe * PATH: contains location of git.exe
@@ -478,8 +488,8 @@ _Environment:_
#### 1.69.0 [msvc-14.1] #### 1.69.0 [msvc-14.1]
_Environment:_ _Environment:_
* PATH: contains the location of Boost version 1.69.0
* BOOST_ROOT_1_69_0: root directory of the Boost version 1.69.0 installation * BOOST_ROOT_1_69_0: root directory of the Boost version 1.69.0 installation
#### 1.72.0 [msvc-14.1] #### 1.72.0 [msvc-14.1]
_Environment:_ _Environment:_
@@ -498,24 +508,32 @@ See documentation of the Boost CMake package configuration for details on what i
Set `Boost_NO_BOOST_CMAKE to ON`, to disable the search for boost-cmake. Set `Boost_NO_BOOST_CMAKE to ON`, to disable the search for boost-cmake.
## PHP (x64) ## Composer
#### 7.4.3 #### Composer version 1.10.5 2020-04-10 11:44:22
_Environment:_ _Environment:_
* PATH: contains the location of php.exe version 7.4.3 * PATH: contains the location of composer.exe version Composer version 1.10.5 2020-04-10 11:44:22
* PHPROOT: root directory of the PHP 7.4.3 installation * PHPROOT: root directory of the Composer Composer version 1.10.5 2020-04-10 11:44:22 installation
## PHP (x64)
#### 7.4.5
_Environment:_
* PATH: contains the location of php.exe version 7.4.5
* PHPROOT: root directory of the PHP 7.4.5 installation
## Rust (64-bit) ## Rust (64-bit)
#### 1.42.0 #### 1.43.0
_Location:_ C:\Rust\.cargo\bin _Location:_ C:\Rust\.cargo\bin
_Environment:_ _Environment:_
* PATH: contains the location of rustc.exe * PATH: contains the location of rustc.exe
## Julia (x64) ## Julia (x64)
_Version:_ 1.3.1<br/> _Version:_ 1.4.1<br/>
## sbt ## sbt
@@ -530,17 +548,17 @@ _Environment:_
## Google Chrome ## Google Chrome
_version:_ _version:_
80.0.3987.149 81.0.4044.122
## Microsoft Edge ## Microsoft Edge
_version:_ _version:_
80.0.361.69 81.0.416.64
## Mozilla Firefox ## Mozilla Firefox
_version:_ _version:_
74.0 75.0
## Selenium Web Drivers ## Selenium Web Drivers
@@ -548,7 +566,7 @@ _version:_
#### Chrome Driver #### Chrome Driver
_version:_ _version:_
80.0.3987.106 81.0.4044.69
_Environment:_ _Environment:_
* ChromeWebDriver: location of chromedriver.exe * ChromeWebDriver: location of chromedriver.exe
@@ -572,7 +590,7 @@ _Environment:_
#### Microsoft Edge Driver #### Microsoft Edge Driver
_version:_ _version:_
80.0.361.69 81.0.416.64
_Environment:_ _Environment:_
* EdgeWebDriver: location of msedgedriver.exe * EdgeWebDriver: location of msedgedriver.exe
@@ -580,7 +598,7 @@ _Environment:_
## Node.js ## Node.js
_Version:_ 12.16.1<br/> _Version:_ 12.16.2<br/>
_Architecture:_ x64<br/> _Architecture:_ x64<br/>
_Environment:_ _Environment:_
* PATH: contains location of node.exe<br/> * PATH: contains location of node.exe<br/>
@@ -591,17 +609,21 @@ _Environment:_
## npm ## npm
_Version:_ 6.13.4<br/> _Version:_ 6.14.4<br/>
_Environment:_ _Environment:_
* PATH: contains location of npm.cmd * PATH: contains location of npm.cmd
## bazel ## bazel
_Version:_ bazel 2.2.0<br/> _Version:_ bazel 3.1.0<br/>
## bazelisk ## bazelisk
_Version:_ 1.3.0<br/> _Version:_ 1.4.0<br/>
## Alibaba Cloud CLI
_Version:_ 3.0.26<br/>
## Java Development Kit ## Java Development Kit
@@ -636,13 +658,13 @@ _Environment:_
## Gradle ## Gradle
_Version:_ 6.2.2<br/> _Version:_ 6.3<br/>
_Environment:_ _Environment:_
* PATH: contains location of gradle * PATH: contains location of gradle
## Cmake ## CMake
_Version:_ 3.17.0<br/> _Version:_ 3.17.1<br/>
_Environment:_ _Environment:_
* PATH: contains location of cmake.exe * PATH: contains location of cmake.exe
@@ -659,6 +681,10 @@ _Environment:_
* PATH: contains location of dotnet.exe * PATH: contains location of dotnet.exe
_SDK:_ _SDK:_
* 3.1.201 C:\Program Files\dotnet\sdk\3.1.201
* 3.1.200 C:\Program Files\dotnet\sdk\3.1.200
* 3.1.103 C:\Program Files\dotnet\sdk\3.1.103
* 3.1.102 C:\Program Files\dotnet\sdk\3.1.102
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101 * 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100 * 3.1.100 C:\Program Files\dotnet\sdk\3.1.100
* 2.2.402 C:\Program Files\dotnet\sdk\2.2.402 * 2.2.402 C:\Program Files\dotnet\sdk\2.2.402
@@ -682,12 +708,14 @@ _SDK:_
* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102 * 2.2.102 C:\Program Files\dotnet\sdk\2.2.102
* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101 * 2.2.101 C:\Program Files\dotnet\sdk\2.2.101
* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100 * 2.2.100 C:\Program Files\dotnet\sdk\2.2.100
* 2.1.805 C:\Program Files\dotnet\sdk\2.1.805
* 2.1.804 C:\Program Files\dotnet\sdk\2.1.804 * 2.1.804 C:\Program Files\dotnet\sdk\2.1.804
* 2.1.803 C:\Program Files\dotnet\sdk\2.1.803 * 2.1.803 C:\Program Files\dotnet\sdk\2.1.803
* 2.1.802 C:\Program Files\dotnet\sdk\2.1.802 * 2.1.802 C:\Program Files\dotnet\sdk\2.1.802
* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801 * 2.1.801 C:\Program Files\dotnet\sdk\2.1.801
* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701 * 2.1.701 C:\Program Files\dotnet\sdk\2.1.701
* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700 * 2.1.700 C:\Program Files\dotnet\sdk\2.1.700
* 2.1.610 C:\Program Files\dotnet\sdk\2.1.610
* 2.1.609 C:\Program Files\dotnet\sdk\2.1.609 * 2.1.609 C:\Program Files\dotnet\sdk\2.1.609
* 2.1.608 C:\Program Files\dotnet\sdk\2.1.608 * 2.1.608 C:\Program Files\dotnet\sdk\2.1.608
* 2.1.607 C:\Program Files\dotnet\sdk\2.1.607 * 2.1.607 C:\Program Files\dotnet\sdk\2.1.607
@@ -696,6 +724,7 @@ _SDK:_
* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604 * 2.1.604 C:\Program Files\dotnet\sdk\2.1.604
* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603 * 2.1.603 C:\Program Files\dotnet\sdk\2.1.603
* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602 * 2.1.602 C:\Program Files\dotnet\sdk\2.1.602
* 2.1.513 C:\Program Files\dotnet\sdk\2.1.513
* 2.1.512 C:\Program Files\dotnet\sdk\2.1.512 * 2.1.512 C:\Program Files\dotnet\sdk\2.1.512
* 2.1.511 C:\Program Files\dotnet\sdk\2.1.511 * 2.1.511 C:\Program Files\dotnet\sdk\2.1.511
* 2.1.510 C:\Program Files\dotnet\sdk\2.1.510 * 2.1.510 C:\Program Files\dotnet\sdk\2.1.510
@@ -718,6 +747,8 @@ _SDK:_
* 1.1.14 C:\Program Files\dotnet\sdk\1.1.14 * 1.1.14 C:\Program Files\dotnet\sdk\1.1.14
_Runtime:_ _Runtime:_
* 3.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.3
* 3.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.2
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1 * 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1
* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0 * 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0
* 2.2.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.8 * 2.2.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.8
@@ -737,6 +768,7 @@ _Runtime:_
* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4 * 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4
* 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3 * 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3
* 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2 * 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2
* 2.1.17 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.17
* 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16 * 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16
* 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15 * 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15
* 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14 * 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14
@@ -791,7 +823,7 @@ _Version:_ 19.00<br/>
## Packer ## Packer
_Version:_ 1.5.4<br/> _Version:_ 1.5.5<br/>
## Mercurial ## Mercurial
@@ -813,9 +845,13 @@ _Version:_ 6.0.4<br/>
_Version:_ 5.2.4.0<br/> _Version:_ 5.2.4.0<br/>
## Nullsoft Install System (NSIS)
_Version:_ 3.5<br/>
## Cloud Foundry CLI ## Cloud Foundry CLI
_Version:_ 6.50.0<br/> _Version:_ 6.51.0<br/>
## Vcpkg ## Vcpkg
@@ -826,7 +862,7 @@ _Environment:_
## Kubectl ## Kubectl
_Version:_ Client Version: v1.17.1<br/> _Version:_ Client Version: v1.18.2<br/>
_Environment:_ _Environment:_
* PATH: contains location of kubectl.exe * PATH: contains location of kubectl.exe
+54 -14
View File
@@ -18,6 +18,7 @@
"run_scan_antivirus": "false", "run_scan_antivirus": "false",
"root_folder": "C:", "root_folder": "C:",
"toolset_json_path": "{{env `TEMP`}}\\toolset.json",
"image_folder": "C:\\image", "image_folder": "C:\\image",
"commit_file": "C:\\image\\commit.txt", "commit_file": "C:\\image\\commit.txt",
"imagedata_file": "C:\\imagedata.json", "imagedata_file": "C:\\imagedata.json",
@@ -291,6 +292,11 @@
"source": "{{template_dir}}/toolcache-2019.json", "source": "{{template_dir}}/toolcache-2019.json",
"destination": "{{user `root_folder`}}/toolcache.json" "destination": "{{user `root_folder`}}/toolcache.json"
}, },
{
"type": "file",
"source": "{{template_dir}}/toolset-2019.json",
"destination": "{{user `toolset_json_path`}}"
},
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[ "environment_vars":[
@@ -301,6 +307,15 @@
"{{ template_dir }}/scripts/Installers/Download-ToolCache.ps1" "{{ template_dir }}/scripts/Installers/Download-ToolCache.ps1"
] ]
}, },
{
"type": "powershell",
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Toolset.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -433,6 +448,12 @@
"{{ template_dir }}/scripts/Installers/Install-AWS.ps1" "{{ template_dir }}/scripts/Installers/Install-AWS.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -451,14 +472,6 @@
"{{ template_dir }}/scripts/Installers/Install-MysqlCli.ps1" "{{ template_dir }}/scripts/Installers/Install-MysqlCli.ps1"
] ]
}, },
{
"type": "powershell",
"elevated_user": "SYSTEM",
"elevated_password": "",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-SQLExpress.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -586,6 +599,12 @@
"{{ template_dir }}/scripts/Installers/Install-Bazel.ps1" "{{ template_dir }}/scripts/Installers/Install-Bazel.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-AliyunCli.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -614,6 +633,12 @@
"{{ template_dir }}/scripts/Installers/Validate-AzureCli.ps1" "{{ template_dir }}/scripts/Installers/Validate-AzureCli.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-AWS-SAM.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -629,6 +654,15 @@
"{{ template_dir }}/scripts/Installers/Validate-ToolCache.ps1" "{{ template_dir }}/scripts/Installers/Validate-ToolCache.ps1"
] ]
}, },
{
"type": "powershell",
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Toolset.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -756,12 +790,6 @@
"{{ template_dir }}/scripts/Installers/Validate-MysqlCli.ps1" "{{ template_dir }}/scripts/Installers/Validate-MysqlCli.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-SQLExpress.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -876,6 +904,18 @@
"{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1" "{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1"
]
},
{ {
"type": "file", "type": "file",
"source": "C:\\InstalledSoftware.md", "source": "C:\\InstalledSoftware.md",
+73 -46
View File
@@ -1,6 +1,6 @@
# Windows Server 2019 # Windows Server 2019
The following software is installed on machines with the 20200319.1 update. The following software is installed on machines with the 20200426.1 update.
Components marked with **\*** have been upgraded since the previous version of the image. Components marked with **\*** have been upgraded since the previous version of the image.
@@ -25,7 +25,7 @@ _Environment:_
## Helm ## Helm
_Version:_ v3.1.2+gd878d4d<br/> _Version:_ v3.2.0+ge11b7ce<br/>
_Environment:_ _Environment:_
* PATH: contains location of helm * PATH: contains location of helm
@@ -36,15 +36,15 @@ _Version:_ 7.0.0 <br/>
## Docker images ## Docker images
The following container images have been cached: The following container images have been cached:
* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:24ffd5fad1becaf9b16f42ec6f40c90ddf56664986a87212d2d48164e3bb52ba) * mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 (Digest: sha256:8d2ffe560c2e25ac85080aed33ac7a010584db157e49255c2a7d2405f78017b7)
* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:ceaf6f000f0a0677510a5511f089071c2822dd40f34a77ca0280f96b10621858) * mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 (Digest: sha256:fd6801e45c7899858a1ffe7e89e29b9a012704af34350ad94abbd82b6e5ddb88)
* mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:8dcc65367c900f06ad386da6a1e25d578232f7b15981092986ade2f2fd9468b8) * mcr.microsoft.com/windows/servercore:ltsc2019 (Digest: sha256:2ecf1e2987b91b41f576afd7f56aa40c9ddbc691d7b6b066c64d8f27fb3070ca)
* mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:5de6bd32bd453d60c8f549d28845552e89ad3652566e141ac82023b6ba10374d) * mcr.microsoft.com/windows/nanoserver:1809 (Digest: sha256:28805a307e17836a84a6af231f8516110839e4840e4ab41c7d286a0ca5627ea1)
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c) * microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
## Visual Studio 2019 Enterprise ## Visual Studio 2019 Enterprise
_Version:_ VisualStudio/16.5.0+29911.84<br/> _Version:_ VisualStudio/16.5.4+30011.22<br/>
_Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise _Location:_ C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
The following workloads and components are installed with Visual Studio 2019: The following workloads and components are installed with Visual Studio 2019:
@@ -108,6 +108,7 @@ The following workloads and components are installed with Visual Studio 2019:
* Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre * Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre
* Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre * Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre
* Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre * Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre
* Microsoft.VisualStudio.Component.Windows10SDK.14393
* Microsoft.VisualStudio.Component.Windows10SDK.16299 * Microsoft.VisualStudio.Component.Windows10SDK.16299
* Microsoft.VisualStudio.Component.Windows10SDK.17134 * Microsoft.VisualStudio.Component.Windows10SDK.17134
* Microsoft.VisualStudio.Component.Windows10SDK.17763 * Microsoft.VisualStudio.Component.Windows10SDK.17763
@@ -144,9 +145,9 @@ _Environment:_
## Microsoft SSDT Visual Studio 2019 Extensions ## Microsoft SSDT Visual Studio 2019 Extensions
_Microsoft Analysis Services Projects Version:_ 2.9.6<br/> _Microsoft Analysis Services Projects Version:_ 2.9.8<br/>
_SQL Server Integration Services Projects Version:_ 3.5<br/> _SQL Server Integration Services Projects Version:_ 3.6<br/>
_Microsoft Reporting Services Projects Version:_ 2.6.3<br/> _Microsoft Reporting Services Projects Version:_ 2.6.5<br/>
## .NET 4.8 ## .NET 4.8
@@ -160,13 +161,17 @@ _WDK Visual Studio Extension Version:_ 10.0.18346.0<br/>
## Azure Service Fabric ## Azure Service Fabric
_SDK Version:_ 4.0.470.9590<br/> _SDK Version:_ 4.1.409.9590<br/>
_Runtime Version:_ 7.0.470.9590 _Runtime Version:_ 7.1.409.9590
## WinAppDriver ## WinAppDriver
_Version:_ 1.1.1809.18001<br/> _Version:_ 1.1.1809.18001<br/>
## AWS CLI
_Version:_ aws-cli 2.0.9<br/>
## Android SDK Build Tools ## Android SDK Build Tools
#### 29.0.3 #### 29.0.3
@@ -416,13 +421,17 @@ _Description:_ .NET has been configured to use TLS 1.2 by default
## Azure CLI ## Azure CLI
_Version:_ 2.2.0 _Version:_ 2.4.0
_Environment:_ _Environment:_
* PATH: contains location of az.cmd * PATH: contains location of az.cmd
## AWS SAM CLI
_Version:_ 0.47.0<br/>
## Azure DevOps Cli extension ## Azure DevOps Cli extension
_Version:_ azure-devops 0.17.0 _Version:_ azure-devops 0.18.0
## Python ## Python
@@ -434,11 +443,11 @@ _Version:_ 2.7.13 (x86)<br/>_Version:_ 3.6.9 (x86)<br/>
## Ruby ## Ruby
_Version:_ 2.4.9 (x64)<br/>_Version:_ 2.5.7 (x64)<br/>_Version:_ 2.6.5 (x64)<br/>_Version:_ 2.7.0 (x64)<br/><br/>__System default version:__ Ruby 2.5.7p206<br/>_Environment:_<br/>* Location: C:\hostedtoolcache\windows\Ruby\2.5.7\x64\bin<br/>* PATH: contains the location of Ruby 2.5.7p206<br/>* Gem Version: 2.7.6.2<br/> _Version:_ 2.4.10 (x64)<br/>_Version:_ 2.5.8 (x64)<br/>_Version:_ 2.6.6 (x64)<br/>_Version:_ 2.7.1 (x64)<br/><br/>__System default version:__ Ruby 2.5.8p224<br/>_Environment:_<br/>* Location: C:\hostedtoolcache\windows\Ruby\2.5.8\x64\bin<br/>* PATH: contains the location of Ruby 2.5.8p224<br/>* Gem Version: 3.1.2<br/>
## OpenSSL ## OpenSSL
_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Strawberry\c\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe<br/>_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe<br/> _Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Strawberry\c\bin\openssl.exe<br/>_Version:_ 1.1.1f at C:\Program Files\Git\mingw64\bin\openssl.exe<br/>_Version:_ 1.1.1f at C:\Program Files\Git\usr\bin\openssl.exe<br/>_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe<br/>
## Perl ## Perl
@@ -446,7 +455,7 @@ _Version:_ v5.30.2<br/>
## Git ## Git
_Version:_ 2.25.1<br/> _Version:_ 2.26.2<br/>
_Environment:_ _Environment:_
* PATH: contains location of git.exe * PATH: contains location of git.exe
@@ -465,12 +474,6 @@ _Environment:_
## Go (x64) ## Go (x64)
#### 1.14
_Environment:_
* PATH: contains the location of go.exe version 1.14
* GOROOT: root directory of the Go 1.14 installation
* GOROOT_1_14_X64: root directory of the Go 1.14 installation
## Boost ## Boost
@@ -483,9 +486,9 @@ _Environment:_
#### 1.72.0 [msvc-14.2] #### 1.72.0 [msvc-14.2]
_Environment:_ _Environment:_
* PATH: contains the location of Boost version 1.72.0
* BOOST_ROOT_1_72_0: root directory of the Boost version 1.72.0 installation * BOOST_ROOT_1_72_0: root directory of the Boost version 1.72.0 installation
#### _Notes:_ #### _Notes:_
Link: https://cmake.org/cmake/help/latest/module/FindBoost.html Link: https://cmake.org/cmake/help/latest/module/FindBoost.html
@@ -498,24 +501,32 @@ See documentation of the Boost CMake package configuration for details on what i
Set `Boost_NO_BOOST_CMAKE to ON`, to disable the search for boost-cmake. Set `Boost_NO_BOOST_CMAKE to ON`, to disable the search for boost-cmake.
## PHP (x64) ## Composer
#### 7.4.3 #### Composer version 1.10.5 2020-04-10 11:44:22
_Environment:_ _Environment:_
* PATH: contains the location of php.exe version 7.4.3 * PATH: contains the location of composer.exe version Composer version 1.10.5 2020-04-10 11:44:22
* PHPROOT: root directory of the PHP 7.4.3 installation * PHPROOT: root directory of the Composer Composer version 1.10.5 2020-04-10 11:44:22 installation
## PHP (x64)
#### 7.4.5
_Environment:_
* PATH: contains the location of php.exe version 7.4.5
* PHPROOT: root directory of the PHP 7.4.5 installation
## Rust (64-bit) ## Rust (64-bit)
#### 1.42.0 #### 1.43.0
_Location:_ C:\Rust\.cargo\bin _Location:_ C:\Rust\.cargo\bin
_Environment:_ _Environment:_
* PATH: contains the location of rustc.exe * PATH: contains the location of rustc.exe
## Julia (x64) ## Julia (x64)
_Version:_ 1.3.1<br/> _Version:_ 1.4.1<br/>
## Subversion ## Subversion
@@ -530,17 +541,17 @@ _Environment:_
## Google Chrome ## Google Chrome
_version:_ _version:_
80.0.3987.149 81.0.4044.122
## Microsoft Edge ## Microsoft Edge
_version:_ _version:_
80.0.361.66 81.0.416.64
## Mozilla Firefox ## Mozilla Firefox
_version:_ _version:_
74.0 75.0
## Selenium Web Drivers ## Selenium Web Drivers
@@ -548,7 +559,7 @@ _version:_
#### Chrome Driver #### Chrome Driver
_version:_ _version:_
80.0.3987.106 81.0.4044.69
_Environment:_ _Environment:_
* ChromeWebDriver: location of chromedriver.exe * ChromeWebDriver: location of chromedriver.exe
@@ -572,7 +583,7 @@ _Environment:_
#### Microsoft Edge Driver #### Microsoft Edge Driver
_version:_ _version:_
80.0.361.66 81.0.416.64
_Environment:_ _Environment:_
* EdgeWebDriver: location of msedgedriver.exe * EdgeWebDriver: location of msedgedriver.exe
@@ -580,7 +591,7 @@ _Environment:_
## Node.js ## Node.js
_Version:_ 12.16.1<br/> _Version:_ 12.16.2<br/>
_Architecture:_ x64<br/> _Architecture:_ x64<br/>
_Environment:_ _Environment:_
* PATH: contains location of node.exe<br/> * PATH: contains location of node.exe<br/>
@@ -591,7 +602,7 @@ _Environment:_
## npm ## npm
_Version:_ 6.13.4<br/> _Version:_ 6.14.4<br/>
_Environment:_ _Environment:_
* PATH: contains location of npm.cmd * PATH: contains location of npm.cmd
@@ -628,13 +639,13 @@ _Environment:_
## Gradle ## Gradle
_Version:_ 6.2.2<br/> _Version:_ 6.3<br/>
_Environment:_ _Environment:_
* PATH: contains location of gradle * PATH: contains location of gradle
## Cmake ## CMake
_Version:_ 3.16.5<br/> _Version:_ 3.17.1<br/>
_Environment:_ _Environment:_
* PATH: contains location of cmake.exe * PATH: contains location of cmake.exe
@@ -651,7 +662,10 @@ _Environment:_
* PATH: contains location of dotnet.exe * PATH: contains location of dotnet.exe
_SDK:_ _SDK:_
* 3.1.201 C:\Program Files\dotnet\sdk\3.1.201
* 3.1.200 C:\Program Files\dotnet\sdk\3.1.200 * 3.1.200 C:\Program Files\dotnet\sdk\3.1.200
* 3.1.103 C:\Program Files\dotnet\sdk\3.1.103
* 3.1.102 C:\Program Files\dotnet\sdk\3.1.102
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101 * 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100 * 3.1.100 C:\Program Files\dotnet\sdk\3.1.100
* 2.2.402 C:\Program Files\dotnet\sdk\2.2.402 * 2.2.402 C:\Program Files\dotnet\sdk\2.2.402
@@ -675,12 +689,14 @@ _SDK:_
* 2.2.102 C:\Program Files\dotnet\sdk\2.2.102 * 2.2.102 C:\Program Files\dotnet\sdk\2.2.102
* 2.2.101 C:\Program Files\dotnet\sdk\2.2.101 * 2.2.101 C:\Program Files\dotnet\sdk\2.2.101
* 2.2.100 C:\Program Files\dotnet\sdk\2.2.100 * 2.2.100 C:\Program Files\dotnet\sdk\2.2.100
* 2.1.805 C:\Program Files\dotnet\sdk\2.1.805
* 2.1.804 C:\Program Files\dotnet\sdk\2.1.804 * 2.1.804 C:\Program Files\dotnet\sdk\2.1.804
* 2.1.803 C:\Program Files\dotnet\sdk\2.1.803 * 2.1.803 C:\Program Files\dotnet\sdk\2.1.803
* 2.1.802 C:\Program Files\dotnet\sdk\2.1.802 * 2.1.802 C:\Program Files\dotnet\sdk\2.1.802
* 2.1.801 C:\Program Files\dotnet\sdk\2.1.801 * 2.1.801 C:\Program Files\dotnet\sdk\2.1.801
* 2.1.701 C:\Program Files\dotnet\sdk\2.1.701 * 2.1.701 C:\Program Files\dotnet\sdk\2.1.701
* 2.1.700 C:\Program Files\dotnet\sdk\2.1.700 * 2.1.700 C:\Program Files\dotnet\sdk\2.1.700
* 2.1.610 C:\Program Files\dotnet\sdk\2.1.610
* 2.1.609 C:\Program Files\dotnet\sdk\2.1.609 * 2.1.609 C:\Program Files\dotnet\sdk\2.1.609
* 2.1.608 C:\Program Files\dotnet\sdk\2.1.608 * 2.1.608 C:\Program Files\dotnet\sdk\2.1.608
* 2.1.607 C:\Program Files\dotnet\sdk\2.1.607 * 2.1.607 C:\Program Files\dotnet\sdk\2.1.607
@@ -689,6 +705,7 @@ _SDK:_
* 2.1.604 C:\Program Files\dotnet\sdk\2.1.604 * 2.1.604 C:\Program Files\dotnet\sdk\2.1.604
* 2.1.603 C:\Program Files\dotnet\sdk\2.1.603 * 2.1.603 C:\Program Files\dotnet\sdk\2.1.603
* 2.1.602 C:\Program Files\dotnet\sdk\2.1.602 * 2.1.602 C:\Program Files\dotnet\sdk\2.1.602
* 2.1.513 C:\Program Files\dotnet\sdk\2.1.513
* 2.1.512 C:\Program Files\dotnet\sdk\2.1.512 * 2.1.512 C:\Program Files\dotnet\sdk\2.1.512
* 2.1.511 C:\Program Files\dotnet\sdk\2.1.511 * 2.1.511 C:\Program Files\dotnet\sdk\2.1.511
* 2.1.510 C:\Program Files\dotnet\sdk\2.1.510 * 2.1.510 C:\Program Files\dotnet\sdk\2.1.510
@@ -709,6 +726,7 @@ _SDK:_
* 2.1.300 C:\Program Files\dotnet\sdk\2.1.300 * 2.1.300 C:\Program Files\dotnet\sdk\2.1.300
_Runtime:_ _Runtime:_
* 3.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.3
* 3.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.2 * 3.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.2
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1 * 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1
* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0 * 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0
@@ -729,6 +747,7 @@ _Runtime:_
* 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4 * 2.1.4 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.4
* 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3 * 2.1.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.3
* 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2 * 2.1.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2
* 2.1.17 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.17
* 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16 * 2.1.16 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.16
* 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15 * 2.1.15 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.15
* 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14 * 2.1.14 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.14
@@ -751,7 +770,7 @@ _Version:_ 1.0
## SQLServer PS ## SQLServer PS
_Version:_ 21.1.18218 _Version:_ 21.1.18221
## MinGW ## MinGW
@@ -780,7 +799,7 @@ _Version:_ 19.00<br/>
## Packer ## Packer
_Version:_ 1.5.4<br/> _Version:_ 1.5.5<br/>
## Mercurial ## Mercurial
@@ -802,9 +821,13 @@ _Version:_ 6.0.4<br/>
_Version:_ 5.2.4.0<br/> _Version:_ 5.2.4.0<br/>
## Nullsoft Install System (NSIS)
_Version:_ 3.5<br/>
## Cloud Foundry CLI ## Cloud Foundry CLI
_Version:_ 6.50.0<br/> _Version:_ 6.51.0<br/>
## Vcpkg ## Vcpkg
@@ -820,7 +843,7 @@ _Version_: 2.8.4+ff0de50053 - shim 0.8.1<br/>
## Kubectl ## Kubectl
_Version:_ Client Version: v1.17.1<br/> _Version:_ Client Version: v1.18.2<br/>
_Environment:_ _Environment:_
* PATH: contains location of kubectl.exe * PATH: contains location of kubectl.exe
@@ -832,8 +855,12 @@ _Environment:_
## bazel ## bazel
_Version:_ bazel 2.2.0<br/> _Version:_ bazel 3.1.0<br/>
## bazelisk ## bazelisk
_Version:_ 1.3.0<br/> _Version:_ 1.4.0<br/>
## Alibaba Cloud CLI
_Version:_ 3.0.26<br/>
@@ -0,0 +1,32 @@
function Choco-Install {
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[string] $PackageName,
[string[]] $ArgumentList,
[int] $RetryCount = 5
)
process {
$count = 1
while($true)
{
Write-Host "Running [#$count]: choco install $packageName -y $argumentList"
choco install $packageName -y @argumentList
$pkg = choco list --localonly $packageName --exact --all --limitoutput
if ($pkg) {
Write-Host "Package installed: $pkg"
break
}
else {
$count++
if ($count -ge $retryCount) {
Write-Host "Could not install $packageName after $count attempts"
exit 1
}
Start-Sleep -Seconds 30
}
}
}
}
@@ -4,6 +4,7 @@ param()
. $PSScriptRoot\PathHelpers.ps1 . $PSScriptRoot\PathHelpers.ps1
. $PSScriptRoot\InstallHelpers.ps1 . $PSScriptRoot\InstallHelpers.ps1
. $PSScriptRoot\MarkdownHelpers.ps1 . $PSScriptRoot\MarkdownHelpers.ps1
. $PSScriptRoot\ChocoHelpers.ps1
Export-ModuleMember -Function @( Export-ModuleMember -Function @(
'Test-MachinePath' 'Test-MachinePath'
@@ -12,9 +13,9 @@ Export-ModuleMember -Function @(
'Add-MachinePathItem' 'Add-MachinePathItem'
'Get-SystemVariable' 'Get-SystemVariable'
'Set-SystemVariable' 'Set-SystemVariable'
'Install-MSI' 'Install-Binary'
'Install-EXE'
'Get-ToolcachePackages' 'Get-ToolcachePackages'
'Get-ToolsetContent'
'Get-ToolsByName' 'Get-ToolsByName'
'Add-ContentToMarkdown' 'Add-ContentToMarkdown'
'Add-SoftwareDetailsToMarkdown' 'Add-SoftwareDetailsToMarkdown'
@@ -26,4 +27,5 @@ Export-ModuleMember -Function @(
'Get-WinVersion' 'Get-WinVersion'
'Test-IsWin19' 'Test-IsWin19'
'Test-IsWin16' 'Test-IsWin16'
'Choco-Install'
) )
+111 -118
View File
@@ -1,162 +1,151 @@
function Install-MSI function Install-Binary
{ {
Param <#
( .SYNOPSIS
[String]$MsiUrl, A helper function to install executables.
[String]$MsiName
.DESCRIPTION
Download and install .exe or .msi binaries from specified URL.
.PARAMETER Url
The URL from which the binary will be downloaded. Required parameter.
.PARAMETER Name
The Name with which binary will be downloaded. Required parameter.
.PARAMETER ArgumentList
The list of arguments that will be passed to the installer. Required for .exe binaries.
.EXAMPLE
Install-Binary -Url "https://go.microsoft.com/fwlink/p/?linkid=2083338" -Name "winsdksetup.exe" -ArgumentList ("/features", "+", "/quiet")
#>
Param (
[Parameter(Mandatory)]
[String] $Url,
[Parameter(Mandatory)]
[String] $Name,
[String[]] $ArgumentList
) )
$exitCode = -1 Write-Host "Downloading $Name..."
$filePath = Start-DownloadWithRetry -Url $Url -Name $Name
# MSI binaries should be installed via msiexec.exe
$fileExtension = ([System.IO.Path]::GetExtension($Name)).Replace(".", "")
if ($fileExtension -eq "msi")
{
$ArgumentList = ('/i', $filePath, '/QN', '/norestart')
$filePath = "msiexec.exe"
}
try try
{ {
Write-Host "Downloading $MsiName..." Write-Host "Starting Install $Name..."
$FilePath = "${env:Temp}\$MsiName" $process = Start-Process -FilePath $filePath -ArgumentList $ArgumentList -Wait -PassThru
Invoke-WebRequest -Uri $MsiUrl -OutFile $FilePath
$Arguments = ('/i', $FilePath, '/QN', '/norestart' )
Write-Host "Starting Install $MsiName..."
$process = Start-Process -FilePath msiexec.exe -ArgumentList $Arguments -Wait -PassThru
$exitCode = $process.ExitCode $exitCode = $process.ExitCode
if ($exitCode -eq 0 -or $exitCode -eq 3010) if ($exitCode -eq 0 -or $exitCode -eq 3010)
{ {
Write-Host -Object 'Installation successful' Write-Host "Installation successful"
return $exitCode
} }
else else
{ {
Write-Host -Object "Non zero exit code returned by the installation process : $exitCode." Write-Host "Non zero exit code returned by the installation process: $exitCode"
exit $exitCode exit $exitCode
} }
} }
catch catch
{ {
Write-Host -Object "Failed to install the MSI $MsiName" Write-Host "Failed to install the $fileExtension ${Name}: $($_.Exception.Message)"
Write-Host -Object $_.Exception.Message exit 1
exit -1
}
}
function Install-EXE
{
Param
(
[String]$Url,
[String]$Name,
[String[]]$ArgumentList
)
$exitCode = -1
try
{
Write-Host "Downloading $Name..."
$FilePath = "${env:Temp}\$Name"
Invoke-WebRequest -Uri $Url -OutFile $FilePath
Write-Host "Starting Install $Name..."
$process = Start-Process -FilePath $FilePath -ArgumentList $ArgumentList -Wait -PassThru
$exitCode = $process.ExitCode
if ($exitCode -eq 0 -or $exitCode -eq 3010)
{
Write-Host -Object 'Installation successful'
return $exitCode
}
else
{
Write-Host -Object "Non zero exit code returned by the installation process : $exitCode."
return $exitCode
}
}
catch
{
Write-Host -Object "Failed to install the Executable $Name"
Write-Host -Object $_.Exception.Message
return -1
} }
} }
function Stop-SvcWithErrHandling function Stop-SvcWithErrHandling
{
<# <#
.DESCRIPTION .DESCRIPTION
Function for stopping the Windows Service with error handling Function for stopping the Windows Service with error handling
.AUTHOR .PARAMETER ServiceName
Andrey Mishechkin v-andmis@microsoft.com
.PARAMETER -ServiceName
The name of stopping service The name of stopping service
.PARAMETER -StopOnError .PARAMETER StopOnError
Switch for stopping the script and exit from PowerShell if one service is absent Switch for stopping the script and exit from PowerShell if one service is absent
#> #>
{
param ( param (
[Parameter(Mandatory, ValueFromPipeLine = $true)] [string] $ServiceName, [Parameter(Mandatory, ValueFromPipeLine = $true)]
[Parameter()] [switch] $StopOnError [string] $ServiceName,
[switch] $StopOnError
) )
Process { Process
$Service = Get-Service $ServiceName -ErrorAction SilentlyContinue {
if (-not $Service) { $service = Get-Service $ServiceName -ErrorAction SilentlyContinue
Write-Warning "[!] Service [$ServiceName] is not found"; if (-not $service)
if ($StopOnError) { {
exit 1; Write-Warning "[!] Service [$ServiceName] is not found"
if ($StopOnError)
{
exit 1
} }
} }
else { else
Write-Host "Try to stop service [$ServiceName]"; {
try { Write-Host "Try to stop service [$ServiceName]"
Stop-Service -Name $ServiceName -Force; try
$Service.WaitForStatus("Stopped", "00:01:00"); {
Write-Host "Service [$ServiceName] has been stopped successfuly"; Stop-Service -Name $ServiceName -Force
$service.WaitForStatus("Stopped", "00:01:00")
Write-Host "Service [$ServiceName] has been stopped successfuly"
} }
catch { catch
{
Write-Error "[!] Failed to stop service [$ServiceName] with error:" Write-Error "[!] Failed to stop service [$ServiceName] with error:"
$_ | Out-String | Write-Error; $_ | Out-String | Write-Error
} }
} }
} }
} }
function Set-SvcWithErrHandling function Set-SvcWithErrHandling
{
<# <#
.DESCRIPTION .DESCRIPTION
Function for setting the Windows Service parameter with error handling Function for setting the Windows Service parameter with error handling
.AUTHOR .PARAMETER ServiceName
Andrey Mishechkin v-andmis@microsoft.com
.PARAMETER -ServiceName
The name of stopping service The name of stopping service
.PARAMETER -Arguments .PARAMETER Arguments
Hashtable for service arguments Hashtable for service arguments
#> #>
{
param ( param (
[Parameter(Mandatory, ValueFromPipeLine = $true)] [string] $ServiceName, [Parameter(Mandatory, ValueFromPipeLine = $true)]
[Parameter(Mandatory)] [hashtable] $Arguments [string] $ServiceName,
[Parameter(Mandatory)]
[hashtable] $Arguments
) )
Process { Process
$Service = Get-Service $ServiceName -ErrorAction SilentlyContinue {
if (-not $Service) { $service = Get-Service $ServiceName -ErrorAction SilentlyContinue
Write-Warning "[!] Service [$ServiceName] is not found"; if (-not $service)
{
Write-Warning "[!] Service [$ServiceName] is not found"
} }
try {
Set-Service $ServiceName @Arguments; try
{
Set-Service $serviceName @Arguments
} }
catch { catch
{
Write-Error "[!] Failed to set service [$ServiceName] arguments with error:" Write-Error "[!] Failed to set service [$ServiceName] arguments with error:"
$_ | Out-String | Write-Error; $_ | Out-String | Write-Error
} }
} }
} }
@@ -172,36 +161,36 @@ function Start-DownloadWithRetry
[int] $Retries = 20 [int] $Retries = 20
) )
$FilePath = Join-Path -Path $DownloadPath -ChildPath $Name $filePath = Join-Path -Path $DownloadPath -ChildPath $Name
#Default retry logic for the package. #Default retry logic for the package.
while ($retries -gt 0) while ($Retries -gt 0)
{ {
try try
{ {
Write-Host "Downloading package from: $Url to path $FilePath ." Write-Host "Downloading package from: $Url to path $filePath ."
(New-Object System.Net.WebClient).DownloadFile($Url, $FilePath) (New-Object System.Net.WebClient).DownloadFile($Url, $filePath)
break break
} }
catch catch
{ {
Write-Host "There is an error during package downloading:`n $_" Write-Host "There is an error during package downloading:`n $_"
$retries-- $Retries--
if ($retries -eq 0) if ($Retries -eq 0)
{ {
Write-Host "File can't be downloaded. Please try later or check that file exists by url: $Url" Write-Host "File can't be downloaded. Please try later or check that file exists by url: $Url"
exit 1 exit 1
} }
Write-Host "Waiting 30 seconds before retrying. Retries left: $retries" Write-Host "Waiting 30 seconds before retrying. Retries left: $Retries"
Start-Sleep -Seconds 30 Start-Sleep -Seconds 30
} }
} }
return $FilePath return $filePath
} }
function Install-VsixExtension function Install-VsixExtension
{ {
Param Param
@@ -216,12 +205,12 @@ function Install-VsixExtension
[switch] $InstallOnly [switch] $InstallOnly
) )
if (!$InstallOnly) if (-not $InstallOnly)
{ {
$FilePath = Start-DownloadWithRetry -Url $Url -Name $Name $FilePath = Start-DownloadWithRetry -Url $Url -Name $Name
} }
$ArgumentList = ('/quiet', "`"$FilePath`"") $argumentList = ('/quiet', "`"$FilePath`"")
Write-Host "Starting Install $Name..." Write-Host "Starting Install $Name..."
try try
@@ -229,7 +218,7 @@ function Install-VsixExtension
#There are 2 types of packages at the moment - exe and vsix #There are 2 types of packages at the moment - exe and vsix
if ($Name -match "vsix") if ($Name -match "vsix")
{ {
$process = Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\$VSversion\Enterprise\Common7\IDE\VSIXInstaller.exe" -ArgumentList $ArgumentList -Wait -PassThru $process = Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\$VSversion\Enterprise\Common7\IDE\VSIXInstaller.exe" -ArgumentList $argumentList -Wait -PassThru
} }
else else
{ {
@@ -256,7 +245,7 @@ function Install-VsixExtension
} }
#Cleanup downloaded installation files #Cleanup downloaded installation files
if (!$InstallOnly) if (-not $InstallOnly)
{ {
Remove-Item -Force -Confirm:$false $FilePath Remove-Item -Force -Confirm:$false $FilePath
} }
@@ -265,11 +254,11 @@ function Install-VsixExtension
function Get-VSExtensionVersion function Get-VSExtensionVersion
{ {
param ( param (
[string] [Parameter(Mandatory=$true)] $packageName [Parameter(Mandatory=$true)]
[string] $packageName
) )
$instanceFolders = Get-ChildItem -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances" $instanceFolders = Get-ChildItem -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances"
if ($instanceFolders -is [array]) if ($instanceFolders -is [array])
{ {
Write-Host "More than one instance installed" Write-Host "More than one instance installed"
@@ -280,7 +269,7 @@ function Get-VSExtensionVersion
$state = $stateContent | ConvertFrom-Json $state = $stateContent | ConvertFrom-Json
$packageVersion = ($state.packages | Where-Object { $_.id -eq $packageName }).version $packageVersion = ($state.packages | Where-Object { $_.id -eq $packageName }).version
if (!$packageVersion) if (-not $packageVersion)
{ {
Write-Host "installed package $packageName for Visual Studio 2019 was not found" Write-Host "installed package $packageName for Visual Studio 2019 was not found"
exit 1 exit 1
@@ -289,12 +278,16 @@ function Get-VSExtensionVersion
return $packageVersion return $packageVersion
} }
function Get-ToolcachePackages { function Get-ToolcachePackages {
$toolcachePath = Join-Path $env:ROOT_FOLDER "toolcache.json" $toolcachePath = Join-Path $env:ROOT_FOLDER "toolcache.json"
Get-Content -Raw $toolcachePath | ConvertFrom-Json Get-Content -Raw $toolcachePath | ConvertFrom-Json
} }
function Get-ToolsetContent {
$toolsetJson = Get-Content -Path $env:TOOLSET_JSON_PATH -Raw
ConvertFrom-Json -InputObject $toolsetJson
}
function Get-ToolsByName { function Get-ToolsByName {
param ( param (
[Parameter(Mandatory = $True)] [Parameter(Mandatory = $True)]
@@ -1,5 +1,5 @@
function Add-ContentToMarkdown { function Add-ContentToMarkdown {
[CmdletBinding()]
param( param(
$Content = "" $Content = ""
) )
@@ -44,21 +44,6 @@ Function NPMFeed-AuthSetup {
$npmrcContent | Out-File -FilePath "$($env:TEMP)/.npmrc" -Encoding utf8 $npmrcContent | Out-File -FilePath "$($env:TEMP)/.npmrc" -Encoding utf8
} }
Function Set-DefaultPythonVersion {
param(
[Parameter(Mandatory=$true)]
[System.Version] $Version,
[System.String] $Arch = "x64"
)
$pythonPath = $Env:AGENT_TOOLSDIRECTORY + "/Python/${Version}*/${Arch}"
$pythonDir = Get-Item -Path $pythonPath
Write-Host "Use Python ${Version} as a system Python"
Add-MachinePathItem -PathItem $pythonDir.FullName
Add-MachinePathItem -PathItem "$($pythonDir.FullName)\Scripts"
}
Function Set-DefaultRubyVersion { Function Set-DefaultRubyVersion {
param( param(
[Parameter(Mandatory=$true)] [Parameter(Mandatory=$true)]
@@ -71,8 +56,10 @@ Function Set-DefaultRubyVersion {
Write-Host "Use Ruby ${Version} as a system Ruby" Write-Host "Use Ruby ${Version} as a system Ruby"
Add-MachinePathItem -PathItem $rubyDir.FullName Add-MachinePathItem -PathItem $rubyDir.FullName
$env:Path = Get-MachinePath
# Update ruby gem to latest version # Update ruby gem to latest version
gem update --system Invoke-Expression "gem update --system"
} }
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
@@ -104,5 +91,4 @@ $ToolVersions.PSObject.Properties | ForEach-Object {
} }
} }
Set-DefaultPythonVersion -Version "3.7"
Set-DefaultRubyVersion -Version "2.5" Set-DefaultRubyVersion -Version "2.5"
@@ -3,4 +3,4 @@
## Desc: Install 7zip ## Desc: Install 7zip
################################################################################ ################################################################################
choco install 7zip.install -y Choco-Install -PackageName 7zip.install
@@ -0,0 +1,7 @@
################################################################################
## File: Install-AWS-SAM.ps1
## Desc: Install aws sam cli
## https://aws.amazon.com/serverless/sam/
################################################################################
Install-Binary -Url "https://github.com/awslabs/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi" -Name "AWS_SAM_CLI_64_PY3.msi"
@@ -3,7 +3,7 @@
## Desc: Install awscli ## Desc: Install awscli
################################################################################ ################################################################################
choco install awscli -y Choco-Install -PackageName awscli
$env:PATH =$env:PATH + ";$Env:Programfiles\Amazon\AWSCLIV2" $env:PATH =$env:PATH + ";$Env:Programfiles\Amazon\AWSCLIV2"
@@ -0,0 +1,6 @@
################################################################################
## File: Install-AliyunCli.ps1
## Desc: Install Alibaba Cloud CLI
################################################################################
Choco-Install -PackageName aliyun-cli
@@ -3,7 +3,7 @@
## Desc: Install Azure CLI ## Desc: Install Azure CLI
################################################################################ ################################################################################
choco install azure-cli -y Choco-Install -PackageName azure-cli
$AzureCliExtensionPath = Join-Path $Env:CommonProgramFiles 'AzureCliExtensionDirectory' $AzureCliExtensionPath = Join-Path $Env:CommonProgramFiles 'AzureCliExtensionDirectory'
New-Item -ItemType "directory" -Path $AzureCliExtensionPath New-Item -ItemType "directory" -Path $AzureCliExtensionPath
@@ -5,4 +5,7 @@
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
Install-MSI -MsiUrl "https://aka.ms/cosmosdb-emulator" -MsiName "AzureCosmosDBEmulator.msi" $InstallerName = "AzureCosmosDBEmulator.msi"
$InstallerUrl = "https://aka.ms/cosmosdb-emulator"
Install-Binary -Url $InstallerUrl -Name $InstallerName
@@ -39,6 +39,7 @@ $psAzureModulesToInstall = @{
"2.6.0" "2.6.0"
"3.1.0" "3.1.0"
"3.5.0" "3.5.0"
"3.8.0"
) )
} }
@@ -3,6 +3,6 @@
## Desc: Install Bazel and Bazelisk (A user-friendly launcher for Bazel) ## Desc: Install Bazel and Bazelisk (A user-friendly launcher for Bazel)
################################################################################ ################################################################################
choco install bazel -y Choco-Install -PackageName bazel
npm install -g @bazel/bazelisk npm install -g @bazel/bazelisk
@@ -6,8 +6,8 @@
Import-Module -Name ImageHelpers -Force; Import-Module -Name ImageHelpers -Force;
$ChromeInstallerFile = "chrome_installer.exe"; $ChromeInstallerFile = "chrome_installer.exe";
$ChromeInstallerUri = "https://dl.google.com/chrome/install/375.126/${ChromeInstallerFile}"; $ChromeInstallerUrl = "https://dl.google.com/chrome/install/375.126/${ChromeInstallerFile}";
Install-Exe -Url $ChromeInstallerUri -Name $ChromeInstallerFile -ArgumentList ("/silent", "/install") Install-Binary -Url $ChromeInstallerUrl -Name $ChromeInstallerFile -ArgumentList ("/silent", "/install")
Write-Host "Adding the firewall rule for Google update blocking"; Write-Host "Adding the firewall rule for Google update blocking";
New-NetFirewallRule -DisplayName "BlockGoogleUpdate" -Direction Outbound -Action Block -Program "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe"; New-NetFirewallRule -DisplayName "BlockGoogleUpdate" -Direction Outbound -Action Block -Program "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe";
@@ -3,4 +3,4 @@
## Desc: Install Cmake ## Desc: Install Cmake
################################################################################ ################################################################################
choco install cmake.install -y --installargs 'ADD_CMAKE_TO_PATH=""System""' Choco-Install -PackageName cmake.install -ArgumentList "--installargs",'ADD_CMAKE_TO_PATH=""System""'
@@ -5,6 +5,7 @@
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
$exitcode = Install-MSI -MsiUrl "https://download.microsoft.com/download/f/1/9/f19eaee6-0728-4a0b-9755-9808acc8af0b/EN/x64/DacFramework.msi" -MsiName "DacFramework.msi" $InstallerName = "DacFramework.msi"
$InstallerUrl = "https://download.microsoft.com/download/f/1/9/f19eaee6-0728-4a0b-9755-9808acc8af0b/EN/x64/${InstallerName}"
exit $exitcode Install-Binary -Url $InstallerUrl -Name $InstallerName
@@ -13,8 +13,8 @@ Write-Host "Install-Package Docker"
Install-Package -Name docker -ProviderName DockerMsftProvider -Force Install-Package -Name docker -ProviderName DockerMsftProvider -Force
Start-Service docker Start-Service docker
choco install docker-compose -y Write-Host "Install-Package Docker-Compose"
Choco-Install -PackageName docker-compose
# Install helm
Write-Host "Install Helm" Write-Host "Install Helm"
choco install kubernetes-helm Choco-Install -PackageName kubernetes-helm
@@ -66,8 +66,8 @@ function InstallAllValidSdks()
Invoke-WebRequest -Uri $dotnetChannel.'releases.json' -UseBasicParsing -OutFile "releases-$channelVersion.json" Invoke-WebRequest -Uri $dotnetChannel.'releases.json' -UseBasicParsing -OutFile "releases-$channelVersion.json"
$currentReleases = Get-Content -Path "releases-$channelVersion.json" | ConvertFrom-Json $currentReleases = Get-Content -Path "releases-$channelVersion.json" | ConvertFrom-Json
# filtering out the preview/rc releases # filtering out the preview/rc releases
# Remove version 3.1.102 from install list, .NET gave a heads-up that this might cause issues and they are working on a fix. https://github.com/dotnet/aspnetcore/issues/19133 $currentReleases = $currentReleases.'releases' | Where-Object { !$_.'release-version'.Contains('-') } | Sort-Object { [Version] $_.'release-version' }
$currentReleases = $currentReleases.'releases' | Where-Object { !$_.'release-version'.Contains('-') -and !$_.'release-version'.Contains('3.1.2') } | Sort-Object { [Version] $_.'release-version' }
ForEach ($release in $currentReleases) ForEach ($release in $currentReleases)
{ {
if ($release.'sdks'.Count -gt 0) if ($release.'sdks'.Count -gt 0)
@@ -3,7 +3,7 @@
## Desc: Install latest stable version of Microsoft Edge browser ## Desc: Install latest stable version of Microsoft Edge browser
################################################################################ ################################################################################
choco install microsoft-edge -y Choco-Install -PackageName microsoft-edge
# Install Microsoft Edge Web Driver # Install Microsoft Edge Web Driver
Write-Host "Install Edge WebDriver" Write-Host "Install Edge WebDriver"
@@ -14,7 +14,7 @@ Write-Host "Firefox latest version: $latestVersion"
# url for latest version of firefox # url for latest version of firefox
$urlLatestVersion = "https://download.mozilla.org/?product=firefox-${latestVersion}&os=win64&lang=en-US" $urlLatestVersion = "https://download.mozilla.org/?product=firefox-${latestVersion}&os=win64&lang=en-US"
Install-EXE -Url $urlLatestVersion -Name "Firefox Setup $latestVersion.exe" -ArgumentList ("/silent", "/install") Install-Binary -Url $urlLatestVersion -Name "Firefox Setup $latestVersion.exe" -ArgumentList ("/silent", "/install")
# Disable autoupdate # Disable autoupdate
$firefoxDirectoryPath = Join-Path $env:ProgramFiles "Mozilla Firefox" $firefoxDirectoryPath = Join-Path $env:ProgramFiles "Mozilla Firefox"
+28 -4
View File
@@ -5,10 +5,34 @@
Import-Module -Name ImageHelpers Import-Module -Name ImageHelpers
# Install the latest version of Git which is bundled with Git LFS. function getSimpleValue([string] $url, [string] $filename ) {
# See https://chocolatey.org/packages/git $fullpath = "${env:Temp}\$filename"
choco install git -y --package-parameters="/GitAndUnixToolsOnPath /WindowsTerminal /NoShellIntegration" Invoke-WebRequest -Uri $url -OutFile $fullpath
choco install hub $value = Get-Content $fullpath -Raw
return $value
}
# Install the latest version of Git for Windows
$gitTag = getSimpleValue -url "https://gitforwindows.org/latest-tag.txt" -filename "gitlatesttag.txt"
$gitVersion = getSimpleValue -url "https://gitforwindows.org/latest-version.txt" -filename "gitlatestversion.txt";
$installerFile = "Git-$gitVersion-64-bit.exe";
$downloadUrl = "https://github.com/git-for-windows/git/releases/download/$gitTag/$installerFile";
Install-Binary -Url $downloadUrl `
-Name $installerFile `
-ArgumentList (
"/VERYSILENT", `
"/NORESTART", `
"/NOCANCEL", `
"/SP-", `
"/CLOSEAPPLICATIONS", `
"/RESTARTAPPLICATIONS", `
"/o:PathOption=CmdTools", `
"/o:BashTerminalOption=ConHost", `
"/COMPONENTS=gitlfs")
Choco-Install -PackageName hub
# Disable GCM machine-wide # Disable GCM machine-wide
[Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine) [Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine)
@@ -3,4 +3,4 @@
## Desc: Install GitVersion ## Desc: Install GitVersion
################################################################################ ################################################################################
choco install gitversion.portable -y Choco-Install -PackageName gitversion.portable
@@ -3,4 +3,4 @@
## Desc: Install Inno Setup ## Desc: Install Inno Setup
################################################################################ ################################################################################
choco install innosetup -y Choco-Install -PackageName innosetup
@@ -8,22 +8,26 @@
$azulJDK7Uri = 'https://repos.azul.com/azure-only/zulu/packages/zulu-7/7u232/zulu-7-azure-jdk_7.31.0.5-7.0.232-win_x64.zip' $azulJDK7Uri = 'https://repos.azul.com/azure-only/zulu/packages/zulu-7/7u232/zulu-7-azure-jdk_7.31.0.5-7.0.232-win_x64.zip'
$azulJDK8Uri = 'https://repos.azul.com/azure-only/zulu/packages/zulu-8/8u222/zulu-8-azure-jdk_8.40.0.25-8.0.222-win_x64.zip' $azulJDK8Uri = 'https://repos.azul.com/azure-only/zulu/packages/zulu-8/8u222/zulu-8-azure-jdk_8.40.0.25-8.0.222-win_x64.zip'
$azulJDK11Uri = 'https://repos.azul.com/azure-only/zulu/packages/zulu-11/11.0.4/zulu-11-azure-jdk_11.33.15-11.0.4-win_x64.zip' $azulJDK11Uri = 'https://repos.azul.com/azure-only/zulu/packages/zulu-11/11.0.4/zulu-11-azure-jdk_11.33.15-11.0.4-win_x64.zip'
$azulJDK13Uri = 'https://repos.azul.com/azure-only/zulu/packages/zulu-13/13.0.3/zulu-13-azure-jdk_13.31.11-13.0.3-win_x64.zip'
cd $env:TEMP cd $env:TEMP
Invoke-WebRequest -UseBasicParsing -Uri $azulJDK7Uri -OutFile azulJDK7.zip Invoke-WebRequest -UseBasicParsing -Uri $azulJDK7Uri -OutFile azulJDK7.zip
Invoke-WebRequest -UseBasicParsing -Uri $azulJDK8Uri -OutFile azulJDK8.zip Invoke-WebRequest -UseBasicParsing -Uri $azulJDK8Uri -OutFile azulJDK8.zip
Invoke-WebRequest -UseBasicParsing -Uri $azulJDK11Uri -OutFile azulJDK11.zip Invoke-WebRequest -UseBasicParsing -Uri $azulJDK11Uri -OutFile azulJDK11.zip
Invoke-WebRequest -UseBasicParsing -Uri $azulJDK13Uri -OutFile azulJDK13.zip
# Expand the zips # Expand the zips
Expand-Archive -Path azulJDK7.zip -DestinationPath "C:\Program Files\Java\" -Force Expand-Archive -Path azulJDK7.zip -DestinationPath "C:\Program Files\Java\" -Force
Expand-Archive -Path azulJDK8.zip -DestinationPath "C:\Program Files\Java\" -Force Expand-Archive -Path azulJDK8.zip -DestinationPath "C:\Program Files\Java\" -Force
Expand-Archive -Path azulJDK11.zip -DestinationPath "C:\Program Files\Java\" -Force Expand-Archive -Path azulJDK11.zip -DestinationPath "C:\Program Files\Java\" -Force
Expand-Archive -Path azulJDK13.zip -DestinationPath "C:\Program Files\Java\" -Force
# Deleting zip folders # Deleting zip folders
Remove-Item -Recurse -Force azulJDK7.zip Remove-Item -Recurse -Force azulJDK7.zip
Remove-Item -Recurse -Force azulJDK8.zip Remove-Item -Recurse -Force azulJDK8.zip
Remove-Item -Recurse -Force azulJDK11.zip Remove-Item -Recurse -Force azulJDK11.zip
Remove-Item -Recurse -Force azulJDK13.zip
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
@@ -49,6 +53,9 @@ $latestJava8Install = $java8Installs.FullName;
$java11Installs = Get-ChildItem -Path 'C:\Program Files\Java' -Filter '*azure-jdk*11*' | Sort-Object -Property Name -Descending | Select-Object -First 1 $java11Installs = Get-ChildItem -Path 'C:\Program Files\Java' -Filter '*azure-jdk*11*' | Sort-Object -Property Name -Descending | Select-Object -First 1
$latestJava11Install = $java11Installs.FullName; $latestJava11Install = $java11Installs.FullName;
$java13Installs = Get-ChildItem -Path 'C:\Program Files\Java' -Filter '*azure-jdk*13*' | Sort-Object -Property Name -Descending | Select-Object -First 1
$latestJava13Install = $java13Installs.FullName;
$newPath = [string]::Join(';', $newPathSegments) $newPath = [string]::Join(';', $newPathSegments)
$newPath = $latestJava8Install + '\bin;' + $newPath $newPath = $latestJava8Install + '\bin;' + $newPath
@@ -58,12 +65,13 @@ setx JAVA_HOME $latestJava8Install /M
setx JAVA_HOME_7_X64 $latestJava7Install /M setx JAVA_HOME_7_X64 $latestJava7Install /M
setx JAVA_HOME_8_X64 $latestJava8Install /M setx JAVA_HOME_8_X64 $latestJava8Install /M
setx JAVA_HOME_11_X64 $latestJava11Install /M setx JAVA_HOME_11_X64 $latestJava11Install /M
setx JAVA_HOME_13_X64 $latestJava13Install /M
# Install Java tools # Install Java tools
# Force chocolatey to ignore dependencies on Ant and Maven or else they will download the Oracle JDK # Force chocolatey to ignore dependencies on Ant and Maven or else they will download the Oracle JDK
choco install ant -y -i Choco-Install -PackageName ant -ArgumentList "-i"
choco install maven -y -i --version=3.6.3 Choco-Install -PackageName maven -ArgumentList "-i", "--version=3.6.3"
choco install gradle -y Choco-Install -PackageName gradle
# Move maven variables to Machine. They may not be in the environment for this script so we need to read them from the registry. # Move maven variables to Machine. They may not be in the environment for this script so we need to read them from the registry.
$userSid = (Get-WmiObject win32_useraccount -Filter "name = '$env:USERNAME' AND domain = '$env:USERDOMAIN'").SID $userSid = (Get-WmiObject win32_useraccount -Filter "name = '$env:USERNAME' AND domain = '$env:USERDOMAIN'").SID
+1 -1
View File
@@ -3,4 +3,4 @@
## Desc: Install jq ## Desc: Install jq
################################################################################ ################################################################################
choco install jq -y Choco-Install -PackageName jq
@@ -3,4 +3,4 @@
## Desc: Install Julia ## Desc: Install Julia
################################################################################ ################################################################################
choco install julia -y --ia "/D=C:\Julia" Choco-Install -PackageName julia -ArgumentList "--ia","/DIR=C:\Julia"
@@ -3,4 +3,4 @@
## Desc: Install KubernetesCli ## Desc: Install KubernetesCli
################################################################################ ################################################################################
choco install kubernetes-cli -y Choco-Install -PackageName kubernetes-cli
@@ -3,7 +3,7 @@
## Desc: Install Mercurial ## Desc: Install Mercurial
################################################################################ ################################################################################
choco install hg -y --version 5.0.0 Choco-Install -PackageName hg -ArgumentList "--version", "5.0.0"
$hgPath = "${env:ProgramFiles}\Mercurial\" $hgPath = "${env:ProgramFiles}\Mercurial\"
Add-MachinePathItem $hgPath Add-MachinePathItem $hgPath
@@ -5,7 +5,7 @@
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
choco install -y mingw Choco-Install -PackageName mingw
# Make a copy of mingw32-make.exe to make.exe, which is a more discoverable name # Make a copy of mingw32-make.exe to make.exe, which is a more discoverable name
# and so the same command line can be used on Windows as on macOS and Linux # and so the same command line can be used on Windows as on macOS and Linux
@@ -5,12 +5,14 @@
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
$CondaDestination = "C:\Miniconda"
# Lock to Miniconda 4.6 until we do the work to run `conda init` for the vsts user # Lock to Miniconda 4.6 until we do the work to run `conda init` for the vsts user
# Then we can go back to installing the latest Miniconda # Then we can go back to installing the latest Miniconda
# $url = "https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe" # $url = "https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe"
$url = "https://repo.continuum.io/miniconda/Miniconda3-4.6.14-Windows-x86_64.exe" $InstallerName = "Miniconda3-4.6.14-Windows-x86_64.exe"
$name = $Url.Split('/')[-1] $InstallerUrl = "https://repo.continuum.io/miniconda/${InstallerName}"
$destination = "C:\Miniconda" $ArgumentList = ("/S", "/AddToPath=0", "/RegisterPython=0", "/D=$CondaDestination")
Install-EXE -Url $url -Name $name -ArgumentList "/S /AddToPath=0 /RegisterPython=0 /D=$destination" Install-Binary -Url $InstallerUrl -Name $InstallerName -ArgumentList $ArgumentList
Set-SystemVariable -SystemVariable "CONDA" -Value $destination Set-SystemVariable -SystemVariable "CONDA" -Value $CondaDestination
@@ -9,13 +9,12 @@ $uri = 'https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-winx64.zip'
$mysqlPath = 'C:\mysql-5.7.21-winx64\bin' $mysqlPath = 'C:\mysql-5.7.21-winx64\bin'
# Installing visual c++ redistibutable package. # Installing visual c++ redistibutable package.
$InstallerURI = 'https://download.microsoft.com/download/0/5/6/056dcda9-d667-4e27-8001-8a0c6971d6b1/vcredist_x64.exe' $InstallerName = "vcredist_x64.exe"
$InstallerName = 'vcredist_x64.exe' $InstallerURI = "https://download.microsoft.com/download/0/5/6/056dcda9-d667-4e27-8001-8a0c6971d6b1/${InstallerName}"
$ArgumentList = ('/install', '/quiet', '/norestart' ) $ArgumentList = ("/install", "/quiet", "/norestart")
Install-Binary -Url $InstallerURI -Name $InstallerName -ArgumentList $ArgumentList
$exitCode = Install-EXE -Url $InstallerURI -Name $InstallerName -ArgumentList $ArgumentList
if ($exitCode -eq 0 -or $exitCode -eq 3010)
{
# MySQL disabled TLS 1.0 support on or about Jul-14-2018. Need to make sure TLS 1.2 is enabled. # MySQL disabled TLS 1.0 support on or about Jul-14-2018. Need to make sure TLS 1.2 is enabled.
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12"
@@ -30,10 +29,3 @@ if ($exitCode -eq 0 -or $exitCode -eq 3010)
# Adding mysql in system environment path # Adding mysql in system environment path
Add-MachinePathItem $mysqlPath Add-MachinePathItem $mysqlPath
return 0;
}
else
{
return $exitCode;
}
@@ -6,8 +6,8 @@
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
# .NET 4.7.2 Dev pack # .NET 4.7.2 Dev pack
$InstallerURI = "https://download.microsoft.com/download/3/B/F/3BFB9C35-405D-45DF-BDAF-0EB57D047888/NDP472-DevPack-ENU.exe"
$InstallerName = "NDP472-DevPack-ENU.exe" $InstallerName = "NDP472-DevPack-ENU.exe"
$InstallerUrl = "https://download.microsoft.com/download/3/B/F/3BFB9C35-405D-45DF-BDAF-0EB57D047888/${InstallerName}"
$ArgumentList = ('Setup', '/passive', '/norestart' ) $ArgumentList = ('Setup', '/passive', '/norestart' )
Install-EXE -Url $InstallerURI -Name $InstallerName -ArgumentList $ArgumentList Install-Binary -Url $InstallerUrl -Name $InstallerName -ArgumentList $ArgumentList
@@ -6,8 +6,8 @@
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
# .NET 4.8 Dev pack # .NET 4.8 Dev pack
$InstallerURI = "https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0307177e14752e359fde5423ab583e43/ndp48-devpack-enu.exe" $InstallerName = "ndp48-devpack-enu.exe"
$InstallerName = "NDP48-DevPack-ENU.exe" $InstallerUrl = "https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0307177e14752e359fde5423ab583e43/${InstallerName}"
$ArgumentList = ('Setup', '/passive', '/norestart' ) $ArgumentList = ("Setup", "/passive", "/norestart")
Install-EXE -Url $InstallerURI -Name $InstallerName -ArgumentList $ArgumentList Install-Binary -Url $InstallerUrl -Name $InstallerName -ArgumentList $ArgumentList
@@ -3,7 +3,7 @@
## Desc: Install NSIS ## Desc: Install NSIS
################################################################################ ################################################################################
choco install nsis -y Choco-Install -PackageName nsis
$NsisPath = "${env:ProgramFiles(x86)}\NSIS\" $NsisPath = "${env:ProgramFiles(x86)}\NSIS\"
Add-MachinePathItem $NsisPath Add-MachinePathItem $NsisPath
@@ -12,7 +12,7 @@ $CachePath = 'C:\npm\cache'
New-Item -Path $PrefixPath -Force -ItemType Directory New-Item -Path $PrefixPath -Force -ItemType Directory
New-Item -Path $CachePath -Force -ItemType Directory New-Item -Path $CachePath -Force -ItemType Directory
choco install nodejs-lts -y --force Choco-Install -PackageName nodejs-lts -ArgumentList "--force"
Add-MachinePathItem $PrefixPath Add-MachinePathItem $PrefixPath
$env:Path = Get-MachinePath $env:Path = Get-MachinePath
@@ -3,4 +3,4 @@
## Desc: Install OpenSSL ## Desc: Install OpenSSL
################################################################################ ################################################################################
choco install openssl.light -y Choco-Install -PackageName openssl.light
@@ -8,10 +8,10 @@ Import-Module -Name ImageHelpers
# Install latest PHP in chocolatey # Install latest PHP in chocolatey
$installDir = "c:\tools\php" $installDir = "c:\tools\php"
choco install php -y --force --params "/InstallDir:$installDir" Choco-Install -PackageName php -ArgumentList "--force", "--params", "/InstallDir:$installDir"
# Install latest Composer in chocolatey # Install latest Composer in chocolatey
choco install composer --ia "/DEV=$installDir /PHP=$installDir" Choco-Install -PackageName composer -ArgumentList "--ia", "/DEV=$installDir /PHP=$installDir"
# update path to extensions and enable curl and mbstring extensions, and enable php openssl extensions. # update path to extensions and enable curl and mbstring extensions, and enable php openssl extensions.
((Get-Content -path $installDir\php.ini -Raw) -replace ';extension=curl','extension=curl' -replace ';extension=mbstring','extension=mbstring' -replace ';extension_dir = "ext"','extension_dir = "ext"' -replace 'extension=";php_openssl.dll"','extension_dir = "php_openssl.dll"') | Set-Content -Path $installDir\php.ini ((Get-Content -path $installDir\php.ini -Raw) -replace ';extension=curl','extension=curl' -replace ';extension=mbstring','extension=mbstring' -replace ';extension_dir = "ext"','extension_dir = "ext"' -replace 'extension=";php_openssl.dll"','extension_dir = "php_openssl.dll"') | Set-Content -Path $installDir\php.ini
@@ -3,4 +3,4 @@
## Desc: Install Packer ## Desc: Install Packer
################################################################################ ################################################################################
choco install packer -y Choco-Install -PackageName packer
@@ -3,4 +3,4 @@
## Desc: Install Perl ## Desc: Install Perl
################################################################################ ################################################################################
choco install strawberryperl -y Choco-Install -PackageName strawberryperl
@@ -1,3 +1,48 @@
# https://www.sysadmins.lv/blog-en/how-to-retrieve-certificate-purposes-property-with-cryptoapi-and-powershell.aspx
# https://www.sysadmins.lv/blog-en/dump-authroot-and-disallowed-certificates-with-powershell.aspx
# https://www.sysadmins.lv/blog-en/constraining-extended-key-usages-in-microsoft-windows.aspx
function Add-ExtendedCertType {
$signature = @"
[DllImport("Crypt32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern bool CertGetCertificateContextProperty(
IntPtr pCertContext,
uint dwPropId,
Byte[] pvData,
ref uint pcbData
);
[DllImport("Crypt32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool CertSetCertificateContextProperty(
IntPtr pCertContext,
int dwPropId,
uint dwFlags,
IntPtr pvData
);
"@
Add-Type -MemberDefinition $signature -Namespace PKI -Name Cert
}
function Get-CertificatesWithoutPropId {
# List installed certificates
$certs = Get-ChildItem -Path Cert:\LocalMachine\Root
Write-Host "Certificates without CERT_NOT_BEFORE_FILETIME_PROP_ID property"
$certsWithoutPropId = @{}
$certs | ForEach-Object -Process {
$certHandle = $_.Handle
$isPropertySet = [PKI.Cert]::CertGetCertificateContextProperty(
$certHandle, $CERT_NOT_BEFORE_FILETIME_PROP_ID, $null, [ref]$null
)
if (-not $isPropertySet) {
Write-Host "Subject: $($_.Subject)"
$certsWithoutPropId[$_.Thumbprint] = $null
}
}
$certsWithoutPropId
}
function Import-SSTFromWU {
# Serialized Certificate Store File # Serialized Certificate Store File
$sstFile = "$env:TEMP\roots.sst" $sstFile = "$env:TEMP\roots.sst"
# Generate SST from Windows Update # Generate SST from Windows Update
@@ -19,4 +64,64 @@ try {
Write-Host "[Error]: failed to import ROOT CA`n$_" Write-Host "[Error]: failed to import ROOT CA`n$_"
exit 1 exit 1
} }
}
function Clear-CertificatesPropId {
param([hashtable]$CertsWithoutPropId)
# List installed certificates
$certs = Get-ChildItem -Path Cert:\LocalMachine\Root
# Clear property CERT_NOT_BEFORE_FILETIME_PROP_ID
$certs | ForEach-Object -Process {
$thumbprint = $_.Thumbprint
if ($certsWithoutPropId.ContainsKey($thumbprint)) {
$subject = $_.Subject
$certHandle = $_.Handle
$result = [PKI.Cert]::CertSetCertificateContextProperty(
$certHandle, $CERT_NOT_BEFORE_FILETIME_PROP_ID, 0, [System.IntPtr]::Zero
)
if ($result) {
Write-Host "[Success] Clear CERT_NOT_BEFORE_FILETIME_PROP_ID property $subject"
} else {
Write-Host "[Fail] Clear CERT_NOT_BEFORE_FILETIME_PROP_ID property $subject"
}
}
}
}
function Disable-RootAutoUpdate {
Write-Host "Disable auto root update mechanism"
$regPath = "HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot"
$regKey = "DisableRootAutoUpdate"
# Create the registry key if it doesn't exist
if (-not (Test-Path $regPath)) {
Write-Verbose "Creating $regPath"
New-Item $regPath | Out-Null
}
Set-ItemProperty $regPath -Name $regKey -Type DWord -Value 1
}
# Property to remove
$CERT_NOT_BEFORE_FILETIME_PROP_ID = 126
# Add extended cert type
Add-ExtendedCertType
# Get certificates without property CERT_NOT_BEFORE_FILETIME_PROP_ID
$certsWithoutPropId = Get-CertificatesWithoutPropId
# Download and install the latest version of root ca list
Import-SSTFromWU
# Clear property CERT_NOT_BEFORE_FILETIME_PROP_ID
if ($certsWithoutPropId.Count -gt 0) {
Clear-CertificatesPropId -CertsWithoutPropId $certsWithoutPropId
} else {
Write-Host "Nothing to clear"
}
# Disable auto root update mechanism
Disable-RootAutoUpdate
@@ -8,7 +8,7 @@ Import-Module -Name ImageHelpers
# Install the latest version of sbt. # Install the latest version of sbt.
# See https://chocolatey.org/packages/sbt # See https://chocolatey.org/packages/sbt
choco install sbt -y Choco-Install -PackageName sbt
$env:SBT_HOME="${env:ProgramFiles(x86)}\sbt" $env:SBT_HOME="${env:ProgramFiles(x86)}\sbt"
@@ -3,4 +3,4 @@
## Desc: Install Subversion ## Desc: Install Subversion
################################################################################ ################################################################################
choco install svn -y Choco-Install -PackageName svn
@@ -0,0 +1,76 @@
################################################################################
## File: Install-Toolset.ps1
## Team: CI-Build
## Desc: Install toolset
################################################################################
Function Install-Asset {
param(
[Parameter(Mandatory=$true)]
[object] $ReleaseAsset
)
$releaseAssetName = [System.IO.Path]::GetFileNameWithoutExtension($ReleaseAsset.filename)
$assetFolderPath = Join-Path $env:TEMP $releaseAssetName
$assetArchivePath = Start-DownloadWithRetry -Url $ReleaseAsset.download_url -Name $ReleaseAsset.filename
Write-Host "Extract $($ReleaseAsset.filename) content..."
7z.exe x $assetArchivePath -o"$assetFolderPath" -y | Out-Null
Write-Host "Invoke installation script..."
Push-Location -Path $assetFolderPath
Invoke-Expression .\setup.ps1
Pop-Location
}
Function Set-DefaultPythonVersion {
param(
[Parameter(Mandatory=$true)]
[object[]] $Toolset
)
$python = $Toolset | Where-Object { ($_.name -eq "Python") -and ($_.default -ne "") } `
| Select-Object default, arch -First 1
if ($python.default -ne $null) {
$pythonPath = Join-Path $Env:AGENT_TOOLSDIRECTORY "/Python/$($python.default)/$($python.arch)" -Resolve
Write-Host "Use Python $($python.default) as a system Python"
Add-MachinePathItem -PathItem $pythonPath
Add-MachinePathItem -PathItem "$pythonPath\Scripts"
} else {
Write-Host "Default Python version not found in toolset file!"
}
}
$ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers -Force
# Get toolcache content from toolset
$tools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache
foreach ($tool in $tools) {
# Get versions manifest for current tool
$assets = Invoke-RestMethod $tool.url
# Get github release asset for each version
foreach ($toolVersion in $tool.versions) {
$asset = $assets | Where-Object version -like $toolVersion `
| Sort-Object -Property {[version]$_.version} -Descending `
| Select-Object -ExpandProperty files `
| Where-Object { ($_.platform -eq $tool.platform) -and ($_.arch -eq $tool.arch) } `
| Select-Object -First 1
Write-Host "Installing $($tool.name) $toolVersion $($tool.arch)..."
if ($asset -ne $null) {
Install-Asset -ReleaseAsset $asset
} else {
Write-Host "Asset was not found in versions manifest"
exit 1
}
}
}
# Install default python version
Set-DefaultPythonVersion -Toolset $tools
@@ -3,4 +3,4 @@
## Desc: Install latest stable version of VSWhere ## Desc: Install latest stable version of VSWhere
################################################################################ ################################################################################
choco install vswhere -y Choco-Install -PackageName vswhere
+3 -14
View File
@@ -22,24 +22,13 @@ else
$VSver = "2017" $VSver = "2017"
} }
$argumentList = ("/features", "+", "/quiet")
# `winsdksetup.exe /features + /quiet` installs all features without showing the GUI # `winsdksetup.exe /features + /quiet` installs all features without showing the GUI
$sdkExitCode = Install-EXE -Url $winSdkUrl -Name "winsdksetup.exe" -ArgumentList ("/features", "+", "/quiet") Install-Binary -Url $winSdkUrl -Name "winsdksetup.exe" -ArgumentList $argumentList
if ($sdkExitCode -ne 0)
{
Write-Host "Failed to install the Windows SDK."
exit $sdkExitCode
}
# `wdksetup.exe /features + /quiet` installs all features without showing the GUI # `wdksetup.exe /features + /quiet` installs all features without showing the GUI
$wdkExitCode = Install-EXE -Url $wdkUrl -Name "wdksetup.exe" -ArgumentList ("/features", "+", "/quiet") Install-Binary -Url $wdkUrl -Name "wdksetup.exe" -ArgumentList $argumentList
if ($wdkExitCode -ne 0)
{
Write-Host "Failed to install the Windows Driver Kit."
exit $wdkExitCode
}
# Need to install the VSIX to get the build targets when running VSBuild # Need to install the VSIX to get the build targets when running VSBuild
Install-VsixExtension -FilePath $FilePath -Name "WDK.vsix" -VSversion $VSver -InstallOnly Install-VsixExtension -FilePath $FilePath -Name "WDK.vsix" -VSversion $VSver -InstallOnly
@@ -4,5 +4,9 @@
#################################################################################### ####################################################################################
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
$InstallerName = "WindowsApplicationDriver.msi"
$InstallerUrl = "https://github.com/Microsoft/WinAppDriver/releases/download/v1.1/${InstallerName}"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-MSI -MsiUrl "https://github.com/Microsoft/WinAppDriver/releases/download/v1.1/WindowsApplicationDriver.msi" -MsiName "WindowsApplicationDriver.msi" Install-Binary -Url $InstallerUrl -Name $InstallerName
@@ -3,9 +3,9 @@
## Desc: Install WIX. ## Desc: Install WIX.
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force; Import-Module -Name ImageHelpers -Force
choco install wixtoolset -y --force Choco-Install -PackageName wixtoolset -ArgumentList "--force"
if(Test-IsWin19) if(Test-IsWin19)
{ {
@@ -3,4 +3,4 @@
## Desc: Install zstd ## Desc: Install zstd
################################################################################ ################################################################################
choco install zstandard -y Choco-Install -PackageName zstandard
@@ -0,0 +1,27 @@
################################################################################
## File: Validate-AWS-SAM.ps1
## Desc: Validate aws sam cli
################################################################################
$command = Get-Command -Name 'sam'
if ($command)
{
Write-Host "AWS SAM CLI on path"
}
else
{
Write-Host 'AWS SAM CLI is not on path'
exit 1
}
# Adding description of the software to Markdown
$SoftwareName = "AWS SAM CLI"
$version = (sam --version).Split(" ")[3]
$Description = @"
_Version:_ $version<br/>
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
@@ -0,0 +1,24 @@
################################################################################
## File: Validate-AliyunCli.ps1
## Desc: Validate Alibaba Cloud CLI
################################################################################
if (Get-Command -Name 'aliyun')
{
Write-Host "Alibaba Cloud CLI on path"
}
else
{
Write-Host 'Alibaba Cloud CLI is not on path'
exit 1
}
# Adding description of the software to Markdown
$aliyun_version = ((aliyun --version | Select-String "Alibaba Cloud Command Line Interface Version ") -Split(" "))[6]
$SoftwareName = "Alibaba Cloud CLI"
$Description = @"
_Version:_ $aliyun_version<br/>
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
@@ -80,7 +80,7 @@ Validate-AzureModule -ModuleName AzureRM -ModuleVersions $azurermVersions
$azureVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "5.3.0" $azureVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "5.3.0"
Validate-AzureModule -ModuleName Azure -ModuleVersions $azureVersions Validate-AzureModule -ModuleName Azure -ModuleVersions $azureVersions
$azVersions = "1.0.0", "1.6.0", "2.3.2", "2.6.0", "3.1.0", "3.5.0" $azVersions = "1.0.0", "1.6.0", "2.3.2", "2.6.0", "3.1.0", "3.5.0", "3.8.0"
Validate-AzureModule -ModuleName Az -ModuleVersions $azVersions Validate-AzureModule -ModuleName Az -ModuleVersions $azVersions
# Get default modules version # Get default modules version
@@ -0,0 +1,14 @@
################################################################################
## File: Validate-DiskSpace.ps1
## Desc: Validate free disk space
################################################################################
$availableSpaceMB = [math]::Round((Get-PSDrive -Name C).Free / 1MB)
$minimumFreeSpaceMB = 15 * 1024
Write-Host "Available disk space: $availableSpaceMB MB"
if ($availableSpaceMB -le $minimumFreeSpaceMB)
{
Write-Host "Not enough disk space on the image (minimum available space: $minimumFreeSpaceMB MB)"
exit 1
}

Some files were not shown because too many files have changed in this diff Show More