Merge branch 'master' into v-dimago/add_oras_cli

This commit is contained in:
Dibir Magomedsaygitov
2020-07-07 17:37:15 +03:00
104 changed files with 3550 additions and 3871 deletions

View File

@@ -20,6 +20,7 @@ A clear and concise description of what the bug is, and why you consider it to b
- [ ] macOS 10.15 - [ ] macOS 10.15
- [ ] Ubuntu 16.04 LTS - [ ] Ubuntu 16.04 LTS
- [ ] Ubuntu 18.04 LTS - [ ] Ubuntu 18.04 LTS
- [ ] Ubuntu 20.04 LTS
- [ ] Windows Server 2016 R2 - [ ] Windows Server 2016 R2
- [ ] Windows Server 2019 - [ ] Windows Server 2019

View File

@@ -27,6 +27,7 @@ assignees: ''
- [ ] macOS 10.15 - [ ] macOS 10.15
- [ ] Ubuntu 16.04 LTS - [ ] Ubuntu 16.04 LTS
- [ ] Ubuntu 18.04 LTS - [ ] Ubuntu 18.04 LTS
- [ ] Ubuntu 20.04 LTS
- [ ] Windows Server 2016 R2 - [ ] Windows Server 2016 R2
- [ ] Windows Server 2019 - [ ] Windows Server 2019

View File

@@ -0,0 +1,24 @@
name: Create GitHub release
on:
repository_dispatch:
types: [create-github-release]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create release for ${{ github.event.client_payload.ReleaseBranchName }}
uses: actions/create-release@v1.1.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.client_payload.ReleaseBranchName }}
release_name: ${{ github.event.client_payload.ReleaseTitle }}
body: ${{ github.event.client_payload.ReleaseBody }}
prerelease: ${{ github.event.client_payload.Prerelease }}
commitish: ${{ github.event.client_payload.Commitish }}

View File

@@ -0,0 +1,27 @@
name: Create Pull Request
on:
repository_dispatch:
types: [create-pr]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create pull request for ${{ github.event.client_payload.ReleaseBranchName }}
uses: actions/github-script@v2
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.pulls.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: "${{ github.event.client_payload.PullRequestTitle }}",
head: "${{ github.event.client_payload.ReleaseBranchName }}",
base: "${{ github.event.client_payload.PullRequestBase }}",
body: `${{ github.event.client_payload.PullRequestBody }}`
});

View File

@@ -0,0 +1,24 @@
name: Merge pull request
on:
repository_dispatch:
types: [merge-pr]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Merge pull request for ${{ github.event.client_payload.ReleaseBranchName }}
uses: actions/github-script@v2
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.pulls.merge({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: ${{ github.event.client_payload.PullRequestNumber }}
})

View File

@@ -0,0 +1,30 @@
name: Update release
on:
repository_dispatch:
types: [update-github-release]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Update release for ${{ github.event.client_payload.ReleaseBranchName }}
uses: actions/github-script@v2
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const response = await github.repos.getReleaseByTag({
owner: context.repo.owner,
repo: context.repo.repo,
tag: "${{ github.event.client_payload.ReleaseBranchName }}"
});
github.repos.updateRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: response.data.id,
prerelease: ${{ github.event.client_payload.Prerelease }}
});

View File

