This commit is contained in:
Nikita Bykov
2020-10-16 12:40:24 +03:00
130 changed files with 876 additions and 431 deletions

View File

@@ -32,7 +32,7 @@ jobs:
const isAnnouncement = issueLabels.data && issueLabels.data
.map(label => label.name)
.includes('announcement');
.includes('Announcement');
if (!isAnnouncement) {
github.issues.addLabels({

View File

@@ -42,6 +42,15 @@ jobs:
SourceFolder: 'images/macos/provision/log/'
RemoveSourceFolder: true
- task: PowerShell@2
displayName: 'Select datastore'
inputs:
targetType: 'filePath'
filePath: ./images.CI/macos/select-datastore.ps1
arguments: -VIServer "$(vcenter-server-v2)" `
-VIUserName "$(vcenter-username-v2)" `
-VIPassword "$(vcenter-password-v2)"
- pwsh: |
$SensitiveData = @(
'IP address:',
@@ -54,7 +63,7 @@ jobs:
-var="vcenter_password=$(vcenter-password-v2)" `
-var="vcenter_datacenter=$(vcenter-datacenter-v2)" `
-var="cluster_or_esxi_host=$(esxi-cluster-v2)" `
-var="esxi_datastore=${{ parameters.target_datastore }}" `
-var="esxi_datastore=$(buildDatastore)" `
-var="output_folder=$(output-folder)" `
-var="vm_username=$(vm-username)" `
-var="vm_password=$(vm-password)" `
@@ -106,6 +115,18 @@ jobs:
displayName: Publish test results
condition: always()
- task: PowerShell@2
displayName: 'Move vm to cold storage'
condition: succeededOrFailed()
inputs:
targetType: 'filePath'
filePath: ./images.CI/macos/move-vm.ps1
arguments: -VMName "${{ variables.VirtualMachineName }}" `
-TargetDataStore "${{ parameters.target_datastore }}" `
-VIServer "$(vcenter-server-v2)" `
-VIUserName "$(vcenter-username-v2)" `
-VIPassword "$(vcenter-password-v2)"
- task: PowerShell@2
displayName: 'Destroy VM (if build canceled only)'
condition: eq(variables['Agent.JobStatus'], 'Canceled')

View File

@@ -1,3 +1,21 @@
<#
.SYNOPSIS
This script deletes vm from vCenter
.PARAMETER VMName
VM name to delete (Example "macOS-10.15_20201012.4")
.PARAMETER VIServer
vCenter address (Example "10.0.1.16")
.PARAMETER VIUserName
vCenter username (Example "Administrator")
.PARAMETER VIPassword
vCenter password (Example "12345678")
#>
[CmdletBinding()]
param(
[Parameter(Mandatory)]
@@ -17,25 +35,13 @@ param(
[string]$VIPassword
)
$ProgressPreference = "SilentlyContinue"
$WarningPreference = "SilentlyContinue"
# Import helpers module
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
# connection to a vCenter Server system
try
{
$null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -ParticipateInCEIP $false -Confirm:$false -WebOperationTimeoutSeconds 600
$securePassword = ConvertTo-SecureString -String $VIPassword -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($VIUserName, $securePassword)
$null = Connect-VIServer -Server $VIServer -Credential $cred -ErrorAction Stop
Write-Host "Connection to the vSphere server has been established"
}
catch
{
Write-Host "##vso[task.LogIssue type=error;]Failed to connect to the vSphere server"
exit 1
}
# Connection to a vCenter Server system
Connect-VCServer
# check vm clone status
# Check vm clone status
$chainId = (Get-VIEvent -Entity $VMName).ChainId
if ($chainId)
{
@@ -45,7 +51,7 @@ if ($chainId)
try
{
Stop-Task -Task $task -Confirm:$false -ErrorAction Stop
Write-Host "The vm '$VMName' clone task has been cancelled"
Write-Host "The vm '$VMName' clone task has been canceled"
}
catch
{
@@ -54,7 +60,7 @@ if ($chainId)
}
}
# remove a vm
# Remove a vm
$vm = Get-VM -Name $VMName -ErrorAction SilentlyContinue
if ($vm)

View File

@@ -0,0 +1,26 @@
<#
.SYNOPSIS
Helper functions to use in images.CI scripts
#>
Function Connect-VCServer
{
try
{
# Preference
$global:ProgressPreference = 'SilentlyContinue'
$global:WarningPreference = 'SilentlyContinue'
# Ignore SSL
$null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -ParticipateInCEIP $false -Confirm:$false -WebOperationTimeoutSeconds 600
$securePassword = ConvertTo-SecureString -String $VIPassword -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($VIUserName, $securePassword)
$null = Connect-VIServer -Server $VIServer -Credential $cred -ErrorAction Stop
Write-Host "Connection to the vSphere server has been established"
}
catch
{
Write-Host "##vso[task.LogIssue type=error;]Failed to connect to the vSphere server"
exit 1
}
}

View File

@@ -0,0 +1,59 @@
<#
.SYNOPSIS
This script migrates given VM to another datastore
.PARAMETER VMName
VM name to migrate (Example "macOS-10.15_20201012.4")
.PARAMETER TargetDataStore
Target datastore (Example "ds-image")
.PARAMETER VIServer
vCenter address (Example "10.0.1.16")
.PARAMETER VIUserName
vCenter username (Example "Administrator")
.PARAMETER VIPassword
vCenter password (Example "12345678")
#>
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$TargetDataStore,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIServer,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIUserName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIPassword
)
# Import helpers module
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
# Connection to a vCenter Server system
Connect-VCServer
try
{
Get-VM $VMName | Move-VM -Datastore $TargetDataStore -ErrorAction Stop
Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'"
}
catch
{
Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$VMName' to target datastore '$TargetDataStore'"
}

View File

@@ -0,0 +1,64 @@
<#
.SYNOPSIS
This script selects local datastore based on the following rules:
- Name starts with ds-local-Datastore
- Datastore FreespaceGB > 400 Gb
- VM count on the datastore < 2
.PARAMETER VIServer
vCenter address (Example "10.0.1.16")
.PARAMETER VIUserName
vCenter username (Example "Administrator")
.PARAMETER VIPassword
vCenter password (Example "12345678")
#>
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIServer,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIUserName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIPassword
)
# Import helpers module
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
# Connection to a vCenter Server system
Connect-VCServer
# Get a target datastore for current deployment
# 1. Name starts with ds-local-Datastore
# 2. FreespaceGB > 400 Gb
# 3. VM count on a datastore < 2
$templateDatastore = "ds-local-Datastore-*"
$thresholdInGb = 400
$vmCount = 2
$allDatastores = Get-Datastore -Name $templateDatastore | Where-Object { $_.State -eq "Available" }
$buildDatastore = $allDatastores | Where-Object { $_.FreeSpaceGB -ge $thresholdInGb } | Where-Object {
$vmOnDatastore = @((Get-ChildItem -Path $_.DatastoreBrowserPath).Name -notmatch "^\.").Count
$vmOnDatastore -lt $vmCount
} | Select-Object -ExpandProperty Name -First 1
if ($buildDatastore)
{
Write-Host "Datastore selected successfully"
Write-Host "##vso[task.setvariable variable=buildDatastore;issecret=true]$buildDatastore"
}
else
{
Write-Host "##vso[task.LogIssue type=error;]No datastores found for the condition"
exit 1
}

View File

@@ -1,10 +1,10 @@
| Announcements |
|-|
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) |
| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) |
| [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
***
# Ubuntu 16.04.7 LTS
- Image Version: 20201004.1
- Image Version: 20201012.1
## Installed Software
### Language and Runtime
@@ -13,7 +13,7 @@
- Clang 6.0.0, 8.0.0, 9.0.1
- Erlang 11.1
- Mono 6.12.0.90
- Node 12.18.4
- Node 12.19.0
- Python 2.7.12
- Python3 3.5.2
- PowerShell 7.0.3
@@ -22,29 +22,29 @@
- Julia 1.5.2
### Package Management
- Homebrew 2.5.2
- Gem 3.1.4
- Helm 3.3.4
- Homebrew 2.5.5
- Miniconda 4.8.3
- Helm
- Npm 6.14.8
- Yarn
- Pip 8.1.1
- Pip3 8.1.1
- Vcpkg 2020.06.15
- Yarn 1.22.5
### Project Management
- Ant 1.9.6
- Gradle 6.6.1
- Maven 3.6.3
- Sbt 1.3.13
- Sbt 1.4.0
### Tools
- 7-Zip 9.20
- Ansible 2.9.13
- Ansible 2.9.14
- AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias)
- Bazel 3.5.1
- Bazelisk 1.6.1
- Bazel 3.6.0
- Bazelisk 1.7.1
- CMake 3.17.0
- CodeQL Action Bundle 2.2.5
- curl 7.47.0
@@ -54,46 +54,47 @@
- Git 2.28.0
- Git LFS 2.12.0
- Git-ftp 1.0.2
- Google Cloud SDK 312.0.0
- Google Cloud SDK 313.0.1
- Haveged 1.9.1
- Heroku 7.44.0
- Heroku 7.45.0
- HHVM (HipHop VM) 4.56.1
- jq 1.5
- Kind 0.9.0
- Kubectl 1.19.2
- Kustomize 3.8.4
- Kustomize 3.8.5
- Leiningen 2.9.4
- m4 1.4.17
- Mercurial 4.4.1
- Minikube 1.13.1
- Newman 5.2.0
- nvm 0.35.3
- nvm 0.36.0
- Packer 1.6.4
- PhantomJS 2.1.1
- Pulumi 2.11.2
- R 4.0.2
- R 4.0.3
- Sphinx Open Source Search Server 2.2.9
- SVN 1.9.3
- Swig 3.0.8
- Terraform 0.13.4
- unzip 6.00
- wget 1.17.1
- yamllint 1.2.1
- zip 3.0
- zstd 1.3.1
### CLI Tools
- Alibaba Cloud CLI 3.0.59
- AWS CLI 1.18.152
- Alibaba Cloud CLI 3.0.60
- AWS CLI 1.18.157
- AWS CLI Session manager plugin 1.1.61.0
- AWS SAM CLI 1.4.0
- AWS SAM CLI 1.6.2
- Azure CLI (azure-cli) 2.12.1
- Azure CLI (azure-devops) 0.18.0
- GitHub CLI
- GitHub CLI 1.1.0
- Hub CLI 2.14.2
- Netlify CLI 2.64.1
- Netlify CLI 2.65.5
- oc CLI 4.5.0
- ORAS CLI 0.8.1
- Vercel CLI 20.1.1
- Vercel CLI 20.1.2
### Java
| Version | Vendor | Environment Variable |
@@ -106,7 +107,7 @@
### PHP
| Tool | Version |
| -------- | ----------------------------------------- |
| PHP | 5.6.40 7.0.33 7.1.33 7.2.33 7.3.22 7.4.10 |
| PHP | 5.6.40 7.0.33 7.1.33 7.2.34 7.3.23 7.4.11 |
| Composer | 1.10.13 |
| PHPUnit | 7.5.20 |
@@ -116,22 +117,22 @@
- Stack 2.3.3
### Rust Tools
- Rust 1.46.0
- Rust 1.47.0
- Rustup 1.22.1
- Rustdoc 1.46.0
- Cargo 1.46.0
- Rustdoc 1.47.0
- Cargo 1.47.0
#### Packages
- Bindgen 0.55.1
- Cargo audit 0.12.1
- Cargo outdated 0.9.11
- Cargo clippy 0.0.212
- Cbindgen 0.14.6
- Rustfmt 1.4.18
- Cbindgen 0.15.0
- Rustfmt 1.4.20
### Browsers and Drivers
- Google Chrome 85.0.4183.121
- ChromeDriver 85.0.4183.87
- Google Chrome 86.0.4240.75
- ChromeDriver 86.0.4240.22
- Mozilla Firefox 81.0
- Geckodriver 0.27.0
@@ -167,6 +168,7 @@
- 3.6.12
- 3.7.9
- 3.8.6
- 3.9.0
#### PyPy
- 2.7.13 [PyPy 7.3.2]
@@ -175,8 +177,8 @@
#### Node.js
- 8.17.0
- 10.22.1
- 12.18.4
- 14.13.0
- 12.19.0
- 14.13.1
#### Go
- 1.11.13
@@ -190,19 +192,19 @@
- 1.72.0
### Android
| Package Name | Version |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android SDK Platform-Tools | 30.0.4 |
| Android SDK Tools | 26.1.1 |
| Android SDK Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3)<br>android-26 (rev 2)<br>android-25 (rev 3)<br>android-24 (rev 2)<br>android-23 (rev 3)<br>android-22 (rev 2)<br>android-21 (rev 2)<br>android-19 (rev 4)<br>android-17 (rev 3)<br>android-15 (rev 5)<br>android-10 (rev 2) |
| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2<br>29.0.0 29.0.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3<br>26.0.0 26.0.1 26.0.2 26.0.3<br>25.0.0 25.0.1 25.0.2 25.0.3<br>24.0.0 24.0.1 24.0.2 24.0.3<br>23.0.1 23.0.2 23.0.3<br>22.0.1<br>21.1.2<br>20.0.0<br>19.1.0<br>17.0.0 |
| Google APIs | addon-google_apis-google-21<br>addon-google_apis-google-22<br>addon-google_apis-google-23<br>addon-google_apis-google-24 |
| NDK | 21.3.6528147 |
| Android Support Repository | 47.0.0 |
| Google Play services | 49 |
| Google Repository | 58 |
| SDK Patch Applier v4 | 1 |
| CMake | 3.10.2<br>3.6.4111459 |
| Package Name | Version |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android SDK Platform-Tools | 30.0.4 |
| Android SDK Tools | 26.1.1 |
| Android SDK Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3)<br>android-26 (rev 2)<br>android-25 (rev 3)<br>android-24 (rev 2)<br>android-23 (rev 3)<br>android-22 (rev 2)<br>android-21 (rev 2)<br>android-20 (rev 2)<br>android-19 (rev 4)<br>android-18 (rev 3)<br>android-17 (rev 3)<br>android-16 (rev 5)<br>android-15 (rev 5)<br>android-14 (rev 4)<br>android-13 (rev 1)<br>android-12 (rev 3)<br>android-11 (rev 2)<br>android-10 (rev 2) |
| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2<br>29.0.0 29.0.1 29.0.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3<br>26.0.0 26.0.1 26.0.2 26.0.3<br>25.0.0 25.0.1 25.0.2 25.0.3<br>24.0.0 24.0.1 24.0.2 24.0.3<br>23.0.1 23.0.2 23.0.3 23.0.0<br>22.0.1 22.0.0<br>21.1.2 21.0.0 21.0.1 21.0.2 21.1.0 21.1.1<br>20.0.0<br>19.1.0 19.0.0 19.0.1 19.0.2 19.0.3<br>18.0.1 18.1.0 18.1.1<br>17.0.0 |
| Google APIs | addon-google_apis-google-21<br>addon-google_apis-google-22<br>addon-google_apis-google-23<br>addon-google_apis-google-24 |
| NDK | 21.3.6528147 |
| Android Support Repository | 47.0.0 |
| Google Play services | 49 |
| Google Repository | 58 |
| SDK Patch Applier v4 | 1 |
| CMake | 3.10.2<br>3.6.4111459 |
### Cached Docker images
- alpine:3.7

