mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2026-01-05 01:31:51 +08:00
Merge branch 'main' into v-dmshib/add-build-vm-assets
This commit is contained in:
3
.gitattributes
vendored
3
.gitattributes
vendored
@@ -1,2 +1 @@
|
||||
# Do not normalize line endings
|
||||
* -text
|
||||
* text=auto eol=lf
|
||||
20
.github/workflows/issue-triager.yml
vendored
20
.github/workflows/issue-triager.yml
vendored
@@ -24,9 +24,21 @@ jobs:
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
github.issues.addLabels({
|
||||
const issueLabels = await github.issues.listLabelsOnIssue({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: ['needs triage']
|
||||
})
|
||||
repo: context.repo.repo
|
||||
});
|
||||
|
||||
const isAnnouncement = issueLabels.data && issueLabels.data
|
||||
.map(label => label.name)
|
||||
.includes('Announcement');
|
||||
|
||||
if (!isAnnouncement) {
|
||||
github.issues.addLabels({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: ['needs triage']
|
||||
})
|
||||
}
|
||||
25
.github/workflows/linter.yml
vendored
Normal file
25
.github/workflows/linter.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
# CI Validation
|
||||
|
||||
name: CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [$default-branch]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Lint JSON & MD files
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Lint Code Base
|
||||
uses: github/super-linter@v3
|
||||
env:
|
||||
VALIDATE_ALL_CODEBASE: false
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
VALIDATE_JSON: true
|
||||
VALIDATE_MD: true
|
||||
DEFAULT_BRANCH: ${{ github.base_ref }}
|
||||
@@ -12,6 +12,7 @@ After successful image generation, a snapshot of the temporary VM will be conver
|
||||
- `packer` - Can be downloaded from https://www.packer.io/downloads
|
||||
- `PowerShell 5.0 or higher` or `PSCore` for linux distributes.
|
||||
- `Azure CLI ` - https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
|
||||
- `Azure Powershell module` - https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-4.6.1
|
||||
|
||||
### Azure DevOps self-hosted pool requirements
|
||||
To connect to a temporary VM packer use WinRM or SSH connections on public IP interfaces.
|
||||
@@ -31,7 +32,7 @@ Download `packer` from https://www.packer.io/downloads, or install it via Chocol
|
||||
choco install packer
|
||||
```
|
||||
|
||||
Install Azure CLI - https://docs.microsoft.com/ru-ru/cli/azure/install-azure-cli-windows?view=azure-cli-latest&tabs=azure-cli.
|
||||
Install Azure CLI - https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest&tabs=azure-cli.
|
||||
```
|
||||
Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi
|
||||
```
|
||||
|
||||
@@ -16,27 +16,32 @@ Function Get-PackerTemplatePath {
|
||||
[ImageType] $ImageType
|
||||
)
|
||||
|
||||
$relativePath = "N/A"
|
||||
|
||||
switch ($ImageType) {
|
||||
([ImageType]::Windows2016) {
|
||||
$relativePath = "\images\win\Windows2016-Azure.json"
|
||||
$relativeTemplatePath = Join-Path "win" "windows2016.json"
|
||||
}
|
||||
([ImageType]::Windows2019) {
|
||||
$relativePath = "\images\win\Windows2019-Azure.json"
|
||||
$relativeTemplatePath = Join-Path "win" "windows2019.json"
|
||||
}
|
||||
([ImageType]::Ubuntu1604) {
|
||||
$relativePath = "\images\linux\ubuntu1604.json"
|
||||
$relativeTemplatePath = Join-Path "linux" "ubuntu1604.json"
|
||||
}
|
||||
([ImageType]::Ubuntu1804) {
|
||||
$relativePath = "\images\linux\ubuntu1804.json"
|
||||
$relativeTemplatePath = Join-Path "linux" "ubuntu1804.json"
|
||||
}
|
||||
([ImageType]::Ubuntu2004) {
|
||||
$relativePath = "\images\linux\ubuntu2004.json"
|
||||
$relativeTemplatePath = Join-Path "linux" "ubuntu2004.json"
|
||||
}
|
||||
default { throw "Unknown type of image" }
|
||||
}
|
||||
|
||||
return $RepositoryRoot + $relativePath;
|
||||
$imageTemplatePath = [IO.Path]::Combine($RepositoryRoot, "images", $relativeTemplatePath)
|
||||
|
||||
if (-not (Test-Path $imageTemplatePath)) {
|
||||
throw "Template for image '$ImageType' doesn't exist on path '$imageTemplatePath'"
|
||||
}
|
||||
|
||||
return $imageTemplatePath;
|
||||
}
|
||||
|
||||
Function Get-LatestCommit {
|
||||
@@ -45,7 +50,7 @@ Function Get-LatestCommit {
|
||||
|
||||
process {
|
||||
Write-Host "Latest commit:"
|
||||
git log --pretty=format:"Date: %cd; Commit: %H - %s; Author: %an <%ae>" -1
|
||||
git --no-pager log --pretty=format:"Date: %cd; Commit: %H - %s; Author: %an <%ae>" -1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,12 +92,12 @@ Function GenerateResourcesAndImage {
|
||||
[Parameter(Mandatory = $True)]
|
||||
[string] $ResourceGroupName,
|
||||
[Parameter(Mandatory = $True)]
|
||||
[string] $ImageGenerationRepositoryRoot,
|
||||
[Parameter(Mandatory = $True)]
|
||||
[ImageType] $ImageType,
|
||||
[Parameter(Mandatory = $True)]
|
||||
[string] $AzureLocation,
|
||||
[Parameter(Mandatory = $False)]
|
||||
[string] $ImageGenerationRepositoryRoot = $pwd,
|
||||
[Parameter(Mandatory = $False)]
|
||||
[int] $SecondsToWaitForServicePrincipalSetup = 30,
|
||||
[Parameter(Mandatory = $False)]
|
||||
[string] $GithubFeedToken,
|
||||
@@ -110,12 +115,12 @@ Function GenerateResourcesAndImage {
|
||||
$ServicePrincipalClientSecret = $env:UserName + [System.GUID]::NewGuid().ToString().ToUpper();
|
||||
$InstallPassword = $env:UserName + [System.GUID]::NewGuid().ToString().ToUpper();
|
||||
|
||||
Login-AzureRmAccount
|
||||
Set-AzureRmContext -SubscriptionId $SubscriptionId
|
||||
Connect-AzAccount
|
||||
Set-AzContext -SubscriptionId $SubscriptionId
|
||||
|
||||
$alreadyExists = $true;
|
||||
try {
|
||||
Get-AzureRmResourceGroup -Name $ResourceGroupName
|
||||
Get-AzResourceGroup -Name $ResourceGroupName
|
||||
Write-Verbose "Resource group was found, will delete and recreate it."
|
||||
}
|
||||
catch {
|
||||
@@ -126,8 +131,8 @@ Function GenerateResourcesAndImage {
|
||||
if ($alreadyExists) {
|
||||
if($Force -eq $true) {
|
||||
# Cleanup the resource group if it already exitsted before
|
||||
Remove-AzureRmResourceGroup -Name $ResourceGroupName -Force
|
||||
New-AzureRmResourceGroup -Name $ResourceGroupName -Location $AzureLocation
|
||||
Remove-AzResourceGroup -Name $ResourceGroupName -Force
|
||||
New-AzResourceGroup -Name $ResourceGroupName -Location $AzureLocation
|
||||
} else {
|
||||
$title = "Delete Resource Group"
|
||||
$message = "The resource group you specified already exists. Do you want to clean it up?"
|
||||
@@ -146,13 +151,13 @@ Function GenerateResourcesAndImage {
|
||||
|
||||
switch ($result)
|
||||
{
|
||||
0 { Remove-AzureRmResourceGroup -Name $ResourceGroupName -Force; New-AzureRmResourceGroup -Name $ResourceGroupName -Location $AzureLocation }
|
||||
0 { Remove-AzResourceGroup -Name $ResourceGroupName -Force; New-AzResourceGroup -Name $ResourceGroupName -Location $AzureLocation }
|
||||
1 { <# Do nothing #> }
|
||||
2 { exit }
|
||||
}
|
||||
}
|
||||
} else {
|
||||
New-AzureRmResourceGroup -Name $ResourceGroupName -Location $AzureLocation
|
||||
New-AzResourceGroup -Name $ResourceGroupName -Location $AzureLocation
|
||||
}
|
||||
|
||||
# This script should follow the recommended naming conventions for azure resources
|
||||
@@ -164,25 +169,32 @@ Function GenerateResourcesAndImage {
|
||||
$storageAccountName = $storageAccountName.Replace("-", "").Replace("_", "").Replace("(", "").Replace(")", "").ToLower()
|
||||
$storageAccountName += "001"
|
||||
|
||||
New-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -AccountName $storageAccountName -Location $AzureLocation -SkuName "Standard_LRS"
|
||||
New-AzStorageAccount -ResourceGroupName $ResourceGroupName -AccountName $storageAccountName -Location $AzureLocation -SkuName "Standard_LRS"
|
||||
|
||||
$spDisplayName = [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
$sp = New-AzureRmADServicePrincipal -DisplayName $spDisplayName -Password (ConvertTo-SecureString $ServicePrincipalClientSecret -AsPlainText -Force)
|
||||
$credentialProperties = @{ StartDate=Get-Date; EndDate=Get-Date -Year 2024; Password=$ServicePrincipalClientSecret }
|
||||
$credentials = New-Object -TypeName Microsoft.Azure.Commands.ActiveDirectory.PSADPasswordCredential -Property $credentialProperties
|
||||
$sp = New-AzADServicePrincipal -DisplayName $spDisplayName -PasswordCredential $credentials
|
||||
|
||||
$spAppId = $sp.ApplicationId
|
||||
$spClientId = $sp.ApplicationId
|
||||
$spObjectId = $sp.Id
|
||||
Start-Sleep -Seconds $SecondsToWaitForServicePrincipalSetup
|
||||
|
||||
New-AzureRmRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $spAppId
|
||||
New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $spAppId
|
||||
Start-Sleep -Seconds $SecondsToWaitForServicePrincipalSetup
|
||||
$sub = Get-AzureRmSubscription -SubscriptionId $SubscriptionId
|
||||
$sub = Get-AzSubscription -SubscriptionId $SubscriptionId
|
||||
$tenantId = $sub.TenantId
|
||||
# "", "Note this variable-setting script for running Packer with these Azure resources in the future:", "==============================================================================================", "`$spClientId = `"$spClientId`"", "`$ServicePrincipalClientSecret = `"$ServicePrincipalClientSecret`"", "`$SubscriptionId = `"$SubscriptionId`"", "`$tenantId = `"$tenantId`"", "`$spObjectId = `"$spObjectId`"", "`$AzureLocation = `"$AzureLocation`"", "`$ResourceGroupName = `"$ResourceGroupName`"", "`$storageAccountName = `"$storageAccountName`"", "`$install_password = `"$install_password`"", ""
|
||||
|
||||
Get-LatestCommit -ErrorAction SilentlyContinue
|
||||
|
||||
packer.exe build -on-error=ask `
|
||||
$packerBinary = Get-Command "packer"
|
||||
if (-not ($packerBinary)) {
|
||||
throw "'packer' binary is not found on PATH"
|
||||
}
|
||||
|
||||
& $packerBinary build -on-error=ask `
|
||||
-var "client_id=$($spClientId)" `
|
||||
-var "client_secret=$($ServicePrincipalClientSecret)" `
|
||||
-var "subscription_id=$($SubscriptionId)" `
|
||||
|
||||
@@ -16,5 +16,5 @@ pr:
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_type: Windows2016-Azure
|
||||
image_type: windows2016
|
||||
image_readme_name: Windows2016-Readme.md
|
||||
@@ -16,5 +16,5 @@ pr:
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_type: Windows2019-Azure
|
||||
image_type: windows2019
|
||||
image_readme_name: Windows2019-Readme.md
|
||||
@@ -9,6 +9,13 @@ jobs:
|
||||
- group: Mac-Cloud Image Generation Key Vault
|
||||
|
||||
steps:
|
||||
- pwsh: |
|
||||
$cleanBuildNumber = "$(Build.BuildNumber)" -replace "(.+_unstable)(\.\d+)", '$1'
|
||||
$virtualMachineName = "${cleanBuildNumber}.$(System.JobAttempt)"
|
||||
echo "##vso[task.setvariable variable=VirtualMachineName;]$virtualMachineName"
|
||||
echo "##vso[build.updatebuildnumber]$virtualMachineName"
|
||||
displayName: Update BuildNumber
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
fetchDepth: 1
|
||||
@@ -40,6 +47,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:',
|
||||
@@ -52,11 +68,11 @@ 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)" `
|
||||
-var="build_id=$(Build.BuildNumber)" `
|
||||
-var="build_id=$(VirtualMachineName)" `
|
||||
-var="baseimage_name=${{ parameters.base_image_name }}" `
|
||||
-var="github_feed_token=$(github-feed-token)" `
|
||||
-var="xcode_install_user=$(xcode-installation-user)" `
|
||||
@@ -83,7 +99,7 @@ jobs:
|
||||
ls $(Common.TestResultsDirectory)
|
||||
|
||||
echo "Put VM name to 'VM_Done_Name' file"
|
||||
echo "$(Build.BuildNumber)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
|
||||
echo "$(VirtualMachineName)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
|
||||
displayName: Prepare artifact
|
||||
|
||||
- bash: |
|
||||
@@ -103,3 +119,26 @@ jobs:
|
||||
failTaskOnFailedTests: true
|
||||
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 "$(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')
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/macos/destroy-vm.ps1
|
||||
arguments: -VMName "$(VirtualMachineName)" `
|
||||
-VIServer "$(vcenter-server-v2)" `
|
||||
-VIUserName "$(vcenter-username-v2)" `
|
||||
-VIPassword "$(vcenter-password-v2)"
|
||||
|
||||
95
images.CI/macos/destroy-vm.ps1
Normal file
95
images.CI/macos/destroy-vm.ps1
Normal file
@@ -0,0 +1,95 @@
|
||||
<#
|
||||
.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)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VMName,
|
||||
|
||||
[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
|
||||
|
||||
# Check vm clone status
|
||||
$chainId = (Get-VIEvent -Entity $VMName).ChainId
|
||||
if ($chainId)
|
||||
{
|
||||
$task = Get-Task -Status Running | Where-Object { ($_.Name -eq 'CloneVM_Task') -and ($_.ExtensionData.Info.EventChainId -in $chainId) }
|
||||
if ($task)
|
||||
{
|
||||
try
|
||||
{
|
||||
Stop-Task -Task $task -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "The vm '$VMName' clone task has been canceled"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to cancel the task"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Remove a vm
|
||||
$vm = Get-VM -Name $VMName -ErrorAction SilentlyContinue
|
||||
|
||||
if ($vm)
|
||||
{
|
||||
$vmState = $vm.PowerState
|
||||
if ($vmState -ne "PoweredOff")
|
||||
{
|
||||
try
|
||||
{
|
||||
$null = Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "The vm '$VMName' has been powered off"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to shutdown '$VMName'"
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Remove-VM -VM $vm -DeletePermanently -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "The vm '$VMName' has been removed"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to remove '$VMName'"
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host "VM '$VMName' not found"
|
||||
}
|
||||
26
images.CI/macos/helpers.psm1
Normal file
26
images.CI/macos/helpers.psm1
Normal 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
|
||||
}
|
||||
}
|
||||
70
images.CI/macos/move-vm.ps1
Normal file
70
images.CI/macos/move-vm.ps1
Normal file
@@ -0,0 +1,70 @@
|
||||
<#
|
||||
.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
|
||||
|
||||
$vm = Get-VM $VMName
|
||||
|
||||
if ($env:AGENT_JOBSTATUS -eq 'Failed') {
|
||||
try {
|
||||
if($vm.PowerState -ne "PoweredOff") {
|
||||
Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop
|
||||
}
|
||||
Set-VM -VM $vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]"
|
||||
} catch {
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$VMName'"
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
Move-VM -Vm $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'"
|
||||
}
|
||||
64
images.CI/macos/select-datastore.ps1
Normal file
64
images.CI/macos/select-datastore.ps1
Normal 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
|
||||
}
|
||||
@@ -1,384 +1,229 @@
|
||||
<!--- DO NOT EDIT - This markdown file is autogenerated. -->
|
||||
| Announcements |
|
||||
|-|
|
||||
| [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) |
|
||||
| Announcements |
|
||||
|-|
|
||||
| [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) |
|
||||
| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) |
|
||||
***
|
||||
# Ubuntu 16.04.7 LTS
|
||||
The following software is installed on machines with the 20200914.1 update.
|
||||
***
|
||||
- Image Version: 20201015.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- GNU C++ 5.5.0, 7.5.0, 8.4.0, 9.3.0
|
||||
- GNU Fortran 5.5.0, 8.4.0, 9.3.0
|
||||
- Clang 6.0.0, 8.0.0, 9.0.1
|
||||
- Erlang 11.1
|
||||
- Mono 6.12.0.90
|
||||
- Node 12.19.0
|
||||
- Python 2.7.12
|
||||
- Python3 3.5.2
|
||||
- PowerShell 7.0.3
|
||||
- Ruby 2.3.1p112
|
||||
- Swift 5.3
|
||||
- Julia 1.5.2
|
||||
|
||||
### Package Management
|
||||
- Gem 3.1.4
|
||||
- Helm 3.3.4
|
||||
- Homebrew 2.5.6
|
||||
- Miniconda 4.8.3
|
||||
- Npm 6.14.8
|
||||
- Pip 8.1.1
|
||||
- Pip3 8.1.1
|
||||
- Vcpkg 2020.06.15
|
||||
- Yarn 1.22.5
|
||||
|
||||
### Project Management
|
||||
- Ant 1.9.6
|
||||
- Gradle 6.7
|
||||
- Maven 3.6.3
|
||||
- Sbt 1.4.0
|
||||
|
||||
### Tools
|
||||
- 7-Zip 9.20
|
||||
- Ansible (ansible 2.9.13)
|
||||
- AzCopy7 (available by azcopy alias) 7.3.0
|
||||
- AzCopy10 (available by azcopy10 alias) 10.6.0
|
||||
- Azure CLI (azure-cli 2.11.1)
|
||||
- Azure CLI (azure-devops 0.18.0)
|
||||
- Basic packages:
|
||||
- dbus
|
||||
- dnsutils
|
||||
- dpkg
|
||||
- fakeroot
|
||||
- gnupg2
|
||||
- iproute2
|
||||
- iputils-ping
|
||||
- lib32z1
|
||||
- libc++abi-dev
|
||||
- libc++-dev
|
||||
- libcurl3
|
||||
- libgbm-dev
|
||||
- libgconf-2-4
|
||||
- libgtk-3-0
|
||||
- libicu55
|
||||
- libsecret-1-dev
|
||||
- libsqlite3-dev
|
||||
- libunwind8
|
||||
- libxkbfile-dev
|
||||
- libxss1
|
||||
- locales
|
||||
- openssh-client
|
||||
- pkg-config
|
||||
- rpm
|
||||
- texinfo
|
||||
- tk
|
||||
- tzdata
|
||||
- upx
|
||||
- xorriso
|
||||
- xvfb
|
||||
- xz-utils
|
||||
- zstd
|
||||
- zsync
|
||||
- bison
|
||||
- brotli
|
||||
- bzip2
|
||||
- curl
|
||||
- file
|
||||
- flex
|
||||
- ftp
|
||||
- jq
|
||||
- m4
|
||||
- netcat
|
||||
- parallel
|
||||
- patchelf
|
||||
- rsync
|
||||
- shellcheck
|
||||
- sqlite3
|
||||
- ssh
|
||||
- sudo
|
||||
- telnet
|
||||
- time
|
||||
- unzip
|
||||
- wget
|
||||
- yamllint
|
||||
- zip
|
||||
- Alibaba Cloud CLI (3.0.56)
|
||||
- AWS CLI (aws-cli/1.18.137 Python/2.7.12 Linux/4.15.0-1095-azure botocore/1.17.60)
|
||||
- AWS CLI Session manager plugin (1.1.61.0)
|
||||
- build-essential
|
||||
- nvm (0.35.3)
|
||||
- Clang 6.0 (6.0.0)
|
||||
- Clang 8 (8.0.0)
|
||||
- Clang 9 (9.0.1)
|
||||
- Swift version 5.2.5 (swift-5.2.5-RELEASE)
|
||||
Target: x86_64-unknown-linux-gnu
|
||||
- CMake (cmake version 3.17.0)
|
||||
- Docker Compose (docker-compose version 1.27.2, build 18f557f9)
|
||||
- Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b)
|
||||
- Docker-Buildx (0.4.2+azure)
|
||||
- Cached container images
|
||||
- node:10 (Digest: sha256:ab6f988c514b5c5fb6d5a6d18afb216084b256719791c6cc61096da58e66c436)
|
||||
- node:12 (Digest: sha256:20ffb04c1d35e273dc7aa68fe31ef136630d95128689283a8eb914329158022b)
|
||||
- buildpack-deps:stretch (Digest: sha256:4f72cea5afa05e21bf2aec93b219b0843a10af5e2f407cc184f211e45f929ccc)
|
||||
- buildpack-deps:buster (Digest: sha256:8a76b9f9ee417eb330e97d3129e373277515e98d0f3a95a89ab944b645190efd)
|
||||
- debian:9 (Digest: sha256:bc125c699d736ac84c92b76ab7028741bbac69f207b7a8a4065bca6f79d5698e)
|
||||
- debian:8 (Digest: sha256:e180975d5c1012518e711c92ab26a4ff98218f439a97d9adbcd503b0d3ad1c8a)
|
||||
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
|
||||
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
|
||||
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
|
||||
- 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)
|
||||
- .NET Core SDK:
|
||||
- 3.1.402
|
||||
- 3.1.401
|
||||
- 3.1.302
|
||||
- 3.1.301
|
||||
- 3.1.300
|
||||
- 3.1.202
|
||||
- 3.1.201
|
||||
- 3.1.200
|
||||
- 3.1.108
|
||||
- 3.1.107
|
||||
- 3.1.106
|
||||
- 3.1.105
|
||||
- 3.1.104
|
||||
- 3.1.103
|
||||
- 3.1.102
|
||||
- 3.1.101
|
||||
- 3.1.100
|
||||
- 3.0.103
|
||||
- 3.0.102
|
||||
- 3.0.101
|
||||
- 3.0.100
|
||||
- 2.1.810
|
||||
- 2.1.809
|
||||
- 2.1.808
|
||||
- 2.1.807
|
||||
- 2.1.806
|
||||
- 2.1.805
|
||||
- 2.1.804
|
||||
- 2.1.803
|
||||
- 2.1.802
|
||||
- 2.1.801
|
||||
- 2.1.701
|
||||
- 2.1.700
|
||||
- 2.1.615
|
||||
- 2.1.614
|
||||
- 2.1.613
|
||||
- 2.1.612
|
||||
- 2.1.611
|
||||
- 2.1.610
|
||||
- 2.1.609
|
||||
- 2.1.608
|
||||
- 2.1.607
|
||||
- 2.1.606
|
||||
- 2.1.605
|
||||
- 2.1.604
|
||||
- 2.1.603
|
||||
- 2.1.602
|
||||
- 2.1.518
|
||||
- 2.1.517
|
||||
- 2.1.516
|
||||
- 2.1.515
|
||||
- 2.1.514
|
||||
- 2.1.513
|
||||
- 2.1.512
|
||||
- 2.1.511
|
||||
- 2.1.510
|
||||
- 2.1.509
|
||||
- 2.1.508
|
||||
- 2.1.507
|
||||
- 2.1.506
|
||||
- 2.1.505
|
||||
- 2.1.504
|
||||
- 2.1.503
|
||||
- 2.1.502
|
||||
- 2.1.500
|
||||
- 2.1.403
|
||||
- 2.1.402
|
||||
- 2.1.401
|
||||
- 2.1.302
|
||||
- 2.1.301
|
||||
- 2.1.300
|
||||
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.3)
|
||||
- Firefox (Mozilla Firefox 80.0.1)
|
||||
- Geckodriver (0.27.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
|
||||
- GNU C++ 7.5.0
|
||||
- GNU C++ 8.4.0
|
||||
- GNU C++ 9.3.0
|
||||
- GNU Fortran 8.4.0
|
||||
- GNU Fortran 9.3.0
|
||||
- Git (2.28.0)
|
||||
- Git Large File Storage (LFS) (2.12.0)
|
||||
- Git-ftp (1.0.2)
|
||||
- Hub CLI (2.14.2)
|
||||
- GitHub CLI 0.12.0
|
||||
- Google Chrome (Google Chrome 85.0.4183.102 )
|
||||
- ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
|
||||
- Google Cloud SDK (309.0.0)
|
||||
- Haskell Cabal (cabal-install version 3.4.0.0
|
||||
compiled using version 3.4.0.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.2)
|
||||
- Haskell Stack (Version 2.3.3, Git revision cb44d51bed48b723a5deb08c3348c0b3ccfc437e x86_64 hpack-0.33.0)
|
||||
- Heroku (heroku/7.42.13 linux-x64 node-v12.16.2)
|
||||
- HHVM (HipHop VM 4.56.1 (rel))
|
||||
- ImageMagick
|
||||
- Azul Zulu OpenJDK:
|
||||
- 7 (openjdk version "1.7.0_272")
|
||||
- Adopt OpenJDK:
|
||||
- 8 (openjdk version "1.8.0_265") (default)
|
||||
- 11 (openjdk version "11.0.8" 2020-07-14)
|
||||
- 12 (openjdk version "12.0.2" 2019-07-16)
|
||||
- Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018)
|
||||
- Gradle 6.6.1
|
||||
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
|
||||
- Kind (kind v0.8.1 go1.14.2 linux/amd64)
|
||||
- kubectl (Client Version: v1.19.1)
|
||||
- helm (v3.3.1+g249e521)
|
||||
- minikube version: v1.13.0
|
||||
- kustomize ({kustomize/v3.8.2 2020-08-29T17:44:01Z })
|
||||
- oc CLI Client Version: 4.5.0-202005291417-9933eb9
|
||||
- Leiningen (Leiningen 2.9.4 on Java 1.8.0_265 OpenJDK 64-Bit Server VM)
|
||||
- Mercurial (Mercurial Distributed SCM (version 4.4.1))
|
||||
- Miniconda (conda 4.8.3)
|
||||
- Mono (Mono JIT compiler version 6.12.0.90 (tarball Fri Sep 4 13:58:50 UTC 2020))
|
||||
- NuGet (NuGet Version: 5.5.0.6382)
|
||||
- MySQL (mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using EditLine wrapper)
|
||||
- Ansible 2.9.14
|
||||
- AzCopy10 10.6.0 (available by `azcopy10` alias)
|
||||
- AzCopy7 7.3.0 (available by `azcopy` alias)
|
||||
- Bazel 3.6.0
|
||||
- Bazelisk 1.7.2
|
||||
- CMake 3.17.0
|
||||
- CodeQL Action Bundle 2.3.0
|
||||
- curl 7.47.0
|
||||
- Docker Compose 1.27.4
|
||||
- Docker-Buildx 0.4.2
|
||||
- Docker-Moby 19.03.13
|
||||
- Git 2.28.0
|
||||
- Git LFS 2.12.0
|
||||
- Git-ftp 1.0.2
|
||||
- Google Cloud SDK 314.0.0
|
||||
- Haveged 1.9.1
|
||||
- Heroku 7.46.0
|
||||
- HHVM (HipHop VM) 4.56.1
|
||||
- jq 1.5
|
||||
- Kind 0.9.0
|
||||
- Kubectl 1.19.3
|
||||
- Kustomize 3.8.5
|
||||
- Leiningen 2.9.4
|
||||
- m4 1.4.17
|
||||
- Mercurial 4.4.1
|
||||
- Minikube 1.14.0
|
||||
- Newman 5.2.0
|
||||
- nvm 0.36.0
|
||||
- Packer 1.6.4
|
||||
- PhantomJS 2.1.1
|
||||
- Pulumi 2.12.0
|
||||
- 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.60
|
||||
- AWS CLI 1.18.158
|
||||
- AWS CLI Session manager plugin 1.2.7.0
|
||||
- AWS SAM CLI 1.6.2
|
||||
- Azure CLI (azure-cli) 2.13.0
|
||||
- Azure CLI (azure-devops) 0.18.0
|
||||
- GitHub CLI 1.1.0
|
||||
- Hub CLI 2.14.2
|
||||
- Netlify CLI 2.65.6
|
||||
- oc CLI 4.5.0
|
||||
- ORAS CLI 0.8.1
|
||||
- Vercel CLI 20.1.2
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
| ------------------- | ------------ | -------------------- |
|
||||
| 1.7.0_272 | Zulu | JAVA_HOME_7_X64 |
|
||||
| 1.8.0_265 (default) | AdoptOpenJDK | JAVA_HOME_8_X64 |
|
||||
| 11.0.8 | AdoptOpenJDK | JAVA_HOME_11_X64 |
|
||||
| 12.0.2 | AdoptOpenJDK | JAVA_HOME_12_X64 |
|
||||
|
||||
### PHP
|
||||
| Tool | Version |
|
||||
| -------- | ----------------------------------------- |
|
||||
| PHP | 5.6.40 7.0.33 7.1.33 7.2.34 7.3.23 7.4.11 |
|
||||
| Composer | 1.10.15 |
|
||||
| PHPUnit | 7.5.20 |
|
||||
|
||||
### Haskell
|
||||
- GHC 8.10.2
|
||||
- Cabal 3.4.0.0
|
||||
- Stack 2.5.1
|
||||
|
||||
### Rust Tools
|
||||
- Rust 1.47.0
|
||||
- Rustup 1.22.1
|
||||
- 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.15.0
|
||||
- Rustfmt 1.4.20
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 86.0.4240.75
|
||||
- ChromeDriver 86.0.4240.22
|
||||
- Mozilla Firefox 81.0.2
|
||||
- Geckodriver 0.27.0
|
||||
|
||||
### .NET Core 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.519 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.616 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 2.1.808 2.1.809 2.1.810 2.1.811 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.109 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403
|
||||
|
||||
### Az Module
|
||||
- 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 4.4.0 4.6.0 4.7.0
|
||||
|
||||
### Databases
|
||||
- Postgre SQL 13.0
|
||||
- MongoDB 4.4.1
|
||||
- sqlite3 3.11.0
|
||||
|
||||
#### MySQL
|
||||
- MySQL 5.7.31
|
||||
- MySQL Server (user:root password:root)
|
||||
- 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'
|
||||
- Node.js (v12.18.3)
|
||||
- Grunt (grunt-cli v1.3.2)
|
||||
- Gulp (CLI version: 2.3.0
|
||||
Local version: Unknown)
|
||||
- n (6.7.0)
|
||||
- Parcel (1.12.4)
|
||||
- TypeScript (Version 4.0.2)
|
||||
- Webpack (4.44.1)
|
||||
- Webpack CLI (3.3.12)
|
||||
- Yarn (1.22.5)
|
||||
- Newman (5.2.0)
|
||||
- Bazel (bazel 3.5.0)
|
||||
- Bazelisk (1.6.1)
|
||||
- ORAS CLI 0.8.1
|
||||
- PhantomJS (2.1.1)
|
||||
- PHP 5.6 (PHP 5.6.40-30+ubuntu16.04.1+deb.sury.org+1 (cli) )
|
||||
- PHP 7.0 (PHP 7.0.33-30+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:46:59) ( NTS ))
|
||||
- PHP 7.1 (PHP 7.1.33-17+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:46:52) ( NTS ))
|
||||
- PHP 7.2 (PHP 7.2.33-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:43:59) ( NTS ))
|
||||
- PHP 7.3 (PHP 7.3.22-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Sep 9 2020 06:46:12) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.10 (cli) (built: Sep 9 2020 06:35:57) ( NTS ))
|
||||
- Composer (Composer version 1.10.13 2020-09-09 11:46:34)
|
||||
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
|
||||
- Pollinate
|
||||
- psql (PostgreSQL) 12.4
|
||||
- Powershell (PowerShell 7.0.3)
|
||||
- Pulumi v2.10.0
|
||||
- ruby (2.3.1p112)
|
||||
- gem (3.1.4)
|
||||
- OpenSSL 1.1.0h 27 Mar 2018 (Library: OpenSSL 1.1.1g 21 Apr 2020)
|
||||
- Libssl 1.1.1g-1+ubuntu16.04.1+deb.sury.org+1
|
||||
- R 4.0.2
|
||||
- rustup (1.22.1)
|
||||
- rust (1.46.0)
|
||||
- cargo (1.46.0)
|
||||
- rustfmt (1.4.18-stable)
|
||||
- clippy (0.0.212)
|
||||
- rustdoc (1.46.0)
|
||||
- bindgen (0.55.1)
|
||||
- cbindgen (0.14.4)
|
||||
- cargo audit (0.12.0)
|
||||
- cargo outdated (v0.9.11)
|
||||
- Julia (julia version 1.5.1)
|
||||
- sbt (1.3.13)
|
||||
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
|
||||
- Sphinx Open Source Search Server
|
||||
- Subversion (svn, version 1.9.3 (r1718519))
|
||||
- Terraform (Terraform v0.13.2)
|
||||
- Packer (1.6.2)
|
||||
- Vcpkg 2020.06.15-unknownhash
|
||||
- Vercel CLI (20.1.0)
|
||||
- MongoDB on Linux v4.4.1
|
||||
- Haveged 1.9.1-3
|
||||
- Swig 3.0.8
|
||||
- Netlify CLI (netlify-cli/2.63.0 linux-x64 node-v12.18.3)
|
||||
- Google Repository 58
|
||||
- Google Play services 49
|
||||
- Google APIs 24
|
||||
- Google APIs 23
|
||||
- Google APIs 22
|
||||
- Google APIs 21
|
||||
- CMake 3.10.2.4988404
|
||||
3.6.4111459
|
||||
- Android ConstraintLayout 1.0.2
|
||||
- Android ConstraintLayout 1.0.1
|
||||
- Android ConstraintLayout Solver 1.0.2
|
||||
- Android ConstraintLayout Solver 1.0.1
|
||||
- Android SDK Platform-Tools 30.0.4
|
||||
- Android SDK Platform 30
|
||||
- Android SDK Platform 29
|
||||
- Android SDK Platform 28
|
||||
- Android SDK Platform 27
|
||||
- Android SDK Platform 26
|
||||
- Android SDK Platform 25
|
||||
- Android SDK Platform 24
|
||||
- Android SDK Platform 23
|
||||
- Android SDK Platform 22
|
||||
- Android SDK Platform 21
|
||||
- Android SDK Platform 19
|
||||
- Android SDK Platform 17
|
||||
- Android SDK Platform 15
|
||||
- Android SDK Platform 10
|
||||
- Android SDK Patch Applier v4
|
||||
- Android SDK Build-Tools 30.0.2
|
||||
- Android SDK Build-Tools 30.0.1
|
||||
- Android SDK Build-Tools 30.0.0
|
||||
- Android SDK Build-Tools 29.0.3
|
||||
- Android SDK Build-Tools 29.0.2
|
||||
- Android SDK Build-Tools 29.0.0
|
||||
- Android SDK Build-Tools 28.0.3
|
||||
- Android SDK Build-Tools 28.0.2
|
||||
- Android SDK Build-Tools 28.0.1
|
||||
- Android SDK Build-Tools 28.0.0
|
||||
- Android SDK Build-Tools 27.0.3
|
||||
- Android SDK Build-Tools 27.0.2
|
||||
- Android SDK Build-Tools 27.0.1
|
||||
- Android SDK Build-Tools 27.0.0
|
||||
- Android SDK Build-Tools 26.0.3
|
||||
- Android SDK Build-Tools 26.0.2
|
||||
- Android SDK Build-Tools 26.0.1
|
||||
- Android SDK Build-Tools 26.0.0
|
||||
- Android SDK Build-Tools 25.0.3
|
||||
- Android SDK Build-Tools 25.0.2
|
||||
- Android SDK Build-Tools 25.0.1
|
||||
- Android SDK Build-Tools 25.0.0
|
||||
- Android SDK Build-Tools 24.0.3
|
||||
- Android SDK Build-Tools 24.0.2
|
||||
- Android SDK Build-Tools 24.0.1
|
||||
- Android SDK Build-Tools 24.0.0
|
||||
- Android SDK Build-Tools 23.0.3
|
||||
- Android SDK Build-Tools 23.0.2
|
||||
- Android SDK Build-Tools 23.0.1
|
||||
- Android SDK Build-Tools 22.0.1
|
||||
- Android SDK Build-Tools 21.1.2
|
||||
- Android SDK Build-Tools 20.0.0
|
||||
- Android SDK Build-Tools 19.1.0
|
||||
- Android SDK Build-Tools 17.0.0
|
||||
- Android NDK 21.3.6528147
|
||||
- Az Module (1.0.0)
|
||||
- Az Module (1.6.0)
|
||||
- Az Module (2.3.2)
|
||||
- Az Module (2.6.0)
|
||||
- Az Module (2.8.0)
|
||||
- Az Module (3.1.0)
|
||||
- Az Module (3.5.0)
|
||||
- Az Module (3.8.0)
|
||||
- Az Module (4.3.0)
|
||||
- Az Module (4.4.0)
|
||||
- Az Module (4.6.0)
|
||||
- Ruby:
|
||||
- Ruby 2.4.10
|
||||
- Ruby 2.5.8
|
||||
- Ruby 2.6.6
|
||||
- Ruby 2.7.1
|
||||
- Python (Python 2.7.12)
|
||||
- pip (pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7))
|
||||
- Python3 (Python 3.5.2)
|
||||
- pip3 (pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5))
|
||||
- Python:
|
||||
- Python 2.7.18
|
||||
- Python 3.5.10
|
||||
- Python 3.6.12
|
||||
- Python 3.7.9
|
||||
- Python 3.8.5
|
||||
- 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.22.0
|
||||
- node 12.18.3
|
||||
- node 14.10.1
|
||||
- go:
|
||||
- go 1.11.13
|
||||
- go 1.12.17
|
||||
- go 1.13.15
|
||||
- go 1.14.9
|
||||
- go 1.15.2
|
||||
- boost:
|
||||
- boost 1.69.0
|
||||
- boost 1.72.0
|
||||
- AWS SAM CLI, version 1.2.0
|
||||
- Homebrew on Linux (Homebrew 2.5.1
|
||||
Homebrew/linuxbrew-core (git revision d52011; last commit 2020-09-12))
|
||||
|
||||
```
|
||||
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'
|
||||
```
|
||||
### Cached Tools
|
||||
#### Ruby
|
||||
- 2.4.10
|
||||
- 2.5.8
|
||||
- 2.6.6
|
||||
- 2.7.1
|
||||
|
||||
#### Python
|
||||
- 2.7.18
|
||||
- 3.5.10
|
||||
- 3.6.12
|
||||
- 3.7.9
|
||||
- 3.8.6
|
||||
- 3.9.0
|
||||
|
||||
#### PyPy
|
||||
- 2.7.13 [PyPy 7.3.2]
|
||||
- 3.6.9 [PyPy 7.3.2]
|
||||
|
||||
#### Node.js
|
||||
- 8.17.0
|
||||
- 10.22.1
|
||||
- 12.19.0
|
||||
- 14.13.1
|
||||
|
||||
#### Go
|
||||
- 1.11.13
|
||||
- 1.12.17
|
||||
- 1.13.15
|
||||
- 1.14.10
|
||||
- 1.15.3
|
||||
|
||||
#### Boost
|
||||
- 1.69.0
|
||||
- 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-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<br>22.0.1<br>21.1.2<br>20.0.0<br>19.1.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
|
||||
- alpine:3.8
|
||||
- alpine:3.9
|
||||
- alpine:3.10
|
||||
- buildpack-deps:stretch
|
||||
- buildpack-deps:buster
|
||||
- debian:8
|
||||
- debian:9
|
||||
- jekyll/builder
|
||||
- mcr.microsoft.com/azure-pipelines/node8-typescript
|
||||
- node:10
|
||||
- node:12
|
||||
- node:10-alpine
|
||||
- node:12-alpine
|
||||
- ubuntu:14.04
|
||||
|
||||
### 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, libicu55, 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
|
||||
|
||||
|
||||
|
||||
@@ -1,378 +1,233 @@
|
||||
<!--- DO NOT EDIT - This markdown file is autogenerated. -->
|
||||
| Announcements |
|
||||
|-|
|
||||
| [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) |
|
||||
| Announcements |
|
||||
|-|
|
||||
| [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) |
|
||||
| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) |
|
||||
***
|
||||
# Ubuntu 18.04.5 LTS
|
||||
The following software is installed on machines with the 20200914.1 update.
|
||||
***
|
||||
- Image Version: 20201015.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.1.0
|
||||
- GNU Fortran 7.5.0, 8.4.0, 9.3.0
|
||||
- Clang 6.0.0, 8.0.0, 9.0.0
|
||||
- Erlang 11.1
|
||||
- Mono 6.12.0.90
|
||||
- Node 12.19.0
|
||||
- Python 2.7.17
|
||||
- Python3 3.6.9
|
||||
- PowerShell 7.0.3
|
||||
- Ruby 2.5.1p57
|
||||
- Swift 5.3
|
||||
- Julia 1.5.2
|
||||
|
||||
### Package Management
|
||||
- Gem 3.1.4
|
||||
- Helm 3.3.4
|
||||
- Homebrew 2.5.6
|
||||
- Miniconda 4.8.3
|
||||
- Npm 6.14.8
|
||||
- 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.7
|
||||
- Maven 3.6.3
|
||||
- Sbt 1.4.0
|
||||
|
||||
### Tools
|
||||
- 7-Zip 16.02
|
||||
- Ansible (ansible 2.9.13)
|
||||
- AzCopy7 (available by azcopy alias) 7.3.0
|
||||
- AzCopy10 (available by azcopy10 alias) 10.6.0
|
||||
- Azure CLI (azure-cli 2.11.1)
|
||||
- Azure CLI (azure-devops 0.18.0)
|
||||
- Basic packages:
|
||||
- dbus
|
||||
- dnsutils
|
||||
- dpkg
|
||||
- fakeroot
|
||||
- gnupg2
|
||||
- iproute2
|
||||
- iputils-ping
|
||||
- lib32z1
|
||||
- libc++abi-dev
|
||||
- libc++-dev
|
||||
- libcurl3
|
||||
- libgbm-dev
|
||||
- libgconf-2-4
|
||||
- libgtk-3-0
|
||||
- libsecret-1-dev
|
||||
- libsqlite3-dev
|
||||
- libunwind8
|
||||
- libxkbfile-dev
|
||||
- libxss1
|
||||
- locales
|
||||
- openssh-client
|
||||
- pkg-config
|
||||
- rpm
|
||||
- texinfo
|
||||
- tk
|
||||
- tzdata
|
||||
- upx
|
||||
- xorriso
|
||||
- xvfb
|
||||
- xz-utils
|
||||
- zstd
|
||||
- zsync
|
||||
- bison
|
||||
- brotli
|
||||
- bzip2
|
||||
- curl
|
||||
- file
|
||||
- flex
|
||||
- ftp
|
||||
- jq
|
||||
- m4
|
||||
- netcat
|
||||
- parallel
|
||||
- patchelf
|
||||
- rsync
|
||||
- shellcheck
|
||||
- sqlite3
|
||||
- ssh
|
||||
- sudo
|
||||
- telnet
|
||||
- time
|
||||
- unzip
|
||||
- wget
|
||||
- yamllint
|
||||
- zip
|
||||
- Alibaba Cloud CLI (3.0.56)
|
||||
- AWS CLI (aws-cli/1.18.137 Python/2.7.17 Linux/5.4.0-1025-azure botocore/1.17.60)
|
||||
- AWS CLI Session manager plugin (1.1.61.0)
|
||||
- build-essential
|
||||
- Clang 6.0 (6.0.0)
|
||||
- Clang 8 (8.0.0)
|
||||
- Clang 9 (9.0.0)
|
||||
- Swift version 5.2.5 (swift-5.2.5-RELEASE)
|
||||
Target: x86_64-unknown-linux-gnu
|
||||
- CMake (cmake version 3.17.0)
|
||||
- Podman (2.0.6)
|
||||
- Buildah (1.15.2)
|
||||
- Skopeo (1.1.1)
|
||||
- Docker Compose (docker-compose version 1.27.2, build 18f557f9)
|
||||
- Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b)
|
||||
- Docker-Buildx (0.4.2+azure)
|
||||
- Cached container images
|
||||
- node:10 (Digest: sha256:ab6f988c514b5c5fb6d5a6d18afb216084b256719791c6cc61096da58e66c436)
|
||||
- node:12 (Digest: sha256:20ffb04c1d35e273dc7aa68fe31ef136630d95128689283a8eb914329158022b)
|
||||
- buildpack-deps:stretch (Digest: sha256:4f72cea5afa05e21bf2aec93b219b0843a10af5e2f407cc184f211e45f929ccc)
|
||||
- buildpack-deps:buster (Digest: sha256:8a76b9f9ee417eb330e97d3129e373277515e98d0f3a95a89ab944b645190efd)
|
||||
- debian:9 (Digest: sha256:bc125c699d736ac84c92b76ab7028741bbac69f207b7a8a4065bca6f79d5698e)
|
||||
- debian:8 (Digest: sha256:e180975d5c1012518e711c92ab26a4ff98218f439a97d9adbcd503b0d3ad1c8a)
|
||||
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
|
||||
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
|
||||
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
|
||||
- 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)
|
||||
- .NET Core SDK:
|
||||
- 3.1.402
|
||||
- 3.1.401
|
||||
- 3.1.302
|
||||
- 3.1.301
|
||||
- 3.1.300
|
||||
- 3.1.202
|
||||
- 3.1.201
|
||||
- 3.1.200
|
||||
- 3.1.108
|
||||
- 3.1.107
|
||||
- 3.1.106
|
||||
- 3.1.105
|
||||
- 3.1.104
|
||||
- 3.1.103
|
||||
- 3.1.102
|
||||
- 3.1.101
|
||||
- 3.1.100
|
||||
- 3.0.103
|
||||
- 3.0.102
|
||||
- 3.0.101
|
||||
- 3.0.100
|
||||
- 2.1.810
|
||||
- 2.1.809
|
||||
- 2.1.808
|
||||
- 2.1.807
|
||||
- 2.1.806
|
||||
- 2.1.805
|
||||
- 2.1.804
|
||||
- 2.1.803
|
||||
- 2.1.802
|
||||
- 2.1.801
|
||||
- 2.1.701
|
||||
- 2.1.700
|
||||
- 2.1.615
|
||||
- 2.1.614
|
||||
- 2.1.613
|
||||
- 2.1.612
|
||||
- 2.1.611
|
||||
- 2.1.610
|
||||
- 2.1.609
|
||||
- 2.1.608
|
||||
- 2.1.607
|
||||
- 2.1.606
|
||||
- 2.1.605
|
||||
- 2.1.604
|
||||
- 2.1.603
|
||||
- 2.1.602
|
||||
- 2.1.518
|
||||
- 2.1.517
|
||||
- 2.1.516
|
||||
- 2.1.515
|
||||
- 2.1.514
|
||||
- 2.1.513
|
||||
- 2.1.512
|
||||
- 2.1.511
|
||||
- 2.1.510
|
||||
- 2.1.509
|
||||
- 2.1.508
|
||||
- 2.1.507
|
||||
- 2.1.506
|
||||
- 2.1.505
|
||||
- 2.1.504
|
||||
- 2.1.503
|
||||
- 2.1.502
|
||||
- 2.1.500
|
||||
- 2.1.403
|
||||
- 2.1.402
|
||||
- 2.1.401
|
||||
- 2.1.302
|
||||
- 2.1.301
|
||||
- 2.1.300
|
||||
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.3)
|
||||
- Firefox (Mozilla Firefox 80.0.1)
|
||||
- Geckodriver (0.27.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
|
||||
- GNU C++ 7.5.0
|
||||
- GNU C++ 8.4.0
|
||||
- GNU C++ 9.3.0
|
||||
- GNU Fortran 8.4.0
|
||||
- GNU Fortran 9.3.0
|
||||
- Git (2.28.0)
|
||||
- Git Large File Storage (LFS) (2.12.0)
|
||||
- Git-ftp (1.3.1)
|
||||
- Hub CLI (2.14.2)
|
||||
- GitHub CLI 0.12.0
|
||||
- Google Chrome (Google Chrome 85.0.4183.102 )
|
||||
- ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
|
||||
- Google Cloud SDK (309.0.0)
|
||||
- Haskell Cabal (cabal-install version 3.4.0.0
|
||||
compiled using version 3.4.0.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.2)
|
||||
- Haskell Stack (Version 2.3.3, Git revision cb44d51bed48b723a5deb08c3348c0b3ccfc437e x86_64 hpack-0.33.0)
|
||||
- Heroku (heroku/7.42.13 linux-x64 node-v12.16.2)
|
||||
- HHVM (HipHop VM 4.74.0 (rel))
|
||||
- ImageMagick
|
||||
- Azul Zulu OpenJDK:
|
||||
- 7 (openjdk version "1.7.0_272")
|
||||
- Adopt OpenJDK:
|
||||
- 8 (openjdk version "1.8.0_265") (default)
|
||||
- 11 (openjdk version "11.0.8" 2020-07-14)
|
||||
- 12 (openjdk version "12.0.2" 2019-07-16)
|
||||
- Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019)
|
||||
- Gradle 6.6.1
|
||||
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
|
||||
- Kind (kind v0.8.1 go1.14.2 linux/amd64)
|
||||
- kubectl (Client Version: v1.19.1)
|
||||
- helm (v3.3.1+g249e521)
|
||||
- minikube version: v1.13.0
|
||||
- kustomize ({kustomize/v3.8.2 2020-08-29T17:44:01Z })
|
||||
- oc CLI Client Version: 4.5.0-202005291417-9933eb9
|
||||
- Leiningen (Leiningen 2.9.4 on Java 1.8.0_265 OpenJDK 64-Bit Server VM)
|
||||
- Mercurial (Mercurial Distributed SCM (version 4.5.3))
|
||||
- Miniconda (conda 4.8.3)
|
||||
- Mono (Mono JIT compiler version 6.12.0.90 (tarball Fri Sep 4 14:01:23 UTC 2020))
|
||||
- NuGet (NuGet Version: 5.5.0.6382)
|
||||
- MySQL (mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using EditLine wrapper)
|
||||
- Ansible 2.9.14
|
||||
- AzCopy10 10.6.0 (available by `azcopy10` alias)
|
||||
- AzCopy7 7.3.0 (available by `azcopy` alias)
|
||||
- Bazel 3.6.0
|
||||
- Bazelisk 1.7.2
|
||||
- Buildah 1.16.4
|
||||
- CMake 3.17.0
|
||||
- CodeQL Action Bundle 2.3.0
|
||||
- curl 7.58.0
|
||||
- Docker Compose 1.27.4
|
||||
- Docker-Buildx 0.4.2
|
||||
- Docker-Moby 19.03.13
|
||||
- Git 2.28.0
|
||||
- Git LFS 2.12.0
|
||||
- Git-ftp 1.3.1
|
||||
- Google Cloud SDK 314.0.0
|
||||
- Haveged 1.9.1
|
||||
- Heroku 7.46.0
|
||||
- HHVM (HipHop VM) 4.79.0
|
||||
- jq 1.5
|
||||
- Kind 0.9.0
|
||||
- Kubectl 1.19.3
|
||||
- Kustomize 3.8.5
|
||||
- Leiningen 2.9.4
|
||||
- m4 1.4.18
|
||||
- Mercurial 4.5.3
|
||||
- Minikube 1.14.0
|
||||
- Newman 5.2.0
|
||||
- nvm 0.36.0
|
||||
- Packer 1.6.4
|
||||
- PhantomJS 2.1.1
|
||||
- Podman 2.1.1
|
||||
- Pulumi 2.12.0
|
||||
- R 4.0.3
|
||||
- Skopeo 1.2.0
|
||||
- Sphinx Open Source Search Server 2.2.11
|
||||
- SVN 1.9.7
|
||||
- Swig 3.0.12
|
||||
- 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.60
|
||||
- AWS CLI 1.18.157
|
||||
- AWS CLI Session manager plugin 1.1.61.0
|
||||
- AWS SAM CLI 1.6.2
|
||||
- Azure CLI (azure-cli) 2.13.0
|
||||
- Azure CLI (azure-devops) 0.18.0
|
||||
- GitHub CLI 1.1.0
|
||||
- Hub CLI 2.14.2
|
||||
- Netlify CLI 2.65.5
|
||||
- oc CLI 4.5.0
|
||||
- ORAS CLI 0.8.1
|
||||
- Vercel CLI 20.1.2
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
| ------------------- | ------------ | -------------------- |
|
||||
| 1.7.0_272 | Zulu | JAVA_HOME_7_X64 |
|
||||
| 1.8.0_265 (default) | AdoptOpenJDK | JAVA_HOME_8_X64 |
|
||||
| 11.0.8 | AdoptOpenJDK | JAVA_HOME_11_X64 |
|
||||
| 12.0.2 | AdoptOpenJDK | JAVA_HOME_12_X64 |
|
||||
|
||||
### PHP
|
||||
| Tool | Version |
|
||||
| -------- | --------------------------- |
|
||||
| PHP | 7.1.33 7.2.34 7.3.23 7.4.11 |
|
||||
| Composer | 1.10.15 |
|
||||
| PHPUnit | 7.5.20 |
|
||||
|
||||
### Haskell
|
||||
- GHC 8.10.2
|
||||
- Cabal 3.4.0.0
|
||||
- Stack 2.3.3
|
||||
|
||||
### Rust Tools
|
||||
- Rust 1.47.0
|
||||
- Rustup 1.22.1
|
||||
- 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.15.0
|
||||
- Rustfmt 1.4.20
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 86.0.4240.75
|
||||
- ChromeDriver 86.0.4240.22
|
||||
- Mozilla Firefox 81.0
|
||||
- Geckodriver 0.27.0
|
||||
|
||||
### .NET Core 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.519 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.616 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 2.1.808 2.1.809 2.1.810 2.1.811 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.109 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403
|
||||
|
||||
### Az Module
|
||||
- 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 4.4.0 4.6.0 4.7.0
|
||||
|
||||
### Databases
|
||||
- Postgre SQL 13.0
|
||||
- MongoDB 4.4.1
|
||||
- sqlite3 3.22.0
|
||||
|
||||
#### MySQL
|
||||
- MySQL 5.7.31
|
||||
- MySQL Server (user:root password:root)
|
||||
- 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'
|
||||
- nvm (0.35.3)
|
||||
- Node.js (v12.18.3)
|
||||
- Grunt (grunt-cli v1.3.2)
|
||||
- Gulp (CLI version: 2.3.0
|
||||
Local version: Unknown)
|
||||
- n (6.7.0)
|
||||
- Parcel (1.12.4)
|
||||
- TypeScript (Version 4.0.2)
|
||||
- Webpack (4.44.1)
|
||||
- Webpack CLI (3.3.12)
|
||||
- Yarn (1.22.5)
|
||||
- Newman (5.2.0)
|
||||
- Bazel (bazel 3.5.0)
|
||||
- Bazelisk (1.6.1)
|
||||
- ORAS CLI 0.8.1
|
||||
- PhantomJS (2.1.1)
|
||||
- PHP 7.1 (PHP 7.1.33-17+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:47:20) ( NTS ))
|
||||
- PHP 7.2 (PHP 7.2.33-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:44:29) ( NTS ))
|
||||
- PHP 7.3 (PHP 7.3.22-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Sep 9 2020 06:46:30) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.10 (cli) (built: Sep 9 2020 06:36:14) ( NTS ))
|
||||
- Composer (Composer version 1.10.13 2020-09-09 11:46:34)
|
||||
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
|
||||
- Pollinate
|
||||
- psql (PostgreSQL) 12.4
|
||||
- Powershell (PowerShell 7.0.3)
|
||||
- Pulumi v2.10.0
|
||||
- ruby (2.5.1p57)
|
||||
- gem (3.1.4)
|
||||
- OpenSSL 1.1.1g 21 Apr 2020
|
||||
- Libssl 1.1.1g-1+ubuntu18.04.1+deb.sury.org+1
|
||||
- R 4.0.2
|
||||
- rustup (1.22.1)
|
||||
- rust (1.46.0)
|
||||
- cargo (1.46.0)
|
||||
- rustfmt (1.4.18-stable)
|
||||
- clippy (0.0.212)
|
||||
- rustdoc (1.46.0)
|
||||
- bindgen (0.55.1)
|
||||
- cbindgen (0.14.4)
|
||||
- cargo audit (0.12.0)
|
||||
- cargo outdated (v0.9.11)
|
||||
- Julia (julia version 1.5.1)
|
||||
- sbt (1.3.13)
|
||||
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
|
||||
- Sphinx Open Source Search Server
|
||||
- Subversion (svn, version 1.9.7 (r1800392))
|
||||
- Terraform (Terraform v0.13.2)
|
||||
- Packer (1.6.2)
|
||||
- Vcpkg 2020.06.15-unknownhash
|
||||
- Vercel CLI (20.1.0)
|
||||
- MongoDB on Linux v4.4.1
|
||||
- Haveged 1.9.1-6
|
||||
- Swig 3.0.12
|
||||
- Netlify CLI (netlify-cli/2.63.0 linux-x64 node-v12.18.3)
|
||||
- Google Repository 58
|
||||
- Google Play services 49
|
||||
- Google APIs 24
|
||||
- Google APIs 23
|
||||
- Google APIs 22
|
||||
- Google APIs 21
|
||||
- CMake 3.10.2.4988404
|
||||
3.6.4111459
|
||||
- Android SDK Platform-Tools 30.0.4
|
||||
- Android SDK Platform 30
|
||||
- Android SDK Platform 29
|
||||
- Android SDK Platform 28
|
||||
- Android SDK Platform 27
|
||||
- Android SDK Platform 26
|
||||
- Android SDK Platform 25
|
||||
- Android SDK Platform 24
|
||||
- Android SDK Platform 23
|
||||
- Android SDK Platform 22
|
||||
- Android SDK Platform 21
|
||||
- Android SDK Platform 19
|
||||
- Android SDK Platform 17
|
||||
- Android SDK Patch Applier v4
|
||||
- Android SDK Build-Tools 30.0.2
|
||||
- Android SDK Build-Tools 30.0.1
|
||||
- Android SDK Build-Tools 30.0.0
|
||||
- Android SDK Build-Tools 29.0.3
|
||||
- Android SDK Build-Tools 29.0.2
|
||||
- Android SDK Build-Tools 29.0.0
|
||||
- Android SDK Build-Tools 28.0.3
|
||||
- Android SDK Build-Tools 28.0.2
|
||||
- Android SDK Build-Tools 28.0.1
|
||||
- Android SDK Build-Tools 28.0.0
|
||||
- Android SDK Build-Tools 27.0.3
|
||||
- Android SDK Build-Tools 27.0.2
|
||||
- Android SDK Build-Tools 27.0.1
|
||||
- Android SDK Build-Tools 27.0.0
|
||||
- Android SDK Build-Tools 26.0.3
|
||||
- Android SDK Build-Tools 26.0.2
|
||||
- Android SDK Build-Tools 26.0.1
|
||||
- Android SDK Build-Tools 26.0.0
|
||||
- Android SDK Build-Tools 25.0.3
|
||||
- Android SDK Build-Tools 25.0.2
|
||||
- Android SDK Build-Tools 25.0.1
|
||||
- Android SDK Build-Tools 25.0.0
|
||||
- Android SDK Build-Tools 24.0.3
|
||||
- Android SDK Build-Tools 24.0.2
|
||||
- Android SDK Build-Tools 24.0.1
|
||||
- Android SDK Build-Tools 24.0.0
|
||||
- Android SDK Build-Tools 23.0.3
|
||||
- Android SDK Build-Tools 23.0.2
|
||||
- Android SDK Build-Tools 23.0.1
|
||||
- Android SDK Build-Tools 22.0.1
|
||||
- Android SDK Build-Tools 21.1.2
|
||||
- Android SDK Build-Tools 20.0.0
|
||||
- Android SDK Build-Tools 19.1.0
|
||||
- Android SDK Build-Tools 17.0.0
|
||||
- Android NDK 21.3.6528147
|
||||
- Az Module (1.0.0)
|
||||
- Az Module (1.6.0)
|
||||
- Az Module (2.3.2)
|
||||
- Az Module (2.6.0)
|
||||
- Az Module (2.8.0)
|
||||
- Az Module (3.1.0)
|
||||
- Az Module (3.5.0)
|
||||
- Az Module (3.8.0)
|
||||
- Az Module (4.3.0)
|
||||
- Az Module (4.4.0)
|
||||
- Az Module (4.6.0)
|
||||
- Ruby:
|
||||
- Ruby 2.4.10
|
||||
- Ruby 2.5.8
|
||||
- Ruby 2.6.6
|
||||
- Ruby 2.7.1
|
||||
- Python (Python 2.7.17)
|
||||
- pip (pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7))
|
||||
- Python3 (Python 3.6.9)
|
||||
- pip3 (pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6))
|
||||
- Python:
|
||||
- Python 2.7.18
|
||||
- Python 3.5.10
|
||||
- Python 3.6.12
|
||||
- Python 3.7.9
|
||||
- Python 3.8.5
|
||||
- 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.22.0
|
||||
- node 12.18.3
|
||||
- node 14.10.1
|
||||
- go:
|
||||
- go 1.11.13
|
||||
- go 1.12.17
|
||||
- go 1.13.15
|
||||
- go 1.14.9
|
||||
- go 1.15.2
|
||||
- boost:
|
||||
- boost 1.69.0
|
||||
- boost 1.72.0
|
||||
- AWS SAM CLI, version 1.2.0
|
||||
- Homebrew on Linux (Homebrew 2.5.1
|
||||
Homebrew/linuxbrew-core (git revision d52011; last commit 2020-09-12))
|
||||
|
||||
```
|
||||
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'
|
||||
```
|
||||
### Cached Tools
|
||||
#### Ruby
|
||||
- 2.4.10
|
||||
- 2.5.8
|
||||
- 2.6.6
|
||||
- 2.7.1
|
||||
|
||||
#### Python
|
||||
- 2.7.18
|
||||
- 3.5.10
|
||||
- 3.6.12
|
||||
- 3.7.9
|
||||
- 3.8.6
|
||||
- 3.9.0
|
||||
|
||||
#### PyPy
|
||||
- 2.7.13 [PyPy 7.3.2]
|
||||
- 3.6.9 [PyPy 7.3.2]
|
||||
|
||||
#### Node.js
|
||||
- 8.17.0
|
||||
- 10.22.1
|
||||
- 12.19.0
|
||||
- 14.13.1
|
||||
|
||||
#### Go
|
||||
- 1.11.13
|
||||
- 1.12.17
|
||||
- 1.13.15
|
||||
- 1.14.10
|
||||
- 1.15.3
|
||||
|
||||
#### Boost
|
||||
- 1.69.0
|
||||
- 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-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<br>22.0.1<br>21.1.2<br>20.0.0<br>19.1.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
|
||||
- alpine:3.8
|
||||
- alpine:3.9
|
||||
- alpine:3.10
|
||||
- buildpack-deps:stretch
|
||||
- buildpack-deps:buster
|
||||
- debian:8
|
||||
- debian:9
|
||||
- jekyll/builder
|
||||
- mcr.microsoft.com/azure-pipelines/node8-typescript
|
||||
- node:10
|
||||
- node:12
|
||||
- node:10-alpine
|
||||
- node:12-alpine
|
||||
- ubuntu:14.04
|
||||
|
||||
### 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, zip, zstd, zsync
|
||||
|
||||
|
||||
|
||||
@@ -1,325 +1,222 @@
|
||||
<!--- DO NOT EDIT - This markdown file is autogenerated. -->
|
||||
| Announcements |
|
||||
|-|
|
||||
| [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) |
|
||||
| Announcements |
|
||||
|-|
|
||||
| [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) |
|
||||
| [Obsolete Android build-tools packages will be removed from Ubuntu images on October, 20](https://github.com/actions/virtual-environments/issues/1743) |
|
||||
***
|
||||
# Ubuntu 20.04.1 LTS
|
||||
The following software is installed on machines with the 20200914.1 update.
|
||||
***
|
||||
- Image Version: 20201015.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- 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.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
|
||||
- Gem 3.1.2
|
||||
- Helm 3.3.4
|
||||
- Homebrew 2.5.6
|
||||
- Miniconda 4.8.3
|
||||
- Npm 6.14.8
|
||||
- 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.7
|
||||
- Maven 3.6.3
|
||||
- Sbt 1.4.0
|
||||
|
||||
### Tools
|
||||
- 7-Zip 16.02
|
||||
- Ansible (ansible 2.9.6)
|
||||
- AzCopy7 (available by azcopy alias) 7.3.0
|
||||
- AzCopy10 (available by azcopy10 alias) 10.6.0
|
||||
- Azure CLI (azure-cli 2.11.1)
|
||||
- Azure CLI (azure-devops 0.18.0)
|
||||
- Basic packages:
|
||||
- dbus
|
||||
- dnsutils
|
||||
- dpkg
|
||||
- fakeroot
|
||||
- gnupg2
|
||||
- iproute2
|
||||
- iputils-ping
|
||||
- lib32z1
|
||||
- libc++abi-dev
|
||||
- libc++-dev
|
||||
- libcurl4
|
||||
- libgbm-dev
|
||||
- libgconf-2-4
|
||||
- libgtk-3-0
|
||||
- libsecret-1-dev
|
||||
- libsqlite3-dev
|
||||
- libunwind8
|
||||
- libxkbfile-dev
|
||||
- libxss1
|
||||
- locales
|
||||
- openssh-client
|
||||
- pkg-config
|
||||
- python-is-python2
|
||||
- rpm
|
||||
- texinfo
|
||||
- tk
|
||||
- tzdata
|
||||
- upx
|
||||
- xorriso
|
||||
- xvfb
|
||||
- xz-utils
|
||||
- zstd
|
||||
- zsync
|
||||
- bison
|
||||
- brotli
|
||||
- bzip2
|
||||
- curl
|
||||
- file
|
||||
- flex
|
||||
- ftp
|
||||
- jq
|
||||
- m4
|
||||
- netcat
|
||||
- parallel
|
||||
- patchelf
|
||||
- rsync
|
||||
- shellcheck
|
||||
- sqlite3
|
||||
- ssh
|
||||
- sudo
|
||||
- telnet
|
||||
- time
|
||||
- unzip
|
||||
- wget
|
||||
- yamllint
|
||||
- zip
|
||||
- Alibaba Cloud CLI (3.0.56)
|
||||
- AWS CLI (aws-cli/2.0.48 Python/3.7.3 Linux/5.4.0-1025-azure exe/x86_64.ubuntu.20)
|
||||
- AWS CLI Session manager plugin (1.1.61.0)
|
||||
- build-essential
|
||||
- Clang 6.0 (6.0.1)
|
||||
- Clang 8 (8.0.1)
|
||||
- Clang 9 (9.0.1)
|
||||
- Swift version 5.2.5 (swift-5.2.5-RELEASE)
|
||||
Target: x86_64-unknown-linux-gnu
|
||||
- CMake (cmake version 3.17.0)
|
||||
- Podman (2.0.6)
|
||||
- Buildah (1.15.2)
|
||||
- Skopeo (1.1.1)
|
||||
- Docker Compose (docker-compose version 1.27.2, build 18f557f9)
|
||||
- Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b)
|
||||
- Docker-Buildx (0.4.2+azure)
|
||||
- Cached container images
|
||||
- node:10 (Digest: sha256:ab6f988c514b5c5fb6d5a6d18afb216084b256719791c6cc61096da58e66c436)
|
||||
- node:12 (Digest: sha256:20ffb04c1d35e273dc7aa68fe31ef136630d95128689283a8eb914329158022b)
|
||||
- buildpack-deps:stretch (Digest: sha256:4f72cea5afa05e21bf2aec93b219b0843a10af5e2f407cc184f211e45f929ccc)
|
||||
- buildpack-deps:buster (Digest: sha256:8a76b9f9ee417eb330e97d3129e373277515e98d0f3a95a89ab944b645190efd)
|
||||
- debian:9 (Digest: sha256:bc125c699d736ac84c92b76ab7028741bbac69f207b7a8a4065bca6f79d5698e)
|
||||
- debian:8 (Digest: sha256:e180975d5c1012518e711c92ab26a4ff98218f439a97d9adbcd503b0d3ad1c8a)
|
||||
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
|
||||
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
|
||||
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
|
||||
- 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)
|
||||
- .NET Core SDK:
|
||||
- 3.1.402
|
||||
- 3.1.401
|
||||
- 3.1.302
|
||||
- 3.1.301
|
||||
- 3.1.300
|
||||
- 3.1.202
|
||||
- 3.1.201
|
||||
- 3.1.200
|
||||
- 3.1.108
|
||||
- 3.1.107
|
||||
- 3.1.106
|
||||
- 3.1.105
|
||||
- 3.1.104
|
||||
- 3.1.103
|
||||
- 3.1.102
|
||||
- 3.1.101
|
||||
- 3.1.100
|
||||
- 2.1.810
|
||||
- 2.1.809
|
||||
- 2.1.808
|
||||
- 2.1.807
|
||||
- 2.1.806
|
||||
- 2.1.805
|
||||
- 2.1.804
|
||||
- 2.1.803
|
||||
- 2.1.802
|
||||
- 2.1.801
|
||||
- 2.1.701
|
||||
- 2.1.700
|
||||
- 2.1.615
|
||||
- 2.1.614
|
||||
- 2.1.613
|
||||
- 2.1.612
|
||||
- 2.1.611
|
||||
- 2.1.610
|
||||
- 2.1.609
|
||||
- 2.1.608
|
||||
- 2.1.607
|
||||
- 2.1.606
|
||||
- 2.1.605
|
||||
- 2.1.604
|
||||
- 2.1.603
|
||||
- 2.1.602
|
||||
- 2.1.518
|
||||
- 2.1.517
|
||||
- 2.1.516
|
||||
- 2.1.515
|
||||
- 2.1.514
|
||||
- 2.1.513
|
||||
- 2.1.512
|
||||
- 2.1.511
|
||||
- 2.1.510
|
||||
- 2.1.509
|
||||
- 2.1.508
|
||||
- 2.1.507
|
||||
- 2.1.506
|
||||
- 2.1.505
|
||||
- 2.1.504
|
||||
- 2.1.503
|
||||
- 2.1.502
|
||||
- 2.1.500
|
||||
- 2.1.403
|
||||
- 2.1.402
|
||||
- 2.1.401
|
||||
- 2.1.302
|
||||
- 2.1.301
|
||||
- 2.1.300
|
||||
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.0.3)
|
||||
- Firefox (Mozilla Firefox 80.0.1)
|
||||
- Geckodriver (0.27.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
|
||||
- GNU C++ 7.5.0
|
||||
- GNU C++ 8.4.0
|
||||
- GNU C++ 9.3.0
|
||||
- GNU Fortran 8.4.0
|
||||
- GNU Fortran 9.3.0
|
||||
- Git (2.28.0)
|
||||
- Git Large File Storage (LFS) (2.12.0)
|
||||
- Git-ftp (1.6.0)
|
||||
- Hub CLI (2.14.2)
|
||||
- GitHub CLI 0.12.0
|
||||
- Google Chrome (Google Chrome 85.0.4183.102 )
|
||||
- ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
|
||||
- Google Cloud SDK (309.0.0)
|
||||
- Haskell Cabal (cabal-install version 3.4.0.0
|
||||
compiled using version 3.4.0.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.2)
|
||||
- Haskell Stack (Version 2.3.3, Git revision cb44d51bed48b723a5deb08c3348c0b3ccfc437e x86_64 hpack-0.33.0)
|
||||
- Heroku (heroku/7.42.13 linux-x64 node-v12.16.2)
|
||||
- HHVM (HipHop VM 4.74.0 (rel))
|
||||
- ImageMagick
|
||||
- Adopt OpenJDK:
|
||||
- 8 (openjdk version "1.8.0_265")
|
||||
- 11 (openjdk version "11.0.8" 2020-07-14) (default)
|
||||
- Ant (Apache Ant(TM) version 1.10.7 compiled on October 24 2019)
|
||||
- Gradle 6.6.1
|
||||
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
|
||||
- Kind (kind v0.8.1 go1.14.2 linux/amd64)
|
||||
- kubectl (Client Version: v1.19.1)
|
||||
- helm (v3.3.1+g249e521)
|
||||
- minikube version: v1.13.0
|
||||
- kustomize ({kustomize/v3.8.2 2020-08-29T17:44:01Z })
|
||||
- oc CLI Client Version: 4.5.0-202005291417-9933eb9
|
||||
- Leiningen (Leiningen 2.9.4 on Java 11.0.8 OpenJDK 64-Bit Server VM)
|
||||
- Mercurial (Mercurial Distributed SCM (version 5.3.1))
|
||||
- Miniconda (conda 4.8.3)
|
||||
- Mono (Mono JIT compiler version 6.12.0.90 (tarball Fri Sep 4 14:02:38 UTC 2020))
|
||||
- NuGet (NuGet Version: 5.5.0.6382)
|
||||
- MySQL (mysql Ver 8.0.21-0ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu)))
|
||||
- Ansible 2.9.6
|
||||
- AzCopy10 10.6.0 (available by `azcopy10` alias)
|
||||
- AzCopy7 7.3.0 (available by `azcopy` alias)
|
||||
- Bazel 3.6.0
|
||||
- Bazelisk 1.7.2
|
||||
- Buildah 1.16.4
|
||||
- CMake 3.17.0
|
||||
- CodeQL Action Bundle 2.3.0
|
||||
- curl 7.68.0
|
||||
- Docker Compose 1.27.4
|
||||
- Docker-Buildx 0.4.2
|
||||
- Docker-Moby 19.03.13
|
||||
- Git 2.28.0
|
||||
- Git LFS 2.12.0
|
||||
- Git-ftp 1.6.0
|
||||
- Google Cloud SDK 314.0.0
|
||||
- Haveged 1.9.1
|
||||
- Heroku 7.46.0
|
||||
- HHVM (HipHop VM) 4.79.0
|
||||
- jq 1.6
|
||||
- Kind 0.9.0
|
||||
- Kubectl 1.19.3
|
||||
- Kustomize 3.8.5
|
||||
- Leiningen 2.9.4
|
||||
- m4 1.4.18
|
||||
- Mercurial 5.3.1
|
||||
- Minikube 1.14.0
|
||||
- Newman 5.2.0
|
||||
- nvm 0.36.0
|
||||
- Packer 1.6.4
|
||||
- PhantomJS 2.1.1
|
||||
- Podman 2.1.1
|
||||
- Pulumi 2.12.0
|
||||
- R 4.0.3
|
||||
- Skopeo 1.2.0
|
||||
- Sphinx Open Source Search Server 2.2.11
|
||||
- SVN 1.13.0
|
||||
- Swig 4.0.1
|
||||
- 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.60
|
||||
- AWS CLI 2.0.56
|
||||
- AWS CLI Session manager plugin 1.1.61.0
|
||||
- AWS SAM CLI 1.6.2
|
||||
- Azure CLI (azure-cli) 2.13.0
|
||||
- Azure CLI (azure-devops) 0.18.0
|
||||
- GitHub CLI 1.1.0
|
||||
- Hub CLI 2.14.2
|
||||
- Netlify CLI 2.65.5
|
||||
- oc CLI 4.5.0
|
||||
- ORAS CLI 0.8.1
|
||||
- Vercel CLI 20.1.2
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
| ---------------- | ------------ | -------------------- |
|
||||
| 1.8.0_265 | AdoptOpenJDK | JAVA_HOME_8_X64 |
|
||||
| 11.0.8 (default) | AdoptOpenJDK | JAVA_HOME_11_X64 |
|
||||
|
||||
### PHP
|
||||
| Tool | Version |
|
||||
| -------- | ------- |
|
||||
| PHP | 7.4.11 |
|
||||
| Composer | 1.10.15 |
|
||||
| PHPUnit | 7.5.20 |
|
||||
|
||||
### Haskell
|
||||
- GHC 8.10.2
|
||||
- Cabal 3.4.0.0
|
||||
- Stack 2.3.3
|
||||
|
||||
### Rust Tools
|
||||
- Rust 1.47.0
|
||||
- Rustup 1.22.1
|
||||
- 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.15.0
|
||||
- Rustfmt 1.4.20
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 86.0.4240.75
|
||||
- ChromeDriver 86.0.4240.22
|
||||
- Mozilla Firefox 81.0
|
||||
- Geckodriver 0.27.0
|
||||
|
||||
### .NET Core 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.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.519 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.616 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 2.1.808 2.1.809 2.1.810 2.1.811 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.109 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 3.1.403
|
||||
|
||||
### Az Module
|
||||
- 4.8.0
|
||||
|
||||
### Databases
|
||||
- Postgre SQL 13.0
|
||||
- MongoDB 4.4.1
|
||||
- sqlite3 3.31.1
|
||||
|
||||
#### MySQL
|
||||
- MySQL 8.0.21
|
||||
- MySQL Server (user:root password:root)
|
||||
- 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'
|
||||
- nvm (0.35.3)
|
||||
- Node.js (v12.18.3)
|
||||
- Grunt (grunt-cli v1.3.2)
|
||||
- Gulp (CLI version: 2.3.0
|
||||
Local version: Unknown)
|
||||
- n (6.7.0)
|
||||
- Parcel (1.12.4)
|
||||
- TypeScript (Version 4.0.2)
|
||||
- Webpack (4.44.1)
|
||||
- Webpack CLI (3.3.12)
|
||||
- Yarn (1.22.5)
|
||||
- Newman (5.2.0)
|
||||
- Bazel (bazel 3.5.0)
|
||||
- Bazelisk (1.6.1)
|
||||
- ORAS CLI 0.8.1
|
||||
- PhantomJS (2.1.1)
|
||||
- PHP 7.4 (PHP 7.4.10 (cli) (built: Sep 9 2020 06:36:30) ( NTS ))
|
||||
> To use ppa:ondrej/php APT repository On Ubuntu 20.04 it is necessary to add it to the APT sources
|
||||
|
||||
```
|
||||
apt-add-repository ppa:ondrej/php -y
|
||||
apt-get update
|
||||
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'
|
||||
```
|
||||
- Composer (Composer version 1.10.13 2020-09-09 11:46:34)
|
||||
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
|
||||
- Pollinate
|
||||
- psql (PostgreSQL) 12.4
|
||||
- Powershell (PowerShell 7.0.3)
|
||||
- Pulumi v2.10.0
|
||||
- ruby (2.7.0p0)
|
||||
- gem (3.1.2)
|
||||
- OpenSSL 1.1.1f 31 Mar 2020
|
||||
- Libssl 1.1.1f-1ubuntu2
|
||||
- R 4.0.2
|
||||
- rustup (1.22.1)
|
||||
- rust (1.46.0)
|
||||
- cargo (1.46.0)
|
||||
- rustfmt (1.4.18-stable)
|
||||
- clippy (0.0.212)
|
||||
- rustdoc (1.46.0)
|
||||
- bindgen (0.55.1)
|
||||
- cbindgen (0.14.4)
|
||||
- cargo audit (0.12.0)
|
||||
- cargo outdated (v0.9.11)
|
||||
- Julia (julia version 1.5.1)
|
||||
- sbt (copying runtime jar...
|
||||
1.3.13)
|
||||
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
|
||||
- Sphinx Open Source Search Server
|
||||
- Subversion (svn, version 1.13.0 (r1867053))
|
||||
- Terraform (Terraform v0.13.2)
|
||||
- Packer (1.6.2)
|
||||
- Vcpkg 2020.06.15-unknownhash
|
||||
- Vercel CLI (20.1.0)
|
||||
- MongoDB on Linux v4.4.1
|
||||
- Haveged 1.9.1-6ubuntu1
|
||||
- Swig 4.0.1
|
||||
- Netlify CLI (netlify-cli/2.63.0 linux-x64 node-v12.18.3)
|
||||
- Google Repository 58
|
||||
- Google Play services 49
|
||||
- CMake 3.10.2.4988404
|
||||
- Android SDK Platform-Tools 30.0.4
|
||||
- Android SDK Platform 30
|
||||
- Android SDK Platform 29
|
||||
- Android SDK Platform 28
|
||||
- Android SDK Platform 27
|
||||
- Android SDK Patch Applier v4
|
||||
- Android SDK Build-Tools 30.0.2
|
||||
- Android SDK Build-Tools 30.0.1
|
||||
- Android SDK Build-Tools 30.0.0
|
||||
- Android SDK Build-Tools 29.0.3
|
||||
- Android SDK Build-Tools 29.0.2
|
||||
- Android SDK Build-Tools 29.0.0
|
||||
- Android SDK Build-Tools 28.0.3
|
||||
- Android SDK Build-Tools 28.0.2
|
||||
- Android SDK Build-Tools 28.0.1
|
||||
- Android SDK Build-Tools 28.0.0
|
||||
- Android SDK Build-Tools 27.0.3
|
||||
- Android SDK Build-Tools 27.0.2
|
||||
- Android SDK Build-Tools 27.0.1
|
||||
- Android SDK Build-Tools 27.0.0
|
||||
- Android NDK 21.3.6528147
|
||||
- Az Module (4.6.1)
|
||||
- Ruby:
|
||||
- Ruby 2.5.8
|
||||
- Ruby 2.6.6
|
||||
- Ruby 2.7.1
|
||||
- Python (Python 2.7.18rc1)
|
||||
- pip (pip 20.2.3 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7))
|
||||
- Python3 (Python 3.8.2)
|
||||
- pip3 (pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8))
|
||||
- Python:
|
||||
- Python 2.7.18
|
||||
- Python 3.5.10
|
||||
- Python 3.6.12
|
||||
- Python 3.7.9
|
||||
- Python 3.8.5
|
||||
- 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.22.0
|
||||
- node 12.18.3
|
||||
- node 14.10.1
|
||||
- go:
|
||||
- go 1.14.9
|
||||
- go 1.15.2
|
||||
- AWS SAM CLI, version 1.2.0
|
||||
- Homebrew on Linux (Homebrew 2.5.1
|
||||
Homebrew/linuxbrew-core (git revision d52011; last commit 2020-09-12))
|
||||
### Cached Tools
|
||||
#### Ruby
|
||||
- 2.5.8
|
||||
- 2.6.6
|
||||
- 2.7.1
|
||||
|
||||
#### Python
|
||||
- 2.7.18
|
||||
- 3.5.10
|
||||
- 3.6.12
|
||||
- 3.7.9
|
||||
- 3.8.6
|
||||
- 3.9.0
|
||||
|
||||
#### PyPy
|
||||
- 2.7.13 [PyPy 7.3.2]
|
||||
- 3.6.9 [PyPy 7.3.2]
|
||||
|
||||
#### Node.js
|
||||
- 8.17.0
|
||||
- 10.22.1
|
||||
- 12.19.0
|
||||
- 14.13.1
|
||||
|
||||
#### Go
|
||||
- 1.14.10
|
||||
- 1.15.3
|
||||
|
||||
### 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.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
|
||||
- alpine:3.8
|
||||
- alpine:3.9
|
||||
- alpine:3.10
|
||||
- buildpack-deps:stretch
|
||||
- buildpack-deps:buster
|
||||
- debian:8
|
||||
- debian:9
|
||||
- jekyll/builder
|
||||
- mcr.microsoft.com/azure-pipelines/node8-typescript
|
||||
- node:10
|
||||
- node:12
|
||||
- node:10-alpine
|
||||
- node:12-alpine
|
||||
- ubuntu:14.04
|
||||
|
||||
### 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, zip, zstd, zsync
|
||||
|
||||
|
||||
|
||||
11
images/linux/post-generation/homebrew-permissions.sh
Normal file
11
images/linux/post-generation/homebrew-permissions.sh
Normal 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
|
||||
11
images/linux/post-generation/rust-permissions.sh
Normal file
11
images/linux/post-generation/rust-permissions.sh
Normal 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
|
||||
@@ -5,37 +5,37 @@ function Get-OSName {
|
||||
}
|
||||
|
||||
function Get-CPPVersions {
|
||||
$cppVersions = apt list --installed 2>&1 | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object {
|
||||
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
$cppVersions = $result.Output | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object {
|
||||
& $_.Split("/")[0] --version | Select-Object -First 1 | Take-OutputPart -Part 3
|
||||
} | Sort-Object {[Version]$_}
|
||||
return "GNU C++ " + ($cppVersions -Join ", ")
|
||||
}
|
||||
|
||||
function Get-FortranVersions {
|
||||
$fortranVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^gfortran-\d+"} | ForEach-Object {
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
$fortranVersions = $result.Output | Where-Object { $_ -match "^gfortran-\d+"} | ForEach-Object {
|
||||
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
} | Sort-Object {[Version]$_}
|
||||
return "GNU Fortran " + ($fortranVersions -Join ", ")
|
||||
}
|
||||
|
||||
function Get-ClangVersions {
|
||||
$clangVersions = @()
|
||||
$clangVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^clang-\d+"} | ForEach-Object {
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
$clangVersions = $result.Output | Where-Object { $_ -match "^clang-\d+"} | ForEach-Object {
|
||||
$clangCommand = ($_ -Split "/")[0]
|
||||
Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "clang version" } | ForEach-Object {
|
||||
$_ -match "clang version (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
}
|
||||
} | Sort-Object {[Version]$_}
|
||||
return "Clang " + ($clangVersions -Join ", ")
|
||||
}
|
||||
|
||||
function Get-ErlangVersion {
|
||||
$result = Get-CommandResult "erl -version"
|
||||
$result.Output -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$version = $Matches.version
|
||||
$version = (erl -eval 'erlang:display(erlang:system_info(version)), halt().' -noshell).Trim('"')
|
||||
return "Erlang $version"
|
||||
}
|
||||
|
||||
@@ -144,26 +144,27 @@ function Get-AntVersion {
|
||||
}
|
||||
|
||||
function Get-GradleVersion {
|
||||
$result = gradle -v | Out-String
|
||||
$result -match "Gradle (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$gradleVersion = $Matches.version
|
||||
$gradleVersion = (gradle -v) -match "^Gradle \d" | Take-OutputPart -Part 1
|
||||
return "Gradle $gradleVersion"
|
||||
}
|
||||
|
||||
function Get-MavenVersion {
|
||||
$result = mvn -version | Out-String
|
||||
$result -match "Apache Maven (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$mavenVersion = $Matches.version
|
||||
return "Maven $mavenVersion"
|
||||
}
|
||||
|
||||
function Get-SbtVersion {
|
||||
$result = sbt -version 2>&1 | Out-String
|
||||
$result -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$result = Get-CommandResult "sbt -version"
|
||||
$result.Output -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$sbtVersion = $Matches.version
|
||||
return "Sbt $sbtVersion"
|
||||
}
|
||||
|
||||
function Get-PHPVersions {
|
||||
return $(apt list --installed 2>&1) | Where-Object { $_ -match "^php\d+\.\d+/"} | ForEach-Object {
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
return $result.Output | Where-Object { $_ -match "^php\d+\.\d+/"} | ForEach-Object {
|
||||
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
@@ -244,4 +245,11 @@ function Get-AptPackages {
|
||||
$apt = $toolsetJson.apt
|
||||
$pkgs = ($apt.common_packages + $apt.cmd_packages | Sort-Object) -join ", "
|
||||
return $pkgs
|
||||
}
|
||||
|
||||
function Get-PipxVersion {
|
||||
$result = (Get-CommandResult "pipx --version").Output
|
||||
$result -match "(?<version>\d+\.\d+\.\d+\.?\d*)" | Out-Null
|
||||
$pipxVersion = $Matches.Version
|
||||
return "Pipx $pipxVersion"
|
||||
}
|
||||
@@ -3,6 +3,8 @@ param (
|
||||
$OutputDirectory
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
Import-Module MarkdownPS
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking
|
||||
@@ -14,6 +16,9 @@ Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Java.psm1") -DisableNameC
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Rust.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking
|
||||
|
||||
# Restore file owner in user profile
|
||||
Restore-UserOwner
|
||||
|
||||
$markdown = ""
|
||||
|
||||
if ($env:ANNOUNCEMENTS) {
|
||||
@@ -49,7 +54,8 @@ $markdown += New-MDList -Style Unordered -Lines @(
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Package Management" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
|
||||
$packageManagementList = @(
|
||||
(Get-HomebrewVersion),
|
||||
(Get-GemVersion),
|
||||
(Get-MinicondaVersion),
|
||||
@@ -61,6 +67,14 @@ $markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-VcpkgVersion)
|
||||
)
|
||||
|
||||
if (-not (Test-IsUbuntu16)) {
|
||||
$packageManagementList += @(
|
||||
(Get-PipxVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ($packageManagementList | Sort-Object)
|
||||
|
||||
$markdown += New-MDHeader "Project Management" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-AntVersion),
|
||||
@@ -73,10 +87,12 @@ $markdown += New-MDHeader "Tools" -Level 3
|
||||
$toolsList = @(
|
||||
(Get-7zipVersion),
|
||||
(Get-AnsibleVersion),
|
||||
(Get-AptFastVersion),
|
||||
(Get-AzCopy7Version),
|
||||
(Get-AzCopy10Version),
|
||||
(Get-BazelVersion),
|
||||
(Get-BazeliskVersion),
|
||||
(Get-CodeQLBundleVersion),
|
||||
(Get-CMakeVersion),
|
||||
(Get-CurlVersion),
|
||||
(Get-DockerMobyVersion),
|
||||
@@ -102,10 +118,14 @@ $toolsList = @(
|
||||
(Get-NvmVersion),
|
||||
(Get-PackerVersion),
|
||||
(Get-PhantomJSVersion),
|
||||
(Get-PulumiVersion),
|
||||
(Get-RVersion),
|
||||
(Get-SphinxVersion),
|
||||
(Get-SwigVersion),
|
||||
(Get-TerraformVersion),
|
||||
(Get-UnZipVersion),
|
||||
(Get-WgetVersion),
|
||||
(Get-YamllintVersion),
|
||||
(Get-ZipVersion),
|
||||
(Get-ZstdVersion)
|
||||
)
|
||||
|
||||
@@ -49,3 +49,7 @@ function New-MDNewLine {
|
||||
$newLineSymbol = [System.Environment]::NewLine
|
||||
return $newLineSymbol * $Count
|
||||
}
|
||||
|
||||
function Restore-UserOwner {
|
||||
sudo chown -R ${env:USER}: $env:HOME
|
||||
}
|
||||
@@ -4,10 +4,15 @@ function Get-7zipVersion {
|
||||
}
|
||||
|
||||
function Get-AnsibleVersion {
|
||||
$ansibleVersion = sudo ansible --version | Select-Object -First 1 | Take-OutputPart -Part 1
|
||||
$ansibleVersion = ansible --version | Select-Object -First 1 | Take-OutputPart -Part 1
|
||||
return "Ansible $ansibleVersion"
|
||||
}
|
||||
|
||||
function Get-AptFastVersion {
|
||||
$aptFastVersion = (dpkg-query --showformat='${Version}' --show apt-fast).Split('-')[0]
|
||||
return "apt-fast $aptFastVersion"
|
||||
}
|
||||
|
||||
function Get-AzCopy7Version {
|
||||
$azcopy7Version = azcopy --version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
|
||||
return "AzCopy7 $azcopy7Version (available by ``azcopy`` alias)"
|
||||
@@ -19,15 +24,24 @@ function Get-AzCopy10Version {
|
||||
}
|
||||
|
||||
function Get-BazelVersion {
|
||||
$bazelVersion = sudo bazel --version | Select-String "bazel" | Take-OutputPart -Part 1
|
||||
$bazelVersion = bazel --version | Select-String "bazel" | Take-OutputPart -Part 1
|
||||
return "Bazel $bazelVersion"
|
||||
}
|
||||
|
||||
function Get-BazeliskVersion {
|
||||
$bazeliskVersion = sudo bazelisk version 2>&1 | Select-String "Bazelisk version:" | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
$result = Get-CommandResult "bazelisk version" -Multiline
|
||||
$bazeliskVersion = $result.Output | Select-String "Bazelisk version:" | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
return "Bazelisk $bazeliskVersion"
|
||||
}
|
||||
|
||||
function Get-CodeQLBundleVersion {
|
||||
$CodeQLVersionsWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*"
|
||||
$CodeQLVersionPath = Get-ChildItem $CodeQLVersionsWildcard | Select-Object -First 1 -Expand FullName
|
||||
$CodeQLPath = Join-Path $CodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql"
|
||||
$CodeQLVersion = & $CodeQLPath version --quiet
|
||||
return "CodeQL Action Bundle $CodeQLVersion"
|
||||
}
|
||||
|
||||
function Get-PodManVersion {
|
||||
$podmanVersion = podman --version | Take-OutputPart -Part 2
|
||||
return "Podman $podmanVersion"
|
||||
@@ -69,12 +83,14 @@ function Get-DockerBuildxVersion {
|
||||
}
|
||||
|
||||
function Get-GitVersion {
|
||||
$gitVersion = git --version 2>&1 | Take-OutputPart -Part 2
|
||||
$result = Get-CommandResult "git --version"
|
||||
$gitVersion = $result.Output | Take-OutputPart -Part 2
|
||||
return "Git $gitVersion"
|
||||
}
|
||||
|
||||
function Get-GitLFSVersion {
|
||||
$gitlfsversion = git-lfs --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
$result = Get-CommandResult "git-lfs --version"
|
||||
$gitlfsversion = $result.Output | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "Git LFS $gitlfsversion"
|
||||
}
|
||||
|
||||
@@ -84,7 +100,7 @@ function Get-GitFTPVersion {
|
||||
}
|
||||
|
||||
function Get-GoogleCloudSDKVersion {
|
||||
return "$(sudo gcloud --version | Select-Object -First 1)"
|
||||
return "$(gcloud --version | Select-Object -First 1)"
|
||||
}
|
||||
|
||||
function Get-HavegedVersion {
|
||||
@@ -93,7 +109,7 @@ function Get-HavegedVersion {
|
||||
}
|
||||
|
||||
function Get-HerokuVersion {
|
||||
$herokuVersion = sudo heroku version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
$herokuVersion = heroku version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "Heroku $herokuVersion"
|
||||
}
|
||||
|
||||
@@ -193,12 +209,12 @@ function Get-JqVersion {
|
||||
}
|
||||
|
||||
function Get-AzureCliVersion {
|
||||
$azcliVersion = sudo az -v | Select-String "azure-cli" | Take-OutputPart -Part -1
|
||||
$azcliVersion = az -v | Select-String "azure-cli" | Take-OutputPart -Part -1
|
||||
return "Azure CLI (azure-cli) $azcliVersion"
|
||||
}
|
||||
|
||||
function Get-AzureDevopsVersion {
|
||||
$azdevopsVersion = sudo az -v | Select-String "azure-devops" | Take-OutputPart -Part -1
|
||||
$azdevopsVersion = az -v | Select-String "azure-devops" | Take-OutputPart -Part -1
|
||||
return "Azure CLI (azure-devops) $azdevopsVersion"
|
||||
}
|
||||
|
||||
@@ -207,12 +223,14 @@ function Get-AlibabaCloudCliVersion {
|
||||
}
|
||||
|
||||
function Get-AWSCliVersion {
|
||||
$awsVersion = aws --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
$result = Get-CommandResult "aws --version"
|
||||
$awsVersion = $result.Output | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "AWS CLI $awsVersion"
|
||||
}
|
||||
|
||||
function Get-AWSCliSessionManagerPluginVersion {
|
||||
return "AWS CLI Session manager plugin $(session-manager-plugin --version 2>&1)"
|
||||
$result = (Get-CommandResult "session-manager-plugin --version").Output
|
||||
return "AWS CLI Session manager plugin $result"
|
||||
}
|
||||
|
||||
function Get-AWSSAMVersion {
|
||||
@@ -230,7 +248,7 @@ function Get-GitHubCliVersion {
|
||||
}
|
||||
|
||||
function Get-NetlifyCliVersion {
|
||||
$netlifyVersion = sudo netlify --version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
$netlifyVersion = netlify --version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "Netlify CLI $netlifyVersion"
|
||||
}
|
||||
|
||||
@@ -245,5 +263,25 @@ function Get-ORASCliVersion {
|
||||
}
|
||||
|
||||
function Get-VerselCliversion {
|
||||
return "$(vercel --version 2>&1 | Select-Object -First 1)"
|
||||
$result = Get-CommandResult "vercel --version" -Multiline
|
||||
return $result.Output | Select-Object -First 1
|
||||
}
|
||||
|
||||
function Get-PulumiVersion {
|
||||
$pulumiVersion = pulumi version | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
return "Pulumi $pulumiVersion"
|
||||
}
|
||||
|
||||
function Get-RVersion {
|
||||
$rVersion = (Get-CommandResult "R --version | grep 'R version'").Output | Take-OutputPart -Part 2
|
||||
return "R $rVersion"
|
||||
}
|
||||
|
||||
function Get-SphinxVersion {
|
||||
$sphinxVersion = searchd -h | Select-Object -First 1 | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
|
||||
return "Sphinx Open Source Search Server $sphinxVersion"
|
||||
}
|
||||
|
||||
function Get-YamllintVersion {
|
||||
return "$(yamllint --version)"
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: reboot.sh
|
||||
## Desc: Reboot VM
|
||||
################################################################################
|
||||
|
||||
echo "Reboot VM"
|
||||
sudo reboot
|
||||
sudo reboot
|
||||
|
||||
@@ -42,4 +42,9 @@ download_with_retries() {
|
||||
## fi
|
||||
function IsPackageInstalled {
|
||||
dpkg -S $1 &> /dev/null
|
||||
}
|
||||
|
||||
verlte() {
|
||||
sortedVersion=$(echo -e "$1\n$2" | sort -V | head -n1)
|
||||
[ "$1" = "$sortedVersion" ]
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,13 +1,28 @@
|
||||
#!/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
|
||||
|
||||
function filter_components_by_version {
|
||||
minimumVersion=$1
|
||||
shift
|
||||
toolsArr=("$@")
|
||||
|
||||
for item in ${toolsArr[@]}
|
||||
do
|
||||
# take the last argument after spliting string by ';'' and '-''
|
||||
version=$(echo "${item##*[-;]}")
|
||||
if verlte $minimumVersion $version
|
||||
then
|
||||
components+=($item)
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Set env variable for SDK Root (https://developer.android.com/studio/command-line/variables)
|
||||
ANDROID_ROOT=/usr/local/lib/android
|
||||
@@ -42,22 +57,23 @@ else
|
||||
fi
|
||||
|
||||
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
|
||||
platforms=$(jq -r '.android.platform_list[]|"platforms;" + .' $toolset)
|
||||
buildtools=$(jq -r '.android.build_tools[]|"build-tools;" + .' $toolset)
|
||||
minimumBuildToolVersion=$(jq -r '.android.build_tools_min_version' $toolset)
|
||||
minimumPlatformVersion=$(jq -r '.android.platform_min_version' $toolset)
|
||||
extras=$(jq -r '.android.extra_list[]|"extras;" + .' $toolset)
|
||||
addons=$(jq -r '.android.addon_list[]|"add-ons;" + .' $toolset)
|
||||
additional=$(jq -r '.android.additional_tools[]' $toolset)
|
||||
|
||||
# Install the following SDKs and build tools, passing in "y" to accept licenses.
|
||||
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager $platforms $buildtools $extras $google_api_list $addons $additional
|
||||
components=( "${extras[@]}" "${addons[@]}" "${additional[@]}" )
|
||||
|
||||
# Document what was added to the image
|
||||
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 | grep "build-tools;" | cut -d"|" -f 1 | sort -u))
|
||||
availableBuildTools=$(echo ${allBuildTools[@]//*rc[0-9]/})
|
||||
|
||||
google_api_versions_list=$(echo "$addons"|awk -F- '/addon-google_apis-google/ {print $5}')
|
||||
constraint_layout_versions_list=$(echo "$extras"|awk -F';' '/constraint-layout;/ {print $8}')
|
||||
constraint_layout_solver_versions_list=$(echo "$extras"|awk -F';' '/constraint-layout-solver;/ {print $8}')
|
||||
platform_versions_list=$(echo "$platforms"|awk -F- '{print $2}')
|
||||
buildtools_versions_list=$(echo "$buildtools"|awk -F';' '{print $2}')
|
||||
filter_components_by_version $minimumPlatformVersion "${availablePlatforms[@]}"
|
||||
filter_components_by_version $minimumBuildToolVersion "${availableBuildTools[@]}"
|
||||
|
||||
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager ${components[@]}
|
||||
|
||||
# Add required permissions
|
||||
chmod -R a+rwx ${ANDROID_SDK_ROOT}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: ansible.sh
|
||||
## Desc: Installs Ansible
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: aws.sh
|
||||
## Desc: Installs the AWS CLI
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: azpowershell.sh
|
||||
## Desc: Installed Azure PowerShell
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -12,7 +11,7 @@ function InstallClang {
|
||||
local version=$1
|
||||
|
||||
echo "Installing clang-$version..."
|
||||
if [[ $version =~ (9|10) ]]; then
|
||||
if [[ $version =~ 9 ]] && isUbuntu16; then
|
||||
./llvm.sh $version
|
||||
apt-get install -y "clang-format-$version"
|
||||
else
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
28
images/linux/scripts/installers/codeql-bundle.sh
Normal file
28
images/linux/scripts/installers/codeql-bundle.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: codeql-bundle.sh
|
||||
## Desc: Install the CodeQL CLI Bundle to the toolcache.
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
# Retrieve the name of the CodeQL bundle preferred by the Action (in the format codeql-bundle-YYYYMMDD).
|
||||
codeql_bundle_name="$(curl -sSL https://raw.githubusercontent.com/github/codeql-action/main/src/defaults.json | jq -r .bundleVersion)"
|
||||
# Convert the bundle name to a version number (0.0.0-YYYYMMDD).
|
||||
codeql_bundle_version="0.0.0-${codeql_bundle_name##*-}"
|
||||
|
||||
extraction_directory="$AGENT_TOOLSDIRECTORY/CodeQL/$codeql_bundle_version/x64"
|
||||
mkdir -p "$extraction_directory"
|
||||
|
||||
echo "Downloading CodeQL bundle $codeql_bundle_version..."
|
||||
download_with_retries "https://github.com/github/codeql-action/releases/download/$codeql_bundle_name/codeql-bundle.tar.gz" "/tmp" "codeql-bundle.tar.gz"
|
||||
tar -xzf "/tmp/codeql-bundle.tar.gz" -C "$extraction_directory"
|
||||
|
||||
# Touch a special file that indicates to the CodeQL Action that this bundle was baked-in to the hosted runner images.
|
||||
touch "$extraction_directory/pinned-version"
|
||||
|
||||
# Touch a file to indicate to the toolcache that setting up CodeQL is complete.
|
||||
touch "$extraction_directory.complete"
|
||||
|
||||
# Test that the tool has been extracted successfully.
|
||||
"$AGENT_TOOLSDIRECTORY/CodeQL/$codeql_bundle_version/x64/codeql/codeql" version
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: snap-environment.sh
|
||||
## Desc: Update /etc/environment to include /snap/bin in PATH
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
#!/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
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# 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
|
||||
docker_package=moby
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: firefox.sh
|
||||
## Desc: Installs Firefox
|
||||
################################################################################
|
||||
|
||||
|
||||
# Install Firefox
|
||||
apt-get install -y firefox
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: gcc.sh
|
||||
## Desc: Installs GNU C++
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
function InstallGcc {
|
||||
version=$1
|
||||
@@ -29,7 +31,10 @@ versions=(
|
||||
"g++-9"
|
||||
)
|
||||
|
||||
for version in ${versions[*]}
|
||||
do
|
||||
if ! isUbuntu16; then
|
||||
versions+=("g++-10")
|
||||
fi
|
||||
|
||||
for version in ${versions[*]}; do
|
||||
InstallGcc $version
|
||||
done
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: gfortran.sh
|
||||
## Desc: Installs GNU Fortran
|
||||
################################################################################
|
||||
|
||||
|
||||
function InstallFortran {
|
||||
version=$1
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 -
|
||||
|
||||
@@ -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 -
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: haskell.sh
|
||||
## Desc: Installs Haskell
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: hhvm.sh
|
||||
## Desc: Installs hhvm
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: homebrew-validate.sh
|
||||
## Desc: Validate the Homebrew can run after reboot without extra configuring
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: homebrew.sh
|
||||
## Desc: Installs the Homebrew on Linux
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 () {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: mercurial.sh
|
||||
## Desc: Installs Mercurial
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: homebrew.sh
|
||||
## Desc: Installs Mongo DB
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: nvm.sh
|
||||
## Desc: Installs Nvm
|
||||
################################################################################
|
||||
|
||||
|
||||
export NVM_DIR="/etc/skel/.nvm"
|
||||
mkdir $NVM_DIR
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
|
||||
VERSION=$(curl -s https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$VERSION/install.sh | bash
|
||||
echo 'export NVM_DIR=$HOME/.nvm' | tee -a /etc/skel/.bash_profile
|
||||
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' | tee -a /etc/skel/.bash_profile
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: oras-cli.sh
|
||||
## Desc: Installs ORAS CLI
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
30
images/linux/scripts/installers/pipx-packages.sh
Normal file
30
images/linux/scripts/installers/pipx-packages.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: pipx-packages.sh
|
||||
## Desc: Install tools via pipx
|
||||
################################################################################
|
||||
|
||||
|
||||
export PATH="$PATH:/opt/pipx_bin"
|
||||
|
||||
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
|
||||
pipx_packages=$(jq -r ".pipx[] .package" $toolset)
|
||||
|
||||
for package in $pipx_packages; do
|
||||
python_version=$(jq -r ".pipx[] | select(.package == \"$package\") .python" $toolset)
|
||||
if [ "$python_version" != "null" ]; then
|
||||
python_path="/opt/hostedtoolcache/Python/$python_version*/x64/bin/python$python_version"
|
||||
echo "Install $package into python $python_path"
|
||||
pipx install $package --python $python_path
|
||||
else
|
||||
echo "Install $package into default python"
|
||||
pipx install $package
|
||||
fi
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
cmd=$(jq -r ".pipx[] | select(.package == \"$package\") .cmd" $toolset)
|
||||
if ! command -v $cmd; then
|
||||
echo "$package was not installed"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
@@ -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
|
||||
|
||||
|
||||
26
images/linux/scripts/installers/post-deployment.sh
Normal file
26
images/linux/scripts/installers/post-deployment.sh
Normal file
@@ -0,0 +1,26 @@
|
||||
#!/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"
|
||||
chmod -R 777 /opt
|
||||
fi
|
||||
|
||||
# remove installer and helper folders
|
||||
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
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: powershellcore.sh
|
||||
## Desc: Installs powershellcore
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: pulumi.sh
|
||||
## Desc: Installs Pulumi
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -1,22 +1,43 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: python.sh
|
||||
## Desc: Installs Python 2/3
|
||||
################################################################################
|
||||
|
||||
set -e
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# Install Python, Python 3, pip, pip3
|
||||
if isUbuntu20 ; then
|
||||
apt-get install -y --no-install-recommends python3 python3-dev python3-pip
|
||||
|
||||
curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py
|
||||
python2 get-pip.py
|
||||
if isUbuntu16 || isUbuntu18; then
|
||||
apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip python3-venv
|
||||
fi
|
||||
|
||||
if isUbuntu16 || isUbuntu18 ; then
|
||||
apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip
|
||||
if isUbuntu20; then
|
||||
apt-get install -y --no-install-recommends python3 python3-dev python3-pip python3-venv
|
||||
ln -s /usr/bin/pip3 /usr/bin/pip
|
||||
fi
|
||||
|
||||
if isUbuntu18 || isUbuntu20 ; then
|
||||
# Install pipx
|
||||
# Set pipx custom directory
|
||||
export PIPX_BIN_DIR=/opt/pipx_bin
|
||||
export PIPX_HOME=/opt/pipx
|
||||
|
||||
python3 -m pip install pipx
|
||||
python3 -m pipx ensurepath
|
||||
|
||||
# Update /etc/environment
|
||||
setEtcEnvironmentVariable "PIPX_BIN_DIR" $PIPX_BIN_DIR
|
||||
setEtcEnvironmentVariable "PIPX_HOME" $PIPX_HOME
|
||||
prependEtcEnvironmentPath $PIPX_BIN_DIR
|
||||
|
||||
# Test pipx
|
||||
if ! command -v pipx; then
|
||||
echo "pipx was not installed or not found on PATH"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: rndgenerator.sh
|
||||
## Desc: Install random number generator
|
||||
################################################################################
|
||||
|
||||
|
||||
# Install haveged
|
||||
apt-get -y install haveged
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: rust.sh
|
||||
## Desc: Installs Rust
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: sphinx.sh
|
||||
## Desc: Installs Sphinx
|
||||
################################################################################
|
||||
|
||||
|
||||
# Install Sphinx
|
||||
apt-get install -y sphinxsearch
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
#!/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
|
||||
|
||||
SWIFT_PATH="/usr/share/swift/usr/bin"
|
||||
SWIFT_BIN="$SWIFT_PATH/swift"
|
||||
SWIFTC_BIN="$SWIFT_PATH/swiftc"
|
||||
ln -s "$SWIFT_BIN" /usr/local/bin/swift
|
||||
ln -s "$SWIFTC_BIN" /usr/local/bin/swiftc
|
||||
echo "SWIFT_PATH=$SWIFT_PATH" | tee -a /etc/environment
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
@@ -24,3 +26,8 @@ if ! command -v swift; then
|
||||
echo "Swift was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v swiftc; then
|
||||
echo "Swiftc is not linked to swift binary"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user