@@ -15,6 +15,12 @@ Please note that this project is released with a [Contributor Code of Conduct][c
1. [Fork][fork] and clone the repository 1. [Fork][fork] and clone the repository
1. Create a new branch: `git checkout -b my-branch-name` 1. Create a new branch: `git checkout -b my-branch-name`
1. Make your changes, ensure that they include steps to install and validate post-install (e.g. [kind.sh](images/linux/scripts/installers/kind.sh)). 1. Make your changes, ensure that they include steps to install and validate post-install (e.g. [kind.sh](images/linux/scripts/installers/kind.sh)).
Adding tool for Windows images:
- add tool installation script `Install-ToolName.ps1` (`/images/win/scripts/Installers`)
- add tool validation script `Validate-ToolName.ps1` (the same directory)
- add changes to document tool name and version to the software report generator: `images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1` that is used to generate software README file, e.g. [Windows2019-Readme.md](images/win/Windows2019-Readme.md)
1. Test your changes by [creating VHD and deploying a VM](help/CreateImageAndAzureResources.md). 1. Test your changes by [creating VHD and deploying a VM](help/CreateImageAndAzureResources.md).
1. Push to your fork and [submit a pull request][pr] 1. Push to your fork and [submit a pull request][pr]

View File

@@ -1,16 +1,21 @@
# 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, 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). 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/c/github-actions/41).
## Available Environments ## Available Environments
| Environment | YAML Label | Included Software | Latest Release & Rollout Progress | | Environment | YAML Label | Included Software | Latest Release & Rollout Progress |
| --------------------|---------------------|--------------------|---------------------| | --------------------|---------------------|--------------------|---------------------|
| Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu20&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu20&redirect=1)
| Ubuntu 18.04 | `ubuntu-latest` or `ubuntu-18.04` | [ubuntu-18.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&redirect=1) | Ubuntu 18.04 | `ubuntu-latest` or `ubuntu-18.04` | [ubuntu-18.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&redirect=1)
| Ubuntu 16.04 | `ubuntu-16.04` | [ubuntu-16.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&redirect=1) | | Ubuntu 16.04 | `ubuntu-16.04` | [ubuntu-16.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&redirect=1) |
| macOS 10.15 | `macos-latest` or `macos-10.15` | [macOS-10.15] | *Coming soon* | | macOS 10.15 | `macos-latest` or `macos-10.15` | [macOS-10.15] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=MacOS&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=MacOS&redirect=1)
| Windows Server 2019 | `windows-latest` or `windows-2019` | [windows-2019] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&redirect=1) | Windows Server 2019 | `windows-latest` or `windows-2019` | [windows-2019] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&redirect=1)
| Windows Server 2016 | `windows-2016` | [windows-2016] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&redirect=1) | Windows Server 2016 | `windows-2016` | [windows-2016] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&redirect=1)
```
The Ubuntu 20.04 virtual environment is currently provided as a preview only.
The "ubuntu-latest" YAML workflow label still uses the Ubuntu 18.04 virtual environment.
```
***Looking for other Linux distributions?*** We do not plan to offer other Linux distributions. We recommend using Docker if you'd like to build using other distributions with the hosted virtual environments. Alternatively, you can leverage [self-hosted runners] and fully customize your environment to your needs. ***Looking for other Linux distributions?*** We do not plan to offer other Linux distributions. We recommend using Docker if you'd like to build using other distributions with the hosted virtual environments. Alternatively, you can leverage [self-hosted runners] and fully customize your environment to your needs.
@@ -44,6 +49,7 @@ we pin the tool to specific version(s).
Low Impact changes will be pinned in this repository and marked with the [Announcement](https://github.com/actions/virtual-environments/labels/Announcement) label. Low Impact changes will be pinned in this repository and marked with the [Announcement](https://github.com/actions/virtual-environments/labels/Announcement) label.
* **Regular Weekly Rhythm** can be followed by watching [Releases](https://github.com/actions/virtual-environments/releases) to see when we generate candidate environments or deploy new ones. You can also track upcoming changes using the [awaiting-deployment](https://github.com/actions/virtual-environments/labels/awaiting-deployment) label. * **Regular Weekly Rhythm** can be followed by watching [Releases](https://github.com/actions/virtual-environments/releases) to see when we generate candidate environments or deploy new ones. You can also track upcoming changes using the [awaiting-deployment](https://github.com/actions/virtual-environments/labels/awaiting-deployment) label.
[ubuntu-20.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu2004-README.md
[ubuntu-18.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md [ubuntu-18.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md
[ubuntu-16.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1604-README.md [ubuntu-16.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1604-README.md
[Windows-2019]: https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md [Windows-2019]: https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md

View File

@@ -1,92 +1,96 @@
<!--- DO NOT EDIT - This markdown file is autogenerated. --> <!--- DO NOT EDIT - This markdown file is autogenerated. -->
# Ubuntu 16.04.6 LTS # Ubuntu 16.04.6 LTS
The following software is installed on machines with the 20200517.1 update. The following software is installed on machines with the 20200625.0 update.
*** ***
- Homebrew on Linux (Homebrew 2.2.16 - Homebrew on Linux (Homebrew 2.4.2
Homebrew/linuxbrew-core (git revision a74a6a; last commit 2020-05-16)) Homebrew/linuxbrew-core (git revision 58dca; last commit 2020-06-24))
- 7-Zip 9.20 - 7-Zip 9.20
- Ansible (ansible 2.9.9) - Ansible (ansible 2.9.10)
- AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy7 (available by azcopy alias) 7.3.0
- AzCopy10 (available by azcopy10 alias) 10.4.3 - AzCopy10 (available by azcopy10 alias) 10.4.3
- Azure CLI (azure-cli 2.5.1) - Azure CLI (azure-cli 2.8.0)
- Azure CLI (azure-devops 0.18.0) - Azure CLI (azure-devops 0.18.0)
- Basic CLI: - Basic packages:
- curl
- dnsutils - dnsutils
- file
- ftp
- iproute2 - iproute2
- iputils-ping - iputils-ping
- jq
- libc++-dev - libc++-dev
- libc++abi-dev - libc++abi-dev
- libcurl3 - libcurl3
- libgbm-dev
- libicu55 - libicu55
- libunwind8 - libunwind8
- locales - locales
- netcat
- openssh-client - openssh-client
- tzdata
- zstd
- lib32z1
- libxkbfile-dev
- pkg-config
- libsecret-1-dev
- libxss1
- libgconf-2-4
- dbus
- xvfb
- libgbm-dev
- libgtk-3-0
- tk
- fakeroot
- dpkg
- rpm
- xz-utils
- xorriso
- zsync
- gnupg2
- texinfo
- curl
- file
- ftp
- jq
- netcat
- ssh
- parallel - parallel
- rsync - rsync
- shellcheck - shellcheck
- sudo - sudo
- telnet - telnet
- time - time
- tzdata
- unzip - unzip
- upx
- wget
- zip - zip
- zstd - wget
- gnupg2 - upx
- lib32z1 - m4
- Alibaba Cloud CLI (3.0.43) - bison
- AWS CLI (aws-cli/1.18.61 Python/2.7.12 Linux/4.15.0-1082-azure botocore/1.16.11) - flex
- Alibaba Cloud CLI (3.0.48)
- AWS CLI (aws-cli/1.18.87 Python/2.7.12 Linux/4.15.0-1089-azure botocore/1.17.10)
- build-essential - build-essential
- nvm (0.35.3) - 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.3 (swift-5.2.3-RELEASE) - Swift version 5.2.4 (swift-5.2.4-RELEASE)
Target: x86_64-unknown-linux-gnu Target: x86_64-unknown-linux-gnu
- CMake (cmake version 3.17.0) - CMake (cmake version 3.17.0)
- Docker Compose (docker-compose version 1.25.4, build 8d51620a) - Docker Compose (docker-compose version 1.26.0, build d4451659)
- Docker-Moby (Docker version 3.0.11+azure, build eb310fca49568dccd87c6136f774ef6fff2a1b51) - Docker-Moby (Docker version 3.0.13+azure, build dd360c7c0de8d9132a3965db6a59d3ae74f43ba7)
- Docker-Buildx (0.3.1+azure) - Docker-Buildx (0.4.1+azure)
- .NET Core SDK: - .NET Core SDK:
- 3.1.301
- 3.1.300
- 3.1.202 - 3.1.202
- 3.1.201 - 3.1.201
- 3.1.200 - 3.1.200
- 3.1.105
- 3.1.104 - 3.1.104
- 3.1.103 - 3.1.103
- 3.1.102
- 3.1.101 - 3.1.101
- 3.1.100 - 3.1.100
- 3.0.103 - 3.0.103
- 3.0.102 - 3.0.102
- 3.0.101 - 3.0.101
- 3.0.100 - 3.0.100
- 2.2.402 - 2.1.807
- 2.2.401
- 2.2.301
- 2.2.300
- 2.2.207
- 2.2.206
- 2.2.205
- 2.2.204
- 2.2.203
- 2.2.202
- 2.2.110
- 2.2.109
- 2.2.108
- 2.2.107
- 2.2.106
- 2.2.105
- 2.2.104
- 2.2.103
- 2.2.102
- 2.2.101
- 2.2.100
- 2.1.806 - 2.1.806
- 2.1.805 - 2.1.805
- 2.1.804 - 2.1.804
@@ -95,6 +99,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.801 - 2.1.801
- 2.1.701 - 2.1.701
- 2.1.700 - 2.1.700
- 2.1.612
- 2.1.611 - 2.1.611
- 2.1.610 - 2.1.610
- 2.1.609 - 2.1.609
@@ -105,6 +110,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.604 - 2.1.604
- 2.1.603 - 2.1.603
- 2.1.602 - 2.1.602
- 2.1.515
- 2.1.514 - 2.1.514
- 2.1.513 - 2.1.513
- 2.1.512 - 2.1.512
@@ -125,112 +131,100 @@ Target: x86_64-unknown-linux-gnu
- 2.1.302 - 2.1.302
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0) - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2)
- Firefox (Mozilla Firefox 76.0.1) - Firefox (Mozilla Firefox 77.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.4.0 - GNU C++ 8.4.0
- GNU C++ 9.3.0 - GNU C++ 9.3.0
- GNU Fortran 8.4.0 - GNU Fortran 8.4.0
- GNU Fortran 9.3.0 - GNU Fortran 9.3.0
- Git (2.26.2) - Git (2.27.0)
- Git Large File Storage (LFS) (2.11.0) - Git Large File Storage (LFS) (2.11.0)
- Git-ftp (1.0.2)
- Hub CLI (2.14.2) - Hub CLI (2.14.2)
- Google Chrome (Google Chrome 81.0.4044.138 ) - GitHub CLI 0.10.1
- ChromeDriver 81.0.4044.138 (8c6c7ba89cc9453625af54f11fd83179e23450fa-refs/branch-heads/4044@{#999}); Chrome Driver is available via CHROMEWEBDRIVER environment variable - Google Chrome (Google Chrome 83.0.4103.116 )
- Google Cloud SDK (292.0.0) - ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Haskell Cabal (cabal-install version 2.0.0.1 - Google Cloud SDK (298.0.0)
compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0
compiled using version 2.2.0.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.1.0
compiled using version 3.0.2.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.2.0.0 - Haskell Cabal (cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library ) 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.2.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.3)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.4)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5)
- 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.3) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1)
- Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0) - Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0)
- Heroku (heroku/7.41.1 linux-x64 node-v12.16.2) - Heroku (heroku/7.42.1 linux-x64 node-v12.16.2)
- HHVM (HipHop VM 4.56.0 (rel)) - HHVM (HipHop VM 4.56.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK: - Azul Zulu OpenJDK:
- 7 (openjdk version "1.7.0_262") - 7 (openjdk version "1.7.0_262")
- Adopt OpenJDK:
- 8 (openjdk version "1.8.0_252") (default) - 8 (openjdk version "1.8.0_252") (default)
- 11 (openjdk version "11.0.7" 2020-04-14 LTS) - 11 (openjdk version "11.0.7" 2020-04-14)
- 12 (openjdk version "12.0.2" 2019-07-16) - 12 (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018) - Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018)
- Gradle 6.4.1 - Gradle 6.5
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.7.0 go1.13.6 linux/amd64) - Kind (kind v0.8.1 go1.14.2 linux/amd64)
- kubectl (Client Version: v1.18.2) - kubectl (Client Version: v1.18.4)
- helm (v3.2.1+gfe51cd1) - helm (v3.2.4+g0ad800e)
- minikube version: v1.11.0
- Leiningen (Leiningen 2.9.3 on Java 1.8.0_252 OpenJDK 64-Bit Server VM) - Leiningen (Leiningen 2.9.3 on Java 1.8.0_252 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 4.4.1)) - Mercurial (Mercurial Distributed SCM (version 4.4.1))
- Miniconda (conda 4.8.2) - Miniconda (conda 4.8.3)
- Mono (Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:13:37 UTC 2020)) - Mono (Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:13:37 UTC 2020))
- MySQL (mysql Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using EditLine wrapper) - MySQL (mysql Ver 14.14 Distrib 5.7.30, 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
- 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' - 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'
- Node.js (v12.16.3) - Node.js (v12.18.1)
- Grunt (grunt-cli v1.2.0) - Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.0 - Gulp (CLI version: 2.3.0
Local version: Unknown) Local version: Unknown)
- n (6.5.1) - n (6.5.1)
- Parcel (1.12.4) - Parcel (1.12.4)
- TypeScript (Version 3.9.2) - TypeScript (Version 3.9.5)
- Webpack (4.43.0) - Webpack (4.43.0)
- Webpack CLI (3.3.11) - Webpack CLI (3.3.12)
- Yarn (1.22.4) - Yarn (1.22.4)
- Bazel (bazel 3.1.0) - Bazel (bazel 3.3.0)
- Bazelisk (1.4.0) - Bazelisk (1.5.0)
- PhantomJS (2.1.1) - PhantomJS (2.1.1)
- PHP 5.6 (PHP 5.6.40-29+ubuntu16.04.1+deb.sury.org+1 (cli) ) - PHP 5.6 (PHP 5.6.40-29+ubuntu16.04.1+deb.sury.org+1 (cli) )
- PHP 7.0 (PHP 7.0.33-29+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 09:08:44) ( NTS )) - PHP 7.0 (PHP 7.0.33-29+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 09:08:44) ( NTS ))
- PHP 7.1 (PHP 7.1.33-16+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:26:44) ( NTS )) - PHP 7.1 (PHP 7.1.33-16+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:26:44) ( NTS ))
- PHP 7.2 (PHP 7.2.31-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:14) ( NTS )) - PHP 7.2 (PHP 7.2.31-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:14) ( NTS ))
- PHP 7.3 (PHP 7.3.18-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 10:34:21) ( NTS )) - PHP 7.3 (PHP 7.3.19-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jun 12 2020 07:48:10) ( NTS ))
- PHP 7.4 (PHP 7.4.6 (cli) (built: May 14 2020 10:02:18) ( NTS )) - PHP 7.4 (PHP 7.4.7 (cli) (built: Jun 12 2020 07:43:48) ( NTS ))
- Composer (Composer version 1.10.6 2020-05-06 10:28:10) - Composer (Composer version 1.10.8 2020-06-24 21:23:30)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate - Pollinate
- psql (PostgreSQL) 9.5.21 - psql (PostgreSQL) 12.3
- Powershell (PowerShell 7.0.1) - Powershell (PowerShell 7.0.2)
- ruby (2.3.1p112) - ruby (2.3.1p112)
- gem (3.1.3) - gem (3.1.4)
- rustup (1.21.1) - rustup (1.21.1)
- rust (1.43.1) - rust (1.44.1)
- cargo (1.43.0) - cargo (1.44.1)
- rustfmt (1.4.12-stable) - rustfmt (1.4.16-stable)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.43.1) - rustdoc (1.44.1)
- bindgen (0.53.2) - bindgen (0.54.0)
- cbindgen (0.14.2) - cbindgen (0.14.3)
- Julia (julia version 1.4.1) - Julia (julia version 1.4.2)
- sbt (1.3.10) - sbt (1.3.12)
- 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))
- Terraform (Terraform v0.12.25) - Terraform (Terraform v0.12.28)
- Packer (1.5.6) - Packer (1.6.0)
- Vcpkg 2020.02.04-unknownhash - Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (19.0.1) - Vercel CLI (19.1.1)
- MongoDB on Linux (2020-05-17T09:41:36.640+0000 I CONTROL [initandlisten] db version v4.2.6 - MongoDB on Linux (2020-06-25T20:59:19.024+0000 I CONTROL [initandlisten] db version v4.2.8
2020-05-17T09:41:36.640+0000 I CONTROL [initandlisten] git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8 2020-06-25T20:59:19.024+0000 I CONTROL [initandlisten] git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f
2020-05-17T09:41:36.640+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016) 2020-06-25T20:59:19.024+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016)
- Haveged 1.9.1-3 - Haveged 1.9.1-3
- AWS SAM CLI, version 0.49.0 - AWS SAM CLI, version 0.53.0
- Google Repository 58 - Google Repository 58
- Google Play services 49 - Google Play services 49
- Google APIs 24 - Google APIs 24
@@ -242,7 +236,8 @@ Local version: Unknown)
- Android Support Repository 47.0.0 - Android Support Repository 47.0.0
- Android Solver for ConstraintLayout 1.0.2 - Android Solver for ConstraintLayout 1.0.2
- Android Solver for ConstraintLayout 1.0.1 - Android Solver for ConstraintLayout 1.0.1
- Android SDK Platform-Tools 30.0.1 - Android SDK Platform-Tools 30.0.3
- Android SDK Platform 30
- Android SDK Platform 29 - Android SDK Platform 29
- Android SDK Platform 28 - Android SDK Platform 28
- Android SDK Platform 27 - Android SDK Platform 27
@@ -257,6 +252,7 @@ Local version: Unknown)
- Android SDK Platform 15 - Android SDK Platform 15
- Android SDK Platform 10 - Android SDK Platform 10
- Android SDK Patch Applier v4 - Android SDK Patch Applier v4
- Android SDK Build-Tools 30.0.0
- Android SDK Build-Tools 29.0.3 - Android SDK Build-Tools 29.0.3
- Android SDK Build-Tools 29.0.2 - Android SDK Build-Tools 29.0.2
- Android SDK Build-Tools 29.0.0 - Android SDK Build-Tools 29.0.0
@@ -288,7 +284,7 @@ Local version: Unknown)
- Android SDK Build-Tools 20.0.0 - Android SDK Build-Tools 20.0.0
- Android SDK Build-Tools 19.1.0 - Android SDK Build-Tools 19.1.0
- Android SDK Build-Tools 17.0.0 - Android SDK Build-Tools 17.0.0
- Android NDK 21.1.6352462 - Android NDK 21.3.6528147
- Android ConstraintLayout 1.0.2 - Android ConstraintLayout 1.0.2
- Android ConstraintLayout 1.0.1 - Android ConstraintLayout 1.0.1
- Az Module (1.0.0) - Az Module (1.0.0)
@@ -298,15 +294,16 @@ Local version: Unknown)
- Az Module (2.8.0) - Az Module (2.8.0)
- Az Module (3.1.0) - Az Module (3.1.0)
- Az Module (3.5.0) - Az Module (3.5.0)
- Az Module (3.8.0)
- Cached container images - Cached container images
- node:10 (Digest: sha256:ce98742448dff008ff29b81816c148599e41e9cc580d17412ce7fb555bf57c6a) - node:12-alpine (Digest: sha256:45694caf08b27f851b10f2ce30e986249d3b06590fefb7d327ba9a4fbd371d2b)
- node:12 (Digest: sha256:880673b2184fec70c7cf342452ce4cfac6c378cfa79d4529f49887bc55eb9f41) - node:12 (Digest: sha256:2b85f4981f92ee034b51a3c8bb22dbb451d650d5c12b6439a169f8adc750e4b6)
- jekyll/builder:latest (Digest: sha256:15d3241ba69bbc0bc62e40c30ec11d9dc4211fde0365a378bf1b9ec8c18eb57e) - jekyll/builder:latest (Digest: sha256:98cda359955f25f18c4bcc78536cdfd30e7ded689b1f52fcd513c75cbe4e751e)
- buildpack-deps:stretch (Digest: sha256:dee4275fc056551e1f83c5a3ea024510ca63f03ceedd9a1c29cbab70644b046b) - node:10 (Digest: sha256:f9e66964ec6e9a78693929b58b3d95aadf03cc70e47f6d276d1e0943853c2bb5)
- debian:9 (Digest: sha256:d4de82f467cf1c7e022e95a1cb074b7d4d38f8ab2c20deeafd884c6a4531d94d) - buildpack-deps:stretch (Digest: sha256:23c6d55a4d5ad7c9476638196920d67a97702433b5b48465496af6ab3214e7e4)
- debian:8 (Digest: sha256:be49b17833279f2177dbaeef87226528af8a652595afc11dd85c8cd8ad7fcd26) - debian:9 (Digest: sha256:c6c98a905e230d779a92e6a329ff7ecad13b8ee0d21da8b013cee0df7e91c170)
- node:12-alpine (Digest: sha256:84f5c9090cc741421b2376b2393e7d5fa2f89d36167c12eb57aef16dd64ecf6c) - debian:8 (Digest: sha256:38a0be899b925afb5524130771850d3d8dd00619a6b50171cab4fab7d7ae8108)
- node:10-alpine (Digest: sha256:b2db1b026f1b01a6a91f39d8204b89c5c13d2b40a017dd4d9253ab066c9cf2cb) - node:10-alpine (Digest: sha256:177cdb2546eb321b7127aa1c45353c5b778959c9e30da29570ff85098786d776)
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011) - alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35) - alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14) - alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
@@ -318,27 +315,29 @@ Local version: Unknown)
- Ruby 2.5.8 - Ruby 2.5.8
- Ruby 2.6.6 - Ruby 2.6.6
- Ruby 2.7.1 - Ruby 2.7.1
- PyPy:
- PyPy 2.7.17
- PyPy 3.6.9
- Python (Python 2.7.12) - Python (Python 2.7.12)
- pip (pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)) - pip (pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7))
- Python3 (Python 3.5.2) - Python3 (Python 3.5.2)
- pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)) - pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5))
- Go 1.11.13 (go version go1.11.13 linux/amd64)
- Go 1.12.17 (go version go1.12.17 linux/amd64)
- Go 1.13.11 (go version go1.13.11 linux/amd64)
- Go 1.14.3 (go version go1.14.3 linux/amd64)
- Python: - Python:
- Python 2.7.18 - Python 2.7.18
- Python 3.5.9 - Python 3.5.9
- Python 3.6.10 - Python 3.6.10
- Python 3.7.7 - Python 3.7.7
- Python 3.8.3 - Python 3.8.3
- PyPy:
- PyPy 2.7.13 [PyPy 7.3.1 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
- PyPy 3.6.9 [PyPy 7.3.1 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
- node: - node:
- node 8.17.0 - node 8.17.0
- node 10.20.1 - node 10.21.0
- node 12.16.3 - node 12.18.1
- node 14.2.0 - node 14.4.0
- Boost C++ Libraries 1.69.0 - go:
- Boost C++ Libraries 1.72.0 - go 1.11.13
- go 1.12.17
- go 1.13.12
- go 1.14.4
- boost:
- boost 1.69.0
- boost 1.72.0

View File

@@ -1,92 +1,95 @@
<!--- DO NOT EDIT - This markdown file is autogenerated. --> <!--- DO NOT EDIT - This markdown file is autogenerated. -->
# Ubuntu 18.04.4 LTS # Ubuntu 18.04.4 LTS
The following software is installed on machines with the 20200518.1 update. The following software is installed on machines with the 20200625.0 update.
*** ***
- Homebrew on Linux (Homebrew 2.2.16 - Homebrew on Linux (Homebrew 2.4.2
Homebrew/linuxbrew-core (git revision 60cbe0; last commit 2020-05-17)) Homebrew/linuxbrew-core (git revision 58dca; last commit 2020-06-24))
- 7-Zip 16.02 - 7-Zip 16.02
- Ansible (ansible 2.9.9) - Ansible (ansible 2.9.10)
- AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy7 (available by azcopy alias) 7.3.0
- AzCopy10 (available by azcopy10 alias) 10.4.3 - AzCopy10 (available by azcopy10 alias) 10.4.3
- Azure CLI (azure-cli 2.5.1) - Azure CLI (azure-cli 2.8.0)
- Azure CLI (azure-devops 0.18.0) - Azure CLI (azure-devops 0.18.0)
- Basic CLI: - Basic packages:
- curl
- dnsutils - dnsutils
- file
- ftp
- iproute2 - iproute2
- iputils-ping - iputils-ping
- jq
- libcurl3
- libgbm-dev
- libicu55
- libunwind8 - libunwind8
- locales - locales
- netcat
- openssh-client - openssh-client
- tzdata
- upx
- zstd
- libxkbfile-dev
- pkg-config
- libsecret-1-dev
- libxss1
- libgconf-2-4
- dbus
- xvfb
- libgbm-dev
- libgtk-3-0
- tk
- fakeroot
- dpkg
- rpm
- xz-utils
- xorriso
- zsync
- gnupg2
- lib32z1
- texinfo
- curl
- file
- ftp
- jq
- netcat
- ssh
- parallel - parallel
- rsync - rsync
- shellcheck - shellcheck
- sudo - sudo
- telnet - telnet
- time - time
- tzdata
- unzip - unzip
- upx
- wget
- zip - zip
- zstd - wget
- gnupg2 - m4
- lib32z1 - bison
- Alibaba Cloud CLI (3.0.43) - flex
- AWS CLI (aws-cli/1.18.61 Python/2.7.17 Linux/5.3.0-1020-azure botocore/1.16.11) - libcurl3
- Alibaba Cloud CLI (3.0.48)
- AWS CLI (aws-cli/1.18.87 Python/2.7.17 Linux/5.3.0-1031-azure botocore/1.17.10)
- 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.3 (swift-5.2.3-RELEASE) - Swift version 5.2.4 (swift-5.2.4-RELEASE)
Target: x86_64-unknown-linux-gnu Target: x86_64-unknown-linux-gnu
- CMake (cmake version 3.17.0) - CMake (cmake version 3.17.0)
- Podman (1.9.1) - Podman (1.9.3)
- Buildah (1.14.9) - Buildah (1.14.9)
- Skopeo (0.2.0) - Skopeo (1.0.0)
- Docker Compose (docker-compose version 1.25.4, build 8d51620a) - Docker Compose (docker-compose version 1.26.0, build d4451659)
- Docker-Moby (Docker version 3.0.11+azure, build eb310fca49568dccd87c6136f774ef6fff2a1b51) - Docker-Moby (Docker version 3.0.13+azure, build dd360c7c0de8d9132a3965db6a59d3ae74f43ba7)
- Docker-Buildx (0.3.1+azure) - Docker-Buildx (0.4.1+azure)
- .NET Core SDK: - .NET Core SDK:
- 3.1.301
- 3.1.300
- 3.1.202 - 3.1.202
- 3.1.201 - 3.1.201
- 3.1.200 - 3.1.200
- 3.1.105
- 3.1.104 - 3.1.104
- 3.1.103 - 3.1.103
- 3.1.102
- 3.1.101 - 3.1.101
- 3.1.100 - 3.1.100
- 3.0.103 - 3.0.103
- 3.0.102 - 3.0.102
- 3.0.101 - 3.0.101
- 3.0.100 - 3.0.100
- 2.2.402 - 2.1.807
- 2.2.401
- 2.2.301
- 2.2.300
- 2.2.207
- 2.2.206
- 2.2.205
- 2.2.204
- 2.2.203
- 2.2.202
- 2.2.110
- 2.2.109
- 2.2.108
- 2.2.107
- 2.2.106
- 2.2.105
- 2.2.104
- 2.2.103
- 2.2.102
- 2.2.101
- 2.2.100
- 2.1.806 - 2.1.806
- 2.1.805 - 2.1.805
- 2.1.804 - 2.1.804
@@ -95,6 +98,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.801 - 2.1.801
- 2.1.701 - 2.1.701
- 2.1.700 - 2.1.700
- 2.1.612
- 2.1.611 - 2.1.611
- 2.1.610 - 2.1.610
- 2.1.609 - 2.1.609
@@ -105,6 +109,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.604 - 2.1.604
- 2.1.603 - 2.1.603
- 2.1.602 - 2.1.602
- 2.1.515
- 2.1.514 - 2.1.514
- 2.1.513 - 2.1.513
- 2.1.512 - 2.1.512
@@ -125,111 +130,99 @@ Target: x86_64-unknown-linux-gnu
- 2.1.302 - 2.1.302
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0) - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2)
- Firefox (Mozilla Firefox 76.0.1) - Firefox (Mozilla Firefox 77.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.4.0 - GNU C++ 8.4.0
- GNU C++ 9.3.0 - GNU C++ 9.3.0
- GNU Fortran 8.4.0 - GNU Fortran 8.4.0
- GNU Fortran 9.3.0 - GNU Fortran 9.3.0
- Git (2.26.2) - Git (2.27.0)
- Git Large File Storage (LFS) (2.11.0) - Git Large File Storage (LFS) (2.11.0)
- Git-ftp (1.3.1)
- Hub CLI (2.14.2) - Hub CLI (2.14.2)
- Google Chrome (Google Chrome 81.0.4044.138 ) - GitHub CLI 0.10.1
- ChromeDriver 81.0.4044.138 (8c6c7ba89cc9453625af54f11fd83179e23450fa-refs/branch-heads/4044@{#999}); Chrome Driver is available via CHROMEWEBDRIVER environment variable - Google Chrome (Google Chrome 83.0.4103.116 )
- Google Cloud SDK (292.0.0) - ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Haskell Cabal (cabal-install version 2.0.0.1 - Google Cloud SDK (298.0.0)
compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0
compiled using version 2.2.0.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.1.0
compiled using version 3.0.2.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.2.0.0 - Haskell Cabal (cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library ) 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.2.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.3)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.4)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5)
- 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.3) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1)
- Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0) - Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0)
- Heroku (heroku/7.41.1 linux-x64 node-v12.16.2) - Heroku (heroku/7.42.1 linux-x64 node-v12.16.2)
- HHVM (HipHop VM 4.57.0 (rel)) - HHVM (HipHop VM 4.62.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK: - Azul Zulu OpenJDK:
- 7 (openjdk version "1.7.0_262") - 7 (openjdk version "1.7.0_262")
- Adopt OpenJDK:
- 8 (openjdk version "1.8.0_252") (default) - 8 (openjdk version "1.8.0_252") (default)
- 11 (openjdk version "11.0.7" 2020-04-14 LTS) - 11 (openjdk version "11.0.7" 2020-04-14)
- 12 (openjdk version "12.0.2" 2019-07-16) - 12 (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019) - Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019)
- Gradle 6.4.1 - Gradle 6.5
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.7.0 go1.13.6 linux/amd64) - Kind (kind v0.8.1 go1.14.2 linux/amd64)
- kubectl (Client Version: v1.18.2) - kubectl (Client Version: v1.18.4)
- helm (v3.2.1+gfe51cd1) - helm (v3.2.4+g0ad800e)
- minikube version: v1.11.0
- Leiningen (Leiningen 2.9.3 on Java 1.8.0_252 OpenJDK 64-Bit Server VM) - Leiningen (Leiningen 2.9.3 on Java 1.8.0_252 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 4.5.3)) - Mercurial (Mercurial Distributed SCM (version 4.5.3))
- Miniconda (conda 4.8.2) - Miniconda (conda 4.8.3)
- Mono (Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:11:57 UTC 2020)) - Mono (Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:11:57 UTC 2020))
- MySQL (mysql Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using EditLine wrapper) - MySQL (mysql Ver 14.14 Distrib 5.7.30, 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
- 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' - 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'
- nvm (0.35.3) - nvm (0.35.3)
- Node.js (v12.16.3) - Node.js (v12.18.1)
- Grunt (grunt-cli v1.2.0) - Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.0 - Gulp (CLI version: 2.3.0
Local version: Unknown) Local version: Unknown)
- n (6.5.1) - n (6.5.1)
- Parcel (1.12.4) - Parcel (1.12.4)
- TypeScript (Version 3.9.2) - TypeScript (Version 3.9.5)
- Webpack (4.43.0) - Webpack (4.43.0)
- Webpack CLI (3.3.11) - Webpack CLI (3.3.12)
- Yarn (1.22.4) - Yarn (1.22.4)
- Bazel (bazel 3.1.0) - Bazel (bazel 3.3.0)
- Bazelisk (1.4.0) - Bazelisk (1.5.0)
- PhantomJS (2.1.1) - PhantomJS (2.1.1)
- PHP 7.1 (PHP 7.1.33-16+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:11) ( NTS )) - PHP 7.1 (PHP 7.1.33-16+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:11) ( NTS ))
- PHP 7.2 (PHP 7.2.31-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:35) ( NTS )) - PHP 7.2 (PHP 7.2.31-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:35) ( NTS ))
- PHP 7.3 (PHP 7.3.18-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 14 2020 10:34:44) ( NTS )) - PHP 7.3 (PHP 7.3.19-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jun 12 2020 07:48:30) ( NTS ))
- PHP 7.4 (PHP 7.4.6 (cli) (built: May 14 2020 10:02:44) ( NTS )) - PHP 7.4 (PHP 7.4.7 (cli) (built: Jun 12 2020 07:44:05) ( NTS ))
- Composer (Composer version 1.10.6 2020-05-06 10:28:10) - Composer (Composer version 1.10.8 2020-06-24 21:23:30)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate - Pollinate
- psql (PostgreSQL) 10.12 - psql (PostgreSQL) 12.3
- Powershell (PowerShell 7.0.1) - Powershell (PowerShell 7.0.2)
- ruby (2.5.1p57) - ruby (2.5.1p57)
- gem (3.1.3) - gem (3.1.4)
- rustup (1.21.1) - rustup (1.21.1)
- rust (1.43.1) - rust (1.44.1)
- cargo (1.43.0) - cargo (1.44.1)
- rustfmt (1.4.12-stable) - rustfmt (1.4.16-stable)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.43.1) - rustdoc (1.44.1)
- bindgen (0.53.2) - bindgen (0.54.0)
- cbindgen (0.14.2) - cbindgen (0.14.3)
- Julia (julia version 1.4.1) - Julia (julia version 1.4.2)
- sbt (1.3.10) - sbt (1.3.12)
- 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))
- Terraform (Terraform v0.12.25) - Terraform (Terraform v0.12.28)
- Packer (1.5.6) - Packer (1.6.0)
- Vcpkg 2020.02.04-unknownhash - Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (19.0.1) - Vercel CLI (19.1.1)
- MongoDB on Linux (2020-05-18T09:20:20.102+0000 I CONTROL [initandlisten] db version v4.2.6 - MongoDB on Linux (2020-06-25T20:52:33.253+0000 I CONTROL [initandlisten] db version v4.2.8
2020-05-18T09:20:20.102+0000 I CONTROL [initandlisten] git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8 2020-06-25T20:52:33.253+0000 I CONTROL [initandlisten] git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f
2020-05-18T09:20:20.102+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020) 2020-06-25T20:52:33.253+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020)
- Haveged 1.9.1-6 - Haveged 1.9.1-6
- AWS SAM CLI, version 0.49.0 - AWS SAM CLI, version 0.53.0
- Google Repository 58 - Google Repository 58
- Google Play services 49 - Google Play services 49
- Google APIs 24 - Google APIs 24
@@ -239,7 +232,8 @@ Local version: Unknown)
- CMake 3.10.2.4988404 - CMake 3.10.2.4988404
3.6.4111459 3.6.4111459
- Android Support Repository 47.0.0 - Android Support Repository 47.0.0
- Android SDK Platform-Tools 30.0.1 - Android SDK Platform-Tools 30.0.3
- Android SDK Platform 30
- Android SDK Platform 29 - Android SDK Platform 29
- Android SDK Platform 28 - Android SDK Platform 28
- Android SDK Platform 27 - Android SDK Platform 27
@@ -252,6 +246,7 @@ Local version: Unknown)
- Android SDK Platform 19 - Android SDK Platform 19
- Android SDK Platform 17 - Android SDK Platform 17
- Android SDK Patch Applier v4 - Android SDK Patch Applier v4
- Android SDK Build-Tools 30.0.0
- Android SDK Build-Tools 29.0.3 - Android SDK Build-Tools 29.0.3
- Android SDK Build-Tools 29.0.2 - Android SDK Build-Tools 29.0.2
- Android SDK Build-Tools 29.0.0 - Android SDK Build-Tools 29.0.0
@@ -283,7 +278,7 @@ Local version: Unknown)
- Android SDK Build-Tools 20.0.0 - Android SDK Build-Tools 20.0.0
- Android SDK Build-Tools 19.1.0 - Android SDK Build-Tools 19.1.0
- Android SDK Build-Tools 17.0.0 - Android SDK Build-Tools 17.0.0
- Android NDK 21.1.6352462 - Android NDK 21.3.6528147
- Az Module (1.0.0) - Az Module (1.0.0)
- Az Module (1.6.0) - Az Module (1.6.0)
- Az Module (2.3.2) - Az Module (2.3.2)
@@ -291,15 +286,16 @@ Local version: Unknown)
- Az Module (2.8.0) - Az Module (2.8.0)
- Az Module (3.1.0) - Az Module (3.1.0)
- Az Module (3.5.0) - Az Module (3.5.0)
- Az Module (3.8.0)
- Cached container images - Cached container images
- node:10 (Digest: sha256:ce98742448dff008ff29b81816c148599e41e9cc580d17412ce7fb555bf57c6a) - node:12-alpine (Digest: sha256:45694caf08b27f851b10f2ce30e986249d3b06590fefb7d327ba9a4fbd371d2b)
- node:12 (Digest: sha256:880673b2184fec70c7cf342452ce4cfac6c378cfa79d4529f49887bc55eb9f41) - node:12 (Digest: sha256:2b85f4981f92ee034b51a3c8bb22dbb451d650d5c12b6439a169f8adc750e4b6)
- jekyll/builder:latest (Digest: sha256:15d3241ba69bbc0bc62e40c30ec11d9dc4211fde0365a378bf1b9ec8c18eb57e) - jekyll/builder:latest (Digest: sha256:98cda359955f25f18c4bcc78536cdfd30e7ded689b1f52fcd513c75cbe4e751e)
- buildpack-deps:stretch (Digest: sha256:dee4275fc056551e1f83c5a3ea024510ca63f03ceedd9a1c29cbab70644b046b) - node:10 (Digest: sha256:f9e66964ec6e9a78693929b58b3d95aadf03cc70e47f6d276d1e0943853c2bb5)
- debian:9 (Digest: sha256:d4de82f467cf1c7e022e95a1cb074b7d4d38f8ab2c20deeafd884c6a4531d94d) - buildpack-deps:stretch (Digest: sha256:23c6d55a4d5ad7c9476638196920d67a97702433b5b48465496af6ab3214e7e4)
- debian:8 (Digest: sha256:be49b17833279f2177dbaeef87226528af8a652595afc11dd85c8cd8ad7fcd26) - debian:9 (Digest: sha256:c6c98a905e230d779a92e6a329ff7ecad13b8ee0d21da8b013cee0df7e91c170)
- node:12-alpine (Digest: sha256:84f5c9090cc741421b2376b2393e7d5fa2f89d36167c12eb57aef16dd64ecf6c) - debian:8 (Digest: sha256:38a0be899b925afb5524130771850d3d8dd00619a6b50171cab4fab7d7ae8108)
- node:10-alpine (Digest: sha256:b2db1b026f1b01a6a91f39d8204b89c5c13d2b40a017dd4d9253ab066c9cf2cb) - node:10-alpine (Digest: sha256:177cdb2546eb321b7127aa1c45353c5b778959c9e30da29570ff85098786d776)
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011) - alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35) - alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14) - alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
@@ -311,27 +307,29 @@ Local version: Unknown)
- Ruby 2.5.8 - Ruby 2.5.8
- Ruby 2.6.6 - Ruby 2.6.6
- Ruby 2.7.1 - Ruby 2.7.1
- PyPy:
- PyPy 2.7.17
- PyPy 3.6.9
- Python (Python 2.7.17) - Python (Python 2.7.17)
- pip (pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)) - pip (pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7))
- Python3 (Python 3.6.9) - Python3 (Python 3.6.9)
- pip3 (pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)) - pip3 (pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6))
- Go 1.11.13 (go version go1.11.13 linux/amd64)
- Go 1.12.17 (go version go1.12.17 linux/amd64)
- Go 1.13.11 (go version go1.13.11 linux/amd64)
- Go 1.14.3 (go version go1.14.3 linux/amd64)
- Python: - Python:
- Python 2.7.18 - Python 2.7.18
- Python 3.5.9 - Python 3.5.9
- Python 3.6.10 - Python 3.6.10
- Python 3.7.7 - Python 3.7.7
- Python 3.8.3 - Python 3.8.3
- PyPy:
- PyPy 2.7.13 [PyPy 7.3.1 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
- PyPy 3.6.9 [PyPy 7.3.1 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
- node: - node:
- node 8.17.0 - node 8.17.0
- node 10.20.1 - node 10.21.0
- node 12.16.3 - node 12.18.1
- node 14.2.0 - node 14.4.0
- Boost C++ Libraries 1.69.0 - go:
- Boost C++ Libraries 1.72.0 - go 1.11.13
- go 1.12.17
- go 1.13.12
- go 1.14.4
- boost:
- boost 1.69.0
- boost 1.72.0

View File

@@ -1,46 +1,65 @@
<!--- DO NOT EDIT - This markdown file is autogenerated. --> <!--- DO NOT EDIT - This markdown file is autogenerated. -->
# Ubuntu 20.04 LTS # Ubuntu 20.04 LTS
The following software is installed on machines with the 20200531.1 update. The following software is installed on machines with the 20200625.0 update.
*** ***
- Homebrew on Linux (Homebrew 2.3.0 - Homebrew on Linux (Homebrew 2.4.2
Homebrew/linuxbrew-core (git revision 3d1df; last commit 2020-05-30)) Homebrew/linuxbrew-core (git revision 58dca; last commit 2020-06-24))
- 7-Zip 16.02 - 7-Zip 16.02
- Ansible (ansible 2.9.6) - Ansible (ansible 2.9.6)
- AzCopy7 (available by azcopy alias) 7.3.0 - AzCopy7 (available by azcopy alias) 7.3.0
- AzCopy10 (available by azcopy10 alias) 10.4.3 - AzCopy10 (available by azcopy10 alias) 10.4.3
- Azure CLI (azure-cli 2.6.0) - Azure CLI (azure-cli 2.8.0)
- Azure CLI (azure-devops 0.18.0) - Azure CLI (azure-devops 0.18.0)
- Basic CLI: - Basic packages:
- curl
- dnsutils - dnsutils
- file
- ftp
- iproute2 - iproute2
- iputils-ping - iputils-ping
- jq
- libcurl4
- libgbm-dev
- libicu55
- libunwind8 - libunwind8
- locales - locales
- netcat
- openssh-client - openssh-client
- tzdata
- upx
- zstd
- libxkbfile-dev
- pkg-config
- libsecret-1-dev
- libxss1
- libgconf-2-4
- dbus
- xvfb
- libgbm-dev
- libgtk-3-0
- tk
- fakeroot
- dpkg
- rpm
- xz-utils
- xorriso
- zsync
- gnupg2
- lib32z1
- texinfo
- curl
- file
- ftp
- jq
- netcat
- ssh
- parallel - parallel
- rsync - rsync
- shellcheck - shellcheck
- sudo - sudo
- telnet - telnet
- time - time
- tzdata
- unzip - unzip
- upx
- wget
- zip - zip
- zstd - wget
- gnupg2 - m4
- lib32z1 - bison
- Alibaba Cloud CLI (3.0.45) - flex
- AWS CLI (aws-cli/1.18.69 Python/2.7.18rc1 Linux/5.4.0-1012-azure botocore/1.16.19) - libcurl4
- Alibaba Cloud CLI (3.0.48)
- AWS CLI (aws-cli/1.18.87 Python/2.7.18rc1 Linux/5.4.0-1019-azure botocore/1.17.10)
- build-essential - build-essential
- Clang 6.0 (6.0.1) - Clang 6.0 (6.0.1)
- Clang 8 (8.0.1) - Clang 8 (8.0.1)
@@ -51,16 +70,22 @@ Target: x86_64-unknown-linux-gnu
- Podman (podman --version) - Podman (podman --version)
Buildah (buildah --version) Buildah (buildah --version)
Skopeo (skopeo --version) Skopeo (skopeo --version)
- Docker Compose (docker-compose version 1.25.4, build 8d51620a) - Docker Compose (docker-compose version 1.26.0, build d4451659)
- Docker-Moby (Docker version 19.03.11+azure, build dd360c7c0de8d9132a3965db6a59d3ae74f43ba7)
- Docker-Buildx (0.4.1+azure)
- .NET Core SDK: - .NET Core SDK:
- 3.1.301
- 3.1.300 - 3.1.300
- 3.1.202 - 3.1.202
- 3.1.201 - 3.1.201
- 3.1.200 - 3.1.200
- 3.1.105
- 3.1.104 - 3.1.104
- 3.1.103 - 3.1.103
- 3.1.102
- 3.1.101 - 3.1.101
- 3.1.100 - 3.1.100
- 2.1.807
- 2.1.806 - 2.1.806
- 2.1.805 - 2.1.805
- 2.1.804 - 2.1.804
@@ -69,6 +94,7 @@ Skopeo (skopeo --version)
- 2.1.801 - 2.1.801
- 2.1.701 - 2.1.701
- 2.1.700 - 2.1.700
- 2.1.612
- 2.1.611 - 2.1.611
- 2.1.610 - 2.1.610
- 2.1.609 - 2.1.609
@@ -79,6 +105,7 @@ Skopeo (skopeo --version)
- 2.1.604 - 2.1.604
- 2.1.603 - 2.1.603
- 2.1.602 - 2.1.602
- 2.1.515
- 2.1.514 - 2.1.514
- 2.1.513 - 2.1.513
- 2.1.512 - 2.1.512
@@ -100,97 +127,101 @@ Skopeo (skopeo --version)
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2) - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.2)
- Firefox (Mozilla Firefox 76.0.1) - Firefox (Mozilla Firefox 77.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.4.0 - GNU C++ 8.4.0
- GNU C++ 9.3.0 - GNU C++ 9.3.0
- GNU Fortran 8.4.0 - GNU Fortran 8.4.0
- GNU Fortran 9.3.0 - GNU Fortran 9.3.0
- Git (2.26.2) - Git (2.27.0)
- Git Large File Storage (LFS) (2.11.0) - Git Large File Storage (LFS) (2.11.0)
- Git-ftp (1.6.0) - Git-ftp (1.6.0)
- Hub CLI (2.14.2) - Hub CLI (2.14.2)
- Google Chrome (Google Chrome 83.0.4103.61 ) - GitHub CLI 0.10.1
- Google Chrome (Google Chrome 83.0.4103.116 )
- ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}); Chrome Driver is available via CHROMEWEBDRIVER environment variable - ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (294.0.0) - Google Cloud SDK (298.0.0)
- Haskell Cabal (cabal-install version 3.2.0.0 - Haskell Cabal (cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library ) compiled using version 3.2.0.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5)
- 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) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1)
- Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0) - Haskell Stack (Version 2.3.1, Git revision de2a7b694f07de7e6cf17f8c92338c16286b2878 (8103 commits) x86_64 hpack-0.33.0)
- Heroku (heroku/7.41.1 linux-x64 node-v12.16.2) - Heroku (heroku/7.42.1 linux-x64 node-v12.16.2)
- HHVM (HipHop VM 4.59.0 (rel)) - HHVM (HipHop VM 4.62.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK: - Adopt OpenJDK:
- 8 (openjdk version "1.8.0_252") - 8 (openjdk version "1.8.0_252")
- 11 (openjdk version "11.0.7" 2020-04-14 LTS) (default) - 11 (openjdk version "11.0.7" 2020-04-14) (default)
- 12 (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.10.7 compiled on October 24 2019) - Ant (Apache Ant(TM) version 1.10.7 compiled on October 24 2019)
- Gradle 6.4.1 - Gradle 6.5
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)) - Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.8.1 go1.14.2 linux/amd64) - Kind (kind v0.8.1 go1.14.2 linux/amd64)
- kubectl (Client Version: v1.18.3) - kubectl (Client Version: v1.18.4)
- helm (v3.2.1+gfe51cd1) - helm (v3.2.4+g0ad800e)
- minikube version: v1.11.0 - minikube version: v1.11.0
- Leiningen (Leiningen 2.9.3 on Java 1.8.0_252 OpenJDK 64-Bit Server VM) - Leiningen (Leiningen 2.9.3 on Java 11.0.7 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 5.3.1)) - Mercurial (Mercurial Distributed SCM (version 5.3.1))
- Miniconda (conda 4.8.2) - Miniconda (conda 4.8.3)
- Mono (Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:14:32 UTC 2020)) - Mono (Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:14:32 UTC 2020))
- MySQL (mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))) - MySQL (mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu)))
- MySQL Server (user:root password:root) - MySQL Server (user:root password:root)
- MS SQL Server Client Tools - MS SQL Server Client Tools
- 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' - 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'
- nvm (0.35.3) - nvm (0.35.3)
- Node.js (v12.17.0) - Node.js (v12.18.1)
- Grunt (grunt-cli v1.2.0) - Grunt (grunt-cli v1.2.0)
- Gulp (CLI version: 2.2.1 - Gulp (CLI version: 2.3.0
Local version: Unknown) Local version: Unknown)
- n (6.5.1) - n (6.5.1)
- Parcel (1.12.4) - Parcel (1.12.4)
- TypeScript (Version 3.9.3) - TypeScript (Version 3.9.5)
- Webpack (4.43.0) - Webpack (4.43.0)
- Webpack CLI (3.3.11) - Webpack CLI (3.3.12)
- Yarn (1.22.4) - Yarn (1.22.4)
- Bazel (bazel 3.2.0) - Bazel (bazel 3.3.0)
- Bazelisk (1.4.0) - Bazelisk (1.5.0)
- PhantomJS (2.1.1) - PhantomJS (2.1.1)
- Composer (Composer version 1.10.6 2020-05-06 10:28:10) - PHP 7.4 (PHP 7.4.7 (cli) (built: Jun 12 2020 07:44:38) ( NTS ))
- Composer (Composer version 1.10.8 2020-06-24 21:23:30)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.) - PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate - Pollinate
- psql (PostgreSQL) 12.2 - psql (PostgreSQL) 12.3
- Powershell (PowerShell 7.0.0) - Powershell (PowerShell 7.0.2)
- ruby (2.7.0p0) - ruby (2.7.0p0)
- gem (3.1.3) - gem (3.1.2)
- rustup (1.21.1) - rustup (1.21.1)
- rust (1.43.1) - rust (1.44.1)
- cargo (1.43.0) - cargo (1.44.1)
- rustfmt (1.4.12-stable) - rustfmt (1.4.16-stable)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.43.1) - rustdoc (1.44.1)
- bindgen (0.54.0) - bindgen (0.54.0)
- cbindgen (0.14.2) - cbindgen (0.14.3)
- Julia (julia version 1.4.2) - Julia (julia version 1.4.2)
- sbt (copying runtime jar...
1.3.12)
- 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.13.0 (r1867053)) - Subversion (svn, version 1.13.0 (r1867053))
- Terraform (Terraform v0.12.26) - Terraform (Terraform v0.12.28)
- Packer (1.5.6) - Packer (1.6.0)
- Vcpkg 2020.02.04-unknownhash - Vcpkg 2020.02.04-unknownhash
- Zeit Vercel CLI (19.0.1) - Vercel CLI (19.1.1)
- Haveged 1.9.1-6ubuntu1 - Haveged 1.9.1-6ubuntu1
- AWS SAM CLI, version 0.52.0 - AWS SAM CLI, version 0.53.0
- Go 1.14.3 (go version go1.14.3 linux/amd64)
- Google Repository 58 - Google Repository 58
- Google Play services 49 - Google Play services 49
- CMake 3.10.2.4988404 - CMake 3.10.2.4988404
- Android Support Repository 47.0.0 - Android Support Repository 47.0.0
- Android SDK Platform-Tools 30.0.1 - Android SDK Platform-Tools 30.0.3
- Android SDK Platform 30
- Android SDK Platform 29 - Android SDK Platform 29
- Android SDK Platform 28 - Android SDK Platform 28
- Android SDK Platform 27 - Android SDK Platform 27
- Android SDK Patch Applier v4 - Android SDK Patch Applier v4
- Android SDK Build-Tools 30.0.0
- Android SDK Build-Tools 29.0.3 - Android SDK Build-Tools 29.0.3
- Android SDK Build-Tools 29.0.2 - Android SDK Build-Tools 29.0.2
- Android SDK Build-Tools 29.0.0 - Android SDK Build-Tools 29.0.0
@@ -202,9 +233,44 @@ Local version: Unknown)
- Android SDK Build-Tools 27.0.2 - Android SDK Build-Tools 27.0.2
- Android SDK Build-Tools 27.0.1 - Android SDK Build-Tools 27.0.1
- Android SDK Build-Tools 27.0.0 - Android SDK Build-Tools 27.0.0
- Android NDK 21.2.6472646 - Android NDK 21.3.6528147
- Az Module (4.1.0) - Az Module (4.3.0)
- Cached container images
- node:12-alpine (Digest: sha256:45694caf08b27f851b10f2ce30e986249d3b06590fefb7d327ba9a4fbd371d2b)
- node:12 (Digest: sha256:2b85f4981f92ee034b51a3c8bb22dbb451d650d5c12b6439a169f8adc750e4b6)
- jekyll/builder:latest (Digest: sha256:98cda359955f25f18c4bcc78536cdfd30e7ded689b1f52fcd513c75cbe4e751e)
- node:10 (Digest: sha256:f9e66964ec6e9a78693929b58b3d95aadf03cc70e47f6d276d1e0943853c2bb5)
- buildpack-deps:stretch (Digest: sha256:23c6d55a4d5ad7c9476638196920d67a97702433b5b48465496af6ab3214e7e4)
- debian:9 (Digest: sha256:c6c98a905e230d779a92e6a329ff7ecad13b8ee0d21da8b013cee0df7e91c170)
- debian:8 (Digest: sha256:38a0be899b925afb5524130771850d3d8dd00619a6b50171cab4fab7d7ae8108)
- node:10-alpine (Digest: sha256:177cdb2546eb321b7127aa1c45353c5b778959c9e30da29570ff85098786d776)
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
- ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4)
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
- Ruby:
- Ruby 2.5.8
- Ruby 2.6.6
- Ruby 2.7.1
- Python (Python 2.7.18rc1) - Python (Python 2.7.18rc1)
- pip (pip 20.1.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)) - pip (pip 20.1.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7))
- Python3 (Python 3.8.2) - Python3 (Python 3.8.2)
- pip3 (pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)) - pip3 (pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8))
- Python:
- Python 2.7.18
- Python 3.5.9
- Python 3.6.10
- Python 3.7.7
- Python 3.8.3
- PyPy:
- PyPy 2.7.13 [PyPy 7.3.1 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
- PyPy 3.6.9 [PyPy 7.3.1 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
- node:
- node 8.17.0
- node 10.21.0
- node 12.18.1
- node 14.4.0
- go:
- go 1.14.4

View File

@@ -0,0 +1,9 @@
#!/bin/bash
export DEBIAN_FRONTEND=noninteractive
apt-get -yqq update
apt-get -yqq dist-upgrade
systemctl disable apt-daily.service
systemctl disable apt-daily.timer
systemctl disable apt-daily-upgrade.timer
systemctl disable apt-daily-upgrade.service

View File

@@ -0,0 +1,7 @@
#!/bin/bash
echo '* soft nofile 65536' >> /etc/security/limits.conf
echo '* hard nofile 65536' >> /etc/security/limits.conf
echo 'session required pam_limits.so' >> /etc/pam.d/common-session
echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive
echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf

View File

@@ -11,13 +11,19 @@ download_with_retries() {
local URL="$1" local URL="$1"
local DEST="${2:-.}" local DEST="${2:-.}"
local NAME="${3:-${URL##*/}}" local NAME="${3:-${URL##*/}}"
local COMPRESSED="$4"
if [ $COMPRESSED == "compressed" ]; then
COMMAND="curl $URL -4 -s --compressed -o '$DEST/$NAME'"
else
COMMAND="curl $URL -4 -s -o '$DEST/$NAME'"
fi
echo "Downloading $URL..." echo "Downloading $URL..."
i=20 i=20
while [ $i -gt 0 ]; do while [ $i -gt 0 ]; do
((i--)) ((i--))
wget $URL --output-document="$DEST/$NAME" \ eval $COMMAND
--no-verbose
if [ $? != 0 ]; then if [ $? != 0 ]; then
sleep 30 sleep 30
else else

View File

@@ -44,6 +44,7 @@ chmod -R a+X ${ANDROID_SDK_ROOT}
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
"ndk-bundle" \ "ndk-bundle" \
"platform-tools" \ "platform-tools" \
"platforms;android-30" \
"platforms;android-29" \ "platforms;android-29" \
"platforms;android-28" \ "platforms;android-28" \
"platforms;android-27" \ "platforms;android-27" \
@@ -57,6 +58,7 @@ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
"platforms;android-17" \ "platforms;android-17" \
"platforms;android-15" \ "platforms;android-15" \
"platforms;android-10" \ "platforms;android-10" \
"build-tools;30.0.0" \
"build-tools;29.0.3" \ "build-tools;29.0.3" \
"build-tools;29.0.2" \ "build-tools;29.0.2" \
"build-tools;29.0.0" \ "build-tools;29.0.0" \
@@ -116,6 +118,7 @@ DocumentInstalledItem "Android Support Repository 47.0.0"
DocumentInstalledItem "Android Solver for ConstraintLayout 1.0.2" DocumentInstalledItem "Android Solver for ConstraintLayout 1.0.2"
DocumentInstalledItem "Android Solver for ConstraintLayout 1.0.1" DocumentInstalledItem "Android Solver for ConstraintLayout 1.0.1"
DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)" DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
DocumentInstalledItem "Android SDK Platform 30"
DocumentInstalledItem "Android SDK Platform 29" DocumentInstalledItem "Android SDK Platform 29"
DocumentInstalledItem "Android SDK Platform 28" DocumentInstalledItem "Android SDK Platform 28"
DocumentInstalledItem "Android SDK Platform 27" DocumentInstalledItem "Android SDK Platform 27"
@@ -130,6 +133,7 @@ DocumentInstalledItem "Android SDK Platform 17"
DocumentInstalledItem "Android SDK Platform 15" DocumentInstalledItem "Android SDK Platform 15"
DocumentInstalledItem "Android SDK Platform 10" DocumentInstalledItem "Android SDK Platform 10"
DocumentInstalledItem "Android SDK Patch Applier v4" DocumentInstalledItem "Android SDK Patch Applier v4"
DocumentInstalledItem "Android SDK Build-Tools 30.0.0"
DocumentInstalledItem "Android SDK Build-Tools 29.0.3" DocumentInstalledItem "Android SDK Build-Tools 29.0.3"
DocumentInstalledItem "Android SDK Build-Tools 29.0.2" DocumentInstalledItem "Android SDK Build-Tools 29.0.2"
DocumentInstalledItem "Android SDK Build-Tools 29.0.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.0"

View File

@@ -10,60 +10,67 @@ source $HELPER_SCRIPTS/apt.sh
set -e set -e
# Install basic command-line utilities common_packages="dnsutils
apt-fast install -y --no-install-recommends \ iproute2
curl \ iputils-ping
dnsutils \ libc++-dev
file \ libc++abi-dev
ftp \ libcurl3
iproute2 \ libicu55
iputils-ping \ libunwind8
jq \ locales
libc++-dev \ openssh-client
libc++abi-dev \ tzdata
libcurl3 \ zstd
libicu55 \ lib32z1
libunwind8 \ libxkbfile-dev
locales \ pkg-config
netcat \ libsecret-1-dev
openssh-client \ libxss1
parallel \ libgconf-2-4
rsync \ dbus
shellcheck \ xvfb
sudo \ libgbm-dev
telnet \ libgtk-3-0
time \ tk
tzdata \ fakeroot
unzip \ dpkg
upx \ rpm
wget \ xz-utils
zip \ xorriso
zstd \ zsync
lib32z1 gnupg2
texinfo"
# Electron / VSCode / GitHub Desktop / kubectl prereqs cmd_packages="curl
apt-fast install -y --no-install-recommends \ file
libxkbfile-dev \ ftp
pkg-config \ jq
libsecret-1-dev \ netcat
libxss1 \ ssh
libgconf-2-4 \ parallel
dbus \ rsync
xvfb \ shellcheck
libgbm-dev \ sudo
libgtk-3-0 \ telnet
tk \ time
fakeroot \ unzip
dpkg \ zip
rpm \ wget
xz-utils \ upx
xorriso \ m4
zsync \ bison
gnupg2 flex"
# Install basic command-line utilities
for package in $common_packages $cmd_packages; do
echo "Install $package"
apt-fast install -y --no-install-recommends $package
done
# 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"
for cmd in curl file ftp jq netcat ssh parallel rsync shellcheck sudo telnet time unzip upx wget zip; do for cmd in $cmd_packages; do
if ! command -v $cmd; then if ! command -v $cmd; then
echo "$cmd was not installed" echo "$cmd was not installed"
exit 1 exit 1
@@ -72,34 +79,7 @@ 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 "Basic CLI:" DocumentInstalledItem "Basic packages:"
DocumentInstalledItemIndent "curl" for package in $common_packages $cmd_packages; do
DocumentInstalledItemIndent "dnsutils" DocumentInstalledItemIndent $package
DocumentInstalledItemIndent "file" done
DocumentInstalledItemIndent "ftp"
DocumentInstalledItemIndent "iproute2"
DocumentInstalledItemIndent "iputils-ping"
DocumentInstalledItemIndent "jq"
DocumentInstalledItemIndent "libc++-dev"
DocumentInstalledItemIndent "libc++abi-dev"
DocumentInstalledItemIndent "libcurl3"
DocumentInstalledItemIndent "libgbm-dev"
DocumentInstalledItemIndent "libicu55"
DocumentInstalledItemIndent "libunwind8"
DocumentInstalledItemIndent "locales"
DocumentInstalledItemIndent "netcat"
DocumentInstalledItemIndent "openssh-client"
DocumentInstalledItemIndent "parallel"
DocumentInstalledItemIndent "rsync"
DocumentInstalledItemIndent "shellcheck"
DocumentInstalledItemIndent "sudo"
DocumentInstalledItemIndent "telnet"
DocumentInstalledItemIndent "time"
DocumentInstalledItemIndent "tzdata"
DocumentInstalledItemIndent "unzip"
DocumentInstalledItemIndent "upx"
DocumentInstalledItemIndent "wget"
DocumentInstalledItemIndent "zip"
DocumentInstalledItemIndent "zstd"
DocumentInstalledItemIndent "gnupg2"
DocumentInstalledItemIndent "lib32z1"

View File

@@ -44,6 +44,7 @@ fi
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
"ndk-bundle" \ "ndk-bundle" \
"platform-tools" \ "platform-tools" \
"platforms;android-30" \
"platforms;android-29" \ "platforms;android-29" \
"platforms;android-28" \ "platforms;android-28" \
"platforms;android-27" \ "platforms;android-27" \
@@ -55,6 +56,7 @@ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
"platforms;android-21" \ "platforms;android-21" \
"platforms;android-19" \ "platforms;android-19" \
"platforms;android-17" \ "platforms;android-17" \
"build-tools;30.0.0" \
"build-tools;29.0.3" \ "build-tools;29.0.3" \
"build-tools;29.0.2" \ "build-tools;29.0.2" \
"build-tools;29.0.0" \ "build-tools;29.0.0" \
@@ -108,6 +110,7 @@ DocumentInstalledItem "Google APIs 21"
DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)" DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)"
DocumentInstalledItem "Android Support Repository 47.0.0" DocumentInstalledItem "Android Support Repository 47.0.0"
DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)" DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
DocumentInstalledItem "Android SDK Platform 30"
DocumentInstalledItem "Android SDK Platform 29" DocumentInstalledItem "Android SDK Platform 29"
DocumentInstalledItem "Android SDK Platform 28" DocumentInstalledItem "Android SDK Platform 28"
DocumentInstalledItem "Android SDK Platform 27" DocumentInstalledItem "Android SDK Platform 27"
@@ -120,6 +123,7 @@ DocumentInstalledItem "Android SDK Platform 21"
DocumentInstalledItem "Android SDK Platform 19" DocumentInstalledItem "Android SDK Platform 19"
DocumentInstalledItem "Android SDK Platform 17" DocumentInstalledItem "Android SDK Platform 17"
DocumentInstalledItem "Android SDK Patch Applier v4" DocumentInstalledItem "Android SDK Patch Applier v4"
DocumentInstalledItem "Android SDK Build-Tools 30.0.0"
DocumentInstalledItem "Android SDK Build-Tools 29.0.3" DocumentInstalledItem "Android SDK Build-Tools 29.0.3"
DocumentInstalledItem "Android SDK Build-Tools 29.0.2" DocumentInstalledItem "Android SDK Build-Tools 29.0.2"
DocumentInstalledItem "Android SDK Build-Tools 29.0.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.0"