View File

@@ -1,10 +1,10 @@
| Announcements |
|-|
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) |
| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) |
| [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
***
# Ubuntu 18.04.5 LTS
- Image Version: 20201004.1
- Image Version: 20201012.1
## Installed Software
### Language and Runtime
@@ -13,7 +13,7 @@
- Clang 6.0.0, 8.0.0, 9.0.0
- Erlang 11.1
- Mono 6.12.0.90
- Node 12.18.4
- Node 12.19.0
- Python 2.7.17
- Python3 3.6.9
- PowerShell 7.0.3
@@ -22,30 +22,31 @@
- Julia 1.5.2
### Package Management
- Homebrew 2.5.2
- Gem 3.1.4
- Helm 3.3.4
- Homebrew 2.5.5
- Miniconda 4.8.3
- Helm
- Npm 6.14.8
- Yarn
- Pip 9.0.1
- Pip3 9.0.1
- Pipx 0.15.5.1
- Vcpkg 2020.06.15
- Yarn 1.22.5
### Project Management
- Ant 1.10.5
- Gradle 6.6.1
- Maven 3.6.3
- Sbt 1.3.13
- Sbt 1.4.0
### Tools
- 7-Zip 16.02
- Ansible 2.9.13
- Ansible 2.9.14
- AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias)
- Bazel 3.5.1
- Bazelisk 1.6.1
- Buildah
- Bazel 3.6.0
- Bazelisk 1.7.1
- Buildah 1.16.4
- CMake 3.17.0
- CodeQL Action Bundle 2.2.5
- curl 7.58.0
@@ -55,25 +56,25 @@
- Git 2.28.0
- Git LFS 2.12.0
- Git-ftp 1.3.1
- Google Cloud SDK 312.0.0
- Google Cloud SDK 313.0.1
- Haveged 1.9.1
- Heroku 7.44.0
- HHVM (HipHop VM) 4.77.0
- Heroku 7.45.0
- HHVM (HipHop VM) 4.78.0
- jq 1.5
- Kind 0.9.0
- Kubectl 1.19.2
- Kustomize 3.8.4
- Kustomize 3.8.5
- Leiningen 2.9.4
- m4 1.4.18
- Mercurial 4.5.3
- Minikube 1.13.1
- Newman 5.2.0
- nvm 0.35.3
- nvm 0.36.0
- Packer 1.6.4
- PhantomJS 2.1.1
- Podman
- Podman 2.1.1
- Pulumi 2.11.2
- R 4.0.2
- R 4.0.3
- Skopeo 1.2.0
- Sphinx Open Source Search Server 2.2.11
- SVN 1.9.7
@@ -81,22 +82,23 @@
- Terraform 0.13.4
- unzip 6.00
- wget 1.19.4
- yamllint 1.25.0
- zip 3.0
- zstd 1.3.3
### CLI Tools
- Alibaba Cloud CLI 3.0.59
- AWS CLI 1.18.152
- Alibaba Cloud CLI 3.0.60
- AWS CLI 1.18.157
- AWS CLI Session manager plugin 1.1.61.0
- AWS SAM CLI 1.4.0
- AWS SAM CLI 1.6.2
- Azure CLI (azure-cli) 2.12.1
- Azure CLI (azure-devops) 0.18.0
- GitHub CLI
- GitHub CLI 1.1.0
- Hub CLI 2.14.2
- Netlify CLI 2.64.1
- Netlify CLI 2.65.5
- oc CLI 4.5.0
- ORAS CLI 0.8.1
- Vercel CLI 20.1.1
- Vercel CLI 20.1.2
### Java
| Version | Vendor | Environment Variable |
@@ -109,7 +111,7 @@
### PHP
| Tool | Version |
| -------- | --------------------------- |
| PHP | 7.1.33 7.2.33 7.3.22 7.4.10 |
| PHP | 7.1.33 7.2.34 7.3.23 7.4.11 |
| Composer | 1.10.13 |
| PHPUnit | 7.5.20 |
@@ -119,22 +121,22 @@
- Stack 2.3.3
### Rust Tools
- Rust 1.46.0
- Rust 1.47.0
- Rustup 1.22.1
- Rustdoc 1.46.0
- Cargo 1.46.0
- Rustdoc 1.47.0
- Cargo 1.47.0
#### Packages
- Bindgen 0.55.1
- Cargo audit 0.12.1
- Cargo outdated 0.9.11
- Cargo clippy 0.0.212
- Cbindgen 0.14.6
- Rustfmt 1.4.18
- Cbindgen 0.15.0
- Rustfmt 1.4.20
### Browsers and Drivers
- Google Chrome 85.0.4183.121
- ChromeDriver 85.0.4183.87
- Google Chrome 86.0.4240.75
- ChromeDriver 86.0.4240.22
- Mozilla Firefox 81.0
- Geckodriver 0.27.0
@@ -170,6 +172,7 @@
- 3.6.12
- 3.7.9
- 3.8.6
- 3.9.0
#### PyPy
- 2.7.13 [PyPy 7.3.2]
@@ -178,8 +181,8 @@
#### Node.js
- 8.17.0
- 10.22.1
- 12.18.4
- 14.13.0
- 12.19.0
- 14.13.1
#### Go
- 1.11.13
@@ -193,19 +196,19 @@
- 1.72.0
### Android
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android SDK Platform-Tools | 30.0.4 |
| Android SDK Tools | 26.1.1 |
| Android SDK Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3)<br>android-26 (rev 2)<br>android-25 (rev 3)<br>android-24 (rev 2)<br>android-23 (rev 3)<br>android-22 (rev 2)<br>android-21 (rev 2)<br>android-19 (rev 4)<br>android-17 (rev 3) |
| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2<br>29.0.0 29.0.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3<br>26.0.0 26.0.1 26.0.2 26.0.3<br>25.0.0 25.0.1 25.0.2 25.0.3<br>24.0.0 24.0.1 24.0.2 24.0.3<br>23.0.1 23.0.2 23.0.3<br>22.0.1<br>21.1.2<br>20.0.0<br>19.1.0<br>17.0.0 |
| Google APIs | addon-google_apis-google-21<br>addon-google_apis-google-22<br>addon-google_apis-google-23<br>addon-google_apis-google-24 |
| NDK | 21.3.6528147 |
| Android Support Repository | 47.0.0 |
| Google Play services | 49 |
| Google Repository | 58 |
| SDK Patch Applier v4 | 1 |
| CMake | 3.10.2<br>3.6.4111459 |
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android SDK Platform-Tools | 30.0.4 |
| Android SDK Tools | 26.1.1 |
| Android SDK Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3)<br>android-26 (rev 2)<br>android-25 (rev 3)<br>android-24 (rev 2)<br>android-23 (rev 3)<br>android-22 (rev 2)<br>android-21 (rev 2)<br>android-20 (rev 2)<br>android-19 (rev 4)<br>android-18 (rev 3)<br>android-17 (rev 3) |
| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2<br>29.0.0 29.0.1 29.0.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3<br>26.0.0 26.0.1 26.0.2 26.0.3<br>25.0.0 25.0.1 25.0.2 25.0.3<br>24.0.0 24.0.1 24.0.2 24.0.3<br>23.0.1 23.0.2 23.0.3 23.0.0<br>22.0.1 22.0.0<br>21.1.2 21.0.0 21.0.1 21.0.2 21.1.0 21.1.1<br>20.0.0<br>19.1.0 19.0.0 19.0.1 19.0.2 19.0.3<br>18.0.1 18.1.0 18.1.1<br>17.0.0 |
| Google APIs | addon-google_apis-google-21<br>addon-google_apis-google-22<br>addon-google_apis-google-23<br>addon-google_apis-google-24 |
| NDK | 21.3.6528147 |
| Android Support Repository | 47.0.0 |
| Google Play services | 49 |
| Google Repository | 58 |
| SDK Patch Applier v4 | 1 |
| CMake | 3.10.2<br>3.6.4111459 |
### Cached Docker images
- alpine:3.7
@@ -225,6 +228,6 @@
- ubuntu:14.04
### Installed apt packages
- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl3, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, yamllint, zip, zstd, zsync
- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl3, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, zip, zstd, zsync