View File

@@ -49,9 +49,11 @@ fi
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
"ndk-bundle" \ "ndk-bundle" \
"platform-tools" \ "platform-tools" \
"platforms;android-30" \
"platforms;android-29" \ "platforms;android-29" \
"platforms;android-28" \ "platforms;android-28" \
"platforms;android-27" \ "platforms;android-27" \
"build-tools;30.0.0" \
"build-tools;29.0.3" \ "build-tools;29.0.3" \
"build-tools;29.0.2" \ "build-tools;29.0.2" \
"build-tools;29.0.0" \ "build-tools;29.0.0" \
@@ -76,10 +78,12 @@ DocumentInstalledItem "Google Play services $(cat ${ANDROID_SDK_ROOT}/extras/goo
DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)" DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)"
DocumentInstalledItem "Android Support Repository 47.0.0" DocumentInstalledItem "Android Support Repository 47.0.0"
DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)" DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
DocumentInstalledItem "Android SDK Platform 30"
DocumentInstalledItem "Android SDK Platform 29" DocumentInstalledItem "Android SDK Platform 29"
DocumentInstalledItem "Android SDK Platform 28" DocumentInstalledItem "Android SDK Platform 28"
DocumentInstalledItem "Android SDK Platform 27" DocumentInstalledItem "Android SDK Platform 27"
DocumentInstalledItem "Android SDK Patch Applier v4" DocumentInstalledItem "Android SDK Patch Applier v4"
DocumentInstalledItem "Android SDK Build-Tools 30.0.0"
DocumentInstalledItem "Android SDK Build-Tools 29.0.3" DocumentInstalledItem "Android SDK Build-Tools 29.0.3"
DocumentInstalledItem "Android SDK Build-Tools 29.0.2" DocumentInstalledItem "Android SDK Build-Tools 29.0.2"
DocumentInstalledItem "Android SDK Build-Tools 29.0.0" DocumentInstalledItem "Android SDK Build-Tools 29.0.0"

View File

@@ -1,24 +0,0 @@
#!/bin/bash
################################################################################
## File: containers.sh
## Desc: Installs container tools: podman, buildah and skopeo onto the image
################################################################################
source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh
source /etc/os-release
sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
apt-key add - < Release.key
apt-get update -qq
apt-get -qq -y install podman buildah skopeo
mkdir -p /etc/containers
echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf
## Add version information to the metadata file
echo "Documenting container tools version"
PODMAN_VERSION='podman --version'
BUILDAH_VERSION='buildah --version'
SKOPEO_VERSION='skopeo --version'
DocumentInstalledItem "Podman ($PODMAN_VERSION)\nBuildah ($BUILDAH_VERSION)\nSkopeo ($SKOPEO_VERSION)"

View File

@@ -0,0 +1,95 @@
################################################################################
## File: Configure-Toolset.ps1
## Team: CI-Build
## Desc: Configure toolset
################################################################################
function Get-ToolsetToolFullPath
{
param
(
[Parameter(Mandatory)] [string] $ToolName,
[Parameter(Mandatory)] [string] $ToolVersion,
[Parameter(Mandatory)] [string] $ToolArchitecture
)
$toolPath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $toolName
$toolPathVersion = Join-Path -Path $toolPath -ChildPath $toolVersion
$foundVersion = Get-Item $toolPathVersion | Sort-Object -Property {[version]$_.name} -Descending | Select-Object -First 1
$installationDir = Join-Path -Path $foundVersion -ChildPath $toolArchitecture
return $installationDir
}
function Add-EnvironmentVariable
{
param
(
[Parameter(Mandatory)] [string] $Name,
[Parameter(Mandatory)] [string] $Value,
[string] $FilePath = "/etc/environment"
)
$envVar = "{0}={1}" -f $name, $value
Tee-Object -InputObject $envVar -FilePath $filePath -Append
}
$ErrorActionPreference = "Stop"
Write-Host "Configure toolset tools environment..."
$toolsEnvironment = @{
boost = @{
variableTemplate = "BOOST_ROOT_{0}_{1}_{2}"
}
go = @{
command = "ln -s {0}/bin/* /usr/bin/"
defaultVariable = "GOROOT"
variableTemplate = "GOROOT_{0}_{1}_X64"
}
}
$toolset = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw | ConvertFrom-Json
foreach ($tool in $toolset.toolcache)
{
$toolName = $tool.name
$toolArch = $tool.arch
$toolEnvironment = $toolsEnvironment[$toolName]
if (-not $toolEnvironment)
{
continue
}
foreach ($toolVersion in $tool.versions)
{
Write-Host "Set $toolName $toolVersion environment variable..."
$toolPath = Get-ToolsetToolFullPath -ToolName $toolName -ToolVersion $toolVersion -ToolArchitecture $toolArch
$envName = $toolEnvironment.variableTemplate -f $toolVersion.split(".")
# Add environment variable name=value
Add-EnvironmentVariable -Name $envName -Value $toolPath
}
# Invoke command and add env variable for the default tool version
$toolDefVersion = $tool.default
if (-not $toolDefVersion)
{
continue
}
$envDefName = $toolEnvironment.defaultVariable
$toolPath = Get-ToolsetToolFullPath -ToolName $toolName -ToolVersion $toolDefVersion -ToolArchitecture $toolArch
if ($envDefName)
{
Write-Host "Set default $envDefName for $toolName $toolDefVersion environment variable..."
Add-EnvironmentVariable -Name $envDefName -Value $toolPath
}
if ($toolEnvironment.command)
{
$command = $toolEnvironment.command -f $toolPath
Write-Host "Invoke $command command for default $toolName $toolDefVersion..."
Invoke-Expression -Command $command
}
}

View File