View File

@@ -1,50 +1,51 @@
| Announcements |
|-|
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) |
| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) |
| [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
***
# Ubuntu 20.04.1 LTS
- Image Version: 20201004.1
- Image Version: 20201012.1
## Installed Software
### Language and Runtime
- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.0.1
- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.2.0
- GNU Fortran 8.4.0, 9.3.0
- Clang 8.0.1, 9.0.1, 10.0.0
- Erlang 11.1
- Mono 6.12.0.90
- Node 12.18.4
- Python 3.8.2
- Python3 3.8.2
- Node 12.19.0
- Python 3.8.5
- Python3 3.8.5
- PowerShell 7.0.3
- Ruby 2.7.0p0
- Swift 5.3
- Julia 1.5.2
### Package Management
- Homebrew 2.5.2
- Gem 3.1.2
- Miniconda 4.8.3
- Helm 3.3.4
- Homebrew 2.5.5
- Miniconda 4.8.3
- Npm 6.14.8
- Yarn 1.22.5
- Pip 20.0.2
- Pip3 20.0.2
- Pipx 0.15.5.1
- Vcpkg 2020.06.15
- Yarn 1.22.5
### Project Management
- Ant 1.10.7
- Gradle 6.6.1
- Maven 3.6.3
- Sbt 1.3.13
- Sbt 1.4.0
### Tools
- 7-Zip 16.02
- Ansible 2.9.6
- AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias)
- Bazel 3.5.1
- Bazelisk 1.6.1
- Bazel 3.6.0
- Bazelisk 1.7.1
- Buildah 1.16.4
- CMake 3.17.0
- CodeQL Action Bundle 2.2.5
@@ -55,25 +56,25 @@
- Git 2.28.0
- Git LFS 2.12.0
- Git-ftp 1.6.0
- Google Cloud SDK 312.0.0
- Google Cloud SDK 313.0.1
- Haveged 1.9.1
- Heroku 7.44.0
- HHVM (HipHop VM) 4.77.0
- Heroku 7.45.0
- HHVM (HipHop VM) 4.78.0
- jq 1.6
- Kind 0.9.0
- Kubectl 1.19.2
- Kustomize 3.8.4
- Kustomize 3.8.5
- Leiningen 2.9.4
- m4 1.4.18
- Mercurial 5.3.1
- Minikube 1.13.1
- Newman 5.2.0
- nvm 0.35.3
- nvm 0.36.0
- Packer 1.6.4
- PhantomJS 2.1.1
- Podman 2.1.1
- Pulumi 2.11.2
- R 4.0.2
- R 4.0.3
- Skopeo 1.2.0
- Sphinx Open Source Search Server 2.2.11
- SVN 1.13.0
@@ -81,22 +82,23 @@
- Terraform 0.13.4
- unzip 6.00
- wget 1.20.3
- yamllint 1.25.0
- zip 3.0
- zstd 1.4.4
### CLI Tools
- Alibaba Cloud CLI 3.0.59
- AWS CLI 2.0.54
- Alibaba Cloud CLI 3.0.60
- AWS CLI 2.0.56
- AWS CLI Session manager plugin 1.1.61.0
- AWS SAM CLI 1.4.0
- AWS SAM CLI 1.6.2
- Azure CLI (azure-cli) 2.12.1
- Azure CLI (azure-devops) 0.18.0
- GitHub CLI 1.0.0
- GitHub CLI 1.1.0
- Hub CLI 2.14.2
- Netlify CLI 2.64.1
- Netlify CLI 2.65.5
- oc CLI 4.5.0
- ORAS CLI 0.8.1
- Vercel CLI 20.1.1
- Vercel CLI 20.1.2
### Java
| Version | Vendor | Environment Variable |
@@ -107,7 +109,7 @@
### PHP
| Tool | Version |
| -------- | ------- |
| PHP | 7.4.10 |
| PHP | 7.4.11 |
| Composer | 1.10.13 |
| PHPUnit | 7.5.20 |
@@ -117,22 +119,22 @@
- Stack 2.3.3
### Rust Tools
- Rust 1.46.0
- Rust 1.47.0
- Rustup 1.22.1
- Rustdoc 1.46.0
- Cargo 1.46.0
- Rustdoc 1.47.0
- Cargo 1.47.0
#### Packages
- Bindgen 0.55.1
- Cargo audit 0.12.1
- Cargo outdated 0.9.11
- Cargo clippy 0.0.212
- Cbindgen 0.14.6
- Rustfmt 1.4.18
- Cbindgen 0.15.0
- Rustfmt 1.4.20
### Browsers and Drivers
- Google Chrome 85.0.4183.121
- ChromeDriver 85.0.4183.87
- Google Chrome 86.0.4240.75
- ChromeDriver 86.0.4240.22
- Mozilla Firefox 81.0
- Geckodriver 0.27.0
@@ -167,6 +169,7 @@
- 3.6.12
- 3.7.9
- 3.8.6
- 3.9.0
#### PyPy
- 2.7.13 [PyPy 7.3.2]
@@ -175,26 +178,26 @@
#### Node.js
- 8.17.0
- 10.22.1
- 12.18.4
- 14.13.0
- 12.19.0
- 14.13.1
#### Go
- 1.14.9
- 1.15.2
### Android
| Package Name | Version |
| -------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Android SDK Platform-Tools | 30.0.4 |
| Android SDK Tools | 26.1.1 |
| Android SDK Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2<br>29.0.0 29.0.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3 |
| NDK | 21.3.6528147 |
| Android Support Repository | 47.0.0 |
| Google Play services | 49 |
| Google Repository | 58 |
| SDK Patch Applier v4 | 1 |
| CMake | 3.10.2 |
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Android SDK Platform-Tools | 30.0.4 |
| Android SDK Tools | 26.1.1 |
| Android SDK Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2<br>29.0.0 29.0.1 29.0.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3 |
| NDK | 21.3.6528147 |
| Android Support Repository | 47.0.0 |
| Google Play services | 49 |
| Google Repository | 58 |
| SDK Patch Applier v4 | 1 |
| CMake | 3.10.2 |
### Cached Docker images
- alpine:3.7
@@ -214,6 +217,6 @@
- ubuntu:14.04
### Installed apt packages
- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl4, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, python-is-python3, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, yamllint, zip, zstd, zsync
- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl4, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, python-is-python3, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, zip, zstd, zsync