@@ -28,8 +28,9 @@ $ErrorActionPreference = "Stop"
# Get toolset content # Get toolset content
$toolsetJson = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw $toolsetJson = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw
$toolsToInstall = @("Python", "Node") $toolsToInstall = @("Python", "Node", "Boost", "Go")
$tools = ConvertFrom-Json -InputObject $toolsetJson | Select-Object -ExpandProperty toolcache | Where {$ToolsToInstall -contains $_.Name}
$tools = ConvertFrom-Json -InputObject $toolsetJson | Select-Object -ExpandProperty toolcache | Where-Object {$ToolsToInstall -contains $_.Name}
foreach ($tool in $tools) { foreach ($tool in $tools) {
# Get versions manifest for current tool # Get versions manifest for current tool
@@ -43,10 +44,9 @@ foreach ($tool in $tools) {
| Select-Object -First 1 | Select-Object -First 1
Write-Host "Installing $($tool.name) $toolVersion $($tool.arch)..." Write-Host "Installing $($tool.name) $toolVersion $($tool.arch)..."
if ($asset -ne $null) { if ($null -ne $asset) {
Install-Asset -ReleaseAsset $asset Install-Asset -ReleaseAsset $asset
} } else {
else {
Write-Host "Asset was not found in versions manifest" Write-Host "Asset was not found in versions manifest"
exit 1 exit 1
} }
@@ -54,4 +54,5 @@ foreach ($tool in $tools) {
} }
chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/Python chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/Python
chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/node chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/node
chown -R "$($env:SUDO_USER):$($env:SUDO_USER)" /opt/hostedtoolcache/go

View File

@@ -9,13 +9,13 @@ function Run-ExecutableTests {
[Parameter(Mandatory)] [string[]] $Executables, [Parameter(Mandatory)] [string[]] $Executables,
[Parameter(Mandatory)] [string] $ToolPath [Parameter(Mandatory)] [string] $ToolPath
) )
$versionCommand = $Executables["command"]
foreach ($executable in $Executables) { foreach ($executable in $Executables["tools"]) {
$executablePath = Join-Path $ToolPath $executable $executablePath = Join-Path $ToolPath $executable
Write-Host "Check $executable..." Write-Host "Check $executable..."
if (Test-Path $executablePath) { if (Test-Path $executablePath) {
Write-Host "$executable is successfully installed: $(& $executablePath --version)" Write-Host "$executable is successfully installed: $(& $executablePath $versionCommand)"
} else { } else {
Write-Host "$executablePath is not installed!" Write-Host "$executablePath is not installed!"
exit 1 exit 1
@@ -27,9 +27,22 @@ $ErrorActionPreference = "Stop"
# Define executables for cached tools # Define executables for cached tools
$toolsExecutables = @{ $toolsExecutables = @{
Python = @("python", "bin/pip") Python = @{
node = @("bin/node", "bin/npm") tools = @("python", "bin/pip")
PyPy = @("bin/python", "bin/pip") command = "--version"
}
node = @{
tools = @("bin/node", "bin/npm")
command = "--version"
}
PyPy = @{
tools = @("bin/python", "bin/pip")
command = "--version"
}
go = @{
tools = @("bin/go")
command = "version"
}
} }
# Get toolset content # Get toolset content
@@ -45,8 +58,8 @@ foreach($tool in $tools) {
foreach ($version in $tool.versions) { foreach ($version in $tool.versions) {
# Add wildcard if missing # Add wildcard if missing
if (-not $version.Contains('*')) { if ($version.Split(".").Length -lt 3) {
$version += '.*' $version += ".*"
} }
# Check if version folder exists # Check if version folder exists
@@ -62,9 +75,10 @@ foreach($tool in $tools) {
| Select-Object -First 1 | Select-Object -First 1
$foundVersionPath = Join-Path $foundVersion $tool.arch $foundVersionPath = Join-Path $foundVersion $tool.arch
Write-Host "Run validation test for $($tool.name)($($tool.arch)) $($foundVersion.name) executables..." if ($toolExecs) {
Run-ExecutableTests -Executables $toolExecs -ToolPath $foundVersionPath Write-Host "Run validation test for $($tool.name)($($tool.arch)) $($foundVersion.name) executables..."
Run-ExecutableTests -Executables $toolExecs -ToolPath $foundVersionPath
}
$foundVersionName = $foundVersion.name $foundVersionName = $foundVersion.name
if ($tool.name -eq 'PyPy') if ($tool.name -eq 'PyPy')
{ {

View File

@@ -2,15 +2,26 @@
################################################################################ ################################################################################
## File: aws-sam-cli.sh ## File: aws-sam-cli.sh
## Desc: Installs AWS SAM CLI ## Desc: Installs AWS SAM CLI
## Must be run as non-root user after homebrew and clang ## Requires Python >=3.6, must be run as non-root user after toolset installation
################################################################################ ################################################################################
# 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
# Install aws sam cli # Download latest aws sam cli sources
brew tap aws/tap TarballUrl=$(curl -s https://api.github.com/repos/awslabs/aws-sam-cli/releases/latest | jq -r '.tarball_url')
brew install aws-sam-cli TarballPath="/tmp/aws-sam-cli.tar.gz"
wget $TarballUrl -O $TarballPath
tar -xzvf $TarballPath -C /tmp
cd /tmp/awslabs-aws-sam-cli*
# Use python 3.7 from toolcache to install aws sam, setuptools package required for the installation
Python3Dir=$(echo /opt/hostedtoolcache/Python/3.7*/x64)
Python3BinDir="${Python3Dir}/bin"
export PATH="$Python3Dir:$Python3BinDir:$PATH"
python3 -m pip install setuptools
python3 setup.py install
sudo ln -sf ${Python3BinDir}/sam /usr/local/bin/sam
# 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"

View File

@@ -6,13 +6,24 @@
# Source the helpers # Source the helpers
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# Install the AWS CLI # Install the AWS CLI v1 on Ubuntu16 and Ubuntu18, and AWS CLI v2 on Ubuntu20
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" if isUbuntu20 ; then
unzip awscli-bundle.zip curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws unzip awscliv2.zip
rm awscli-bundle.zip ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
rm -rf awscli-bundle rm awscliv2.zip
rm -rf aws
fi
if isUbuntu16 || isUbuntu18 ; then
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
rm awscli-bundle.zip
rm -rf awscli-bundle
fi
# Validate the installation # Validate the installation
echo "Validate the installation" echo "Validate the installation"

View File

@@ -1,43 +1,44 @@
#!/bin/bash #!/bin/bash
################################################################################ ################################################################################
## File: azpowershell.sh ## File: azpowershell.sh
## Desc: Installed Azure PowerShell ## Desc: Installed Azure PowerShell
################################################################################ ################################################################################
# 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 source $HELPER_SCRIPTS/os.sh
# List of versions # List of versions
if isUbuntu20 ; then if isUbuntu20 ; then
versions=$(pwsh -Command '(Find-Module -Name Az).Version') versions=$(pwsh -Command '(Find-Module -Name Az).Version')
else else
versions=(1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0) toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json"
fi versions=$(cat $toolsetJson | jq -r '.azureModules[] | select(.name | contains("az")) | .versions[]')
fi
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
for version in ${versions[@]}; do # Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
pwsh -Command "Save-Module -Name Az -LiteralPath /usr/share/az_$version -RequiredVersion $version -Force" for version in ${versions[@]}; do
done pwsh -Command "Save-Module -Name Az -LiteralPath /usr/share/az_$version -RequiredVersion $version -Force"
done
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" # Run tests to determine that the software installed as expected
for version in ${versions[@]}; do echo "Testing to make sure that script performed as expected, and basic scenarios work"
modulePath="/usr/share/az_$version" for version in ${versions[@]}; do
pwsh -Command " modulePath="/usr/share/az_$version"
\$env:PSModulePath = '${modulePath}:' + \$env:PSModulePath; pwsh -Command "
if ( -not (Get-Module -ListAvailable -Name Az.Accounts)) { \$env:PSModulePath = '${modulePath}:' + \$env:PSModulePath;
Write-Host 'Az Module was not installed' if ( -not (Get-Module -ListAvailable -Name Az.Accounts)) {
exit 1 Write-Host 'Az Module was not installed'
}" exit 1
if [ $? -ne 0 ]; then }"
echo "Az version $version is not installed" if [ $? -ne 0 ]; then
exit 1 echo "Az version $version is not installed"
fi exit 1
done fi
done
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file" # Document what was added to the image
for version in ${versions[@]}; do echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Az Module ($version)" for version in ${versions[@]}; do
done DocumentInstalledItem "Az Module ($version)"
done

View File

@@ -6,16 +6,9 @@
# 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
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) # Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
# Temporary downgrade to 2.5.1 installation until version 2.7.0 with the fix for the issue is not released https://github.com/actions/virtual-environments/issues/948
# There is no 2.5.1 version for Ubuntu20
if isUbuntu16 || isUbuntu18 ; then
label=$(getOSVersionLabel)
apt-get install -y --allow-downgrades azure-cli=2.5.1-1~$label
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"

View File

@@ -11,29 +11,59 @@ source $HELPER_SCRIPTS/os.sh
set -e set -e
common_packages="dnsutils
iproute2
iputils-ping
libunwind8
locales
openssh-client
tzdata
upx
zstd
libxkbfile-dev
pkg-config
libsecret-1-dev
libxss1
libgconf-2-4
dbus
xvfb
libgbm-dev
libgtk-3-0
tk
fakeroot
dpkg
rpm
xz-utils
xorriso
zsync
gnupg2
lib32z1
texinfo"
cmd_packages="curl
file
ftp
jq
netcat
ssh
parallel
rsync
shellcheck
sudo
telnet
time
unzip
zip
wget
m4
bison
flex"
if isUbuntu20 ; then if isUbuntu20 ; then
echo "Install python2" echo "Install python2"
apt-get install -y --no-install-recommends python-is-python2 apt-get install -y --no-install-recommends python-is-python2
fi fi
echo "Install dnsutils"
apt-get install -y --no-install-recommends dnsutils
echo "Install file"
apt-get install -y --no-install-recommends file
echo "Install ftp"
apt-get install -y --no-install-recommends ftp
echo "Install iproute2"
apt-get install -y --no-install-recommends iproute2
echo "Install iputils-ping"
apt-get install -y --no-install-recommends iputils-ping
echo "Install jq"
apt-get install -y --no-install-recommends jq
echo "Install libcurl" echo "Install libcurl"
if isUbuntu18 ; then if isUbuntu18 ; then
libcurelVer="libcurl3" libcurelVer="libcurl3"
@@ -45,114 +75,15 @@ fi
apt-get install -y --no-install-recommends $libcurelVer apt-get install -y --no-install-recommends $libcurelVer
echo "Install libunwind8" for package in $common_packages $cmd_packages; do
apt-get install -y --no-install-recommends libunwind8 echo "Install $package"
apt-get install -y --no-install-recommends $package
done
echo "Install locales"
apt-get install -y --no-install-recommends locales
echo "Install netcat"
apt-get install -y --no-install-recommends netcat
echo "Install openssh-client"
apt-get install -y --no-install-recommends openssh-client
echo "Install rsync"
apt-get install -y --no-install-recommends rsync
echo "Install shellcheck"
apt-get install -y --no-install-recommends shellcheck
echo "Install sudo"
apt-get install -y --no-install-recommends sudo
echo "Install telnet"
apt-get install -y --no-install-recommends telnet
echo "Install time"
apt-get install -y --no-install-recommends time
echo "Install tzdata"
apt-get install -y --no-install-recommends tzdata
echo "Install unzip"
apt-get install -y --no-install-recommends unzip
echo "Install upx"
apt-get install -y --no-install-recommends upx
echo "Install wget"
apt-get install -y --no-install-recommends wget
echo "Install zip"
apt-get install -y --no-install-recommends zip
echo "Install zstd"
apt-get install -y --no-install-recommends zstd
echo "Install libxkbfile"
apt-get install -y --no-install-recommends libxkbfile-dev
echo "Install pkg-config"
apt-get install -y --no-install-recommends pkg-config
echo "Install libsecret-1-dev"
apt-get install -y --no-install-recommends libsecret-1-dev
echo "Install libxss1"
apt-get install -y --no-install-recommends libxss1
echo "Install libgconf-2-4"
apt-get install -y --no-install-recommends libgconf-2-4
echo "Install dbus"
apt-get install -y --no-install-recommends dbus
echo "Install 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"
apt-get install -y --no-install-recommends libgtk-3-0
echo "Install tk"
apt install -y tk
echo "Install fakeroot"
apt-get install -y --no-install-recommends fakeroot
echo "Install dpkg"
apt-get install -y --no-install-recommends dpkg
echo "Install rpm"
apt-get install -y --no-install-recommends rpm
echo "Install xz-utils"
apt-get install -y --no-install-recommends xz-utils
echo "Install xorriso"
apt-get install -y --no-install-recommends xorriso
echo "Install zsync"
apt-get install -y --no-install-recommends zsync
echo "Install curl"
apt-get install -y --no-install-recommends curl
echo "Install parallel"
apt-get install -y --no-install-recommends parallel
echo "Install gnupg2"
apt-get install -y --no-install-recommends gnupg2
echo "Install lib32z1"
apt-get install -y --no-install-recommends lib32z1
# 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"
for cmd in curl file ftp jq netcat ssh parallel rsync shellcheck sudo telnet time unzip wget zip; do for cmd in $cmd_packages; do
if ! command -v $cmd; then if ! command -v $cmd; then
echo "$cmd was not installed" echo "$cmd was not installed"
exit 1 exit 1
@@ -161,32 +92,9 @@ 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 "Basic CLI:" DocumentInstalledItem "Basic packages:"
DocumentInstalledItemIndent "curl" for package in $common_packages $cmd_packages; do
DocumentInstalledItemIndent "dnsutils" DocumentInstalledItemIndent $package
DocumentInstalledItemIndent "file" done
DocumentInstalledItemIndent "ftp"
DocumentInstalledItemIndent "iproute2"
DocumentInstalledItemIndent "iputils-ping"
DocumentInstalledItemIndent "jq"
DocumentInstalledItemIndent "$libcurelVer" DocumentInstalledItemIndent "$libcurelVer"
DocumentInstalledItemIndent "libgbm-dev"
DocumentInstalledItemIndent "libicu55"
DocumentInstalledItemIndent "libunwind8"
DocumentInstalledItemIndent "locales"
DocumentInstalledItemIndent "netcat"
DocumentInstalledItemIndent "openssh-client"
DocumentInstalledItemIndent "parallel"
DocumentInstalledItemIndent "rsync"
DocumentInstalledItemIndent "shellcheck"
DocumentInstalledItemIndent "sudo"
DocumentInstalledItemIndent "telnet"
DocumentInstalledItemIndent "time"
DocumentInstalledItemIndent "tzdata"
DocumentInstalledItemIndent "unzip"
DocumentInstalledItemIndent "upx"
DocumentInstalledItemIndent "wget"
DocumentInstalledItemIndent "zip"
DocumentInstalledItemIndent "zstd"
DocumentInstalledItemIndent "gnupg2"
DocumentInstalledItemIndent "lib32z1"

View File

@@ -1,22 +0,0 @@
#!/bin/bash
################################################################################
## File: boost.sh
## Desc: Installs Boost C++ Libraries
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
TOOLSET_PATH="$INSTALLER_SCRIPT_FOLDER/toolcache.json"
BOOST_LIB=/usr/local/share/boost
BOOST_VERSIONS=$(cat $TOOLSET_PATH | jq -r 'to_entries[] | select(.key | match("boost")) | .value[] +".0"')
# Install Boost
for BOOST_VERSION in ${BOOST_VERSIONS}
do
BOOST_SYMLINK_VER=$(echo "${BOOST_VERSION//[.]/_}")
BOOST_ROOT_VERSION="BOOST_ROOT_$BOOST_SYMLINK_VER"
echo "$BOOST_ROOT_VERSION=$BOOST_LIB/$BOOST_VERSION" | tee -a /etc/environment
DocumentInstalledItem "Boost C++ Libraries $BOOST_VERSION"
done

View File

@@ -5,3 +5,17 @@ echo ImageOS=$IMAGE_OS | tee -a /etc/environment
# This directory is supposed to be created in $HOME and owned by user(https://github.com/actions/virtual-environments/issues/491) # This directory is supposed to be created in $HOME and owned by user(https://github.com/actions/virtual-environments/issues/491)
mkdir -p /etc/skel/.config/configstore mkdir -p /etc/skel/.config/configstore
echo 'export XDG_CONFIG_HOME=$HOME/.config' | tee -a /etc/skel/.bashrc echo 'export XDG_CONFIG_HOME=$HOME/.config' | tee -a /etc/skel/.bashrc
# Change waagent entries to use /mnt for swapfile
sed -i 's/ResourceDisk.Format=n/ResourceDisk.Format=y/g' /etc/waagent.conf
sed -i 's/ResourceDisk.EnableSwap=n/ResourceDisk.EnableSwap=y/g' /etc/waagent.conf
sed -i 's/ResourceDisk.SwapSizeMB=0/ResourceDisk.SwapSizeMB=4096/g' /etc/waagent.conf
# Add localhost alias to ::1 IPv6
sed -i 's/::1 ip6-localhost ip6-loopback/::1 localhost ip6-localhost ip6-loopback/g' /etc/hosts
# Prepare directory and env variable for toolcache
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
mkdir $AGENT_TOOLSDIRECTORY
echo "AGENT_TOOLSDIRECTORY=$AGENT_TOOLSDIRECTORY" | tee -a /etc/environment
chmod -R 777 $AGENT_TOOLSDIRECTORY

View File

@@ -6,9 +6,15 @@
source $HELPER_SCRIPTS/apt.sh source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
docker_package=moby docker_package=moby
# There is no stable docker-moby for Ubuntu 20 at the moment
if isUbuntu20 ; then
add-apt-repository "deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/prod testing main"
fi
## Check to see if docker is already installed ## Check to see if docker is already installed
echo "Determing if Docker ($docker_package) is installed" echo "Determing if Docker ($docker_package) is installed"
if ! IsInstalled $docker_package; then if ! IsInstalled $docker_package; then
@@ -21,6 +27,10 @@ else
echo "Docker ($docker_package) is already installed" echo "Docker ($docker_package) is already installed"
fi fi
# Enable docker.service
systemctl is-active --quiet docker.service || systemctl start docker.service
systemctl is-enabled --quiet docker.service || systemctl enable docker.service
# 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" echo "Checking the docker-moby and moby-buildx"

View File

@@ -16,7 +16,7 @@ fi
if isUbuntu16 || isUbuntu18 ; then if isUbuntu16 || isUbuntu18 ; then
LATEST_DOTNET_PACKAGES=("dotnet-sdk-3.0" "dotnet-sdk-3.1") LATEST_DOTNET_PACKAGES=("dotnet-sdk-3.0" "dotnet-sdk-3.1")
release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json") release_urls=("https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.1/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json" "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.1/releases.json")
fi fi
mksamples() mksamples()

View File

@@ -1,29 +0,0 @@
#!/bin/bash
################################################################################
## File: dotnetcore.sh
## Desc: Installs .NET Core onto the image for running the provisioner
################################################################################
source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh
DOTNET_PACKAGE=dotnet-dev-1.0.4
echo "Determing if .NET Core ($DOTNET_PACKAGE) is installed"
if ! IsInstalled $DOTNET_PACKAGE; then
echo "Could not find .NET Core ($DOTNET_PACKAGE), installing..."
echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
apt-get update
apt-get install $DOTNET_PACKAGE -y
else
echo ".NET Core ($DOTNET_PACKAGE) is already installed"
fi
echo "Testing .NET Core ($DOTNET_PACKAGE)"
echo "Pulling down initial dependencies"
dotnet help
echo "Documenting .NET Core ($DOTNET_PACKAGE)"
DOTNET_VERSION=`dotnet --version`
DocumentInstalledItem ".NET Core $DOTNET_VERSION"

View File

@@ -1,58 +0,0 @@
#!/bin/bash
################################################################################
## File: go.sh
## Desc: Installs go, configures GOROOT, and adds go to the path
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
golangTags="/tmp/golang_tags.json"
# This function installs Go using the specified arguments:
# $1=MajorVersion (1.11)
# $2=IsDefaultVersion (true or false)
function InstallGo () {
version=$( getFullGoVersion $1 )
downloadVersion="go$version.linux-amd64.tar.gz"
goFolder="$AGENT_TOOLSDIRECTORY/go/$version/x64"
echo "Install Go $version"
curl -sL https://dl.google.com/go/${downloadVersion} -o ${downloadVersion}
mkdir -p $goFolder
tar -C $goFolder -xzf $downloadVersion --strip-components=1 go
rm $downloadVersion
echo "GOROOT_${1//./_}_X64=$goFolder" | tee -a /etc/environment
DocumentInstalledItem "Go $version ($($goFolder/bin/go version))"
# Create symlink in old location /usr/local/go<version> to new location
ln -s $goFolder /usr/local/go$version
# If this version of Go is to be the default version,
# symlink it into the path and point GOROOT to it.
if [ $2 = true ]
then
ln -s $goFolder/bin/* /usr/bin/
echo "GOROOT=$goFolder" | tee -a /etc/environment
fi
}
function getFullGoVersion () {
local pattern="refs/tags/go$1([.0-9]{0,3})$"
local query='[.[] | select( .ref | test($pattern))] | .[-1] | .ref'
refValue=$(jq --arg pattern "$pattern" "$query" $golangTags)
version=$(echo "$refValue" | cut -d '/' -f 3 | awk -F 'go' '{print $2}')
version=$(echo "${version//\"}") # 1.12.17
echo $version
}
# load golang_tags.json file
curl -s 'https://api.github.com/repos/golang/go/git/refs/tags' > $golangTags
# Install Go versions
for go in ${GO_VERSIONS}; do
echo "Installing Go ${go}"
if [[ $go == $GO_DEFAULT ]]; then
InstallGo $go true
else
InstallGo $go false
fi
done

View File

@@ -8,7 +8,7 @@
echo "Validate the Homebrew can run after reboot" echo "Validate the Homebrew can run after reboot"
if ! command -v brew; then if ! command -v brew; then
echo "brew cat not run after reboot" echo "brew executable not found after reboot"
exit 1 exit 1
fi fi

View File

@@ -2,6 +2,7 @@
################################################################################ ################################################################################
## File: homebrew.sh ## File: homebrew.sh
## Desc: Installs the Homebrew on Linux ## Desc: Installs the Homebrew on Linux
## Caveat: Brew MUST NOT be used to install any tool during the image build to avoid dependencies, which may come along with the tool
################################################################################ ################################################################################
# Source the helpers # Source the helpers
@@ -20,7 +21,7 @@ sudo chmod -R o+w $HOMEBREW_PREFIX
brew shellenv|grep 'export HOMEBREW'|sed -E 's/^export (.*);$/\1/' | sudo tee -a /etc/environment brew shellenv|grep 'export HOMEBREW'|sed -E 's/^export (.*);$/\1/' | sudo tee -a /etc/environment
# add brew executables locations to PATH # add brew executables locations to PATH
brew_path=$(brew shellenv|grep '^export PATH' |sed -E 's/^export PATH="([^$]+)\$.*/\1/') brew_path=$(brew shellenv|grep '^export PATH' |sed -E 's/^export PATH="([^$]+)\$.*/\1/')
appendEtcEnvironmentPath "$brew_path" prependEtcEnvironmentPath "$brew_path"
# Validate the installation ad hoc # Validate the installation ad hoc
echo "Validate the installation reloading /etc/environment" echo "Validate the installation reloading /etc/environment"

View File

@@ -12,11 +12,6 @@ set -e
TOOLCACHE_REGISTRY="npm.pkg.github.com" TOOLCACHE_REGISTRY="npm.pkg.github.com"
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
mkdir $AGENT_TOOLSDIRECTORY
echo "AGENT_TOOLSDIRECTORY=$AGENT_TOOLSDIRECTORY" | tee -a /etc/environment
chmod -R 777 $AGENT_TOOLSDIRECTORY
echo "Configure npm to use github package registry for '@actions' scope" echo "Configure npm to use github package registry for '@actions' scope"
npm config set @actions:registry "https://${TOOLCACHE_REGISTRY}" npm config set @actions:registry "https://${TOOLCACHE_REGISTRY}"

View File

@@ -10,14 +10,18 @@ source $HELPER_SCRIPTS/os.sh
set -e set -e
# Install the Azul Systems Zulu JDKs # Install GPG Key for Adopt Open JDK. See https://adoptopenjdk.net/installation.html
# See https://www.azul.com/downloads/azure-only/zulu/ wget -qO - "https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public" | apt-key add -
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main"
apt-get -q update
if isUbuntu16 || isUbuntu18 ; then if isUbuntu16 || isUbuntu18 ; then
# Install GPG Key for Azul Open JDK. See https://www.azul.com/downloads/azure-only/zulu/
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main"
apt-get update
apt-get -y install zulu-7-azure-jdk=\* apt-get -y install zulu-7-azure-jdk=\*
# Open JDP Adopt does not exist for Ubuntu 20
apt-get -y install adoptopenjdk-12-hotspot=\*
echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment
DEFAULT_JDK_VERSION=8 DEFAULT_JDK_VERSION=8
defaultLabel8="(default)" defaultLabel8="(default)"
@@ -26,17 +30,22 @@ fi
if isUbuntu20 ; then if isUbuntu20 ; then
DEFAULT_JDK_VERSION=11 DEFAULT_JDK_VERSION=11
defaultLabel11="(default)" defaultLabel11="(default)"
apt-get update
fi fi
apt-get -y install zulu-8-azure-jdk=\* # Install only LTS versions.
apt-get -y install zulu-11-azure-jdk=\* apt-get -y install adoptopenjdk-8-hotspot=\*
apt-get -y install zulu-12-azure-jdk=\* apt-get -y install adoptopenjdk-11-hotspot=\*
update-java-alternatives -s /usr/lib/jvm/zulu-8-azure-amd64
echo "JAVA_HOME_8_X64=/usr/lib/jvm/zulu-8-azure-amd64" | tee -a /etc/environment # Set Default Java version.
echo "JAVA_HOME_11_X64=/usr/lib/jvm/zulu-11-azure-amd64" | tee -a /etc/environment update-java-alternatives -s /usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64
echo "JAVA_HOME_12_X64=/usr/lib/jvm/zulu-12-azure-amd64" | tee -a /etc/environment
echo "JAVA_HOME=/usr/lib/jvm/zulu-${DEFAULT_JDK_VERSION}-azure-amd64" | tee -a /etc/environment echo "JAVA_HOME_8_X64=/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64" | tee -a /etc/environment
echo "JAVA_HOME_11_X64=/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64" | tee -a /etc/environment
if isUbuntu16 || isUbuntu18 ; then
echo "JAVA_HOME_12_X64=/usr/lib/jvm/adoptopenjdk-12-hotspot-amd64" | tee -a /etc/environment
fi
echo "JAVA_HOME=/usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64" | tee -a /etc/environment
echo "JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8" | tee -a /etc/environment echo "JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8" | tee -a /etc/environment
# Install Ant # Install Ant
@@ -79,13 +88,16 @@ 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 "Azul Zulu OpenJDK:"
if isUbuntu16 || isUbuntu18 ; then if isUbuntu16 || isUbuntu18 ; then
DocumentInstalledItem "Azul Zulu OpenJDK:"
DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))" DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))"
fi fi
DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1)) $defaultLabel8" DocumentInstalledItem "Adopt OpenJDK:"
DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1)) $defaultLabel11" DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java -showversion |& head -n 1)) $defaultLabel8"
DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/zulu-12-azure-amd64/bin/java -showversion |& head -n 1))" DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/java -showversion |& head -n 1)) $defaultLabel11"
if isUbuntu16 || isUbuntu18 ; then
DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/adoptopenjdk-12-hotspot-amd64/bin/java -showversion |& head -n 1))"
fi
DocumentInstalledItem "Ant ($(ant -version))" DocumentInstalledItem "Ant ($(ant -version))"
DocumentInstalledItem "Gradle ${gradleVersion}" DocumentInstalledItem "Gradle ${gradleVersion}"
DocumentInstalledItem "Maven ($(mvn -version | head -n 1))" DocumentInstalledItem "Maven ($(mvn -version | head -n 1))"

View File

@@ -9,19 +9,31 @@ source $HELPER_SCRIPTS/document.sh
export ACCEPT_EULA=Y export ACCEPT_EULA=Y
# Install MySQL Client if isUbuntu16 || isUbuntu18 ; then
apt-get install mysql-client -y apt-get install mysql-client -y
fi
# InstallMySQL database development files if isUbuntu20 ; then
apt-get install libmysqlclient-dev -y # Install mysql 8 for Ubuntu 20.
# Install MySQL Server debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-server select mysql-8.0'
package_version=$(curl https://dev.mysql.com/downloads/repo/apt/ 2> /dev/null | grep "\.deb" | awk -F "[()]" '{print $2}')
wget https://dev.mysql.com/get/$package_version
dpkg -i $package_version
apt update
fi
# Mysql setting up root password
MYSQL_ROOT_PASSWORD=root MYSQL_ROOT_PASSWORD=root
echo "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD" | debconf-set-selections echo "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD" | debconf-set-selections
echo "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD" | debconf-set-selections echo "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD" | debconf-set-selections
# Install MySQL Server
apt-get install -y mysql-server apt-get install -y mysql-server
#Install MySQL Dev tools
apt install libmysqlclient-dev -y
# Install MS SQL Server client tools (https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017) # Install MS SQL Server client tools (https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017)
apt-get install -y mssql-tools unixodbc-dev apt-get install -y mssql-tools unixodbc-dev
apt-get -f install apt-get -f install

View File

@@ -10,7 +10,7 @@ source $HELPER_SCRIPTS/document.sh
# Install LTS Node.js and related build tools # Install LTS Node.js and related build tools
curl -sL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s -- -ny - curl -sL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s -- -ny -
~/n/bin/n lts ~/n/bin/n lts
npm install -g grunt gulp n parcel-bundler typescript npm install -g grunt gulp n parcel-bundler typescript newman
npm install -g --save-dev webpack webpack-cli npm install -g --save-dev webpack webpack-cli
npm install -g npm npm install -g npm
rm -rf ~/n rm -rf ~/n
@@ -25,7 +25,7 @@ apt-get install -y --no-install-recommends yarn
# 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"
for cmd in node grunt gulp webpack parcel yarn; do for cmd in node grunt gulp webpack parcel yarn newman; do
if ! command -v $cmd; then if ! command -v $cmd; then
echo "$cmd was not installed" echo "$cmd was not installed"
exit 1 exit 1
@@ -43,3 +43,4 @@ DocumentInstalledItem "TypeScript ($(tsc --version))"
DocumentInstalledItem "Webpack ($(webpack --version))" DocumentInstalledItem "Webpack ($(webpack --version))"
DocumentInstalledItem "Webpack CLI ($(webpack-cli --version))" DocumentInstalledItem "Webpack CLI ($(webpack-cli --version))"
DocumentInstalledItem "Yarn ($(yarn --version))" DocumentInstalledItem "Yarn ($(yarn --version))"
DocumentInstalledItem "Newman ($(newman --version))"

View File

@@ -19,4 +19,7 @@ if ! command -v nvm; then
exit 1 exit 1
fi fi
# set system node.js as default one
nvm alias default system
DocumentInstalledItem "nvm ($(nvm --version))" DocumentInstalledItem "nvm ($(nvm --version))"

View File

@@ -1,137 +1,138 @@
#!/bin/bash #!/bin/bash
################################################################################ ################################################################################
## File: php.sh ## File: php.sh
## Desc: Installs php ## Desc: Installs php
################################################################################ ################################################################################
# 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/etc-environment.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
set -e
set -e
# add repository
apt-add-repository ppa:ondrej/php -y # add repository
apt-get update apt-add-repository ppa:ondrej/php -y
apt-get update
# Install PHP
if isUbuntu16 ; then # Install PHP
php_versions="5.6 7.0 7.1 7.2 7.3 7.4" if isUbuntu16 ; then
fi php_versions="5.6 7.0 7.1 7.2 7.3 7.4"
fi
if isUbuntu18 ; then
php_versions="7.1 7.2 7.3 7.4" if isUbuntu18 ; then
fi php_versions="7.1 7.2 7.3 7.4"
fi
if isUbuntu20 ; then
php_versions="7.4" if isUbuntu20 ; then
fi php_versions="7.4"
fi
for version in $php_versions; do
echo "Installing PHP $version" for version in $php_versions; do
apt-fast install -y --no-install-recommends \ echo "Installing PHP $version"
php$version \ apt-fast install -y --no-install-recommends \
php$version-bcmath \ php$version \
php$version-bz2 \ php$version-bcmath \
php$version-cgi \ php$version-bz2 \
php$version-cli \ php$version-cgi \
php$version-common \ php$version-cli \
php$version-curl \ php$version-common \
php$version-dba \ php$version-curl \
php$version-dev \ php$version-dba \
php$version-enchant \ php$version-dev \
php$version-fpm \ php$version-enchant \
php$version-gd \ php$version-fpm \
php$version-gmp \ php$version-gd \
php$version-imap \ php$version-gmp \
php$version-interbase \ php$version-imap \
php$version-intl \ php$version-interbase \
php$version-json \ php$version-intl \
php$version-ldap \ php$version-json \
php$version-mbstring \ php$version-ldap \
php$version-mysql \ php$version-mbstring \
php$version-odbc \ php$version-mysql \
php$version-opcache \ php$version-odbc \
php$version-pgsql \ php$version-opcache \
php$version-phpdbg \ php$version-pgsql \
php$version-pspell \ php$version-phpdbg \
php$version-readline \ php$version-pspell \
php$version-snmp \ php$version-readline \
php$version-soap \ php$version-snmp \
php$version-sqlite3 \ php$version-soap \
php$version-sybase \ php$version-sqlite3 \
php$version-tidy \ php$version-sybase \
php$version-xml \ php$version-tidy \
php$version-xmlrpc \ php$version-xml \
php$version-xsl \ php$version-xmlrpc \
php$version-zip php$version-xsl \
php$version-zip
if [[ $version == "5.6" || $version == "7.0" || $version == "7.1" ]]; then
apt-fast install -y --no-install-recommends php$version-mcrypt php$version-recode if [[ $version == "5.6" || $version == "7.0" || $version == "7.1" ]]; then
apt-get remove --purge -yq php$version-dev apt-fast install -y --no-install-recommends php$version-mcrypt php$version-recode
fi apt-get remove --purge -yq php$version-dev
fi
if [[ $version == "7.2" || $version == "7.3" ]]; then
apt-fast install -y --no-install-recommends php$version-recode if [[ $version == "7.2" || $version == "7.3" ]]; then
fi apt-fast install -y --no-install-recommends php$version-recode
done fi
done
apt-fast install -y --no-install-recommends \
php-amqp \ apt-fast install -y --no-install-recommends \
php-apcu \ php-amqp \
php-igbinary \ php-apcu \
php-memcache \ php-igbinary \
php-memcached \ php-memcache \
php-mongodb \ php-memcached \
php-redis \ php-mongodb \
php-xdebug \ php-redis \
php-yaml \ php-xdebug \
php-zmq php-yaml \
php-zmq
apt-get remove --purge -yq php7.2-dev
apt-get remove --purge -yq php7.2-dev
apt-fast install -y --no-install-recommends snmp
apt-fast install -y --no-install-recommends snmp
# Install composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" # Install composer
php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo mv composer.phar /usr/bin/composer php composer-setup.php
php -r "unlink('composer-setup.php');" sudo mv composer.phar /usr/bin/composer
php -r "unlink('composer-setup.php');"
# Update /etc/environment
prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin # Update /etc/environment
prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin
# Add composer bin folder to path
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc # Add composer bin folder to path
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc
#Create composer folder for user to preserve folder permissions
mkdir -p /etc/skel/.composer #Create composer folder for user to preserve folder permissions
mkdir -p /etc/skel/.composer
# Install phpunit (for PHP)
wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar # Install phpunit (for PHP)
chmod +x phpunit wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar
mv phpunit /usr/local/bin/phpunit chmod +x phpunit
mv phpunit /usr/local/bin/phpunit
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" # Run tests to determine that the software installed as expected
for cmd in php $php_versions composer phpunit; do echo "Testing to make sure that script performed as expected, and basic scenarios work"
if [[ $cmd =~ ^[0-9] ]]; then for cmd in php $php_versions composer phpunit; do
cmd="php$cmd" if [[ $cmd =~ ^[0-9] ]]; then
fi cmd="php$cmd"
fi
if ! command -v $cmd; then
echo "$cmd was not installed" if ! command -v $cmd; then
exit 1 echo "$cmd was not installed"
fi exit 1
done fi
done
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file" # Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
for version in $php_versions; do
DocumentInstalledItem "PHP $version ($(php$version --version | head -n 1))" for version in $php_versions; do
done; DocumentInstalledItem "PHP $version ($(php$version --version | head -n 1))"
done
DocumentInstalledItem "Composer ($(composer --version))"
DocumentInstalledItem "PHPUnit ($(phpunit --version))" DocumentInstalledItem "Composer ($(composer --version))"
DocumentInstalledItem "PHPUnit ($(phpunit --version))"

View File

@@ -1,95 +1,95 @@
#!/bin/bash #!/bin/bash
################################################################################ ################################################################################
## File: pypy.sh ## File: pypy.sh
## Desc: Installs PyPy ## Desc: Installs PyPy
################################################################################ ################################################################################
# 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/install.sh source $HELPER_SCRIPTS/install.sh
# This function installs PyPy using the specified arguments: # This function installs PyPy using the specified arguments:
# $1=PACKAGE_URL # $1=PACKAGE_URL
function InstallPyPy function InstallPyPy
{ {
PACKAGE_URL=$1 PACKAGE_URL=$1
PACKAGE_TAR_NAME=$(echo $PACKAGE_URL | awk -F/ '{print $NF}') PACKAGE_TAR_NAME=$(echo $PACKAGE_URL | awk -F/ '{print $NF}')
echo "Downloading tar archive '$PACKAGE_TAR_NAME' - '$PACKAGE_URL'" echo "Downloading tar archive '$PACKAGE_TAR_NAME' - '$PACKAGE_URL'"
PACKAGE_TAR_TEMP_PATH="/tmp/$PACKAGE_TAR_NAME" PACKAGE_TAR_TEMP_PATH="/tmp/$PACKAGE_TAR_NAME"
download_with_retries $PACKAGE_URL "/tmp" $PACKAGE_TAR_NAME download_with_retries $PACKAGE_URL "/tmp" $PACKAGE_TAR_NAME
echo "Expand '$PACKAGE_TAR_NAME' to the /tmp folder" echo "Expand '$PACKAGE_TAR_NAME' to the /tmp folder"
tar xf $PACKAGE_TAR_TEMP_PATH -C /tmp tar xf $PACKAGE_TAR_TEMP_PATH -C /tmp
# Get Python version # Get Python version
PACKAGE_NAME=${PACKAGE_TAR_NAME/.tar.bz2/} PACKAGE_NAME=${PACKAGE_TAR_NAME/.tar.bz2/}
MAJOR_VERSION=$(echo ${PACKAGE_NAME/pypy/} | cut -d. -f1) MAJOR_VERSION=$(echo ${PACKAGE_NAME/pypy/} | cut -d. -f1)
PYTHON_MAJOR="python$MAJOR_VERSION" PYTHON_MAJOR="python$MAJOR_VERSION"
if [ $MAJOR_VERSION != 2 ]; then if [ $MAJOR_VERSION != 2 ]; then
PYPY_MAJOR="pypy$MAJOR_VERSION" PYPY_MAJOR="pypy$MAJOR_VERSION"
else else
PYPY_MAJOR="pypy" PYPY_MAJOR="pypy"
fi fi
PACKAGE_TEMP_FOLDER="/tmp/$PACKAGE_NAME" PACKAGE_TEMP_FOLDER="/tmp/$PACKAGE_NAME"
PYTHON_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(sys.version_info[0],sys.version_info[1],sys.version_info[2]))") PYTHON_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(sys.version_info[0],sys.version_info[1],sys.version_info[2]))")
# PyPy folder structure # PyPy folder structure
PYPY_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/PyPy PYPY_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/PyPy
PYPY_TOOLCACHE_VERSION_PATH=$PYPY_TOOLCACHE_PATH/$PYTHON_FULL_VERSION PYPY_TOOLCACHE_VERSION_PATH=$PYPY_TOOLCACHE_PATH/$PYTHON_FULL_VERSION
PYPY_TOOLCACHE_VERSION_ARCH_PATH=$PYPY_TOOLCACHE_VERSION_PATH/x64 PYPY_TOOLCACHE_VERSION_ARCH_PATH=$PYPY_TOOLCACHE_VERSION_PATH/x64
echo "Check if PyPy hostedtoolcache folder exist..." echo "Check if PyPy hostedtoolcache folder exist..."
if [ ! -d $PYPY_TOOLCACHE_PATH ]; then if [ ! -d $PYPY_TOOLCACHE_PATH ]; then
mkdir -p $PYPY_TOOLCACHE_PATH mkdir -p $PYPY_TOOLCACHE_PATH
fi fi
echo "Create PyPy '$PYPY_TOOLCACHE_VERSION_PATH' folder" echo "Create PyPy '$PYPY_TOOLCACHE_VERSION_PATH' folder"
mkdir $PYPY_TOOLCACHE_VERSION_PATH mkdir $PYPY_TOOLCACHE_VERSION_PATH
echo "Move PyPy '$PACKAGE_TEMP_FOLDER' binaries to '$PYPY_TOOLCACHE_VERSION_ARCH_PATH' folder" echo "Move PyPy '$PACKAGE_TEMP_FOLDER' binaries to '$PYPY_TOOLCACHE_VERSION_ARCH_PATH' folder"
mv $PACKAGE_TEMP_FOLDER $PYPY_TOOLCACHE_VERSION_ARCH_PATH mv $PACKAGE_TEMP_FOLDER $PYPY_TOOLCACHE_VERSION_ARCH_PATH
echo "Create additional symlinks (Required for UsePythonVersion Azure DevOps task)" echo "Create additional symlinks (Required for UsePythonVersion Azure DevOps task)"
cd $PYPY_TOOLCACHE_VERSION_ARCH_PATH/bin cd $PYPY_TOOLCACHE_VERSION_ARCH_PATH/bin
ln -s $PYPY_MAJOR $PYTHON_MAJOR ln -s $PYPY_MAJOR $PYTHON_MAJOR
ln -s $PYTHON_MAJOR python ln -s $PYTHON_MAJOR python
chmod +x ./python ./$PYTHON_MAJOR chmod +x ./python ./$PYTHON_MAJOR
echo "Install latest Pip" echo "Install latest Pip"
./python -m ensurepip ./python -m ensurepip
./python -m pip install --ignore-installed pip ./python -m pip install --ignore-installed pip
echo "Create complete file" echo "Create complete file"
touch $PYPY_TOOLCACHE_VERSION_PATH/x64.complete touch $PYPY_TOOLCACHE_VERSION_PATH/x64.complete
echo "Remove '$PACKAGE_TAR_TEMP_PATH'" echo "Remove '$PACKAGE_TAR_TEMP_PATH'"
rm -f $PACKAGE_TAR_TEMP_PATH rm -f $PACKAGE_TAR_TEMP_PATH
} }
# Installation PyPy # Installation PyPy
uri="https://downloads.python.org/pypy/" uri="https://downloads.python.org/pypy/"
download_with_retries $uri "/tmp" "pypyUrls.html" download_with_retries $uri "/tmp" "pypyUrls.html" compressed
pypyVersions="$(cat /tmp/pypyUrls.html | grep 'linux64' | awk -v uri="$uri" -F'>|<' '{print uri$5}')" pypyVersions="$(cat /tmp/pypyUrls.html | grep 'linux64' | awk -v uri="$uri" -F'>|<' '{print uri$5}')"
toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json" toolsetJson="$INSTALLER_SCRIPT_FOLDER/toolset.json"
toolsetVersions=$(cat $toolsetJson | jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]') toolsetVersions=$(cat $toolsetJson | jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]')
# Fail out if any setups fail # Fail out if any setups fail
set -e set -e
for toolsetVersion in $toolsetVersions; do for toolsetVersion in $toolsetVersions; do
latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1) latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1)
if [[ -z "$latestMajorPyPyVersion" ]]; then if [[ -z "$latestMajorPyPyVersion" ]]; then
echo "Failed to get PyPy version '$toolsetVersion'" echo "Failed to get PyPy version '$toolsetVersion'"
exit 1 exit 1
fi fi
InstallPyPy $latestMajorPyPyVersion InstallPyPy $latestMajorPyPyVersion
done done
chown -R "$SUDO_USER:$SUDO_USER" "$AGENT_TOOLSDIRECTORY/PyPy" chown -R "$SUDO_USER:$SUDO_USER" "$AGENT_TOOLSDIRECTORY/PyPy"

View File

@@ -1,31 +1,31 @@
#!/bin/bash #!/bin/bash
################################################################################ ################################################################################
## File: zeit-now.sh ## File: vercel.sh
## Desc: Installs the Zeit Now CLI ## Desc: Installs the Vercel CLI
################################################################################ ################################################################################
# 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
# Install the Zeit Vercel CLI # Install the Vercel CLI
npm i -g vercel npm i -g vercel
# Validate the installation # Validate the installation
echo "Validate the installation" echo "Validate the installation"
if ! command -v vercel; then if ! command -v vercel; then
echo "Zeit Vercel CLI was not installed" echo "Vercel CLI was not installed"
exit 1 exit 1
fi fi
echo "Creating the symlink now to vercel" echo "Creating the symlink for [now] command to vercel CLI"
ln -s /usr/local/bin/vercel /usr/local/bin/now ln -s /usr/local/bin/vercel /usr/local/bin/now
echo "Validate the link" echo "Validate the link"
if ! command -v now; then if ! command -v now; then
echo "Now link to Zeit Vercel CLI was not created" echo "[Now] symlink to Vercel CLI was not created"
exit 1 exit 1
fi fi
# Document the installed version # Document the installed version
echo "Document the installed version" echo "Document the installed version"
DocumentInstalledItem "Zeit Vercel CLI ($(vercel --version))" DocumentInstalledItem "Vercel CLI ($(vercel --version))"

View File

@@ -1,39 +0,0 @@
{
"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.*"
]
},
{
"name": "PyPy",
"arch": "x64",
"platform" : "linux",
"versions": [
"2.7",
"3.6"
]
},
{
"name": "node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/master/versions-manifest.json",
"platform" : "linux",
"arch": "x64",
"versions": [
"8.*",
"10.*",
"12.*",
"14.*"
]
}
]
}

View File

@@ -1,8 +1,5 @@
{ {
"@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"
],
"@actions/toolcache-boost-ubuntu-1604-x64": [
"1.69", "1.72"
] ]
} }

View File

@@ -1,8 +1,5 @@
{ {
"@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"
],
"@actions/toolcache-boost-ubuntu-1804-x64": [
"1.69", "1.72"
] ]
} }

View File

@@ -0,0 +1,5 @@
{
"@actions/toolcache-ruby-ubuntu-2004-x64": [
"2.5", "2.6", "2.7"
]
}

View File

@@ -0,0 +1,79 @@
{
"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.*"
]
},
{
"name": "PyPy",
"arch": "x64",
"platform" : "linux",
"versions": [
"2.7",
"3.6"
]
},
{
"name": "node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/master/versions-manifest.json",
"platform" : "linux",
"arch": "x64",
"versions": [
"8.*",
"10.*",
"12.*",
"14.*"
]
},
{
"name": "go",
"url" : "https://raw.githubusercontent.com/actions/go-versions/master/versions-manifest.json",
"arch": "x64",
"platform" : "linux",
"versions": [
"1.11.*",
"1.12.*",
"1.13.*",
"1.14.*"
],
"default": "1.14.*"
},
{
"name": "boost",
"url" : "https://raw.githubusercontent.com/actions/boost-versions/master/versions-manifest.json",
"platform" : "linux",
"platform_version": "16.04",
"arch": "x64",
"versions": [
"1.69.0",
"1.72.0"
]
}
],
"azureModules": [
{
"name": "az",
"versions": [
"1.0.0",
"1.6.0",
"2.3.2",
"2.6.0",
"2.8.0",
"3.1.0",
"3.5.0",
"3.8.0",
"4.3.0"
]
}
]
}

View File

@@ -0,0 +1,79 @@
{
"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.*"
]
},
{
"name": "PyPy",
"arch": "x64",
"platform" : "linux",
"versions": [
"2.7",
"3.6"
]
},
{
"name": "node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/master/versions-manifest.json",
"platform" : "linux",
"arch": "x64",
"versions": [
"8.*",
"10.*",
"12.*",
"14.*"
]
},
{
"name": "go",
"url" : "https://raw.githubusercontent.com/actions/go-versions/master/versions-manifest.json",
"arch": "x64",
"platform" : "linux",
"versions": [
"1.11.*",
"1.12.*",
"1.13.*",
"1.14.*"
],
"default": "1.14.*"
},
{
"name": "boost",
"url" : "https://raw.githubusercontent.com/actions/boost-versions/master/versions-manifest.json",
"platform" : "linux",
"platform_version": "18.04",
"arch": "x64",
"versions": [
"1.69.0",
"1.72.0"
]
}
],
"azureModules": [
{
"name": "az",
"versions": [
"1.0.0",
"1.6.0",
"2.3.2",
"2.6.0",
"2.8.0",
"3.1.0",
"3.5.0",
"3.8.0",
"4.3.0"
]
}
]
}

View File

@@ -4,7 +4,7 @@
"name": "Python", "name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json", "url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json",
"platform" : "linux", "platform" : "linux",
"platform_version": "16.04", "platform_version": "20.04",
"arch": "x64", "arch": "x64",
"versions": [ "versions": [
"2.7.*", "2.7.*",
@@ -34,6 +34,16 @@
"12.*", "12.*",
"14.*" "14.*"
] ]
},
{
"name": "go",
"url" : "https://raw.githubusercontent.com/actions/go-versions/master/versions-manifest.json",
"arch": "x64",
"platform" : "linux",
"versions": [
"1.14.*"
],
"default": "1.14.*"
} }
] ]
} }

View File