View File

@@ -0,0 +1,11 @@
#!/bin/bash
# Fix permissions for Homebrew
# https://github.com/actions/virtual-environments/issues/1568
brew_folder="/home/linuxbrew/"
if [ -d "$brew_folder" ]; then
brew_folder_owner=$(ls -ld $brew_folder | awk '{print $3}')
if [ "$USER" != "$brew_folder_owner" ]; then
chown "$USER":docker -R $brew_folder
fi
fi

View File

@@ -0,0 +1,11 @@
#!/bin/bash
# Fix permissions for the Rust folder
# https://github.com/actions/virtual-environments/issues/572
rust_folder="/usr/share/rust"
if [ -d "$rust_folder" ]; then
rust_folder_owner=$(ls -ld $rust_folder | awk '{print $3}')
if [ "$USER" != "$rust_folder_owner" ]; then
chown "$USER":docker -R $rust_folder
fi
fi

View File

@@ -249,5 +249,7 @@ function Get-AptPackages {
function Get-PipxVersion {
$result = (Get-CommandResult "pipx --version").Output
return "Pipx $result"
$result -match "(?<version>\d+\.\d+\.\d+\.?\d*)" | Out-Null
$pipxVersion = $Matches.Version
return "Pipx $pipxVersion"
}

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
echo '* soft nofile 65536' >> /etc/security/limits.conf
echo '* hard nofile 65536' >> /etc/security/limits.conf

View File

@@ -1,8 +1,8 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: reboot.sh
## Desc: Reboot VM
################################################################################
echo "Reboot VM"
sudo reboot
sudo reboot

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: 7-zip.sh
## Desc: Installs 7-zip
################################################################################
# Install 7-Zip
apt-get update -y
apt-get install -y p7zip p7zip-full p7zip-rar

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: aliyun-cli.sh
## Desc: Installs Alibaba Cloud CLI
################################################################################
# Install Alibaba Cloud CLI
URL=$(curl -s https://api.github.com/repos/aliyun/aliyun-cli/releases/latest | jq -r '.assets[].browser_download_url | select(contains("aliyun-cli-linux"))')
wget -P /tmp $URL

View File

@@ -1,11 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: android.sh
## Desc: Installs Android SDK
################################################################################
set -e
# Source the helpers for use with the script
source $HELPER_SCRIPTS/os.sh
source $HELPER_SCRIPTS/install.sh
@@ -69,7 +67,7 @@ additional=$(jq -r '.android.additional_tools[]' $toolset)
components=( "${extras[@]}" "${addons[@]}" "${additional[@]}" )
availablePlatforms=($(${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android-" | cut -d"|" -f 1))
allBuildTools=($(${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list --include_obsolete | grep "build-tools;" | cut -d"|" -f 1 | sort -u))
allBuildTools=($(${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --list | grep "build-tools;" | cut -d"|" -f 1 | sort -u))
availableBuildTools=$(echo ${allBuildTools[@]//*rc[0-9]/})
filter_components_by_version $minimumPlatformVersion "${availablePlatforms[@]}"

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: ansible.sh
## Desc: Installs Ansible

View File

@@ -1,11 +1,10 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: aws-sam-cli.sh
## Desc: Installs AWS SAM CLI
## Requires Python >=3.6, must be run as non-root user after toolset installation
################################################################################
# Download latest aws sam cli sources
TarballUrl=$(curl -s https://api.github.com/repos/aws/aws-sam-cli/releases/latest | jq -r '.tarball_url')
TarballPath="/tmp/aws-sam-cli.tar.gz"

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: aws.sh
## Desc: Installs the AWS CLI

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: azcopy.sh
## Desc: Installs AzCopy
################################################################################
# Install AzCopy7
wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinux64
tar -xf azcopy.tar.gz

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: azpowershell.sh
## Desc: Installed Azure PowerShell

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: azure-cli.sh
## Desc: Installed Azure CLI (az)
################################################################################
# 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

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: azure-devops-cli.sh
## Desc: Installed Azure DevOps CLI (az devops)
################################################################################
# AZURE_EXTENSION_DIR shell variable defines where modules are installed
# https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
export AZURE_EXTENSION_DIR=/opt/az/azcliextensions

View File

@@ -1,11 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: basic.sh
## Desc: Installs basic command line utilities and dev packages
################################################################################
set -e
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
common_packages=$(jq -r ".apt.common_packages[]" $toolset)
cmd_packages=$(jq -r ".apt.cmd_packages[]" $toolset)

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: bazel.sh
## Desc: Installs Bazel and Bazelisk (A user-friendly launcher for Bazel)
################################################################################
# Install bazel
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: build-essential.sh
## Desc: Installs build-essential package
################################################################################
source $HELPER_SCRIPTS/install.sh
PACKAGE=build-essential

View File

@@ -1,9 +1,8 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: clang.sh
## Desc: Installs Clang compiler
################################################################################
set -e
# Source the helpers for use with the script
source $HELPER_SCRIPTS/os.sh

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
# before cleanup
before=$(df / -Pm | awk 'NR==2{print $4}')
@@ -27,4 +27,4 @@ after=$(df / -Pm | awk 'NR==2{print $4}')
# display size
echo "Before: $before MB"
echo "After : $after MB"
echo "Delta : $(($after-$before)) MB"
echo "Delta : $(($after-$before)) MB"

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: cmake.sh
## Desc: Installs CMake
################################################################################
# Test to see if the software in question is already installed, if not install it
echo "Checking to see if the installer script has already been run"
if command -v cmake; then

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: codeql-bundle.sh
## Desc: Install the CodeQL CLI Bundle to the toolcache.

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: snap-environment.sh
## Desc: Update /etc/environment to include /snap/bin in PATH

View File

@@ -1,3 +1,5 @@
#!/bin/bash -e
#Set ImageVersion and ImageOS env variables
echo ImageVersion=$IMAGE_VERSION | tee -a /etc/environment
echo ImageOS=$IMAGE_OS | tee -a /etc/environment
@@ -22,4 +24,4 @@ chmod -R 777 $AGENT_TOOLSDIRECTORY
# https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html
# https://www.suse.com/support/kb/doc/?id=000016692
echo 'vm.max_map_count=262144' | tee -a /etc/sysctl.conf
echo 'vm.max_map_count=262144' | tee -a /etc/sysctl.conf

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: containers.sh
## Desc: Installs container tools: podman, buildah and skopeo onto the image
################################################################################
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

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: docker-compose.sh
## Desc: Installs Docker Compose
################################################################################
URL=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r '.assets[].browser_download_url | select(contains("docker-compose-Linux-x86_64"))' | head -1)
# Install latest docker-compose from releases

View File

@@ -1,9 +1,8 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: docker-moby.sh
## Desc: Installs docker onto the image
################################################################################
set -e
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: dotnetcore-sdk.sh
## Desc: Installs .NET Core SDK
@@ -25,7 +25,6 @@ mksamples()
sample=$2
mkdir "$sdk"
cd "$sdk" || exit
set -e
dotnet help
dotnet new globaljson --sdk-version "$sdk"
dotnet new "$sample"
@@ -36,8 +35,6 @@ mksamples()
rm -rf "$sdk"
}
set -e
# Disable telemetry
export DOTNET_CLI_TELEMETRY_OPTOUT=1

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
# This is the anti-frontend. It never interacts with you at all,
# and makes the default answers be used for all questions. It

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: erlang.sh
## Desc: Installs erlang
################################################################################
source_list=/etc/apt/sources.list.d/eslerlang.list
# Install Erlang

View File

@@ -1,11 +1,10 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: example.sh
## Desc: This is an example script that can be copied to add a new software
## installer to the image
################################################################################
# Test to see if the software in question is already installed, if not install it
echo "Checking to see if the installer script has already been run"
if [ -z $EXAMPLE_VAR ]; then

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: firefox.sh
## Desc: Installs Firefox
################################################################################
# Install Firefox
apt-get install -y firefox

View File

@@ -1,11 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: gcc.sh
## Desc: Installs GNU C++
################################################################################
set -e
# Source the helpers for use with the script
source $HELPER_SCRIPTS/os.sh

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: gfortran.sh
## Desc: Installs GNU Fortran
################################################################################
function InstallFortran {
version=$1

View File

@@ -1,9 +1,8 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: git.sh
## Desc: Installs Git
################################################################################
set -e
# Source the helpers for use with the script
source "$HELPER_SCRIPTS"/install.sh
@@ -52,3 +51,7 @@ else
echo "[!] Hub CLI was not installed"
exit 1
fi
# Add well-known SSH host keys to known_hosts
ssh-keyscan -t rsa github.com >> /etc/ssh/ssh_known_hosts
ssh-keyscan -t rsa ssh.dev.azure.com >> /etc/ssh/ssh_known_hosts

View File

@@ -1,11 +1,10 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: github-cli.sh
## Desc: Installs GitHub CLI
## Must be run as non-root user after homebrew
################################################################################
# Install GitHub CLI
url=$(curl -s https://api.github.com/repos/cli/cli/releases/latest | jq -r '.assets[].browser_download_url|select(contains("linux") and contains("amd64") and contains(".deb"))')
wget $url

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: google-chrome.sh
## Desc: Installs google-chrome and chromedriver
################################################################################
LSB_RELEASE=$(lsb_release -rs)
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: google-cloud-sdk.sh
## Desc: Installs the Google Cloud SDK
################################################################################
# Install the Google Cloud SDK
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: haskell.sh
## Desc: Installs Haskell

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: heroku.sh
## Desc: Installs Heroku CLI
################################################################################
# Install Heroku CLI
curl https://cli-assets.heroku.com/install-ubuntu.sh | sh

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: hhvm.sh
## Desc: Installs hhvm

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: homebrew-validate.sh
## Desc: Validate the Homebrew can run after reboot without extra configuring

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: homebrew.sh
## Desc: Installs the Homebrew on Linux

View File

@@ -1,13 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: hosted-tool-cache.sh
## Desc: Downloads and installs hosted tools cache
################################################################################
# Fail out if any setups fail
set -e
TOOLCACHE_REGISTRY="npm.pkg.github.com"
echo "Configure npm to use github package registry for '@actions' scope"

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: image-magick.sh
## Desc: Installs ImageMagick
################################################################################
# Install ImageMagick
apt-get install -y --no-install-recommends --fix-missing \
imagemagick \

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: java-tools.sh
## Desc: Installs Java and related tooling (Ant, Gradle, Maven)
@@ -6,8 +6,6 @@
source $HELPER_SCRIPTS/os.sh
set -e
function javaTool {
if [[ "$2" =~ ([1]{0,1}.)?$DEFAULT_JDK_VERSION.* ]]; then
echo "$1 $2 is equal to default one $DEFAULT_JDK_VERSION"

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: julia.sh
## Desc: Installs Julia, and adds Julia to the path
################################################################################
# This function fetches the latest Julia release from the GitHub API
# Based on https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
function GetLatestJuliaRelease () {

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: kind.sh
## Desc: Installs kind
################################################################################
# Install KIND
URL=$(curl -s https://api.github.com/repos/kubernetes-sigs/kind/releases/latest | jq -r '.assets[].browser_download_url | select(contains("kind-linux-amd64"))')
curl -L -o /usr/local/bin/kind $URL

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: kubernetes-tools.sh
## Desc: Installs kubectl, helm, kustomize
################################################################################
## Install kubectl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
touch /etc/apt/sources.list.d/kubernetes.list

View File

@@ -1,12 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: leiningen.sh
## Desc: Installs Leiningen
################################################################################
set -e
LEIN_BIN=/usr/local/bin/lein
curl -s https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein > $LEIN_BIN
chmod 0755 $LEIN_BIN

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: mercurial.sh
## Desc: Installs Mercurial

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: miniconda.sh
## Desc: Installs miniconda
################################################################################
# Install Miniconda
curl -sL https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh \
&& chmod +x miniconda.sh \

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: homebrew.sh
## Desc: Installs Mongo DB

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: cmake.sh
## Desc: Installs Mono
################################################################################
LSB_CODENAME=$(lsb_release -cs)
# Test to see if the software in question is already installed, if not install it

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: mysql.sh
## Desc: Installs MySQL Client
################################################################################
export ACCEPT_EULA=Y
if isUbuntu16 || isUbuntu18 ; then
@@ -44,7 +43,6 @@ if ! command -v mysql; then
exit 1
fi
set -e
mysql -vvv -e 'CREATE DATABASE smoke_test' -uroot -proot
mysql -vvv -e 'DROP DATABASE smoke_test' -uroot -proot
set +e

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: netlify.sh
## Desc: Installs the Netlify CLI
################################################################################
# Install the Netlify CLI
npm i -g netlify-cli

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: nodejs.sh
## Desc: Installs Node.js LTS and related tooling (Gulp, Grunt)
################################################################################
# Install LTS Node.js and related build tools
curl -sL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s -- -ny -
~/n/bin/n lts

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: nvm.sh
## Desc: Installs Nvm
################################################################################
export NVM_DIR="/etc/skel/.nvm"
mkdir $NVM_DIR
VERSION=$(curl -s https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: oc.sh
## Desc: Installs the OC CLI
################################################################################
# Install the oc CLI
curl "https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/linux/oc.tar.gz" > oc.tar.gz
tar xvzf oc.tar.gz

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: oras-cli.sh
## Desc: Installs ORAS CLI

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: packer.sh
## Desc: Installs packer
################################################################################
# Install Packer
PACKER_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | jq -r .current_version)
curl -LO "https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_amd64.zip"

View File

@@ -1,11 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: phantomjs.sh
## Desc: Installs PhantomJS
################################################################################
set -e
# Install PhantomJS
apt-get install -y chrpath libssl-dev libxft-dev libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev
PHANTOM_JS=phantomjs-2.1.1-linux-x86_64

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: php.sh
## Desc: Installs php
@@ -8,8 +8,6 @@
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/os.sh
set -e
# add repository
apt-add-repository ppa:ondrej/php -y
apt-get update

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: pollinate.sh
## Desc: Installs Pollinate
################################################################################
# Install Pollinate
apt-get install -y --no-install-recommends pollinate

View File

@@ -1,9 +1,11 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: post-deployment.sh
## Desc: Post deployment actions
################################################################################
mv -f /imagegeneration/post-generation /opt
# set chmod -R 777 /opt
if [[ -d "/opt" ]]; then
echo "chmod -R 777 /opt"
@@ -14,3 +16,11 @@ fi
rm -rf $HELPER_SCRIPT_FOLDER
rm -rf $INSTALLER_SCRIPT_FOLDER
chmod 755 $IMAGE_FOLDER
# Check PATH
if [[ $PATH == \"*\" ]]
then
echo "ERROR: PATH contains quotes"
echo "PATH = $PATH"
exit 1
fi

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: postgresql.sh
## Desc: Installs Postgresql
################################################################################
#Preparing repo for PostgreSQL 12.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list
@@ -25,4 +24,4 @@ pg_isready
# Disable postgresql.service
systemctl is-active --quiet postgresql.service && systemctl stop postgresql.service
systemctl disable postgresql.service
systemctl disable postgresql.service

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: powershellcore.sh
## Desc: Installs powershellcore

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
imagedata_file=$IMAGEDATA_FILE
image_version=$IMAGE_VERSION
@@ -29,4 +29,4 @@ cat <<EOF > $imagedata_file
"detail": "Environment: ${image_label}\nVersion: ${image_version}\nIncluded Software: ${software_url}"
}
]
EOF
EOF

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: pulumi.sh
## Desc: Installs Pulumi

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: pypy.sh
## Desc: Installs PyPy
@@ -76,8 +76,6 @@ pypyVersions="$(cat /tmp/pypyUrls.html | grep 'linux64' | awk -v uri="$uri" -F'>
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
toolsetVersions=$(jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]' $toolset)
# Fail out if any setups fail
set -e
for toolsetVersion in $toolsetVersions; do
latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1)
@@ -90,4 +88,4 @@ for toolsetVersion in $toolsetVersions; do
InstallPyPy $latestMajorPyPyVersion
done
chown -R "$SUDO_USER:$SUDO_USER" "$AGENT_TOOLSDIRECTORY/PyPy"
chown -R "$SUDO_USER:$SUDO_USER" "$AGENT_TOOLSDIRECTORY/PyPy"

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: python.sh
## Desc: Installs Python 2/3

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
# Source the helpers for use with the script
source $HELPER_SCRIPTS/os.sh

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: rndgenerator.sh
## Desc: Install random number generator
################################################################################
# Install haveged
apt-get -y install haveged

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: ruby.sh
## Desc: Installs Ruby requirements
################################################################################
sudo apt-get install ruby-full
sudo gem update --system

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: rust.sh
## Desc: Installs Rust

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: scala.sh
## Desc: Installs sbt
################################################################################
# Install sbt
# https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Linux.html
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: selenium.sh
## Desc: Installs selenium server
################################################################################
# Determine latest selenium standalone server version
SELENIUM_LATEST_VERSION_URL=https://api.github.com/repos/SeleniumHQ/selenium/releases/latest
SELENIUM_VERSION=$(curl $SELENIUM_LATEST_VERSION_URL | jq '.name' | tr -d '"' | cut -d ' ' -f 2)

View File

@@ -1,9 +1,8 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: sphinx.sh
## Desc: Installs Sphinx
################################################################################
# Install Sphinx
apt-get install -y sphinxsearch

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: subversion.sh
## Desc: Installs Subversion client
################################################################################
# Install Subversion
apt-get install -y --no-install-recommends subversion

View File

@@ -1,15 +1,15 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: swift.sh
## Desc: Installs Swift
################################################################################
# Install
image_label="$(lsb_release -rs)"
swift_version=$(curl -s https://swift.org/download/ | grep -m1 "id=\"swift-" | awk -F"[ <]" '{print $4}')
swift_version=$(curl -s -L -N https://swift.org/download|awk -F"[ <]" '/id="swift-/ {print $4; exit}')
wget -P /tmp https://swift.org/builds/swift-$swift_version-release/ubuntu${image_label//./}/swift-$swift_version-RELEASE/swift-$swift_version-RELEASE-ubuntu$image_label.tar.gz
tar xzf /tmp/swift-$swift_version-RELEASE-ubuntu$image_label.tar.gz
mv swift-$swift_version-RELEASE-ubuntu$image_label /usr/share/swift

View File

@@ -1,5 +1,4 @@
#!/bin/bash
#!/bin/bash -e
# Install Swig
sudo apt-get install -y swig

View File

@@ -1,10 +1,9 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: terraform.sh
## Desc: Installs terraform
################################################################################
# Install Terraform
TERRAFORM_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r .current_version)
curl -LO "https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip"

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: test-toolcache.sh
## Desc: Test Python and Ruby versions in tools cache
@@ -51,9 +51,6 @@ Test_Hostedtoolcache_Tool() {
fi
}
# Fail out if any tests fail
set -e
# define dictionary for key_alias and its values
declare -A TOOLCACHE_KEY_VALUE

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: validate-disk-space.sh
## Desc: Validate free disk space
@@ -17,4 +17,4 @@ fi
if [ $availableSpaceMB -le $minimumFreeSpaceMB ]; then
echo "Not enough disk space on the image (minimum available space: $minimumFreeSpaceMB MB)"
exit 1
fi
fi

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: vcpkg.sh
## Desc: Installs vcpkg

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: vercel.sh
## Desc: Installs the Vercel CLI

View File

@@ -64,7 +64,7 @@
],
"android": {
"platform_min_version": "10",
"build_tools_min_version": "17.0.0",
"build_tools_min_version": "19.1.0",
"extra_list": [
"android;m2repository",
"google;m2repository",

View File

@@ -64,7 +64,7 @@
],
"android": {
"platform_min_version": "17",
"build_tools_min_version": "17.0.0",
"build_tools_min_version": "19.1.0",
"extra_list": [
"android;m2repository",
"google;m2repository",

View File

@@ -89,6 +89,11 @@
"source": "{{template_dir}}/scripts/installers",
"destination": "{{user `installer_script_folder`}}"
},
{
"type": "file",
"source": "{{ template_dir }}/post-generation",
"destination": "{{user `image_folder`}}"
},
{
"type": "file",
"source": "{{ template_dir }}/scripts/SoftwareReport",

View File

@@ -92,6 +92,11 @@
"source": "{{template_dir}}/scripts/installers",
"destination": "{{user `installer_script_folder`}}"
},
{
"type": "file",
"source": "{{ template_dir }}/post-generation",
"destination": "{{user `image_folder`}}"
},
{
"type": "file",
"source": "{{ template_dir }}/scripts/SoftwareReport",

View File

@@ -94,6 +94,11 @@
"source": "{{template_dir}}/scripts/installers",
"destination": "{{user `installer_script_folder`}}"
},
{
"type": "file",
"source": "{{ template_dir }}/post-generation",
"destination": "{{user `image_folder`}}"
},
{
"type": "file",
"source": "{{ template_dir }}/scripts/SoftwareReport",

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