@@ -24,9 +24,7 @@
"image_version": "dev", "image_version": "dev",
"image_os": "ubuntu16", "image_os": "ubuntu16",
"github_feed_token": null, "github_feed_token": null,
"run_validation_diskspace": "false", "run_validation_diskspace": "false"
"go_default": "1.14",
"go_versions": "1.11 1.12 1.13 1.14"
}, },
"sensitive-variables": ["client_secret", "github_feed_token"], "sensitive-variables": ["client_secret", "github_feed_token"],
"builders": [ "builders": [
@@ -75,18 +73,12 @@
}, },
{ {
"type": "shell", "type": "shell",
"inline": [ "script": "{{template_dir}}/scripts/base/apt.sh",
"apt-get update", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
"apt-get dist-upgrade -y", },
"systemctl disable apt-daily.service", {
"systemctl disable apt-daily.timer", "type": "shell",
"systemctl disable apt-daily-upgrade.timer", "script": "{{template_dir}}/scripts/base/limits.sh",
"systemctl disable apt-daily-upgrade.service",
"echo '* soft nofile 65536 \n* hard nofile 65536' >> /etc/security/limits.conf",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive",
"echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{ {
@@ -143,36 +135,6 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "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": [
@@ -230,7 +192,7 @@
"{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/terraform.sh",
"{{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-vercel.sh", "{{template_dir}}/scripts/installers/vercel.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" "{{template_dir}}/scripts/installers/rndgenerator.sh"
@@ -242,26 +204,14 @@
], ],
"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": "file", "type": "file",
"source": "{{template_dir}}/toolcache-1604.json", "source": "{{template_dir}}/toolsets/toolcache-1604.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json" "destination": "{{user `installer_script_folder`}}/toolcache.json"
}, },
{ {
"type": "file", "type": "file",
"source": "{{template_dir}}/toolset-1604.json", "source": "{{template_dir}}/toolsets/toolset-1604.json",
"destination": "{{user `installer_script_folder`}}/toolset.json" "destination": "{{user `installer_script_folder`}}/toolset.json"
}, },
{ {
@@ -283,23 +233,11 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/go.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{user `go_default`}}"
],
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
},
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
"{{template_dir}}/scripts/installers/Install-Toolset.ps1", "{{template_dir}}/scripts/installers/Install-Toolset.ps1",
"{{template_dir}}/scripts/installers/Configure-Toolset.ps1",
"{{template_dir}}/scripts/installers/Validate-Toolset.ps1" "{{template_dir}}/scripts/installers/Validate-Toolset.ps1"
], ],
"environment_vars": [ "environment_vars": [
@@ -311,15 +249,44 @@
}, },
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts": [
"{{template_dir}}/scripts/installers/boost.sh" "{{template_dir}}/scripts/installers/aws-sam-cli.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/homebrew.sh"
], ],
"environment_vars": [ "environment_vars": [
"METADATA_FILE={{user `metadata_file`}}", "METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" "DEBIAN_FRONTEND=noninteractive"
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "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",

View File

@@ -24,9 +24,7 @@
"image_version": "dev", "image_version": "dev",
"image_os": "ubuntu18", "image_os": "ubuntu18",
"github_feed_token": null, "github_feed_token": null,
"run_validation_diskspace": "false", "run_validation_diskspace": "false"
"go_default": "1.14",
"go_versions": "1.11 1.12 1.13 1.14"
}, },
"sensitive-variables": ["client_secret", "github_feed_token"], "sensitive-variables": ["client_secret", "github_feed_token"],
"builders": [ "builders": [
@@ -78,18 +76,12 @@
}, },
{ {
"type": "shell", "type": "shell",
"inline": [ "script": "{{template_dir}}/scripts/base/apt.sh",
"apt-get update", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
"apt-get dist-upgrade -y", },
"systemctl disable apt-daily.service", {
"systemctl disable apt-daily.timer", "type": "shell",
"systemctl disable apt-daily-upgrade.timer", "script": "{{template_dir}}/scripts/base/limits.sh",
"systemctl disable apt-daily-upgrade.service",
"echo '* soft nofile 65536 \n* hard nofile 65536' >> /etc/security/limits.conf",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive",
"echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{ {
@@ -146,36 +138,6 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "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": [
@@ -191,7 +153,7 @@
"{{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/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",
@@ -234,7 +196,7 @@
"{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/terraform.sh",
"{{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-vercel.sh", "{{template_dir}}/scripts/installers/vercel.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" "{{template_dir}}/scripts/installers/rndgenerator.sh"
@@ -246,26 +208,14 @@
], ],
"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": "file", "type": "file",
"source": "{{template_dir}}/toolcache-1804.json", "source": "{{template_dir}}/toolsets/toolcache-1804.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json" "destination": "{{user `installer_script_folder`}}/toolcache.json"
}, },
{ {
"type": "file", "type": "file",
"source": "{{template_dir}}/toolset-1804.json", "source": "{{template_dir}}/toolsets/toolset-1804.json",
"destination": "{{user `installer_script_folder`}}/toolset.json" "destination": "{{user `installer_script_folder`}}/toolset.json"
}, },
{ {
@@ -287,23 +237,11 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/go.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{user `go_default`}}"
],
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
},
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts":[
"{{template_dir}}/scripts/installers/Install-Toolset.ps1", "{{template_dir}}/scripts/installers/Install-Toolset.ps1",
"{{template_dir}}/scripts/installers/Configure-Toolset.ps1",
"{{template_dir}}/scripts/installers/Validate-Toolset.ps1" "{{template_dir}}/scripts/installers/Validate-Toolset.ps1"
], ],
"environment_vars": [ "environment_vars": [
@@ -315,15 +253,44 @@
}, },
{ {
"type": "shell", "type": "shell",
"scripts":[ "scripts": [
"{{template_dir}}/scripts/installers/boost.sh" "{{template_dir}}/scripts/installers/aws-sam-cli.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/homebrew.sh"
], ],
"environment_vars": [ "environment_vars": [
"METADATA_FILE={{user `metadata_file`}}", "METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" "DEBIAN_FRONTEND=noninteractive"
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "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",

View File

@@ -78,18 +78,12 @@
}, },
{ {
"type": "shell", "type": "shell",
"inline": [ "script": "{{template_dir}}/scripts/base/apt.sh",
"apt-get update", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
"apt-get dist-upgrade -y", },
"systemctl disable apt-daily.service", {
"systemctl disable apt-daily.timer", "type": "shell",
"systemctl disable apt-daily-upgrade.timer", "script": "{{template_dir}}/scripts/base/limits.sh",
"systemctl disable apt-daily-upgrade.service",
"echo '* soft nofile 65536 \n* hard nofile 65536' >> /etc/security/limits.conf",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session",
"echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive",
"echo 'DefaultLimitNOFILE=65536' >> /etc/systemd/system.conf"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{ {
@@ -146,36 +140,6 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "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": [
@@ -191,14 +155,16 @@
"{{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/2004/containers.sh", "{{template_dir}}/scripts/installers/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/dotnetcore-sdk.sh", "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
"{{template_dir}}/scripts/installers/erlang.sh", "{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh", "{{template_dir}}/scripts/installers/firefox.sh",
"{{template_dir}}/scripts/installers/gcc.sh", "{{template_dir}}/scripts/installers/gcc.sh",
"{{template_dir}}/scripts/installers/gfortran.sh", "{{template_dir}}/scripts/installers/gfortran.sh",
"{{template_dir}}/scripts/installers/git.sh", "{{template_dir}}/scripts/installers/git.sh",
"{{template_dir}}/scripts/installers/github-cli.sh",
"{{template_dir}}/scripts/installers/google-chrome.sh", "{{template_dir}}/scripts/installers/google-chrome.sh",
"{{template_dir}}/scripts/installers/google-cloud-sdk.sh", "{{template_dir}}/scripts/installers/google-cloud-sdk.sh",
"{{template_dir}}/scripts/installers/haskell.sh", "{{template_dir}}/scripts/installers/haskell.sh",
@@ -225,13 +191,14 @@
"{{template_dir}}/scripts/installers/ruby.sh", "{{template_dir}}/scripts/installers/ruby.sh",
"{{template_dir}}/scripts/installers/rust.sh", "{{template_dir}}/scripts/installers/rust.sh",
"{{template_dir}}/scripts/installers/julia.sh", "{{template_dir}}/scripts/installers/julia.sh",
"{{template_dir}}/scripts/installers/sbt.sh",
"{{template_dir}}/scripts/installers/selenium.sh", "{{template_dir}}/scripts/installers/selenium.sh",
"{{template_dir}}/scripts/installers/sphinx.sh", "{{template_dir}}/scripts/installers/sphinx.sh",
"{{template_dir}}/scripts/installers/subversion.sh", "{{template_dir}}/scripts/installers/subversion.sh",
"{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/terraform.sh",
"{{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-vercel.sh", "{{template_dir}}/scripts/installers/vercel.sh",
"{{template_dir}}/scripts/installers/dpkg-config.sh", "{{template_dir}}/scripts/installers/dpkg-config.sh",
"{{template_dir}}/scripts/installers/rndgenerator.sh" "{{template_dir}}/scripts/installers/rndgenerator.sh"
], ],
@@ -242,11 +209,65 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolcache-2004.json",
"destination": "{{user `installer_script_folder`}}/toolcache.json"
},
{
"type": "file",
"source": "{{template_dir}}/toolsets/toolset-2004.json",
"destination": "{{user `installer_script_folder`}}/toolset.json"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/2004/android.sh",
"{{template_dir}}/scripts/installers/azpowershell.sh",
"{{template_dir}}/scripts/helpers/containercache.sh",
"{{template_dir}}/scripts/installers/hosted-tool-cache.sh",
"{{template_dir}}/scripts/installers/pypy.sh",
"{{template_dir}}/scripts/installers/python.sh",
"{{template_dir}}/scripts/installers/test-toolcache.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts":[
"{{template_dir}}/scripts/installers/Install-Toolset.ps1",
"{{template_dir}}/scripts/installers/Configure-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": [
"{{template_dir}}/scripts/installers/aws-sam-cli.sh" "{{template_dir}}/scripts/installers/aws-sam-cli.sh"
], ],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/homebrew.sh"
],
"environment_vars": [ "environment_vars": [
"METADATA_FILE={{user `metadata_file`}}", "METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}", "HELPER_SCRIPTS={{user `helper_script_folder`}}",
@@ -256,31 +277,21 @@
}, },
{ {
"type": "shell", "type": "shell",
"expect_disconnect": true,
"scripts": [ "scripts": [
"{{template_dir}}/scripts/installers/go.sh" "{{template_dir}}/scripts/base/reboot.sh"
], ],
"environment_vars": [ "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{user `go_default`}}"
],
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
}, },
{ {
"type": "shell", "type": "shell",
"scripts":[ "pause_before": "30s",
"{{template_dir}}/scripts/installers/2004/android.sh", "timeout": "10m",
"{{template_dir}}/scripts/installers/azpowershell.sh", "start_retry_timeout": "10s",
"{{template_dir}}/scripts/installers/python.sh" "scripts": [
"{{template_dir}}/scripts/installers/homebrew-validate.sh"
], ],
"environment_vars": [ "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
"GITHUB_FEED_TOKEN={{user `github_feed_token`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{ {
"type": "shell", "type": "shell",

View File

@@ -1,64 +1,64 @@
# macOS info # macOS info
- System Version: macOS 10.15.4 (19E287) - System Version: macOS 10.15.5 (19F101)
- Kernel Version: Darwin 19.4.0 - Kernel Version: Darwin 19.5.0
- System Integrity Protection: Enabled - System Integrity Protection: Enabled
- Image Version: 20200518.2 - Image Version: 20200625.2
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- Java 1.7: (Zulu 7.38.0.11-CA-macosx) (build 1.7.0_262-b10) - Java 1.7: (Zulu 7.38.0.11-CA-macosx) (build 1.7.0_262-b10)
- Java 1.8: (Zulu 8.46.0.19-CA-macosx) (build 1.8.0_252-b14) (default) - Java 1.8: (AdoptOpenJDK)(build 1.8.0_252-b09) (default)
- Java 11: Zulu11.39+15-CA (build 11.0.7+10-LTS) - Java 11: AdoptOpenJDK (build 11.0.7+10)
- Java 12: Zulu12.3+11-CA (build 12.0.2+3) - Java 12: AdoptOpenJDK (build 12.0.2+10)
- Java 13: Zulu13.31+11-CA (build 13.0.3+3-MTS) - Java 13: AdoptOpenJDK (build 13.0.2+8)
- Java 14: Zulu14.28+21-CA (build 14.0.1+8) - Java 14: AdoptOpenJDK (build 14.0.1+7)
- Rust 1.43.1 - Rust 1.44.1
- Clang/LLVM 10.0.0 - Clang/LLVM 10.0.0
- gcc-8 (Homebrew GCC 8.4.0_1) 8.4.0 - gcc-8 (Homebrew GCC 8.4.0_1) 8.4.0
- gcc-9 (Homebrew GCC 9.3.0_1) 9.3.0 - gcc-9 (Homebrew GCC 9.3.0_1) 9.3.0
- GNU Fortran (Homebrew GCC 8.4.0_1) 8.4.0 - GNU Fortran (Homebrew GCC 8.4.0_1) 8.4.0
- GNU Fortran (Homebrew GCC 9.3.0_1) 9.3.0 - GNU Fortran (Homebrew GCC 9.3.0_1) 9.3.0
- Node.js v12.16.3 - Node.js v12.18.1
- NVM 0.35.3 - NVM 0.35.3
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.20.1 v12.16.3 v13.14.0 v14.2.0 - NVM - Cached node versions: v6.17.1 v8.17.0 v10.21.0 v12.18.1 v13.14.0 v14.4.0
- PowerShell 7.0.1 - PowerShell 7.0.2
- Python 2.7.17 - Python 2.7.17
- Python 3.7.7 - Python 3.7.7
- Ruby 2.6.6p146 - 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 3.1.202 - .NET SDK 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.602 2.1.603 2.1.604 2.1.607 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.200 3.1.201 3.1.300 3.1.301
- Go 1.14.3 - Go 1.14.4
- PHP 7.4.6 - PHP 7.4.7
- julia 1.4.1 - julia 1.4.2
### 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.35.0
- CocoaPods 1.9.1 - CocoaPods 1.9.3
- Homebrew 2.2.17 - Homebrew 2.4.2
- NPM 6.14.4 - NPM 6.14.5
- Yarn 1.22.4 - Yarn 1.22.4
- NuGet 5.5.0.6382 - NuGet 5.6.0.6489
- Pip 19.3.1 (python 2.7) - Pip 19.3.1 (python 2.7)
- Pip 20.0.2 (python 3.7) - Pip 20.0.2 (python 3.7)
- Miniconda 4.8.2 - Miniconda 4.8.3
- RubyGems 3.1.3 - RubyGems 3.1.4
### Project Management ### Project Management
- Apache Maven 3.6.3 - Apache Maven 3.6.3
- Gradle 6.4.1 - Gradle 6.5
### Utilities ### Utilities
- Curl 7.70.0 - Curl 7.71.0
- Git: 2.26.2 - Git: 2.27.0
- Git LFS: 2.11.0 - Git LFS: 2.11.0
- GitHub CLI: 0.8.0 - GitHub CLI: 0.10.1
- 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.14.0
- Packer 1.5.6 - Packer 1.6.0
- GNU parallel 20200422 - GNU parallel 20200622
- OpenSSL 1.0.2t 10 Sep 2019 `(/usr/local/opt/openssl -> /usr/local/Cellar/openssl/1.0.2t)` - OpenSSL 1.0.2t 10 Sep 2019 `(/usr/local/opt/openssl -> /usr/local/Cellar/openssl/1.0.2t)`
- jq 1.6 - jq 1.6
- gpg (GnuPG) 2.2.20 - gpg (GnuPG) 2.2.20
@@ -66,35 +66,40 @@
- PostgreSQL 12.3 - PostgreSQL 12.3
- aria2 1.35.0 - aria2 1.35.0
- azcopy 10.4.3 - azcopy 10.4.3
- zstd 1.4.4 - zstd 1.4.5
- bazel 3.1.0 - bazel 3.3.0
- bazelisk v1.4.0 - bazelisk v1.5.0
- helm v3.2.1+gfe51cd1 - helm v3.2.4+g0ad800e
- virtualbox 6.1.8r137981 - virtualbox 6.1.10r138449
- mongo v4.2.6 - mongo v4.2.8
- mongod v4.2.6 - mongod v4.2.8
- Vagrant 2.2.9 - Vagrant 2.2.9
- 7-Zip 16.02
### Tools ### Tools
- Fastlane 2.148.1 - Fastlane 2.149.1
- Cmake 3.17.2 - Cmake 3.17.3
- App Center CLI 2.5.2 - App Center CLI 2.6.0
- Azure CLI 2.5.1 - Azure CLI 2.8.0
- AWS CLI 2.0.10 - AWS CLI 2.0.25
- AWS SAM CLI 0.49.0 - AWS SAM CLI 0.53.0
- Aliyun CLI 3.0.42 - Aliyun CLI 3.0.48
- GHCup v0.1.5-p2
- GHC 8.10.1
- Cabal 3.2.0.0
- Stack 2.3.1
### Browsers ### Browsers
- Safari 13.1 (15609.1.20.111.8) - Safari 13.1.1 (15609.2.9.1.2)
- SafariDriver 13.1 (15609.1.20.111.8) - SafariDriver 13.1.1 (15609.2.9.1.2)
- Google Chrome 81.0.4044.138 - Google Chrome 83.0.4103.116
- ChromeDriver 81.0.4044.138 - ChromeDriver 83.0.4103.39
- Microsoft Edge 81.0.416.72 - Microsoft Edge 83.0.478.56
- MSEdgeDriver 81.0.416.72 - MSEdgeDriver 83.0.478.56
- Mozilla Firefox 76.0.1 - Mozilla Firefox 77.0.1
- geckodriver 0.26.0 - geckodriver 0.26.0
### Toolcache ### Cached Tools
#### Ruby #### Ruby
- 2.4.10 - 2.4.10
- 2.5.8 - 2.5.8
@@ -109,19 +114,33 @@
- 3.8.3 - 3.8.3
#### PyPy #### PyPy
- 2.7.17 - 2.7.13 [PyPy 7.3.1]
- 3.6.9 - 3.6.9 [PyPy 7.3.1]
#### Node.js
- 8.17.0
- 10.21.0
- 12.18.1
- 14.4.0
#### Go
- 1.11.13
- 1.12.17
- 1.13.12
- 1.14.4
### Xamarin ### Xamarin
#### Visual Studio for Mac #### Visual Studio for Mac
- 8.5.5.7 - 8.6.5.23
#### Mono #### Mono
- 6.10.0.104
- 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.18.2.1
- 13.16.0.13 - 13.16.0.13
- 13.14.1.39 - 13.14.1.39
- 13.10.0.21 - 13.10.0.21
@@ -131,6 +150,7 @@
- 13.2.0.47 - 13.2.0.47
#### Xamarin.Mac #### Xamarin.Mac
- 6.18.2.1
- 6.16.0.13 - 6.16.0.13
- 6.14.1.39 - 6.14.1.39
- 6.10.0.21 - 6.10.0.21
@@ -140,6 +160,7 @@
- 6.2.0.47 - 6.2.0.47
#### Xamarin.Android #### Xamarin.Android
- 10.3.1
- 10.2.0 - 10.2.0
- 10.1.3 - 10.1.3
- 10.0.6 - 10.0.6
@@ -148,78 +169,94 @@
- NUnit 3.6.1 - NUnit 3.6.1
### Xcode ### Xcode
| Version | Build | Path | | Version | Build | Path |
| ---------------- | ------- | ------------------------------ | | -------------- | ------- | --------------------------------- |
| 11.5 | 11E608c | /Applications/Xcode_11.5.app | | 12.0 (beta) | 12A6159 | /Applications/Xcode_12_beta.app |
| 11.4.1 (default) | 11E503a | /Applications/Xcode_11.4.1.app | | 11.6 (beta) | 11N700h | /Applications/Xcode_11.6_beta.app |
| 11.4 | 11E146 | /Applications/Xcode_11.4.app | | 11.5 (default) | 11E608c | /Applications/Xcode_11.5.app |
| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app | | 11.4.1 | 11E503a | /Applications/Xcode_11.4.1.app |
| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app | | 11.4 | 11E146 | /Applications/Xcode_11.4.app |
| 11.1 | 11A1027 | /Applications/Xcode_11.1.app | | 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app |
| 11.0 | 11A420a | /Applications/Xcode_11.app | | 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
| 10.3 | 10G8 | /Applications/Xcode_10.3.app | | 11.1 | 11A1027 | /Applications/Xcode_11.1.app |
| 11.0 | 11A420a | /Applications/Xcode_11.app |
| 10.3 | 10G8 | /Applications/Xcode_10.3.app |
#### Xcode Support Tools #### Xcode Support Tools
- Nomad CLI 3.1.3 - Nomad CLI 3.1.4
- 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.4 - xcversion 2.6.6
#### Installed SDKs #### Installed SDKs
| SDK | SDK Name | Xcode Version | | SDK | SDK Name | Xcode Version |
| ----------------------- | -------------------- | ---------------------------------------------- | | ----------------------- | -------------------- | ---------------------------------------------------- |
| macOS 10.14 | macosx10.14 | 10.3 | | macOS 10.14 | macosx10.14 | 10.3 |
| macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5 | | macOS 10.15 | macosx10.15 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6 |
| iOS 12.4 | iphoneos12.4 | 10.3 | | macOS 10.16 | macosx10.16 | 12.0 |
| iOS 13.0 | iphoneos13.0 | 11.0 | | iOS 12.4 | iphoneos12.4 | 10.3 |
| iOS 13.1 | iphoneos13.1 | 11.1 | | iOS 13.0 | iphoneos13.0 | 11.0 |
| iOS 13.2 | iphoneos13.2 | 11.2.1, 11.3.1 | | iOS 13.1 | iphoneos13.1 | 11.1 |
| iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 | | iOS 13.2 | iphoneos13.2 | 11.2.1, 11.3.1 |
| iOS 13.5 | iphoneos13.5 | 11.5 | | iOS 13.4 | iphoneos13.4 | 11.4, 11.4.1 |
| Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 | | iOS 13.5 | iphoneos13.5 | 11.5 |
| Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 | | iOS 13.6 | iphoneos13.6 | 11.6 |
| Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 | | iOS 14.0 | iphoneos14.0 | 12.0 |
| Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2.1, 11.3.1 | | Simulator - iOS 12.4 | iphonesimulator12.4 | 10.3 |
| Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 | | Simulator - iOS 13.0 | iphonesimulator13.0 | 11.0 |
| Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 | | Simulator - iOS 13.1 | iphonesimulator13.1 | 11.1 |
| tvOS 12.4 | appletvos12.4 | 10.3 | | Simulator - iOS 13.2 | iphonesimulator13.2 | 11.2.1, 11.3.1 |
| tvOS 13.0 | appletvos13.0 | 11.0, 11.1 | | Simulator - iOS 13.4 | iphonesimulator13.4 | 11.4, 11.4.1 |
| tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.1 | | Simulator - iOS 13.5 | iphonesimulator13.5 | 11.5 |
| tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5 | | Simulator - iOS 13.6 | iphonesimulator13.6 | 11.6 |
| Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 | | Simulator - iOS 14.0 | iphonesimulator14.0 | 12.0 |
| Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 | | tvOS 12.4 | appletvos12.4 | 10.3 |
| Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2.1, 11.3.1 | | tvOS 13.0 | appletvos13.0 | 11.0, 11.1 |
| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5 | | tvOS 13.2 | appletvos13.2 | 11.2.1, 11.3.1 |
| watchOS 5.3 | watchos5.3 | 10.3 | | tvOS 13.4 | appletvos13.4 | 11.4, 11.4.1, 11.5, 11.6 |
| watchOS 6.0 | watchos6.0 | 11.0, 11.1 | | tvOS 14.0 | appletvos14.0 | 12.0 |
| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.1 | | Simulator - tvOS 12.4 | appletvsimulator12.4 | 10.3 |
| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5 | | Simulator - tvOS 13.0 | appletvsimulator13.0 | 11.0, 11.1 |
| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 | | Simulator - tvOS 13.2 | appletvsimulator13.2 | 11.2.1, 11.3.1 |
| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 | | Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.4, 11.4.1, 11.5, 11.6 |
| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2.1, 11.3.1 | | Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.0 |
| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5 | | watchOS 5.3 | watchos5.3 | 10.3 |
| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5 | | watchOS 6.0 | watchos6.0 | 11.0, 11.1 |
| watchOS 6.1 | watchos6.1 | 11.2.1, 11.3.1 |
| watchOS 6.2 | watchos6.2 | 11.4, 11.4.1, 11.5, 11.6 |
| watchOS 7.0 | watchos7.0 | 12.0 |
| Simulator - watchOS 5.3 | watchsimulator5.3 | 10.3 |
| Simulator - watchOS 6.0 | watchsimulator6.0 | 11.0, 11.1 |
| Simulator - watchOS 6.1 | watchsimulator6.1 | 11.2.1, 11.3.1 |
| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.4, 11.4.1, 11.5, 11.6 |
| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.0 |
| DriverKit 19.0 | driverkit.macosx19.0 | 11.0, 11.1, 11.2.1, 11.3.1, 11.4, 11.4.1, 11.5, 11.6 |
| DriverKit 20.0 | driverkit.macosx20.0 | 12.0 |
#### 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 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.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.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.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.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<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) | | 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>iPhone SE (2nd generation)<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.5 | 11.5 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone SE (2nd generation)<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.5 | 11.5 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone SE (2nd generation)<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) |
| tvOS 12.4 | 10.3 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | iOS 13.6 | 11.6 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone SE (2nd generation)<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) |
| tvOS 13.0 | 11.0<br>11.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | iOS 14.0 | 12.0 | iPhone 8<br>iPhone 8 Plus<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone SE (2nd generation)<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) |
| tvOS 13.2 | 11.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 12.4 | 10.3 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 13.3 | 11.3.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.4 | 11.4<br>11.4.1<br>11.5 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) | | tvOS 13.2 | 11.2.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 | | tvOS 13.3 | 11.3.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| 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 | | tvOS 13.4 | 11.4<br>11.4.1<br>11.5<br>11.6 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| watchOS 6.1 | 11.2.1<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 | | tvOS 14.0 | 12.0 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| watchOS 6.2 | 11.4<br>11.4.1<br>11.5 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm | | 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.1 | 11.2.1<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<br>11.4.1<br>11.5<br>11.6 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
| watchOS 7.0 | 12.0 | 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
@@ -230,7 +267,7 @@
#### Android SDK Platform-Tools #### Android SDK Platform-Tools
| Package Name | Description | | Package Name | Description |
| -------------- | ------------------------------------------- | | -------------- | ------------------------------------------- |
| platform-tools | Android SDK Platform-Tools, Revision 30.0.1 | | platform-tools | Android SDK Platform-Tools, Revision 30.0.3 |
#### Android SDK Platforms #### Android SDK Platforms
| Package Name | Description | | Package Name | Description |
@@ -241,42 +278,43 @@
| android-27 | Android SDK Platform 27, Revision 3 | | android-27 | Android SDK Platform 27, Revision 3 |
| 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-30 | Android SDK Platform 30, Revision 1 |
#### 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 |
| build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 | | build-tools-24.0.1 | Android SDK Build-Tools, Revision 24.0.1 |
| build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 | | build-tools-24.0.2 | Android SDK Build-Tools, Revision 24.0.2 |
| build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 | | build-tools-24.0.3 | Android SDK Build-Tools, Revision 24.0.3 |
| build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 | | build-tools-25.0.0 | Android SDK Build-Tools, Revision 25.0.0 |
| build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 | | build-tools-25.0.1 | Android SDK Build-Tools, Revision 25.0.1 |
| build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 | | build-tools-25.0.2 | Android SDK Build-Tools, Revision 25.0.2 |
| build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 | | build-tools-25.0.3 | Android SDK Build-Tools, Revision 25.0.3 |
| build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 | | build-tools-26.0.0 | Android SDK Build-Tools, Revision 26.0.0 |
| build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 | | build-tools-26.0.1 | Android SDK Build-Tools, Revision 26.0.1 |
| build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 | | build-tools-26.0.2 | Android SDK Build-Tools, Revision 26.0.2 |
| build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 | | build-tools-26.0.3 | Android SDK Build-Tools, Revision 26.0.3 |
| build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 | | build-tools-27.0.0 | Android SDK Build-Tools, Revision 27.0.0 |
| build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 | | build-tools-27.0.1 | Android SDK Build-Tools, Revision 27.0.1 |
| build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 | | build-tools-27.0.2 | Android SDK Build-Tools, Revision 27.0.2 |
| build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 | | build-tools-27.0.3 | Android SDK Build-Tools, Revision 27.0.3 |
| build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 | | build-tools-28.0.0 | Android SDK Build-Tools, Revision 28.0.0 |
| build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 | | build-tools-28.0.1 | Android SDK Build-Tools, Revision 28.0.1 |
| build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 | | build-tools-28.0.2 | Android SDK Build-Tools, Revision 28.0.2 |
| build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 | | build-tools-28.0.3 | Android SDK Build-Tools, Revision 28.0.3 |
| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 | | build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 |
| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 | | build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 |
| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 | | build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 |
| 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-rc4 | Android SDK Build-Tools, Revision 30.0.0 rc4 | | build-tools-30.0.0 | Android SDK Build-Tools, Revision 30.0.0 |
#### Android NDKs #### Android NDKs
| Version | Path | | Version | Path |
| ------------ | ------------------------------------------ | | ------------ | ------------------------------------------ |
| 15.2.4203891 | $HOME/Library/Android/sdk/android-ndk-r15c | | 15.2.4203891 | $HOME/Library/Android/sdk/android-ndk-r15c |
| 18.1.5063045 | $HOME/Library/Android/sdk/ndk/18.1.5063045 | | 18.1.5063045 | $HOME/Library/Android/sdk/ndk/18.1.5063045 |
| 21.1.6352462 | $HOME/Library/Android/sdk/ndk-bundle | | 21.3.6528147 | $HOME/Library/Android/sdk/ndk-bundle |
#### Android Utils #### Android Utils
| Package Name | Version | | Package Name | Version |

View File

@@ -24,15 +24,14 @@
"imagedata_file": "C:\\imagedata.json", "imagedata_file": "C:\\imagedata.json",
"metadata_file": "C:\\image\\metadata.txt", "metadata_file": "C:\\image\\metadata.txt",
"helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\", "helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\",
"psmodules_root_folder": "C:\\Modules",
"commit_url": "LATEST", "commit_url": "LATEST",
"install_user": "installer", "install_user": "installer",
"install_password": null, "install_password": null,
"capture_name_prefix": "packer", "capture_name_prefix": "packer",
"image_version": "dev", "image_version": "dev",
"image_os": "win16", "image_os": "win16",
"github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}", "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}"
"go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14",
"go_default": "1.14"
}, },
"sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"], "sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"],
"builders": [ "builders": [
@@ -193,6 +192,12 @@
"elevated_user": "{{user `install_user`}}", "elevated_user": "{{user `install_user`}}",
"elevated_password": "{{user `install_password`}}" "elevated_password": "{{user `install_password`}}"
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Nuget.ps1"
]
},
{ {
"type": "windows-restart", "type": "windows-restart",
"restart_timeout": "30m" "restart_timeout": "30m"
@@ -289,6 +294,12 @@
"{{ template_dir }}/scripts/Installers/Install-AzureDevOpsCli.ps1" "{{ template_dir }}/scripts/Installers/Install-AzureDevOpsCli.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-AzCopy.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -327,12 +338,12 @@
}, },
{ {
"type": "file", "type": "file",
"source": "{{template_dir}}/toolcache-2016.json", "source": "{{template_dir}}/toolsets/toolcache-2016.json",
"destination": "{{user `root_folder`}}/toolcache.json" "destination": "{{user `root_folder`}}/toolcache.json"
}, },
{ {
"type": "file", "type": "file",
"source": "{{template_dir}}/toolset-2016.json", "source": "{{template_dir}}/toolsets/toolset-2016.json",
"destination": "{{user `toolset_json_path`}}" "destination": "{{user `toolset_json_path`}}"
}, },
{ {
@@ -360,7 +371,8 @@
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}" "TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
], ],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Install-Toolset.ps1" "{{ template_dir }}/scripts/Installers/Install-Toolset.ps1",
"{{ template_dir }}/scripts/Installers/Configure-Toolset.ps1"
] ]
}, },
{ {
@@ -387,16 +399,6 @@
"{{ template_dir }}/scripts/Installers/Install-GitHub-CLI.ps1" "{{ template_dir }}/scripts/Installers/Install-GitHub-CLI.ps1"
] ]
}, },
{
"type": "powershell",
"environment_vars": [
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{user `go_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Go.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -543,18 +545,16 @@
"{{ template_dir }}/scripts/Installers/Install-DotnetSDK.ps1" "{{ template_dir }}/scripts/Installers/Install-DotnetSDK.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-WindowsUpdates.ps1"
]
},
{ {
"type": "windows-shell", "type": "windows-shell",
"inline": ["wmic product where \"name like '%%microsoft azure powershell%%'\" call uninstall /nointeractive"] "inline": ["wmic product where \"name like '%%microsoft azure powershell%%'\" call uninstall /nointeractive"]
}, },
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}",
"PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Install-AzureModules.ps1" "{{ template_dir }}/scripts/Installers/Install-AzureModules.ps1"
] ]
@@ -603,15 +603,6 @@
"{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1" "{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1"
] ]
}, },
{
"type": "powershell",
"environment_vars": [
"ROOT_FOLDER={{user `root_folder`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Boost.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -678,12 +669,22 @@
"{{ template_dir }}/scripts/Installers/Install-MongoDB.ps1" "{{ template_dir }}/scripts/Installers/Install-MongoDB.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-GoogleCloudSDK.ps1"
]
},
{ {
"type": "windows-restart", "type": "windows-restart",
"restart_timeout": "30m" "restart_timeout": "30m"
}, },
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}",
"PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Validate-AzureModules.ps1" "{{ template_dir }}/scripts/Installers/Validate-AzureModules.ps1"
] ]
@@ -712,6 +713,12 @@
"{{ template_dir }}/scripts/Installers/Validate-AzureDevOpsCli.ps1" "{{ template_dir }}/scripts/Installers/Validate-AzureDevOpsCli.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-AzCopy.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -760,25 +767,6 @@
"{{ template_dir }}/scripts/Installers/Validate-GitHub-CLI.ps1" "{{ template_dir }}/scripts/Installers/Validate-GitHub-CLI.ps1"
] ]
}, },
{
"type": "powershell",
"environment_vars": [
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{ user `go_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Go.ps1"
]
},
{
"type": "powershell",
"environment_vars": [
"ROOT_FOLDER={{user `root_folder`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Boost.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -1007,12 +995,30 @@
"{{ template_dir }}/scripts/Installers/Validate-MongoDB.ps1" "{{ template_dir }}/scripts/Installers/Validate-MongoDB.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-GoogleCloudSDK.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1" "{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-WindowsUpdates.ps1"
],
"elevated_user": "{{user `install_user`}}",
"elevated_password": "{{user `install_password`}}"
},
{
"type": "windows-restart",
"restart_timeout": "10m"
},
{ {
"type": "powershell", "type": "powershell",
"inline": [ "inline": [

File diff suppressed because it is too large Load Diff

View File

@@ -24,15 +24,14 @@
"imagedata_file": "C:\\imagedata.json", "imagedata_file": "C:\\imagedata.json",
"metadata_file": "C:\\image\\metadata.txt", "metadata_file": "C:\\image\\metadata.txt",
"helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\", "helper_script_folder": "C:\\Program Files\\WindowsPowerShell\\Modules\\",
"psmodules_root_folder": "C:\\Modules",
"commit_id": "LATEST", "commit_id": "LATEST",
"install_user": "installer", "install_user": "installer",
"install_password": null, "install_password": null,
"capture_name_prefix": "packer", "capture_name_prefix": "packer",
"image_version": "dev", "image_version": "dev",
"image_os": "win19", "image_os": "win19",
"github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}", "github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}"
"go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14",
"go_default": "1.14"
}, },
"sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"], "sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"],
"builders": [ "builders": [
@@ -193,6 +192,12 @@
"elevated_user": "{{user `install_user`}}", "elevated_user": "{{user `install_user`}}",
"elevated_password": "{{user `install_password`}}" "elevated_password": "{{user `install_password`}}"
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Nuget.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -274,6 +279,12 @@
"{{ template_dir }}/scripts/Installers/Install-AzureDevOpsCli.ps1" "{{ template_dir }}/scripts/Installers/Install-AzureDevOpsCli.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-AzCopy.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -294,12 +305,12 @@
}, },
{ {
"type": "file", "type": "file",
"source": "{{template_dir}}/toolcache-2019.json", "source": "{{template_dir}}/toolsets/toolcache-2019.json",
"destination": "{{user `root_folder`}}/toolcache.json" "destination": "{{user `root_folder`}}/toolcache.json"
}, },
{ {
"type": "file", "type": "file",
"source": "{{template_dir}}/toolset-2019.json", "source": "{{template_dir}}/toolsets/toolset-2019.json",
"destination": "{{user `toolset_json_path`}}" "destination": "{{user `toolset_json_path`}}"
}, },
{ {
@@ -327,7 +338,8 @@
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}" "TOOLSET_JSON_PATH={{user `toolset_json_path`}}"
], ],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Install-Toolset.ps1" "{{ template_dir }}/scripts/Installers/Install-Toolset.ps1",
"{{ template_dir }}/scripts/Installers/Configure-Toolset.ps1"
] ]
}, },
{ {
@@ -353,16 +365,6 @@
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Install-GitHub-CLI.ps1" "{{ template_dir }}/scripts/Installers/Install-GitHub-CLI.ps1"
] ]
},
{
"type": "powershell",
"environment_vars": [
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{user `go_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Go.ps1"
]
}, },
{ {
"type": "powershell", "type": "powershell",
@@ -504,18 +506,16 @@
"{{ template_dir }}/scripts/Installers/Install-DotnetSDK.ps1" "{{ template_dir }}/scripts/Installers/Install-DotnetSDK.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-WindowsUpdates.ps1"
]
},
{ {
"type": "windows-shell", "type": "windows-shell",
"inline": ["wmic product where \"name like '%%microsoft azure powershell%%'\" call uninstall /nointeractive"] "inline": ["wmic product where \"name like '%%microsoft azure powershell%%'\" call uninstall /nointeractive"]
}, },
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}",
"PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Install-AzureModules.ps1" "{{ template_dir }}/scripts/Installers/Install-AzureModules.ps1"
] ]
@@ -564,15 +564,6 @@
"{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1" "{{ template_dir }}/scripts/Installers/Install-AzureCosmosDbEmulator.ps1"
] ]
}, },
{
"type": "powershell",
"environment_vars": [
"ROOT_FOLDER={{user `root_folder`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Boost.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -663,12 +654,22 @@
"{{ template_dir }}/scripts/Installers/Install-MongoDB.ps1" "{{ template_dir }}/scripts/Installers/Install-MongoDB.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-GoogleCloudSDK.ps1"
]
},
{ {
"type": "windows-restart", "type": "windows-restart",
"restart_timeout": "10m" "restart_timeout": "10m"
}, },
{ {
"type": "powershell", "type": "powershell",
"environment_vars":[
"TOOLSET_JSON_PATH={{user `toolset_json_path`}}",
"PSMODULES_ROOT_FOLDER={{user `psmodules_root_folder`}}"
],
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Validate-AzureModules.ps1" "{{ template_dir }}/scripts/Installers/Validate-AzureModules.ps1"
] ]
@@ -697,6 +698,12 @@
"{{ template_dir }}/scripts/Installers/Validate-AzureDevOpsCli.ps1" "{{ template_dir }}/scripts/Installers/Validate-AzureDevOpsCli.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-AzCopy.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -745,25 +752,6 @@
"{{ template_dir }}/scripts/Installers/Validate-GitHub-CLI.ps1" "{{ template_dir }}/scripts/Installers/Validate-GitHub-CLI.ps1"
] ]
}, },
{
"type": "powershell",
"environment_vars": [
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{user `go_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Go.ps1"
]
},
{
"type": "powershell",
"environment_vars": [
"ROOT_FOLDER={{user `root_folder`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Boost.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -998,12 +986,30 @@
"{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1" "{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-GoogleCloudSDK.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
"{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1" "{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-WindowsUpdates.ps1"
],
"elevated_user": "{{user `install_user`}}",
"elevated_password": "{{user `install_password`}}"
},
{
"type": "windows-restart",
"restart_timeout": "10m"
},
{ {
"type": "powershell", "type": "powershell",
"inline": [ "inline": [

File diff suppressed because it is too large Load Diff

View File

@@ -16,6 +16,7 @@ Export-ModuleMember -Function @(
'Install-VisualStudio' 'Install-VisualStudio'
'Get-ToolcachePackages' 'Get-ToolcachePackages'
'Get-ToolsetContent' 'Get-ToolsetContent'
'Get-ToolsetToolFullPath'
'Get-ToolsByName' 'Get-ToolsByName'
'Stop-SvcWithErrHandling' 'Stop-SvcWithErrHandling'
'Set-SvcWithErrHandling' 'Set-SvcWithErrHandling'

View File

@@ -137,7 +137,7 @@ function Stop-SvcWithErrHandling
.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)] [Parameter(Mandatory, ValueFromPipeLine = $true)]
[string] $ServiceName, [string] $ServiceName,
@@ -187,7 +187,7 @@ function Set-SvcWithErrHandling
Hashtable for service arguments Hashtable for service arguments
#> #>
param Param
( (
[Parameter(Mandatory, ValueFromPipeLine = $true)] [Parameter(Mandatory, ValueFromPipeLine = $true)]
[string] $ServiceName, [string] $ServiceName,
@@ -217,7 +217,7 @@ function Set-SvcWithErrHandling
function Start-DownloadWithRetry function Start-DownloadWithRetry
{ {
param Param
( (
[Parameter(Mandatory)] [Parameter(Mandatory)]
[string] $Url, [string] $Url,
@@ -348,17 +348,74 @@ 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 { function Get-ToolsetContent
{
$toolsetJson = Get-Content -Path $env:TOOLSET_JSON_PATH -Raw $toolsetJson = Get-Content -Path $env:TOOLSET_JSON_PATH -Raw
ConvertFrom-Json -InputObject $toolsetJson ConvertFrom-Json -InputObject $toolsetJson
} }
function Get-ToolsByName { function Get-ToolsetToolFullPath
{
<#
.DESCRIPTION
Function that return full path to specified toolset tool.
.PARAMETER Name
The name of required tool.
.PARAMETER Version
The version of required tool.
.PARAMETER Arch
The architecture of required tool.
#>
Param
(
[Parameter(Mandatory=$true)]
[string] $Name,
[Parameter(Mandatory=$true)]
[string] $Version,
[string] $Arch = "x64"
)
$ToolPath = Join-Path $env:AGENT_TOOLSDIRECTORY $Name
# Add wildcard if missing
if ($Version.Split(".").Length -lt 3) {
$Version += ".*"
}
# Check if version folder exists
$expectedVersionPath = Join-Path $ToolPath $Version
if (-not (Test-Path $expectedVersionPath)) {
Write-Host "Expected ${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
# Check for required architecture folder
$foundVersionArchPath = Join-Path $foundVersion $Arch
if (-not (Test-Path $foundVersionArchPath)) {
Write-Host "Expected ${Name}(${Arch}) $($foundVersion.name) architecture folder is not found!"
exit 1
}
return $foundVersionArchPath
}
function Get-ToolsByName
{
Param Param
( (
[Parameter(Mandatory = $True)] [Parameter(Mandatory = $True)]
@@ -391,7 +448,7 @@ function Test-IsWin16
} }
function Extract-7Zip { function Extract-7Zip {
param Param
( (
[Parameter(Mandatory=$true)] [Parameter(Mandatory=$true)]
[string]$Path, [string]$Path,

View File

@@ -0,0 +1,84 @@
################################################################################
## File: Configure-Toolset.ps1
## Team: CI-Build
## Desc: Configure Toolset
################################################################################
Function Set-DefaultVariables
{
param
(
[Parameter(Mandatory=$true)]
[object] $EnvVars,
[Parameter(Mandatory=$true)]
[string] $ToolVersionPath
)
$templates = $EnvVars.pathTemplates
foreach ($template in $templates)
{
$toolSystemPath = $template -f $ToolVersionPath
Add-MachinePathItem -PathItem $toolSystemPath | Out-Null
}
if (-not ([string]::IsNullOrEmpty($EnvVars.defaultVariable)))
{
setx $toolEnvVars.defaultVariable $ToolVersionPath /M | Out-Null
}
}
$ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers -Force -DisableNameChecking
# Define executables for cached tools
$toolsEnvironmentVariables = @{
Python = @{
pathTemplates = @(
"{0}",
"{0}\Scripts"
)
}
Boost = @{
variableTemplate = "BOOST_ROOT_{0}_{1}_{2}"
}
go = @{
pathTemplates = @(
"{0}\bin"
)
defaultVariable = "GOROOT"
variableTemplate = "GOROOT_{0}_{1}_X64"
}
}
$toolsToConfigure = @("Python", "Boost", "Go")
$tools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache `
| Where-Object { $toolsToConfigure -contains $_.name }
Write-Host "Configure toolset tools environment..."
foreach ($tool in $tools)
{
$toolEnvVars = $toolsEnvironmentVariables[$tool.name]
if (-not ([string]::IsNullOrEmpty($toolEnvVars.variableTemplate)))
{
foreach ($version in $tool.versions)
{
Write-Host "Set $($tool.name) $version environment variable..."
$foundVersionArchPath = Get-ToolsetToolFullPath -Name $tool.name -Version $version -Arch $tool.arch
$envName = $toolEnvVars.variableTemplate -f $version.Split(".")
setx $envName $foundVersionArchPath /M | Out-Null
}
}
if (-not ([string]::IsNullOrEmpty($tool.default)))
{
Write-Host "Use $($tool.name) $($tool.default) as a system $($tool.name)..."
$toolVersionPath = Get-ToolsetToolFullPath -Name $tool.name -Version $tool.default -Arch $tool.arch
Set-DefaultVariables -ToolVersionPath $toolVersionPath -EnvVars $toolEnvVars
}
}

View File

@@ -1,6 +1,6 @@
################################################################################ ################################################################################
## File: Finalize-VM.ps1 ## File: Finalize-VM.ps1
## Desc: Clean up folders temp folders after installs to save space ## Desc: Clean up temp folders after installs to save space
################################################################################ ################################################################################
Write-Host "Cleanup WinSxS" Write-Host "Cleanup WinSxS"
@@ -19,7 +19,7 @@ Write-Host "Clean up various directories"
if (Test-Path $_) { if (Test-Path $_) {
Write-Host "Removing $_" Write-Host "Removing $_"
try { try {
Takeown /d Y /R /f $_ Takeown /d Y /R /f $_ | Out-Null
Icacls $_ /GRANT:r administrators:F /T /c /q 2>&1 | Out-Null Icacls $_ /GRANT:r administrators:F /T /c /q 2>&1 | Out-Null
Remove-Item $_ -Recurse -Force | Out-Null Remove-Item $_ -Recurse -Force | Out-Null
} }

View File

@@ -0,0 +1,6 @@
################################################################################
## File: Install-AzCopy.ps1
## Desc: Install AzCopy10
################################################################################
Choco-Install -PackageName azcopy10

View File

@@ -3,8 +3,7 @@
## Desc: Install Azure CLI ## Desc: Install Azure CLI
################################################################################ ################################################################################
# Temporary hardcode 2.5.1 installation until version 2.7.0 with the fix for the issue is not released https://github.com/actions/virtual-environments/issues/948 Choco-Install -PackageName azure-cli
Choco-Install -PackageName azure-cli -ArgumentList "--version=2.5.1"
$AzureCliExtensionPath = Join-Path $Env:CommonProgramFiles 'AzureCliExtensionDirectory' $AzureCliExtensionPath = Join-Path $Env:CommonProgramFiles 'AzureCliExtensionDirectory'
New-Item -ItemType "directory" -Path $AzureCliExtensionPath New-Item -ItemType "directory" -Path $AzureCliExtensionPath

View File

@@ -3,58 +3,35 @@
## Desc: Install Azure PowerShell modules ## Desc: Install Azure PowerShell modules
################################################################################ ################################################################################
$ErrorActionPreference = "Stop"
Set-PSRepository -InstallationPolicy Trusted -Name PSGallery Set-PSRepository -InstallationPolicy Trusted -Name PSGallery
#### NOW The correct Modules need to be saved in C:\Modules # The correct Modules need to be saved in C:\Modules
$installPSModulePath = 'C:\Modules' $installPSModulePath = $env:PSMODULES_ROOT_FOLDER
if(-not (Test-Path -LiteralPath $installPSModulePath)) if (-not (Test-Path -LiteralPath $installPSModulePath))
{ {
Write-Host "Creating '$installPSModulePath' folder to store PowerShell Azure modules" Write-Host "Creating ${installPSModulePath} folder to store PowerShell Azure modules..."
$null = New-Item -Path $installPSModulePath -ItemType Directory $null = New-Item -Path $installPSModulePath -ItemType Directory
} }
# Powershell Azure modules to install # Get modules content from toolset
$psAzureModulesToInstall = @{ $modules = (Get-ToolsetContent).azureModules
"azurerm" = @(
"2.1.0"
"3.8.0"
"4.2.1"
"5.1.1"
"6.7.0"
"6.13.1"
)
"azure" = @( $psModuleMachinePath = ""
"2.1.0"
"3.8.0"
"4.2.1"
"5.1.1"
"5.3.0"
)
"az" = @( foreach ($module in $modules)
"1.0.0"
"1.6.0"
"2.3.2"
"2.6.0"
"3.1.0"
"3.5.0"
"3.8.0"
)
}
# Download Azure PowerShell modules
foreach($psmoduleName in $psAzureModulesToInstall.Keys)
{ {
Write-Host "Installing '$psmoduleName' to the '$installPSModulePath' path:" $moduleName = $module.name
$psmoduleVersions = $psAzureModulesToInstall[$psmoduleName]
foreach($psmoduleVersion in $psmoduleVersions) Write-Host "Installing ${moduleName} to the ${installPSModulePath} path..."
foreach ($version in $module.versions)
{ {
$psmodulePath = Join-Path $installPSModulePath "${psmoduleName}_${psmoduleVersion}" $modulePath = Join-Path -Path $installPSModulePath -ChildPath "${moduleName}_${version}"
Write-Host " - $psmoduleVersion [$psmodulePath]" Write-Host " - $version [$modulePath]"
try try
{ {
Save-Module -Path $psmodulePath -Name $psmoduleName -RequiredVersion $psmoduleVersion -Force -ErrorAction Stop Save-Module -Path $modulePath -Name $moduleName -RequiredVersion $version -Force -ErrorAction Stop
} }
catch catch
{ {
@@ -62,8 +39,17 @@ foreach($psmoduleName in $psAzureModulesToInstall.Keys)
exit 1 exit 1
} }
} }
# Append default tool version to machine path
if ($null -ne $module.default)
{
$defaultVersion = $module.default
Write-Host "Use ${moduleName} ${defaultVersion} as default version..."
$psModuleMachinePath += "${installPSModulePath}\${moduleName}_${defaultVersion};"
}
} }
# Add AzureRM and Azure modules to the PSModulePath # Add modules to the PSModulePath
$finalModulePath = '{0};{1};{2}' -f "${installPSModulePath}\azurerm_2.1.0", "${installPSModulePath}\azure_2.1.0", $env:PSModulePath $psModuleMachinePath += $env:PSModulePath
[Environment]::SetEnvironmentVariable("PSModulePath", $finalModulePath, "Machine") [Environment]::SetEnvironmentVariable("PSModulePath", $psModuleMachinePath, "Machine")

View File

@@ -1,19 +0,0 @@
################################################################################
## File: Set-BoostRoot.ps1
## Team: CI-Build
## Desc: Install boost using tool cache
################################################################################
Import-Module -Name ImageHelpers
$SoftwareName = "Boost"
$BoostDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName
$BoostVersions = (Get-ToolsByName -SoftwareName $SoftwareName).Versions | Foreach-Object {"{0}.0" -f $_}
foreach($BoostVersion in $BoostVersions)
{
$BoostInstallationDir = Join-Path -Path $BoostDirectory -ChildPath $BoostVersion
$EnvBoostPath = "BOOST_ROOT_{0}" -f ($BoostVersion.Replace('.', '_'))
setx $EnvBoostPath $BoostInstallationDir /M | Out-Null
}

View File

@@ -59,8 +59,7 @@ function InstallAllValidSdks()
# Consider all channels except preview/eol channels. # Consider all channels except preview/eol channels.
# Sort the channels in ascending order # Sort the channels in ascending order
# HACK: Explicitly adding eol channel 2.2 for a grace period as this channel is wierdly marked as eol with no higher 2.x channel $dotnetChannels = $dotnetChannels.'releases-index' | Where-Object { (!$_."support-phase".Equals('preview') -and !$_."support-phase".Equals('eol')) } | Sort-Object { [Version] $_."channel-version" }
$dotnetChannels = $dotnetChannels.'releases-index' | Where-Object { (!$_."support-phase".Equals('preview') -and !$_."support-phase".Equals('eol')) -or ($_."channel-version" -eq "2.2") } | Sort-Object { [Version] $_."channel-version" }
# Download installation script. # Download installation script.
$installationName = "dotnet-install.ps1" $installationName = "dotnet-install.ps1"

View File

@@ -30,6 +30,7 @@ Install-Binary -Url $downloadUrl `
"/RESTARTAPPLICATIONS", ` "/RESTARTAPPLICATIONS", `
"/o:PathOption=CmdTools", ` "/o:PathOption=CmdTools", `
"/o:BashTerminalOption=ConHost", ` "/o:BashTerminalOption=ConHost", `
"/o:EnableSymlinks=Enabled", `
"/COMPONENTS=gitlfs") "/COMPONENTS=gitlfs")
Choco-Install -PackageName hub Choco-Install -PackageName hub

View File

@@ -1,85 +0,0 @@
################################################################################
## File: Install-Go.ps1
## Desc: Install Go
################################################################################
Import-Module -Name ImageHelpers -Force
$refsJson = Invoke-RestMethod "https://api.github.com/repos/golang/go/git/refs/tags"
function Install-GoVersion
{
Param
(
[String] $goVersion,
[Switch] $addToDefaultPath
)
$latestVersionObject = $refsJson | Where-Object { $_.ref -Match "refs/tags/go$goVersion[./d]*" } | Select-Object -Last 1
$latestVersion = $latestVersionObject.ref.replace('refs/tags/go','')
# Download the Go zip archive.
Write-Host "Downloading Go $latestVersion..."
$ProgressPreference = 'SilentlyContinue'
$goArchName = "go${latestVersion}.windows-amd64.zip"
$goArchUrl = "https://dl.google.com/go/${goArchName}"
$goArchPath = Start-DownloadWithRetry -Url $goArchUrl -Name $goArchName
# Extract the zip archive. It contains a single directory named "go".
Write-Host "Extracting Go $latestVersion..."
$toolDirectory = Join-Path $env:AGENT_TOOLSDIRECTORY "go\$latestVersion"
Extract-7Zip -Path $goArchPath -DestinationPath $toolDirectory
# Rename the extracted "go" directory to "x64" for full path "C:\hostedtoolcache\windows\Go\1.14.2\x64\..."
Rename-Item -path "$toolDirectory\go" -newName "x64"
$fullArchPath = "$toolDirectory\x64"
# Delete unnecessary files to conserve space
Write-Host "Cleaning directories of Go $latestVersion..."
if (Test-Path "$fullArchPath\doc")
{
Remove-Item -Recurse -Force "$fullArchPath\doc"
}
if (Test-Path "$fullArchPath\blog")
{
Remove-Item -Recurse -Force "$fullArchPath\blog"
}
# Create symlink in old location
New-Item -Path "C:\go$latestVersion" -ItemType SymbolicLink -Value $fullArchPath
# Make this the default version of Go?
if ($addToDefaultPath)
{
Write-Host "Adding Go $latestVersion to the path..."
# Add the Go binaries to the path.
Add-MachinePathItem "$fullArchPath\bin" | Out-Null
# Set the GOROOT environment variable.
setx GOROOT "$fullArchPath" /M | Out-Null
}
# Done
Write-Host "Done installing Go $latestVersion."
return $fullArchPath
}
# Install Go
$goVersionsToInstall = $env:GO_VERSIONS.split(", ", [System.StringSplitOptions]::RemoveEmptyEntries)
foreach ($go in $goVersionsToInstall)
{
Write-Host "Installing Go ${go}"
if ($go -eq $env:GO_DEFAULT)
{
$installDirectory = Install-GoVersion -goVersion $go -addToDefaultPath
}
else
{
$installDirectory = Install-GoVersion -goVersion $go
}
$envName = "GOROOT_{0}_{1}_X64" -f $go.split(".")
setx $envName "$installDirectory" /M
}

View File

@@ -0,0 +1,9 @@
################################################################################
## File: Install-GoogleCloudSDK.ps1
## Desc: Install Google Cloud SDK
################################################################################
# https://cloud.google.com/sdk/docs/downloads-interactive
$googleCloudSDKInstaller = "https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe"
$argumentList = @("/S", "/allusers", "/noreporting")
Install-Binary -Url $googleCloudSDKInstaller -Name "GoogleCloudSDKInstaller.exe" -ArgumentList $argumentList

View File

@@ -8,11 +8,21 @@ Import-Module -Name ImageHelpers -Force
function Set-JavaPath { function Set-JavaPath {
param ( param (
[string] $Version, [string] $Version,
[string] $JavaRootPath,
[switch] $Default [switch] $Default
) )
$filter = "*azure-jdk_${version}.*" if ($Version -eq 7) {
$javaPath = (Get-ChildItem -Path 'C:\Program Files\Java' -Filter $filter | Sort-Object -Property Name -Descending | Select-Object -First 1).FullName $matchedString = "azure-jdk_7"
} else {
$matchedString = "jdk-?$Version"
}
$javaPath = (Get-ChildItem -Path $JavaRootPath | Where-Object { $_ -match $matchedString}).FullName
if ([string]::IsNullOrEmpty($javaPath)) {
Write-Host "Not found path to Java $Version"
exit 1
}
Write-Host "Set JAVA_HOME_${Version}_X64 environmental variable as $javaPath" Write-Host "Set JAVA_HOME_${Version}_X64 environmental variable as $javaPath"
setx JAVA_HOME_${Version}_X64 $javaPath /M setx JAVA_HOME_${Version}_X64 $javaPath /M
@@ -43,26 +53,49 @@ function Set-JavaPath {
} }
} }
# Download the Azul Systems Zulu JDKs function Install-Java7FromAzul {
# See https://www.azul.com/downloads/azure-only/zulu/ param(
$azulJDKURLs = @( [string] $DestinationPath
'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', )
'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', $azulJDK7URL = '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'
'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', $archivePath = Start-DownloadWithRetry -Url $azulJDK7URL -Name $([IO.Path]::GetFileName($azulJDK7URL))
'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' Extract-7Zip -Path $archivePath -DestinationPath $DestinationPath
)
foreach ($azulJDKURL in $azulJDKURLs)
{
$archivePath = Start-DownloadWithRetry -Url $azulJDKURL -Name $([IO.Path]::GetFileName($azulJDKURL))
Extract-7Zip -Path $archivePath -DestinationPath "C:\Program Files\Java\"
} }
# Set PATH and env variables function Install-JavaFromAdoptOpenJDK {
Set-JavaPath -Version 7 param(
Set-JavaPath -Version 8 -Default [string] $JDKVersion,
Set-JavaPath -Version 11 [string] $DestinationPath
Set-JavaPath -Version 13 )
$assets = Invoke-RestMethod -Uri "https://api.adoptopenjdk.net/v3/assets/latest/$JDKVersion/hotspot"
$downloadUrl = ($assets | Where-Object {
$_.binary.os -eq "windows" `
-and $_.binary.architecture -eq "x64" `
-and $_.binary.image_type -eq "jdk"
}).binary.package.link
$archivePath = Start-DownloadWithRetry -Url $downloadUrl -Name $([IO.Path]::GetFileName($downloadUrl))
Extract-7Zip -Path $archivePath -DestinationPath $DestinationPath
}
$jdkVersions = @(7, 8, 11, 13)
$defaultVersion = 8
$javaRootPath = "C:\Program Files\Java\"
foreach ($jdkVersion in $jdkVersions) {
if ($jdkVersion -eq 7) {
Install-Java7FromAzul -DestinationPath $javaRootPath
} else {
Install-JavaFromAdoptOpenJDK -JDKVersion $jdkVersion -DestinationPath $javaRootPath
}
if ($jdkVersion -eq $defaultVersion) {
Set-JavaPath -Version $jdkVersion -JavaRootPath $javaRootPath -Default
} else {
Set-JavaPath -Version $jdkVersion -JavaRootPath $javaRootPath
}
}
# 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

View File

@@ -3,6 +3,7 @@
## Desc: Install MongoDB ## Desc: Install MongoDB
#################################################################################### ####################################################################################
choco install mongodb Choco-Install -PackageName mongodb
$mongoPath = (Get-CimInstance Win32_Service -Filter "Name LIKE 'mongodb'").PathName
Add-MachinePathItem "$($env:SystemDrive)\Program Files\MongoDB\Server\4.2\bin" $mongoBin = Split-Path -Path $mongoPath.split('"')[1]
Add-MachinePathItem "$mongoBin"

View File

@@ -33,3 +33,4 @@ npm install -g --save-dev webpack webpack-cli
npm install -g yarn npm install -g yarn
npm install -g lerna npm install -g lerna
npm install -g node-sass npm install -g node-sass
npm install -g newman

View File

@@ -0,0 +1,16 @@
################################################################################
## File: Install-Nuget.ps1
## Desc: Install NuGet.CommandLine
################################################################################
Choco-Install -PackageName NuGet.CommandLine
if (Get-Command -Name 'nuget.exe')
{
Write-Host 'nuget on path'
}
else
{
Write-Host 'nuget is not on path'
exit 1
}

View File

@@ -1,22 +1,25 @@
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers
#Define user and password for PostgreSQL database #Define user and password for PostgreSQL database
$postgresusr="postgres" $pgUser = "postgres"
$postgrespwd="root" $pgPwd = "root"
#Prepare environment variable for validation #Prepare environment variable for validation
Set-SystemVariable -SystemVariable PGUSER -Value $postgresusr Set-SystemVariable -SystemVariable PGUSER -Value $pgUser
Set-SystemVariable -SystemVariable PGPASSWORD -Value $postgrespwd Set-SystemVariable -SystemVariable PGPASSWORD -Value $pgPwd
#Install latest PostgreSQL
cinst postgresql --params "/Password:$postgrespwd" --params-global --debug --verbose #Install latest PostgreSQL
Choco-Install -PackageName postgresql -ArgumentList "--params", "'/Password:$pgPwd /NoPath'", "--params-global", "--debug", "--verbose"
#Get Path to pg_ctl.exe #Get Path to pg_ctl.exe
$paths = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").PathName $pgPath = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").PathName
#Parse output of command above to obtain pure path
$pgbin = $paths.split('"')[1].replace("\pg_ctl.exe", "")
#Added PostgreSQL bin path into PATH variable.
Add-MachinePathItem $pgbin
#Parse output of command above to obtain pure path
$pgBin = Split-Path -Path $pgPath.split('"')[1]
$pgRoot = Split-Path -Path $pgPath.split('"')[5]
$pgData = Join-Path $pgRoot "data"
#Added PostgreSQL environment variable
Set-SystemVariable -SystemVariable PGBIN -Value $pgBin
Set-SystemVariable -SystemVariable PGROOT -Value $pgRoot
Set-SystemVariable -SystemVariable PGDATA -Value $pgData

View File

@@ -15,7 +15,13 @@ Function Install-Asset {
$assetArchivePath = Start-DownloadWithRetry -Url $ReleaseAsset.download_url -Name $ReleaseAsset.filename $assetArchivePath = Start-DownloadWithRetry -Url $ReleaseAsset.download_url -Name $ReleaseAsset.filename
Write-Host "Extract $($ReleaseAsset.filename) content..." Write-Host "Extract $($ReleaseAsset.filename) content..."
7z.exe x $assetArchivePath -o"$assetFolderPath" -y | Out-Null if ($assetArchivePath.EndsWith(".tar.gz")) {
$assetTarPath = $assetArchivePath.TrimEnd(".tar.gz")
Extract-7Zip -Path $assetArchivePath -DestinationPath $assetTarPath
Extract-7Zip -Path $assetTarPath -DestinationPath $assetFolderPath
} else {
Extract-7Zip -Path $assetArchivePath -DestinationPath $assetFolderPath
}
Write-Host "Invoke installation script..." Write-Host "Invoke installation script..."
Push-Location -Path $assetFolderPath Push-Location -Path $assetFolderPath
@@ -23,32 +29,13 @@ Function Install-Asset {
Pop-Location 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" $ErrorActionPreference = "Stop"
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
# Get toolcache content from toolset # Get toolcache content from toolset
$ToolsToInstall = @("Python", "Node") $ToolsToInstall = @("Python", "Node", "Boost", "Go")
$tools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache | Where {$ToolsToInstall -contains $_.Name} $tools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache | Where {$ToolsToInstall -contains $_.Name}
foreach ($tool in $tools) { foreach ($tool in $tools) {
@@ -60,18 +47,15 @@ foreach ($tool in $tools) {
$asset = $assets | Where-Object version -like $toolVersion ` $asset = $assets | Where-Object version -like $toolVersion `
| Sort-Object -Property {[version]$_.version} -Descending ` | Sort-Object -Property {[version]$_.version} -Descending `
| Select-Object -ExpandProperty files ` | Select-Object -ExpandProperty files `
| Where-Object { ($_.platform -eq $tool.platform) -and ($_.arch -eq $tool.arch) } ` | Where-Object { ($_.platform -eq $tool.platform) -and ($_.arch -eq $tool.arch) -and ($_.toolset -eq $tool.toolset) } `
| Select-Object -First 1 | Select-Object -First 1
Write-Host "Installing $($tool.name) $toolVersion $($tool.arch)..." Write-Host "Installing $($tool.name) $toolVersion $($tool.arch)..."
if ($asset -ne $null) { if ($null -ne $asset) {
Install-Asset -ReleaseAsset $asset Install-Asset -ReleaseAsset $asset
} else { } else {
Write-Host "Asset was not found in versions manifest" Write-Host "Asset was not found in versions manifest"
exit 1 exit 1
} }
} }
} }
# Install default python version
Set-DefaultPythonVersion -Toolset $tools

View File

@@ -1,10 +1,9 @@
################################################################################ ################################################################################
## File: Install-WindowsUpdates.ps1 ## File: Install-WindowsUpdates.ps1
## Desc: Install Windows Updates. ## Desc: Install Windows Updates.
## Should be run at end just before Antivirus. ## Should be run at end, just before SoftwareReport and Finalize-VM.ps1.
################################################################################ ################################################################################
Write-Host "Run windows updates" Write-Host "Run windows updates"
Install-Module -Name PSWindowsUpdate -Force -AllowClobber Install-Module -Name PSWindowsUpdate -Force -AllowClobber
Get-WUInstall -WindowsUpdate -AcceptAll -Install -UpdateType Software -IgnoreReboot
Get-WUInstall -MicrosoftUpdate -AcceptAll -Install -IgnoreUserInput -IgnoreReboot Get-WUInstall -MicrosoftUpdate -AcceptAll -Install -IgnoreUserInput -IgnoreReboot

View File

@@ -40,6 +40,7 @@ Push-Location -Path $sdk.FullName
& '.\tools\bin\sdkmanager.bat' --sdk_root=$sdk_root ` & '.\tools\bin\sdkmanager.bat' --sdk_root=$sdk_root `
"platform-tools" ` "platform-tools" `
"platforms;android-30" `
"platforms;android-29" ` "platforms;android-29" `
"platforms;android-28" ` "platforms;android-28" `
"platforms;android-27" ` "platforms;android-27" `
@@ -50,6 +51,7 @@ Push-Location -Path $sdk.FullName
"platforms;android-22" ` "platforms;android-22" `
"platforms;android-21" ` "platforms;android-21" `
"platforms;android-19" ` "platforms;android-19" `
"build-tools;30.0.0" `
"build-tools;29.0.3" ` "build-tools;29.0.3" `
"build-tools;29.0.2" ` "build-tools;29.0.2" `
"build-tools;29.0.1" ` "build-tools;29.0.1" `

View File

@@ -0,0 +1,10 @@
################################################################################
## File: Validate-AzCopy.ps1
## Desc: Validate AzCopy10
################################################################################
if (Get-Command -Name 'azcopy') {
Write-Host "$(azcopy --version) on path"
} else {
Write-Error "azcopy not on path"
exit 1
}

View File

@@ -3,41 +3,42 @@
## Desc: Validate Azure PowerShell modules ## Desc: Validate Azure PowerShell modules
################################################################################ ################################################################################
function Validate-AzureModule $ErrorActionPreference = "Stop"
{
param([String]$ModuleName, [String[]]$ModuleVersions)
foreach($moduleVersion in $moduleVersions) $modulesRootPath = $env:PSMODULES_ROOT_FOLDER
# Get modules content from toolset
$modules = (Get-ToolsetContent).azureModules
foreach ($module in $modules)
{
foreach ($version in $module.versions)
{ {
$modulePath = "${installPSModulePath}\${moduleName}_${moduleVersion}" $moduleName = $module.name
# Import each module in PowerShell session $modulePath = Join-Path -Path $modulesRootPath -ChildPath "$($module.name)_${version}"
$job = Start-Job -ScriptBlock {
param($modulePath, $moduleName) Write-Host "Trying to import ${moduleName}_${version}..."
$testJob = Start-Job -ScriptBlock {
param (
$modulePath,
$moduleName
)
$env:PsModulePath = "$modulePath;$env:PsModulePath" $env:PsModulePath = "$modulePath;$env:PsModulePath"
Import-Module -Name $moduleName Import-Module -Name $moduleName
Get-Module -Name $moduleName Get-Module -Name $moduleName
} -ArgumentList $modulePath, $moduleName } -ArgumentList $modulePath, $moduleName
$isError = $job | Wait-Job | Foreach-Object ChildJobs | Where-Object {$_.Error}
if($isError) $isError = $testJob | Wait-Job | Foreach-Object ChildJobs | Where-Object { $_.Error }
if ($isError)
{ {
Write-Host "Required '$moduleName' module '$moduleVersion' version is not present" Write-Host "Required ${moduleName} module ${version} version is not present"
exit 1 exit 1
} }
$job | Receive-Job | Select-Object Name,Version,Path
Remove-Job $job $testJob | Receive-Job | Select-Object Name,Version,Path
Remove-Job $testJob
} }
} }
# Modules path
$installPSModulePath = 'C:\Modules'
# Validate Azure modules and versions
$azurermVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "6.7.0", "6.13.1"
Validate-AzureModule -ModuleName AzureRM -ModuleVersions $azurermVersions
$azureVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "5.3.0"
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", "3.8.0"
Validate-AzureModule -ModuleName Az -ModuleVersions $azVersions

View File

@@ -1,39 +0,0 @@
################################################################################
## File: Validate-Boost.ps1
## Desc: Validate Boost
################################################################################
Import-Module -Name ImageHelpers
function Validate-BoostVersion
{
Param
(
[String]$BoostRootPath,
[String]$BoostRelease
)
$ReleasePath = Join-Path -Path $BoostRootPath -ChildPath $BoostRelease
if (Test-Path "$ReleasePath\b2.exe")
{
Write-Host "Boost.Build $BoostRelease is successfully installed"
return
}
Write-Host "$BoostRelease not found"
exit 1
}
$SoftwareName = 'Boost'
$BoostRootDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName
$BoostTools = Get-ToolsByName -SoftwareName $SoftwareName
foreach ($BoostTool in $BoostTools)
{
$BoostVersionsToInstall = $BoostTool.Versions | Foreach-Object {"{0}.0" -f $_}
foreach($BoostVersion in $BoostVersionsToInstall)
{
Validate-BoostVersion -BoostRootPath $BoostRootDirectory -BoostRelease $BoostVersion
}
}

View File

@@ -1,50 +0,0 @@
################################################################################
## File: Validate-Go.ps1
## Desc: Validate Go
################################################################################
# Function that gets the version of Go at the specified path
function Get-GoVersion
{
Param
(
[String]$goVersion
)
Write-Host "Check if $goVersion is presented in the system"
$destinationPath = "$($env:AGENT_TOOLSDIRECTORY)\go"
$goDirectory = Get-ChildItem -Path $destinationPath -Filter "$goVersion*" | Select-Object -First 1
$goPath = Join-Path $destinationPath "$goDirectory\x64"
$env:Path = "$goPath\bin;" + $env:Path
$version = $(go version)
$matchVersion = $version -match $goVersion
$semanticEquality = $version -match 'go version go(?<version>.*) win.*'
if($semanticEquality -And $matchVersion)
{
$goFullVersion = $Matches.version
Write-Host "$goFullVersion has been found"
}
else
{
Write-Host "Unable to determine Go version at " + $goPath
exit 1
}
}
# Verify that go.exe is on the path
if(Get-Command -Name 'go')
{
Write-Host "$(go version) is on the path."
}
else
{
Write-Host "Go is not on the path."
exit 1
}
$goVersionsToInstall = $env:GO_VERSIONS.split(", ", [System.StringSplitOptions]::RemoveEmptyEntries)
foreach($go in $goVersionsToInstall) {
Get-GoVersion -goVersion $go
}

View File

@@ -0,0 +1,19 @@
################################################################################
## File: Validate-GoogleCloudSDK.ps1
## Desc: Validate Install Google Cloud SDK for Windows
################################################################################
# Simple validation gcloud, gsutil, and bq command line tools
$validateTools = @("bq", "gcloud", "gsutil")
foreach($tool in $validateTools)
{
if (Get-Command -Name $tool)
{
Write-Host "$tool on path"
}
else
{
Write-Host "$tool is not on path"
exit 1
}
}

View File

@@ -17,9 +17,20 @@ Function Validate-JavaVersion {
# Take 7 & 8 for versions 1.7 and 1.8 # Take 7 & 8 for versions 1.7 and 1.8
$versionNumber = $version.Split(".") | Select-Object -Last 1 $versionNumber = $version.Split(".") | Select-Object -Last 1
$javaBin = [System.Environment]::GetEnvironmentVariable("JAVA_HOME_${versionNumber}_X64") + "\bin;" $javaPath = [System.Environment]::GetEnvironmentVariable("JAVA_HOME_${versionNumber}_X64")
if ([string]::IsNullOrEmpty($javaPath))
{
Write-Host "Environment variable 'JAVA_HOME_${versionNumber}_X64' is null"
exit 1
}
$javaBin = "$javaPath\bin;"
$env:Path = $javaBin + $env:Path $env:Path = $javaBin + $env:Path
} }
else
{
Validate-JavaVersion -Version $Version
}
$isJavaExists = $($(& $env:comspec "/s /c java -version 2>&1") | Out-String) -match '^(?<vendor>.+) version "(?<version>.+)".*' $isJavaExists = $($(& $env:comspec "/s /c java -version 2>&1") | Out-String) -match '^(?<vendor>.+) version "(?<version>.+)".*'

View File

@@ -3,10 +3,9 @@
## Desc: Validate MongoDB ## Desc: Validate MongoDB
################################################################################ ################################################################################
$command = Get-Command -Name 'mongod' if (Get-Command -Name 'mongod')
if($command)
{ {
Write-Host "mongod is on path" Write-Host 'mongod is on path'
} }
else else
{ {
@@ -14,25 +13,12 @@ else
exit 1 exit 1
} }
$command = Get-Command -Name 'mongo' if (Get-Command -Name 'mongo')
if($command)
{ {
Write-Host "mongo is on path" Write-Host 'mongo is on path'
} }
else else
{ {
Write-Host 'mongo not on path' Write-Host 'mongo not on path'
exit 1 exit 1
} }
# Adding description of the software to Markdown
$SoftwareName = "MongoDB"
$version = $command.Version.ToString();
$Description = @"
_Version:_ $version<br/>
_Environment:_
* PATH: contains location of mongo.exe and mongod.exe
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -35,3 +35,13 @@ else
Write-Host "lerna is not on path" Write-Host "lerna is not on path"
exit 1 exit 1
} }
if (Get-Command -Name 'newman')
{
Write-Host "Newman $(newman --version) is on the path."
}
else
{
Write-Host "Newman is not on the path."
exit 1
}

View File

@@ -1,35 +1,18 @@
$PGUSER="postgres" $pgReadyPath = Join-Path ${env:PGBIN} "pg_isready.exe"
function Validate-PostgreSQL { $pgReady = Start-Process -FilePath $pgReadyPath -Wait -PassThru
$pgready = Start-Process -FilePath pg_isready -Wait -PassThru $exitCode = $pgReady.ExitCode
$exitCode = $pgready.ExitCode
if ($exitCode -eq 0) if ($exitCode -eq 0)
{ {
Write-Host -Object "PostgreSQL has been successfully installed." Write-Host -Object "PostgreSQL has been successfully installed."
} }
else else
{ {
Write-Host -Object "PostgreSQL is not ready. Exitcode: $exitCode" Write-Host -Object "PostgreSQL is not ready. Exitcode: $exitCode"
exit $exitCode exit $exitCode
}
} }
$paths = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").PathName
$pgservice = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").Name
$pgroot = $paths.split('"')[1].replace("\bin\pg_ctl.exe", "")
$psqlVersion = pg_config --version | Out-String
Validate-PostgreSQL
# Adding description of the software to Markdown
$SoftwareName = "PostgreSQL"
$Description = @"
_Version:_ $psqlVersion<br/>
_Default Path:_ $pgroot<br/>
_User:_ $env:PGUSER<br/>
_Password:_ $env:PGPASSWORD
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
#Stop and disable PostgreSQL service #Stop and disable PostgreSQL service
Stop-Service -Name $pgservice $pgService = Get-Service -Name postgresql*
Set-Service $pgservice -StartupType Disabled Stop-Service -InputObject $pgService
Set-Service -InputObject $pgService -StartupType Disabled

View File

@@ -9,13 +9,13 @@ function Run-ExecutableTests {
[Parameter(Mandatory)] [string[]] $Executables, [Parameter(Mandatory)] [string[]] $Executables,
[Parameter(Mandatory)] [string] $ToolPath [Parameter(Mandatory)] [string] $ToolPath
) )
$versionCommand = $Executables["command"]
foreach ($executable in $Executables) { foreach ($executable in $Executables["tools"]) {
$executablePath = Join-Path $ToolPath $executable $executablePath = Join-Path $ToolPath $executable
Write-Host "Check $executable..." Write-Host "Check $executable..."
if (Test-Path $executablePath) { if (Test-Path $executablePath) {
Write-Host "$executable is successfully installed: $(& $executablePath --version)" Write-Host "$executable is successfully installed: $(& $executablePath $versionCommand)"
} else { } else {
Write-Host "$executablePath is not installed!" Write-Host "$executablePath is not installed!"
exit 1 exit 1
@@ -29,11 +29,12 @@ function Validate-SystemDefaultTool {
[Parameter(Mandatory)] [string] $ExpectedVersion [Parameter(Mandatory)] [string] $ExpectedVersion
) )
$versionCommand = $toolsExecutables[$ToolName]["command"]
$binName = $ToolName.ToLower() $binName = $ToolName.ToLower()
# Check if tool on path # Check if tool on path
if (Get-Command -Name $binName) { if (Get-Command -Name $binName) {
$versionOnPath = $(& $binName --version 2>&1) | Select-String -Pattern ".*(\d+\.\d+\.\d+)" $versionOnPath = $(& $binName $versionCommand 2>&1) | Select-String -Pattern ".*(\d+\.\d+[\.\d+]+)"
# Check if version is correct # Check if version is correct
if ($versionOnPath.matches.Groups[1].Value -notlike $ExpectedVersion) { if ($versionOnPath.matches.Groups[1].Value -notlike $ExpectedVersion) {
@@ -52,46 +53,38 @@ $ErrorActionPreference = "Stop"
# Define executables for cached tools # Define executables for cached tools
$toolsExecutables = @{ $toolsExecutables = @{
Python = @("python.exe", "Scripts\pip.exe") Python = @{
node = @("node.exe", "npm") tools = @("python.exe", "Scripts\pip.exe")
PyPy = @("python.exe", "Scripts\pip.exe") command = "--version"
}
node = @{
tools = @("node.exe", "npm")
command = "--version"
}
PyPy = @{
tools = @("python.exe", "Scripts\pip.exe")
command = "--version"
}
go = @{
tools = @("bin\go.exe")
command = "version"
}
} }
# Get toolcache content from toolset # Get toolcache content from toolset
$tools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache $tools = Get-ToolsetContent | Select-Object -ExpandProperty toolcache
foreach($tool in $tools) { foreach($tool in $tools) {
$toolPath = Join-Path $env:AGENT_TOOLSDIRECTORY $tool.name
# Get executables for current tool # Get executables for current tool
$toolExecs = $toolsExecutables[$tool.name] $toolExecs = $toolsExecutables[$tool.name]
foreach ($version in $tool.versions) { foreach ($version in $tool.versions) {
# Add wildcard if missing $foundVersionArchPath = Get-ToolsetToolFullPath -Name $tool.name -Version $version -Arch $tool.arch
if (-not $version.Contains('*')) {
$version += '.*' if ($toolExecs) {
Write-Host "Run validation test for $($tool.name)($($tool.arch)) $($foundVersion.name) executables..."
Run-ExecutableTests -Executables $toolExecs -ToolPath $foundVersionArchPath
} }
# 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
# Check for required architecture folder
$foundVersionArchPath = Join-Path $foundVersion $tool.arch
if (-not (Test-Path $foundVersionArchPath)) {
Write-Host "Expected $($tool.name)($($tool.arch)) $($foundVersion.name) architecture folder is not found!"
exit 1
}
Write-Host "Run validation test for $($tool.name)($($tool.arch)) $($foundVersion.name) executables..."
Run-ExecutableTests -Executables $toolExecs -ToolPath $foundVersionArchPath
} }
if (-not ([string]::IsNullOrEmpty($tool.default))) { if (-not ([string]::IsNullOrEmpty($tool.default))) {

View File

@@ -65,6 +65,8 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + `
'--add Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Managed ' + ` '--add Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Managed ' + `
'--add Microsoft.Component.Blend.SDK.WPF ' + ` '--add Microsoft.Component.Blend.SDK.WPF ' + `
'--add Microsoft.Component.VC.Runtime.UCRTSDK ' + ` '--add Microsoft.Component.VC.Runtime.UCRTSDK ' + `
'--add Microsoft.VisualStudio.Component.Sharepoint.BuildTools ' + `
'--add Microsoft.VisualStudio.Component.TeamOffice.BuildTools ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.ATL.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre ' + `
@@ -74,6 +76,7 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + `
'--add Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre '+ ` '--add Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre '+ `
'--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.Workflow.BuildTools ' + `
'--add Microsoft.VisualStudio.Workload.Office ' + ` '--add Microsoft.VisualStudio.Workload.Office ' + `
'--add Microsoft.VisualStudio.Workload.OfficeBuildTools ' '--add Microsoft.VisualStudio.Workload.OfficeBuildTools '

View File

@@ -35,7 +35,9 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + `
'--add Microsoft.VisualStudio.Component.LinqToSql ' + ` '--add Microsoft.VisualStudio.Component.LinqToSql ' + `
'--add Microsoft.VisualStudio.Component.SQL.SSDT ' + ` '--add Microsoft.VisualStudio.Component.SQL.SSDT ' + `
'--add Microsoft.VisualStudio.Component.PortableLibrary ' + ` '--add Microsoft.VisualStudio.Component.PortableLibrary ' + `
'--add Microsoft.VisualStudio.Component.Sharepoint.BuildTools ' + `
'--add Microsoft.VisualStudio.Component.TeamOffice ' + ` '--add Microsoft.VisualStudio.Component.TeamOffice ' + `
'--add Microsoft.VisualStudio.Component.TeamOffice.BuildTools ' + `
'--add Microsoft.VisualStudio.Component.TestTools.CodedUITest ' + ` '--add Microsoft.VisualStudio.Component.TestTools.CodedUITest ' + `
'--add Microsoft.VisualStudio.Component.TestTools.WebLoadTest ' + ` '--add Microsoft.VisualStudio.Component.TestTools.WebLoadTest ' + `
'--add Microsoft.VisualStudio.Component.UWP.VC.ARM64 ' + ` '--add Microsoft.VisualStudio.Component.UWP.VC.ARM64 ' + `
@@ -62,18 +64,22 @@ $WorkLoads = '--allWorkloads --includeRecommended ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ATL ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.MFC ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre ' + ` '--add Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre ' + `
'--add Microsoft.VisualStudio.Component.VC.14.25.x86.x64 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.16299 ' + ` '--add Microsoft.VisualStudio.Component.Windows10SDK.16299 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + ` '--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.17763 ' + ` '--add Microsoft.VisualStudio.Component.Windows10SDK.17763 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.18362 ' + ` '--add Microsoft.VisualStudio.Component.Windows10SDK.18362 ' + `
'--add Microsoft.VisualStudio.Component.Windows10SDK.19041 ' + ` '--add Microsoft.VisualStudio.Component.Windows10SDK.19041 ' + `
'--add Microsoft.VisualStudio.Component.WinXP ' + ` '--add Microsoft.VisualStudio.Component.WinXP ' + `
'--add Microsoft.VisualStudio.Component.Workflow.BuildTools ' + `
'--add Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices ' + ` '--add Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices ' + `
'--add Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools ' + ` '--add Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools ' + `
'--add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang ' + ` '--add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang ' + `

View File

@@ -3,9 +3,8 @@ function Get-OSName {
} }
function Get-OSVersion { function Get-OSVersion {
$systemInfo = Get-CimInstance -ClassName Win32_OperatingSystem $OSVersion = (Get-CimInstance -ClassName Win32_OperatingSystem).Version
$OSVersion = $systemInfo.Version $OSBuild = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion' UBR).UBR
$OSBuild = $systemInfo.BuildNumber
return "OS Version: $OSVersion Build $OSBuild" return "OS Version: $OSVersion Build $OSBuild"
} }
@@ -127,6 +126,10 @@ function Get-ComposerVersion {
return "Composer $composerVersion" return "Composer $composerVersion"
} }
function Get-NugetVersion {
(nuget help) -match "NuGet Version" -replace "Version: "
}
function Get-AntVersion { function Get-AntVersion {
($(ant -version) | Out-String) -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null ($(ant -version) | Out-String) -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
$antVersion = $Matches.Version $antVersion = $Matches.Version
@@ -145,6 +148,11 @@ function Get-GradleVersion {
return "Gradle $gradleVersion" return "Gradle $gradleVersion"
} }
function Get-SbtVersion {
$sbtVersion = (sbt -version) -match "sbt script version:" -replace "script version: "
return "$sbtVersion"
}
function Get-DotnetSdks { function Get-DotnetSdks {
$sdksRawList = dotnet --list-sdks $sdksRawList = dotnet --list-sdks
$sdkVersions = ($sdksRawList | Foreach-Object {$_.Split()[0]}) -join ' ' $sdkVersions = ($sdksRawList | Foreach-Object {$_.Split()[0]}) -join ' '

View File

@@ -0,0 +1,43 @@
function Get-PostgreSQLMarkdown
{
$name = "PostgreSQL"
$pgService = Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'"
$pgPath = $pgService.PathName
$pgRoot = $pgPath.split('"')[1].replace("\bin\pg_ctl.exe", "")
$env:Path += ";${env:PGBIN}"
$pgVersion = (postgres --version).split()[2].Trim()
$content = [PSCustomObject]@{
Version = $pgVersion
UserName = $env:PGUSER
Password = $env:PGPASSWORD
EnvironmentVariables = "PGBIN=$env:PGBIN; <br> PGDATA=$env:PGDATA; <br> PGROOT=$env:PGROOT"
Path = $pgRoot
ServiceName = $pgService.Name
ServiceStatus = $pgService.State
ServiceStartType = $pgService.StartMode
} | New-MDTable
Build-MarkdownElement -Head $name -Content $content
}
function Get-MongoDBMarkdown
{
$name = "MongoDB"
$mongoService = Get-Service -Name $name
$mongoVersion = (Get-Command -Name 'mongo').Version.ToString()
$content = [PSCustomObject]@{
Version = $mongoVersion
ServiceName = $name
ServiceStatus = $mongoService.Status
ServiceStartType = $mongoService.StartType
} | New-MDTable
Build-MarkdownElement -Head $name -Content $content
}
function Build-DatabasesMarkdown
{
$markdown = ""
$markdown += Get-PostgreSQLMarkdown
$markdown += Get-MongoDBMarkdown
$markdown
}

View File

@@ -2,13 +2,14 @@
Install-Module MarkdownPS -Force -Scope AllUsers Install-Module MarkdownPS -Force -Scope AllUsers
Import-Module MarkdownPS Import-Module MarkdownPS
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Helpers.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Common.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.CachedTools.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.CachedTools.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Common.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Databases.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Helpers.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.VisualStudio.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.VisualStudio.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
$markdown = "" $markdown = ""
@@ -44,17 +45,19 @@ $markdown += New-MDList -Style Unordered -Lines @(
(Get-NPMVersion), (Get-NPMVersion),
(Get-YarnVersion), (Get-YarnVersion),
(Get-PipVersion), (Get-PipVersion),
(Get-CondaVersion) (Get-CondaVersion),
(Get-RubyGemsVersion), (Get-RubyGemsVersion),
(Get-HelmVersion), (Get-HelmVersion),
(Get-ComposerVersion) (Get-ComposerVersion),
(Get-NugetVersion)
) )
$markdown += New-MDHeader "Project Management" -Level 3 $markdown += New-MDHeader "Project Management" -Level 3
$markdown += New-MDList -Style Unordered -Lines @( $markdown += New-MDList -Style Unordered -Lines @(
(Get-AntVersion), (Get-AntVersion),
(Get-MavenVersion), (Get-MavenVersion),
(Get-GradleVersion) (Get-GradleVersion),
(Get-SbtVersion)
) )
$markdown += New-MDHeader "Tools" -Level 3 $markdown += New-MDHeader "Tools" -Level 3
@@ -75,6 +78,7 @@ $markdown += New-MDList -Style Unordered -Lines @(
(Get-MySQLVersion), (Get-MySQLVersion),
(Get-MercurialVersion), (Get-MercurialVersion),
(Get-NSISVersion), (Get-NSISVersion),
(Get-NewmanVersion),
(Get-OpenSSLVersion), (Get-OpenSSLVersion),
(Get-PackerVersion), (Get-PackerVersion),
(Get-SQLPSVersion), (Get-SQLPSVersion),
@@ -92,12 +96,14 @@ $markdown += New-MDList -Style Unordered -Lines @(
$markdown += New-MDHeader "CLI Tools" -Level 3 $markdown += New-MDHeader "CLI Tools" -Level 3
$markdown += New-MDList -Style Unordered -Lines @( $markdown += New-MDList -Style Unordered -Lines @(
(Get-AzureCLIVersion), (Get-AzureCLIVersion),
(Get-AzCopyVersion),
(Get-AzureDevopsExtVersion), (Get-AzureDevopsExtVersion),
(Get-AWSCLIVersion), (Get-AWSCLIVersion),
(Get-AWSSAMVersion), (Get-AWSSAMVersion),
(Get-AlibabaCLIVersion), (Get-AlibabaCLIVersion),
(Get-CloudFoundryVersion), (Get-CloudFoundryVersion),
(Get-HubVersion) (Get-HubVersion),
(Get-GoogleCloudSDKVersion)
) )
$markdown += New-MDHeader "Browsers and webdrivers" -Level 3 $markdown += New-MDHeader "Browsers and webdrivers" -Level 3
@@ -127,6 +133,10 @@ $markdown += New-MDHeader "Cached Tools" -Level 3
$markdown += (Build-CachedToolsMarkdown) $markdown += (Build-CachedToolsMarkdown)
$markdown += New-MDNewLine $markdown += New-MDNewLine
$markdown += New-MDHeader "Databases" -Level 3
$markdown += Build-DatabasesMarkdown
$markdown += New-MDNewLine
$vs = Get-VisualStudioVersion $vs = Get-VisualStudioVersion
$markdown += New-MDHeader "$($vs.Name)" -Level 3 $markdown += New-MDHeader "$($vs.Name)" -Level 3
$markdown += $vs | New-MDTable $markdown += $vs | New-MDTable
@@ -134,7 +144,7 @@ $markdown += New-MDNewLine
$markdown += New-MDHeader "Workloads, components and extensions:" -Level 4 $markdown += New-MDHeader "Workloads, components and extensions:" -Level 4
$markdown += New-MDNewLine $markdown += New-MDNewLine
$markdown += ((Get-VisualStudioComponents) + (Get-VisualStudioExtenions)) | New-MDTable $markdown += ((Get-VisualStudioComponents) + (Get-VisualStudioExtensions)) | New-MDTable
$markdown += New-MDNewLine $markdown += New-MDNewLine
$markdown += New-MDHeader ".NET Core SDK" -Level 3 $markdown += New-MDHeader ".NET Core SDK" -Level 3
@@ -147,13 +157,15 @@ $markdown += New-MDHeader ".NET Core Runtime" -Level 3
Get-DotnetRuntimes | Foreach-Object { Get-DotnetRuntimes | Foreach-Object {
$path = $_.Path $path = $_.Path
$versions = $_.Versions $versions = $_.Versions
$markdown += "``Location $path``" $markdown += "``Location: $path``"
$markdown += New-MDNewLine $markdown += New-MDNewLine
$markdown += New-MDList -Lines $versions -Style Unordered $markdown += New-MDList -Lines $versions -Style Unordered
} }
$markdown += New-MDHeader ".NET Framework" -Level 3 $markdown += New-MDHeader ".NET Framework" -Level 3
$frameworks = Get-DotnetFrameworkTools $frameworks = Get-DotnetFrameworkTools
$markdown += "``Type: Developer Pack``"
$markdown += New-MDNewLine
$markdown += "``Location $($frameworks.Path)``" $markdown += "``Location $($frameworks.Path)``"
$markdown += New-MDNewLine $markdown += New-MDNewLine
$markdown += New-MDList -Lines $frameworks.Versions -Style Unordered $markdown += New-MDList -Lines $frameworks.Versions -Style Unordered

View File

@@ -141,6 +141,10 @@ function Get-AzureCLIVersion {
return "Azure CLI $azureCLIVersion" return "Azure CLI $azureCLIVersion"
} }
function Get-AzCopyVersion {
return ($(azcopy --version) -replace "version ")
}
function Get-AzureDevopsExtVersion { function Get-AzureDevopsExtVersion {
$azureDevExtVersion = (az version | ConvertFrom-Json | Foreach{ $_."extensions" })."azure-devops" $azureDevExtVersion = (az version | ConvertFrom-Json | Foreach{ $_."extensions" })."azure-devops"
return "Azure DevOps CLI extension $azureDevExtVersion" return "Azure DevOps CLI extension $azureDevExtVersion"
@@ -198,4 +202,12 @@ function Get-StackVersion {
((stack --version --quiet) | Out-String) -match "Version (?<version>\d+\.\d+\.\d+)," | Out-Null ((stack --version --quiet) | Out-String) -match "Version (?<version>\d+\.\d+\.\d+)," | Out-Null
$stackVersion = $Matches.Version $stackVersion = $Matches.Version
return "Stack $stackVersion" return "Stack $stackVersion"
}
function Get-GoogleCloudSDKVersion {
(gcloud --version) -match "Google Cloud SDK"
}
function Get-NewmanVersion {
return "Newman $(newman --version)"
} }

View File

@@ -32,7 +32,7 @@ function Get-WDKVersion {
($installedApplications | Where-Object { $_.DisplayName -eq 'Windows Driver Kit' } | Select-Object -First 1).DisplayVersion ($installedApplications | Where-Object { $_.DisplayName -eq 'Windows Driver Kit' } | Select-Object -First 1).DisplayVersion
} }
function Get-VisualStudioExtenions { function Get-VisualStudioExtensions {
# Wix # Wix
$vs = (Get-VisualStudioVersion).Name.Split()[-1] $vs = (Get-VisualStudioVersion).Name.Split()[-1]
$wixPackageVersion = (Get-VisualStudioPackages | Where-Object {$_.id -match 'WixToolset.VisualStudioExtension.Dev' -and $_.type -eq 'vsix'}).Version $wixPackageVersion = (Get-VisualStudioPackages | Where-Object {$_.id -match 'WixToolset.VisualStudioExtension.Dev' -and $_.type -eq 'vsix'}).Version

View File

@@ -1,8 +0,0 @@
{
"@actions/toolcache-ruby-windows-x64": [
"2.4", "2.5", "2.6", "2.7"
],
"@actions/toolcache-boost-windows-msvc-14.1-x32-x64": [
"1.69", "1.72"
]
}

View File

@@ -1,11 +0,0 @@
{
"@actions/toolcache-ruby-windows-x64": [
"2.4", "2.5", "2.6", "2.7"
],
"@actions/toolcache-boost-windows-msvc-14.1-x32-x64": [
"1.69"
],
"@actions/toolcache-boost-windows-msvc-14.2-x32-x64": [
"1.72"
]
}

View File

@@ -1,52 +0,0 @@
{
"toolcache": [
{
"name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json",
"arch": "x64",
"platform" : "win32",
"versions": [
"2.7.*",
"3.5.*",
"3.6.*",
"3.7.*",
"3.8.*"
],
"default": "3.7.*"
},
{
"name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json",
"arch": "x86",
"platform" : "win32",
"versions": [
"2.7.*",
"3.5.*",
"3.6.*",
"3.7.*",
"3.8.*"
]
},
{
"name": "PyPy",
"arch": "x86",
"platform" : "win32",
"versions": [
"2.7",
"3.6"
]
},
{
"name": "node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/master/versions-manifest.json",
"arch": "x64",
"platform" : "win32",
"versions": [
"8.*",
"10.*",
"12.*",
"14.*"
]
}
]
}

View File

@@ -1,52 +0,0 @@
{
"toolcache": [
{
"name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json",
"arch": "x64",
"platform" : "win32",
"versions": [
"2.7.*",
"3.5.*",
"3.6.*",
"3.7.*",
"3.8.*"
],
"default": "3.7.*"
},
{
"name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/master/versions-manifest.json",
"arch": "x86",
"platform" : "win32",
"versions": [
"2.7.*",
"3.5.*",
"3.6.*",
"3.7.*",
"3.8.*"
]
},
{
"name": "PyPy",
"arch": "x86",
"platform" : "win32",
"versions": [
"2.7",
"3.6"
]
},
{
"name": "node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/master/versions-manifest.json",
"arch": "x64",
"platform" : "win32",
"versions": [
"8.*",
"10.*",
"12.*",
"14.*"
]
}
]
}

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