Merge branch 'main' of https://github.com/actions/virtual-environments into v-malob/big-sur

This commit is contained in:
Maxim Lobanov
2020-10-27 13:13:54 +03:00
240 changed files with 3006 additions and 2306 deletions

3
.gitattributes vendored
View File

@@ -1,2 +1 @@
# Do not normalize line endings * text=auto eol=lf
* -text

View File

@@ -24,9 +24,21 @@ jobs:
with: with:
github-token: ${{secrets.GITHUB_TOKEN}} github-token: ${{secrets.GITHUB_TOKEN}}
script: | script: |
github.issues.addLabels({ const issueLabels = await github.issues.listLabelsOnIssue({
issue_number: context.issue.number, issue_number: context.issue.number,
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo
labels: ['needs triage'] });
})
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']
})
}

View File

@@ -16,27 +16,32 @@ Function Get-PackerTemplatePath {
[ImageType] $ImageType [ImageType] $ImageType
) )
$relativePath = "N/A"
switch ($ImageType) { switch ($ImageType) {
([ImageType]::Windows2016) { ([ImageType]::Windows2016) {
$relativePath = "\images\win\Windows2016-Azure.json" $relativeTemplatePath = Join-Path "win" "windows2016.json"
} }
([ImageType]::Windows2019) { ([ImageType]::Windows2019) {
$relativePath = "\images\win\Windows2019-Azure.json" $relativeTemplatePath = Join-Path "win" "windows2019.json"
} }
([ImageType]::Ubuntu1604) { ([ImageType]::Ubuntu1604) {
$relativePath = "\images\linux\ubuntu1604.json" $relativeTemplatePath = Join-Path "linux" "ubuntu1604.json"
} }
([ImageType]::Ubuntu1804) { ([ImageType]::Ubuntu1804) {
$relativePath = "\images\linux\ubuntu1804.json" $relativeTemplatePath = Join-Path "linux" "ubuntu1804.json"
} }
([ImageType]::Ubuntu2004) { ([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 { Function Get-LatestCommit {
@@ -45,7 +50,7 @@ Function Get-LatestCommit {
process { process {
Write-Host "Latest commit:" 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)] [Parameter(Mandatory = $True)]
[string] $ResourceGroupName, [string] $ResourceGroupName,
[Parameter(Mandatory = $True)] [Parameter(Mandatory = $True)]
[string] $ImageGenerationRepositoryRoot,
[Parameter(Mandatory = $True)]
[ImageType] $ImageType, [ImageType] $ImageType,
[Parameter(Mandatory = $True)] [Parameter(Mandatory = $True)]
[string] $AzureLocation, [string] $AzureLocation,
[Parameter(Mandatory = $False)] [Parameter(Mandatory = $False)]
[string] $ImageGenerationRepositoryRoot = $pwd,
[Parameter(Mandatory = $False)]
[int] $SecondsToWaitForServicePrincipalSetup = 30, [int] $SecondsToWaitForServicePrincipalSetup = 30,
[Parameter(Mandatory = $False)] [Parameter(Mandatory = $False)]
[string] $GithubFeedToken, [string] $GithubFeedToken,
@@ -184,7 +189,12 @@ Function GenerateResourcesAndImage {
Get-LatestCommit -ErrorAction SilentlyContinue 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_id=$($spClientId)" `
-var "client_secret=$($ServicePrincipalClientSecret)" ` -var "client_secret=$($ServicePrincipalClientSecret)" `
-var "subscription_id=$($SubscriptionId)" ` -var "subscription_id=$($SubscriptionId)" `

View File

@@ -16,5 +16,5 @@ pr:
jobs: jobs:
- template: image-generation.yml - template: image-generation.yml
parameters: parameters:
image_type: Windows2016-Azure image_type: windows2016
image_readme_name: Windows2016-Readme.md image_readme_name: Windows2016-Readme.md

View File

@@ -16,5 +16,5 @@ pr:
jobs: jobs:
- template: image-generation.yml - template: image-generation.yml
parameters: parameters:
image_type: Windows2019-Azure image_type: windows2019
image_readme_name: Windows2019-Readme.md image_readme_name: Windows2019-Readme.md

View File

@@ -7,10 +7,15 @@ jobs:
variables: variables:
- group: Mac-Cloud Image Generation - group: Mac-Cloud Image Generation
- group: Mac-Cloud Image Generation Key Vault - group: Mac-Cloud Image Generation Key Vault
- name: VirtualMachineName
value: $(Build.BuildNumber).$(System.JobAttempt)
steps: 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 - checkout: self
clean: true clean: true
fetchDepth: 1 fetchDepth: 1
@@ -42,6 +47,16 @@ jobs:
SourceFolder: 'images/macos/provision/log/' SourceFolder: 'images/macos/provision/log/'
RemoveSourceFolder: true RemoveSourceFolder: true
- task: PowerShell@2
displayName: 'Select datastore'
inputs:
targetType: 'filePath'
filePath: ./images.CI/macos/select-datastore.ps1
arguments: -VMName "$(VirtualMachineName)" `
-VIServer "$(vcenter-server-v2)" `
-VIUserName "$(vcenter-username-v2)" `
-VIPassword "$(vcenter-password-v2)"
- pwsh: | - pwsh: |
$SensitiveData = @( $SensitiveData = @(
'IP address:', 'IP address:',
@@ -54,11 +69,11 @@ jobs:
-var="vcenter_password=$(vcenter-password-v2)" ` -var="vcenter_password=$(vcenter-password-v2)" `
-var="vcenter_datacenter=$(vcenter-datacenter-v2)" ` -var="vcenter_datacenter=$(vcenter-datacenter-v2)" `
-var="cluster_or_esxi_host=$(esxi-cluster-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="output_folder=$(output-folder)" `
-var="vm_username=$(vm-username)" ` -var="vm_username=$(vm-username)" `
-var="vm_password=$(vm-password)" ` -var="vm_password=$(vm-password)" `
-var="build_id=${{ variables.VirtualMachineName }}" ` -var="build_id=$(VirtualMachineName)" `
-var="baseimage_name=${{ parameters.base_image_name }}" ` -var="baseimage_name=${{ parameters.base_image_name }}" `
-var="github_feed_token=$(github-feed-token)" ` -var="github_feed_token=$(github-feed-token)" `
-var="xcode_install_user=$(xcode-installation-user)" ` -var="xcode_install_user=$(xcode-installation-user)" `
@@ -85,7 +100,7 @@ jobs:
ls $(Common.TestResultsDirectory) ls $(Common.TestResultsDirectory)
echo "Put VM name to 'VM_Done_Name' file" echo "Put VM name to 'VM_Done_Name' file"
echo "${{ variables.VirtualMachineName }}" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name" echo "$(VirtualMachineName)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
displayName: Prepare artifact displayName: Prepare artifact
- bash: | - bash: |
@@ -105,3 +120,26 @@ jobs:
failTaskOnFailedTests: true failTaskOnFailedTests: true
displayName: Publish test results displayName: Publish test results
condition: always() condition: always()
- task: PowerShell@2
displayName: 'Move vm to cold storage and clear datastore tag'
condition: always()
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)"

View 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"
}

View File

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

View File

@@ -0,0 +1,77 @@
<#
.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
# Clear previously assigned tag with VM Name
try {
Remove-Tag $VMName -Confirm:$false
} catch {
Write-Host "Tag with $VMName doesn't exist"
}
$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'"
}

View File

@@ -0,0 +1,105 @@
<#
.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]$VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIServer,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIUserName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIPassword,
[string]$TagCategory = "Busy"
)
# Import helpers module
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
function Select-DataStore {
param (
[string]$VMName,
[string]$TagCategory,
[string]$TemplateDatastore = "ds-local-Datastore-*",
[int]$ThresholdInGb = 400,
[int]$VMCount = 2,
[int]$Retries = 5
)
# 1. Name starts with ds-local-Datastore
# 2. FreespaceGB > 400 Gb
# 3. VM count on a datastore < 2
Write-Host "Start Datastore selection process..."
$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
$tag = Get-Tag -Category $TagCategory -Name $VMName -ErrorAction Ignore
if (-not $tag)
{
$tag = New-Tag -Name $VMName -Category $TagCategory
}
New-TagAssignment -Tag $tag -Entity $buildDatastore | Out-Null
# Wait for 60 seconds to check if any other tags are assigned to the same datastore
Start-Sleep -Seconds 60
# Take only first 2 tags, all the others will go to the next round
$tagAssignments = (Get-TagAssignment -Entity $buildDatastore).Tag.Name | Select-Object -First 2
$isAllow = $tagAssignments -contains $VMName
if ($isAllow)
{
Write-Host "Datastore selected successfully"
Write-Host "##vso[task.setvariable variable=buildDatastore;issecret=true]$buildDatastore"
return
}
# Remove the tag if datastore wasn't selected
Remove-Tag $tag -Confirm:$false
$retries--
if ($retries -le 0)
{
Write-Host "##vso[task.LogIssue type=error;]No datastores found for the condition"
exit 1
}
Write-Host "Datastore select failed, $retries left"
Select-DataStore -VMName $VMName -TagCategory $TagCategory -Retries $retries
}
# Connection to a vCenter Server system
Connect-VCServer
# Get a target datastore for current deployment
Select-DataStore -VMName $VMName -TagCategory $TagCategory

View File

@@ -1,95 +1,100 @@
| Announcements | | Announcements |
|-| |-|
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | | [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) |
| [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) | | [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 # Ubuntu 16.04.7 LTS
- Image Version: 20200920.1 - Image Version: 20201015.1
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- GNU C++ 5.5.0, 7.5.0, 8.4.0, 9.3.0 - 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 - GNU Fortran 5.5.0, 8.4.0, 9.3.0
- Clang 6.0.0, 8.0.0, 9.0.1 - Clang 6.0.0, 8.0.0, 9.0.1
- Erlang 11.0.3 - Erlang 11.1
- Mono 6.12.0.90 - Mono 6.12.0.90
- Node 12.18.4 - Node 12.19.0
- Python 2.7.12 - Python 2.7.12
- Python3 3.5.2 - Python3 3.5.2
- PowerShell 7.0.3 - PowerShell 7.0.3
- Ruby 2.3.1p112 - Ruby 2.3.1p112
- Swift 5.3 - Swift 5.3
- Julia 1.5.1 - Julia 1.5.2
### Package Management ### Package Management
- Homebrew 2.5.1
- Gem 3.1.4 - Gem 3.1.4
- Helm 3.3.4
- Homebrew 2.5.6
- Miniconda 4.8.3 - Miniconda 4.8.3
- Helm
- Npm 6.14.8 - Npm 6.14.8
- Yarn
- Pip 8.1.1 - Pip 8.1.1
- Pip3 8.1.1 - Pip3 8.1.1
- Vcpkg 2020.06.15 - Vcpkg 2020.06.15
- Yarn 1.22.5
### Project Management ### Project Management
- Ant 1.9.6 - Ant 1.9.6
- Gradle 6.6.1 - Gradle 6.7
- Maven 3.6.3 - Maven 3.6.3
- Sbt 1.3.13 - Sbt 1.4.0
### Tools ### Tools
- 7-Zip 9.20 - 7-Zip 9.20
- Ansible 2.9.13 - Ansible 2.9.14
- AzCopy10 10.6.0 (available by `azcopy10` alias) - AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias) - AzCopy7 7.3.0 (available by `azcopy` alias)
- Bazel 3.5.0 - Bazel 3.6.0
- Bazelisk 1.6.1 - Bazelisk 1.7.2
- CMake 3.17.0 - CMake 3.17.0
- CodeQL Action Bundle 2.3.0
- curl 7.47.0 - curl 7.47.0
- Docker Compose 1.27.3 - Docker Compose 1.27.4
- Docker-Buildx 0.4.2 - Docker-Buildx 0.4.2
- Docker-Moby 19.03.12 - Docker-Moby 19.03.13
- Git 2.28.0 - Git 2.28.0
- Git LFS 2.12.0 - Git LFS 2.12.0
- Git-ftp 1.0.2 - Git-ftp 1.0.2
- Google Cloud SDK 310.0.0 - Google Cloud SDK 314.0.0
- Haveged 1.9.1 - Haveged 1.9.1
- Heroku 7.43.0 - Heroku 7.46.0
- HHVM (HipHop VM) 4.56.1 - HHVM (HipHop VM) 4.56.1
- jq 1.5 - jq 1.5
- Kind 0.9.0 - Kind 0.9.0
- Kubectl 1.19.2 - Kubectl 1.19.3
- Kustomize 3.8.4 - Kustomize 3.8.5
- Leiningen 2.9.4 - Leiningen 2.9.4
- m4 1.4.17 - m4 1.4.17
- Mercurial 4.4.1 - Mercurial 4.4.1
- Minikube 1.13.0 - Minikube 1.14.0
- Newman 5.2.0 - Newman 5.2.0
- nvm 0.35.3 - nvm 0.36.0
- Packer 1.6.2 - Packer 1.6.4
- PhantomJS 2.1.1 - PhantomJS 2.1.1
- Pulumi 2.12.0
- R 4.0.3
- Sphinx Open Source Search Server 2.2.9
- SVN 1.9.3 - SVN 1.9.3
- Swig 3.0.8 - Swig 3.0.8
- Terraform 0.13.3 - Terraform 0.13.4
- unzip 6.00 - unzip 6.00
- wget 1.17.1 - wget 1.17.1
- yamllint 1.2.1
- zip 3.0 - zip 3.0
- zstd 1.3.1 - zstd 1.3.1
### CLI Tools ### CLI Tools
- Alibaba Cloud CLI 3.0.59 - Alibaba Cloud CLI 3.0.60
- AWS CLI 1.18.142 - AWS CLI 1.18.158
- AWS CLI Session manager plugin 1.1.61.0 - AWS CLI Session manager plugin 1.2.7.0
- AWS SAM CLI 1.2.0 - AWS SAM CLI 1.6.2
- Azure CLI (azure-cli) 2.11.1 - Azure CLI (azure-cli) 2.13.0
- Azure CLI (azure-devops) 0.18.0 - Azure CLI (azure-devops) 0.18.0
- GitHub CLI - GitHub CLI 1.1.0
- Hub CLI 2.14.2 - Hub CLI 2.14.2
- Netlify CLI 2.63.2 - Netlify CLI 2.65.6
- oc CLI 4.5.0 - oc CLI 4.5.0
- ORAS CLI 0.8.1 - ORAS CLI 0.8.1
- Vercel CLI 20.1.0 - Vercel CLI 20.1.2
### Java ### Java
| Version | Vendor | Environment Variable | | Version | Vendor | Environment Variable |
@@ -102,43 +107,43 @@
### PHP ### PHP
| Tool | Version | | Tool | Version |
| -------- | ----------------------------------------- | | -------- | ----------------------------------------- |
| PHP | 5.6.40 7.0.33 7.1.33 7.2.33 7.3.22 7.4.10 | | PHP | 5.6.40 7.0.33 7.1.33 7.2.34 7.3.23 7.4.11 |
| Composer | 1.10.13 | | Composer | 1.10.15 |
| PHPUnit | 7.5.20 | | PHPUnit | 7.5.20 |
### Haskell ### Haskell
- GHC 8.10.2 - GHC 8.10.2
- Cabal 3.4.0.0 - Cabal 3.4.0.0
- Stack 2.3.3 - Stack 2.5.1
### Rust Tools ### Rust Tools
- Rust 1.46.0 - Rust 1.47.0
- Rustup 1.22.1 - Rustup 1.22.1
- Rustdoc 1.46.0 - Rustdoc 1.47.0
- Cargo 1.46.0 - Cargo 1.47.0
#### Packages #### Packages
- Bindgen 0.55.1 - Bindgen 0.55.1
- Cargo audit 0.12.0 - Cargo audit 0.12.1
- Cargo outdated 0.9.11 - Cargo outdated 0.9.11
- Cargo clippy 0.0.212 - Cargo clippy 0.0.212
- Cbindgen 0.14.5 - Cbindgen 0.15.0
- Rustfmt 1.4.18 - Rustfmt 1.4.20
### Browsers and Drivers ### Browsers and Drivers
- Google Chrome 85.0.4183.102 - Google Chrome 86.0.4240.75
- ChromeDriver 85.0.4183.87 - ChromeDriver 86.0.4240.22
- Mozilla Firefox 80.0.1 - Mozilla Firefox 81.0.2
- Geckodriver 0.27.0 - Geckodriver 0.27.0
### .NET Core SDK ### .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.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.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 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.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 - 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 ### 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 - 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 ### Databases
- Postgre SQL 12.4 - Postgre SQL 13.0
- MongoDB 4.4.1 - MongoDB 4.4.1
- sqlite3 3.11.0 - sqlite3 3.11.0
@@ -162,43 +167,44 @@
- 3.5.10 - 3.5.10
- 3.6.12 - 3.6.12
- 3.7.9 - 3.7.9
- 3.8.5 - 3.8.6
- 3.9.0
#### PyPy #### PyPy
- 2.7.13 [PyPy 7.3.1] - 2.7.13 [PyPy 7.3.2]
- 3.6.9 [PyPy 7.3.1] - 3.6.9 [PyPy 7.3.2]
#### Node.js #### Node.js
- 8.17.0 - 8.17.0
- 10.22.1 - 10.22.1
- 12.18.4 - 12.19.0
- 14.11.0 - 14.13.1
#### Go #### Go
- 1.11.13 - 1.11.13
- 1.12.17 - 1.12.17
- 1.13.15 - 1.13.15
- 1.14.9 - 1.14.10
- 1.15.2 - 1.15.3
#### Boost #### Boost
- 1.69.0 - 1.69.0
- 1.72.0 - 1.72.0
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android SDK Platform-Tools | 30.0.4 | | Android SDK Platform-Tools | 30.0.4 |
| Android SDK Tools | 26.1.1 | | Android SDK Tools | 26.1.1 |
| Android SDK Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3)<br>android-26 (rev 2)<br>android-25 (rev 3)<br>android-24 (rev 2)<br>android-23 (rev 3)<br>android-22 (rev 2)<br>android-21 (rev 2)<br>android-19 (rev 4)<br>android-17 (rev 3)<br>android-15 (rev 5)<br>android-10 (rev 2) | | Android SDK 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.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3<br>26.0.0 26.0.1 26.0.2 26.0.3<br>25.0.0 25.0.1 25.0.2 25.0.3<br>24.0.0 24.0.1 24.0.2 24.0.3<br>23.0.1 23.0.2 23.0.3<br>22.0.1<br>21.1.2<br>20.0.0<br>19.1.0<br>17.0.0 | | 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 | | 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 | | NDK | 21.3.6528147 |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| SDK Patch Applier v4 | 1 | | SDK Patch Applier v4 | 1 |
| CMake | 3.10.2<br>3.6.4111459 | | CMake | 3.10.2<br>3.6.4111459 |
### Cached Docker images ### Cached Docker images
- alpine:3.7 - alpine:3.7

View File

@@ -1,98 +1,104 @@
| Announcements | | Announcements |
|-| |-|
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | | [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) |
| [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) | | [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 # Ubuntu 18.04.5 LTS
- Image Version: 20200920.1 - Image Version: 20201015.1
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- GNU C++ 7.5.0, 8.4.0, 9.3.0 - 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 - GNU Fortran 7.5.0, 8.4.0, 9.3.0
- Clang 6.0.0, 8.0.0, 9.0.0 - Clang 6.0.0, 8.0.0, 9.0.0
- Erlang 11.0.3 - Erlang 11.1
- Mono 6.12.0.90 - Mono 6.12.0.90
- Node 12.18.4 - Node 12.19.0
- Python 2.7.17 - Python 2.7.17
- Python3 3.6.9 - Python3 3.6.9
- PowerShell 7.0.3 - PowerShell 7.0.3
- Ruby 2.5.1p57 - Ruby 2.5.1p57
- Swift 5.3 - Swift 5.3
- Julia 1.5.1 - Julia 1.5.2
### Package Management ### Package Management
- Homebrew 2.5.1
- Gem 3.1.4 - Gem 3.1.4
- Helm 3.3.4
- Homebrew 2.5.6
- Miniconda 4.8.3 - Miniconda 4.8.3
- Helm
- Npm 6.14.8 - Npm 6.14.8
- Yarn
- Pip 9.0.1 - Pip 9.0.1
- Pip3 9.0.1 - Pip3 9.0.1
- Pipx 0.15.5.1
- Vcpkg 2020.06.15 - Vcpkg 2020.06.15
- Yarn 1.22.5
### Project Management ### Project Management
- Ant 1.10.5 - Ant 1.10.5
- Gradle 6.6.1 - Gradle 6.7
- Maven 3.6.3 - Maven 3.6.3
- Sbt 1.3.13 - Sbt 1.4.0
### Tools ### Tools
- 7-Zip 16.02 - 7-Zip 16.02
- Ansible 2.9.13 - Ansible 2.9.14
- AzCopy10 10.6.0 (available by `azcopy10` alias) - AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias) - AzCopy7 7.3.0 (available by `azcopy` alias)
- Bazel 3.5.0 - Bazel 3.6.0
- Bazelisk 1.6.1 - Bazelisk 1.7.2
- Buildah - Buildah 1.16.4
- CMake 3.17.0 - CMake 3.17.0
- CodeQL Action Bundle 2.3.0
- curl 7.58.0 - curl 7.58.0
- Docker Compose 1.27.3 - Docker Compose 1.27.4
- Docker-Buildx 0.4.2 - Docker-Buildx 0.4.2
- Docker-Moby 19.03.12 - Docker-Moby 19.03.13
- Git 2.28.0 - Git 2.28.0
- Git LFS 2.12.0 - Git LFS 2.12.0
- Git-ftp 1.3.1 - Git-ftp 1.3.1
- Google Cloud SDK 310.0.0 - Google Cloud SDK 314.0.0
- Haveged 1.9.1 - Haveged 1.9.1
- Heroku 7.43.0 - Heroku 7.46.0
- HHVM (HipHop VM) 4.75.0 - HHVM (HipHop VM) 4.79.0
- jq 1.5 - jq 1.5
- Kind 0.9.0 - Kind 0.9.0
- Kubectl 1.19.2 - Kubectl 1.19.3
- Kustomize 3.8.4 - Kustomize 3.8.5
- Leiningen 2.9.4 - Leiningen 2.9.4
- m4 1.4.18 - m4 1.4.18
- Mercurial 4.5.3 - Mercurial 4.5.3
- Minikube 1.13.0 - Minikube 1.14.0
- Newman 5.2.0 - Newman 5.2.0
- nvm 0.35.3 - nvm 0.36.0
- Packer 1.6.2 - Packer 1.6.4
- PhantomJS 2.1.1 - PhantomJS 2.1.1
- Podman - Podman 2.1.1
- Skopeo 1.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 - SVN 1.9.7
- Swig 3.0.12 - Swig 3.0.12
- Terraform 0.13.3 - Terraform 0.13.4
- unzip 6.00 - unzip 6.00
- wget 1.19.4 - wget 1.19.4
- yamllint 1.25.0
- zip 3.0 - zip 3.0
- zstd 1.3.3 - zstd 1.3.3
### CLI Tools ### CLI Tools
- Alibaba Cloud CLI 3.0.59 - Alibaba Cloud CLI 3.0.60
- AWS CLI 1.18.142 - AWS CLI 1.18.157
- AWS CLI Session manager plugin 1.1.61.0 - AWS CLI Session manager plugin 1.1.61.0
- AWS SAM CLI 1.2.0 - AWS SAM CLI 1.6.2
- Azure CLI (azure-cli) 2.11.1 - Azure CLI (azure-cli) 2.13.0
- Azure CLI (azure-devops) 0.18.0 - Azure CLI (azure-devops) 0.18.0
- GitHub CLI - GitHub CLI 1.1.0
- Hub CLI 2.14.2 - Hub CLI 2.14.2
- Netlify CLI 2.63.2 - Netlify CLI 2.65.5
- oc CLI 4.5.0 - oc CLI 4.5.0
- ORAS CLI 0.8.1 - ORAS CLI 0.8.1
- Vercel CLI 20.1.0 - Vercel CLI 20.1.2
### Java ### Java
| Version | Vendor | Environment Variable | | Version | Vendor | Environment Variable |
@@ -105,8 +111,8 @@
### PHP ### PHP
| Tool | Version | | Tool | Version |
| -------- | --------------------------- | | -------- | --------------------------- |
| PHP | 7.1.33 7.2.33 7.3.22 7.4.10 | | PHP | 7.1.33 7.2.34 7.3.23 7.4.11 |
| Composer | 1.10.13 | | Composer | 1.10.15 |
| PHPUnit | 7.5.20 | | PHPUnit | 7.5.20 |
### Haskell ### Haskell
@@ -115,33 +121,33 @@
- Stack 2.3.3 - Stack 2.3.3
### Rust Tools ### Rust Tools
- Rust 1.46.0 - Rust 1.47.0
- Rustup 1.22.1 - Rustup 1.22.1
- Rustdoc 1.46.0 - Rustdoc 1.47.0
- Cargo 1.46.0 - Cargo 1.47.0
#### Packages #### Packages
- Bindgen 0.55.1 - Bindgen 0.55.1
- Cargo audit 0.12.0 - Cargo audit 0.12.1
- Cargo outdated 0.9.11 - Cargo outdated 0.9.11
- Cargo clippy 0.0.212 - Cargo clippy 0.0.212
- Cbindgen 0.14.5 - Cbindgen 0.15.0
- Rustfmt 1.4.18 - Rustfmt 1.4.20
### Browsers and Drivers ### Browsers and Drivers
- Google Chrome 85.0.4183.102 - Google Chrome 86.0.4240.75
- ChromeDriver 85.0.4183.87 - ChromeDriver 86.0.4240.22
- Mozilla Firefox 80.0.1 - Mozilla Firefox 81.0
- Geckodriver 0.27.0 - Geckodriver 0.27.0
### .NET Core SDK ### .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.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.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 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.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 - 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 ### 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 - 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 ### Databases
- Postgre SQL 12.4 - Postgre SQL 13.0
- MongoDB 4.4.1 - MongoDB 4.4.1
- sqlite3 3.22.0 - sqlite3 3.22.0
@@ -165,43 +171,44 @@
- 3.5.10 - 3.5.10
- 3.6.12 - 3.6.12
- 3.7.9 - 3.7.9
- 3.8.5 - 3.8.6
- 3.9.0
#### PyPy #### PyPy
- 2.7.13 [PyPy 7.3.1] - 2.7.13 [PyPy 7.3.2]
- 3.6.9 [PyPy 7.3.1] - 3.6.9 [PyPy 7.3.2]
#### Node.js #### Node.js
- 8.17.0 - 8.17.0
- 10.22.1 - 10.22.1
- 12.18.4 - 12.19.0
- 14.11.0 - 14.13.1
#### Go #### Go
- 1.11.13 - 1.11.13
- 1.12.17 - 1.12.17
- 1.13.15 - 1.13.15
- 1.14.9 - 1.14.10
- 1.15.2 - 1.15.3
#### Boost #### Boost
- 1.69.0 - 1.69.0
- 1.72.0 - 1.72.0
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android SDK Platform-Tools | 30.0.4 | | Android SDK Platform-Tools | 30.0.4 |
| Android SDK Tools | 26.1.1 | | Android SDK Tools | 26.1.1 |
| Android SDK Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3)<br>android-26 (rev 2)<br>android-25 (rev 3)<br>android-24 (rev 2)<br>android-23 (rev 3)<br>android-22 (rev 2)<br>android-21 (rev 2)<br>android-19 (rev 4)<br>android-17 (rev 3) | | Android SDK 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.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3<br>26.0.0 26.0.1 26.0.2 26.0.3<br>25.0.0 25.0.1 25.0.2 25.0.3<br>24.0.0 24.0.1 24.0.2 24.0.3<br>23.0.1 23.0.2 23.0.3<br>22.0.1<br>21.1.2<br>20.0.0<br>19.1.0<br>17.0.0 | | 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 | | 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 | | NDK | 21.3.6528147 |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| SDK Patch Applier v4 | 1 | | SDK Patch Applier v4 | 1 |
| CMake | 3.10.2<br>3.6.4111459 | | CMake | 3.10.2<br>3.6.4111459 |
### Cached Docker images ### Cached Docker images
- alpine:3.7 - alpine:3.7
@@ -221,6 +228,6 @@
- ubuntu:14.04 - ubuntu:14.04
### Installed apt packages ### Installed apt packages
- bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl3, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, yamllint, zip, zstd, zsync - bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl3, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, zip, zstd, zsync

View File

@@ -1,98 +1,104 @@
| Announcements | | Announcements |
|-| |-|
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) | | [Ubuntu-latest workflows will use Ubuntu-20.04](https://github.com/actions/virtual-environments/issues/1816) |
| [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) | | [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 # Ubuntu 20.04.1 LTS
- Image Version: 20200920.1 - Image Version: 20201015.1
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- GNU C++ 7.5.0, 8.4.0, 9.3.0 - GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.2.0
- GNU Fortran 8.4.0, 9.3.0 - GNU Fortran 8.4.0, 9.3.0
- Clang 10.0.1, 8.0.1, 9.0.1 - Clang 8.0.1, 9.0.1, 10.0.0
- Erlang 11.0.3 - Erlang 11.1
- Mono 6.12.0.90 - Mono 6.12.0.90
- Node 12.18.4 - Node 12.19.0
- Python 2.7.18rc1 - Python 3.8.5
- Python3 3.8.2 - Python3 3.8.5
- PowerShell 7.0.3 - PowerShell 7.0.3
- Ruby 2.7.0p0 - Ruby 2.7.0p0
- Swift 5.3 - Swift 5.3
- Julia 1.5.1 - Julia 1.5.2
### Package Management ### Package Management
- Homebrew 2.5.1
- Gem 3.1.2 - Gem 3.1.2
- Helm 3.3.4
- Homebrew 2.5.6
- Miniconda 4.8.3 - Miniconda 4.8.3
- Helm 3.3.3
- Npm 6.14.8 - Npm 6.14.8
- Yarn 1.22.5 - Pip 20.0.2
- Pip 20.2.3
- Pip3 20.0.2 - Pip3 20.0.2
- Pipx 0.15.5.1
- Vcpkg 2020.06.15 - Vcpkg 2020.06.15
- Yarn 1.22.5
### Project Management ### Project Management
- Ant 1.10.7 - Ant 1.10.7
- Gradle 6.6.1 - Gradle 6.7
- Maven 3.6.3 - Maven 3.6.3
- Sbt 1.3.13 - Sbt 1.4.0
### Tools ### Tools
- 7-Zip 16.02 - 7-Zip 16.02
- Ansible 2.9.6 - Ansible 2.9.6
- AzCopy10 10.6.0 (available by `azcopy10` alias) - AzCopy10 10.6.0 (available by `azcopy10` alias)
- AzCopy7 7.3.0 (available by `azcopy` alias) - AzCopy7 7.3.0 (available by `azcopy` alias)
- Bazel 3.5.0 - Bazel 3.6.0
- Bazelisk 1.6.1 - Bazelisk 1.7.2
- Buildah 1.16.1 - Buildah 1.16.4
- CMake 3.17.0 - CMake 3.17.0
- CodeQL Action Bundle 2.3.0
- curl 7.68.0 - curl 7.68.0
- Docker Compose 1.27.3 - Docker Compose 1.27.4
- Docker-Buildx 0.4.2 - Docker-Buildx 0.4.2
- Docker-Moby 19.03.12 - Docker-Moby 19.03.13
- Git 2.28.0 - Git 2.28.0
- Git LFS 2.12.0 - Git LFS 2.12.0
- Git-ftp 1.6.0 - Git-ftp 1.6.0
- Google Cloud SDK 310.0.0 - Google Cloud SDK 314.0.0
- Haveged 1.9.1 - Haveged 1.9.1
- Heroku 7.43.0 - Heroku 7.46.0
- HHVM (HipHop VM) 4.75.0 - HHVM (HipHop VM) 4.79.0
- jq 1.6 - jq 1.6
- Kind 0.9.0 - Kind 0.9.0
- Kubectl 1.19.2 - Kubectl 1.19.3
- Kustomize 3.8.4 - Kustomize 3.8.5
- Leiningen 2.9.4 - Leiningen 2.9.4
- m4 1.4.18 - m4 1.4.18
- Mercurial 5.3.1 - Mercurial 5.3.1
- Minikube 1.13.0 - Minikube 1.14.0
- Newman 5.2.0 - Newman 5.2.0
- nvm 0.35.3 - nvm 0.36.0
- Packer 1.6.2 - Packer 1.6.4
- PhantomJS 2.1.1 - PhantomJS 2.1.1
- Podman 2.0.6 - Podman 2.1.1
- Skopeo 1.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 - SVN 1.13.0
- Swig 4.0.1 - Swig 4.0.1
- Terraform 0.13.3 - Terraform 0.13.4
- unzip 6.00 - unzip 6.00
- wget 1.20.3 - wget 1.20.3
- yamllint 1.25.0
- zip 3.0 - zip 3.0
- zstd 1.4.4 - zstd 1.4.4
### CLI Tools ### CLI Tools
- Alibaba Cloud CLI 3.0.59 - Alibaba Cloud CLI 3.0.60
- AWS CLI 2.0.50 - AWS CLI 2.0.56
- AWS CLI Session manager plugin 1.1.61.0 - AWS CLI Session manager plugin 1.1.61.0
- AWS SAM CLI 1.2.0 - AWS SAM CLI 1.6.2
- Azure CLI (azure-cli) 2.11.1 - Azure CLI (azure-cli) 2.13.0
- Azure CLI (azure-devops) 0.18.0 - Azure CLI (azure-devops) 0.18.0
- GitHub CLI 1.0.0 - GitHub CLI 1.1.0
- Hub CLI 2.14.2 - Hub CLI 2.14.2
- Netlify CLI 2.63.2 - Netlify CLI 2.65.5
- oc CLI 4.5.0 - oc CLI 4.5.0
- ORAS CLI 0.8.1 - ORAS CLI 0.8.1
- Vercel CLI 20.1.0 - Vercel CLI 20.1.2
### Java ### Java
| Version | Vendor | Environment Variable | | Version | Vendor | Environment Variable |
@@ -103,8 +109,8 @@
### PHP ### PHP
| Tool | Version | | Tool | Version |
| -------- | ------- | | -------- | ------- |
| PHP | 7.4.10 | | PHP | 7.4.11 |
| Composer | 1.10.13 | | Composer | 1.10.15 |
| PHPUnit | 7.5.20 | | PHPUnit | 7.5.20 |
### Haskell ### Haskell
@@ -113,33 +119,33 @@
- Stack 2.3.3 - Stack 2.3.3
### Rust Tools ### Rust Tools
- Rust 1.46.0 - Rust 1.47.0
- Rustup 1.22.1 - Rustup 1.22.1
- Rustdoc 1.46.0 - Rustdoc 1.47.0
- Cargo 1.46.0 - Cargo 1.47.0
#### Packages #### Packages
- Bindgen 0.55.1 - Bindgen 0.55.1
- Cargo audit 0.12.0 - Cargo audit 0.12.1
- Cargo outdated 0.9.11 - Cargo outdated 0.9.11
- Cargo clippy 0.0.212 - Cargo clippy 0.0.212
- Cbindgen 0.14.5 - Cbindgen 0.15.0
- Rustfmt 1.4.18 - Rustfmt 1.4.20
### Browsers and Drivers ### Browsers and Drivers
- Google Chrome 85.0.4183.102 - Google Chrome 86.0.4240.75
- ChromeDriver 85.0.4183.87 - ChromeDriver 86.0.4240.22
- Mozilla Firefox 80.0.1 - Mozilla Firefox 81.0
- Geckodriver 0.27.0 - Geckodriver 0.27.0
### .NET Core SDK ### .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.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.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 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.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402 - 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 ### Az Module
- 4.6.1 - 4.8.0
### Databases ### Databases
- Postgre SQL 12.4 - Postgre SQL 13.0
- MongoDB 4.4.1 - MongoDB 4.4.1
- sqlite3 3.31.1 - sqlite3 3.31.1
@@ -162,35 +168,36 @@
- 3.5.10 - 3.5.10
- 3.6.12 - 3.6.12
- 3.7.9 - 3.7.9
- 3.8.5 - 3.8.6
- 3.9.0
#### PyPy #### PyPy
- 2.7.13 [PyPy 7.3.1] - 2.7.13 [PyPy 7.3.2]
- 3.6.9 [PyPy 7.3.1] - 3.6.9 [PyPy 7.3.2]
#### Node.js #### Node.js
- 8.17.0 - 8.17.0
- 10.22.1 - 10.22.1
- 12.18.4 - 12.19.0
- 14.11.0 - 14.13.1
#### Go #### Go
- 1.14.9 - 1.14.10
- 1.15.2 - 1.15.3
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | ---------------------------------------------------------------------------------------------------------- | | -------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Android SDK Platform-Tools | 30.0.4 | | Android SDK Platform-Tools | 30.0.4 |
| Android SDK Tools | 26.1.1 | | 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 Platforms | android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
| Android SDK Build-tools | 30.0.0 30.0.1 30.0.2<br>29.0.0 29.0.2 29.0.3<br>28.0.0 28.0.1 28.0.2 28.0.3<br>27.0.0 27.0.1 27.0.2 27.0.3 | | 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 | | NDK | 21.3.6528147 |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| SDK Patch Applier v4 | 1 | | SDK Patch Applier v4 | 1 |
| CMake | 3.10.2 | | CMake | 3.10.2 |
### Cached Docker images ### Cached Docker images
- alpine:3.7 - alpine:3.7
@@ -210,6 +217,6 @@
- ubuntu:14.04 - ubuntu:14.04
### Installed apt packages ### 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-python2, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, yamllint, zip, zstd, zsync - bison, brotli, bzip2, curl, dbus, dnsutils, dpkg, fakeroot, file, flex, ftp, gnupg2, iproute2, iputils-ping, jq, lib32z1, libc++-dev, libc++abi-dev, libcurl4, libgbm-dev, libgconf-2-4, libgtk-3-0, libsecret-1-dev, libsqlite3-dev, libunwind8, libxkbfile-dev, libxss1, locales, m4, netcat, openssh-client, parallel, patchelf, pkg-config, python-is-python3, rpm, rsync, shellcheck, sqlite3, ssh, sudo, telnet, texinfo, time, tk, tzdata, unzip, upx, wget, xorriso, xvfb, xz-utils, zip, zstd, zsync

View File

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

View File

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

View File

@@ -5,14 +5,16 @@ function Get-OSName {
} }
function Get-CPPVersions { function Get-CPPVersions {
$cppVersions = apt list --installed 2>&1 | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object { $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 & $_.Split("/")[0] --version | Select-Object -First 1 | Take-OutputPart -Part 3
} | Sort-Object {[Version]$_} } | Sort-Object {[Version]$_}
return "GNU C++ " + ($cppVersions -Join ", ") return "GNU C++ " + ($cppVersions -Join ", ")
} }
function Get-FortranVersions { 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 $_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
$Matches.version $Matches.version
} | Sort-Object {[Version]$_} } | Sort-Object {[Version]$_}
@@ -21,7 +23,8 @@ function Get-FortranVersions {
function Get-ClangVersions { function Get-ClangVersions {
$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] $clangCommand = ($_ -Split "/")[0]
Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "clang version" } | ForEach-Object { Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "clang version" } | ForEach-Object {
$_ -match "clang version (?<version>\d+\.\d+\.\d+)-" | Out-Null $_ -match "clang version (?<version>\d+\.\d+\.\d+)-" | Out-Null
@@ -32,9 +35,7 @@ function Get-ClangVersions {
} }
function Get-ErlangVersion { function Get-ErlangVersion {
$result = Get-CommandResult "erl -version" $version = (erl -eval 'erlang:display(erlang:system_info(version)), halt().' -noshell).Trim('"')
$result.Output -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
$version = $Matches.version
return "Erlang $version" return "Erlang $version"
} }
@@ -143,26 +144,27 @@ function Get-AntVersion {
} }
function Get-GradleVersion { function Get-GradleVersion {
$result = gradle -v | Out-String $gradleVersion = (gradle -v) -match "^Gradle \d" | Take-OutputPart -Part 1
$result -match "Gradle (?<version>\d+\.\d+\.\d+)" | Out-Null
$gradleVersion = $Matches.version
return "Gradle $gradleVersion" return "Gradle $gradleVersion"
} }
function Get-MavenVersion { function Get-MavenVersion {
$result = mvn -version | Out-String $result = mvn -version | Out-String
$result -match "Apache Maven (?<version>\d+\.\d+\.\d+)" | Out-Null $result -match "Apache Maven (?<version>\d+\.\d+\.\d+)" | Out-Null
$mavenVersion = $Matches.version $mavenVersion = $Matches.version
return "Maven $mavenVersion" return "Maven $mavenVersion"
} }
function Get-SbtVersion { function Get-SbtVersion {
$result = sbt -version 2>&1 | Out-String $result = Get-CommandResult "sbt -version"
$result -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null $result.Output -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null
$sbtVersion = $Matches.version $sbtVersion = $Matches.version
return "Sbt $sbtVersion" return "Sbt $sbtVersion"
} }
function Get-PHPVersions { 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 $_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
$Matches.version $Matches.version
} }
@@ -244,3 +246,10 @@ function Get-AptPackages {
$pkgs = ($apt.common_packages + $apt.cmd_packages | Sort-Object) -join ", " $pkgs = ($apt.common_packages + $apt.cmd_packages | Sort-Object) -join ", "
return $pkgs 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"
}

View File

@@ -3,6 +3,8 @@ param (
$OutputDirectory $OutputDirectory
) )
$ErrorActionPreference = "Stop"
Import-Module MarkdownPS Import-Module MarkdownPS
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.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.Rust.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking
# Restore file owner in user profile
Restore-UserOwner
$markdown = "" $markdown = ""
if ($env:ANNOUNCEMENTS) { if ($env:ANNOUNCEMENTS) {
@@ -49,7 +54,8 @@ $markdown += New-MDList -Style Unordered -Lines @(
) )
$markdown += New-MDHeader "Package Management" -Level 3 $markdown += New-MDHeader "Package Management" -Level 3
$markdown += New-MDList -Style Unordered -Lines @(
$packageManagementList = @(
(Get-HomebrewVersion), (Get-HomebrewVersion),
(Get-GemVersion), (Get-GemVersion),
(Get-MinicondaVersion), (Get-MinicondaVersion),
@@ -61,6 +67,14 @@ $markdown += New-MDList -Style Unordered -Lines @(
(Get-VcpkgVersion) (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-MDHeader "Project Management" -Level 3
$markdown += New-MDList -Style Unordered -Lines @( $markdown += New-MDList -Style Unordered -Lines @(
(Get-AntVersion), (Get-AntVersion),
@@ -73,6 +87,7 @@ $markdown += New-MDHeader "Tools" -Level 3
$toolsList = @( $toolsList = @(
(Get-7zipVersion), (Get-7zipVersion),
(Get-AnsibleVersion), (Get-AnsibleVersion),
(Get-AptFastVersion),
(Get-AzCopy7Version), (Get-AzCopy7Version),
(Get-AzCopy10Version), (Get-AzCopy10Version),
(Get-BazelVersion), (Get-BazelVersion),
@@ -110,6 +125,7 @@ $toolsList = @(
(Get-TerraformVersion), (Get-TerraformVersion),
(Get-UnZipVersion), (Get-UnZipVersion),
(Get-WgetVersion), (Get-WgetVersion),
(Get-YamllintVersion),
(Get-ZipVersion), (Get-ZipVersion),
(Get-ZstdVersion) (Get-ZstdVersion)
) )

View File

@@ -49,3 +49,7 @@ function New-MDNewLine {
$newLineSymbol = [System.Environment]::NewLine $newLineSymbol = [System.Environment]::NewLine
return $newLineSymbol * $Count return $newLineSymbol * $Count
} }
function Restore-UserOwner {
sudo chown -R ${env:USER}: $env:HOME
}

View File

@@ -4,10 +4,15 @@ function Get-7zipVersion {
} }
function Get-AnsibleVersion { 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" return "Ansible $ansibleVersion"
} }
function Get-AptFastVersion {
$aptFastVersion = (dpkg-query --showformat='${Version}' --show apt-fast).Split('-')[0]
return "apt-fast $aptFastVersion"
}
function Get-AzCopy7Version { function Get-AzCopy7Version {
$azcopy7Version = azcopy --version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-" $azcopy7Version = azcopy --version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
return "AzCopy7 $azcopy7Version (available by ``azcopy`` alias)" return "AzCopy7 $azcopy7Version (available by ``azcopy`` alias)"
@@ -19,17 +24,18 @@ function Get-AzCopy10Version {
} }
function Get-BazelVersion { 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" return "Bazel $bazelVersion"
} }
function Get-BazeliskVersion { 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" return "Bazelisk $bazeliskVersion"
} }
function Get-CodeQLBundleVersion { function Get-CodeQLBundleVersion {
$CodeQLVersionsWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "codeql" | Join-Path -ChildPath "*" $CodeQLVersionsWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*"
$CodeQLVersionPath = Get-ChildItem $CodeQLVersionsWildcard | Select-Object -First 1 -Expand FullName $CodeQLVersionPath = Get-ChildItem $CodeQLVersionsWildcard | Select-Object -First 1 -Expand FullName
$CodeQLPath = Join-Path $CodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql" $CodeQLPath = Join-Path $CodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql"
$CodeQLVersion = & $CodeQLPath version --quiet $CodeQLVersion = & $CodeQLPath version --quiet
@@ -77,12 +83,14 @@ function Get-DockerBuildxVersion {
} }
function Get-GitVersion { 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" return "Git $gitVersion"
} }
function Get-GitLFSVersion { 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" return "Git LFS $gitlfsversion"
} }
@@ -92,7 +100,7 @@ function Get-GitFTPVersion {
} }
function Get-GoogleCloudSDKVersion { function Get-GoogleCloudSDKVersion {
return "$(sudo gcloud --version | Select-Object -First 1)" return "$(gcloud --version | Select-Object -First 1)"
} }
function Get-HavegedVersion { function Get-HavegedVersion {
@@ -101,7 +109,7 @@ function Get-HavegedVersion {
} }
function Get-HerokuVersion { 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" return "Heroku $herokuVersion"
} }
@@ -201,12 +209,12 @@ function Get-JqVersion {
} }
function Get-AzureCliVersion { 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" return "Azure CLI (azure-cli) $azcliVersion"
} }
function Get-AzureDevopsVersion { 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" return "Azure CLI (azure-devops) $azdevopsVersion"
} }
@@ -215,12 +223,14 @@ function Get-AlibabaCloudCliVersion {
} }
function Get-AWSCliVersion { 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" return "AWS CLI $awsVersion"
} }
function Get-AWSCliSessionManagerPluginVersion { 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 { function Get-AWSSAMVersion {
@@ -238,7 +248,7 @@ function Get-GitHubCliVersion {
} }
function Get-NetlifyCliVersion { 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" return "Netlify CLI $netlifyVersion"
} }
@@ -253,7 +263,8 @@ function Get-ORASCliVersion {
} }
function Get-VerselCliversion { 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 { function Get-PulumiVersion {
@@ -270,3 +281,7 @@ function Get-SphinxVersion {
$sphinxVersion = searchd -h | Select-Object -First 1 | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-" $sphinxVersion = searchd -h | Select-Object -First 1 | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
return "Sphinx Open Source Search Server $sphinxVersion" return "Sphinx Open Source Search Server $sphinxVersion"
} }
function Get-YamllintVersion {
return "$(yamllint --version)"
}

View File

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

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: reboot.sh ## File: reboot.sh
## Desc: Reboot VM ## Desc: Reboot VM

View File

@@ -43,3 +43,8 @@ download_with_retries() {
function IsPackageInstalled { function IsPackageInstalled {
dpkg -S $1 &> /dev/null dpkg -S $1 &> /dev/null
} }
verlte() {
sortedVersion=$(echo -e "$1\n$2" | sort -V | head -n1)
[ "$1" = "$sortedVersion" ]
}

View File

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

View File

@@ -1,10 +1,9 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: aliyun-cli.sh ## File: aliyun-cli.sh
## Desc: Installs Alibaba Cloud CLI ## Desc: Installs Alibaba Cloud CLI
################################################################################ ################################################################################
# Install 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"))') 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 wget -P /tmp $URL

View File

@@ -1,13 +1,28 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: android.sh ## File: android.sh
## Desc: Installs Android SDK ## Desc: Installs Android SDK
################################################################################ ################################################################################
set -e
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/os.sh 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) # Set env variable for SDK Root (https://developer.android.com/studio/command-line/variables)
ANDROID_ROOT=/usr/local/lib/android ANDROID_ROOT=/usr/local/lib/android
@@ -42,22 +57,23 @@ else
fi fi
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json" toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
platforms=$(jq -r '.android.platform_list[]|"platforms;" + .' $toolset) minimumBuildToolVersion=$(jq -r '.android.build_tools_min_version' $toolset)
buildtools=$(jq -r '.android.build_tools[]|"build-tools;" + .' $toolset) minimumPlatformVersion=$(jq -r '.android.platform_min_version' $toolset)
extras=$(jq -r '.android.extra_list[]|"extras;" + .' $toolset) extras=$(jq -r '.android.extra_list[]|"extras;" + .' $toolset)
addons=$(jq -r '.android.addon_list[]|"add-ons;" + .' $toolset) addons=$(jq -r '.android.addon_list[]|"add-ons;" + .' $toolset)
additional=$(jq -r '.android.additional_tools[]' $toolset) additional=$(jq -r '.android.additional_tools[]' $toolset)
# Install the following SDKs and build tools, passing in "y" to accept licenses. # Install the following SDKs and build tools, passing in "y" to accept licenses.
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager $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}') filter_components_by_version $minimumPlatformVersion "${availablePlatforms[@]}"
constraint_layout_versions_list=$(echo "$extras"|awk -F';' '/constraint-layout;/ {print $8}') filter_components_by_version $minimumBuildToolVersion "${availableBuildTools[@]}"
constraint_layout_solver_versions_list=$(echo "$extras"|awk -F';' '/constraint-layout-solver;/ {print $8}')
platform_versions_list=$(echo "$platforms"|awk -F- '{print $2}') echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager ${components[@]}
buildtools_versions_list=$(echo "$buildtools"|awk -F';' '{print $2}')
# Add required permissions # Add required permissions
chmod -R a+rwx ${ANDROID_SDK_ROOT} chmod -R a+rwx ${ANDROID_SDK_ROOT}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,10 +1,9 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: azure-cli.sh ## File: azure-cli.sh
## Desc: Installed Azure CLI (az) ## Desc: Installed Azure CLI (az)
################################################################################ ################################################################################
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) # Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -e
# before cleanup # before cleanup
before=$(df / -Pm | awk 'NR==2{print $4}') before=$(df / -Pm | awk 'NR==2{print $4}')

View File

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

View File

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

View File

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

View File

@@ -1,3 +1,5 @@
#!/bin/bash -e
#Set ImageVersion and ImageOS env variables #Set ImageVersion and ImageOS env variables
echo ImageVersion=$IMAGE_VERSION | tee -a /etc/environment echo ImageVersion=$IMAGE_VERSION | tee -a /etc/environment
echo ImageOS=$IMAGE_OS | tee -a /etc/environment echo ImageOS=$IMAGE_OS | tee -a /etc/environment

View File

@@ -1,10 +1,9 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: containers.sh ## File: containers.sh
## Desc: Installs container tools: podman, buildah and skopeo onto the image ## Desc: Installs container tools: podman, buildah and skopeo onto the image
################################################################################ ################################################################################
source /etc/os-release 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" 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 wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key

View File

@@ -1,10 +1,9 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: docker-compose.sh ## File: docker-compose.sh
## Desc: Installs Docker Compose ## 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) 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 # Install latest docker-compose from releases

View File

@@ -1,18 +1,11 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: docker-moby.sh ## File: docker-moby.sh
## Desc: Installs docker onto the image ## Desc: Installs docker onto the image
################################################################################ ################################################################################
set -e
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh 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 # Check to see if docker is already installed
docker_package=moby docker_package=moby

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,11 +1,10 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: github-cli.sh ## File: github-cli.sh
## Desc: Installs GitHub CLI ## Desc: Installs GitHub CLI
## Must be run as non-root user after homebrew ## Must be run as non-root user after homebrew
################################################################################ ################################################################################
# Install GitHub CLI # 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"))') 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 wget $url

View File

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

View File

@@ -1,10 +1,9 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: google-cloud-sdk.sh ## File: google-cloud-sdk.sh
## Desc: Installs the Google Cloud SDK ## Desc: Installs the Google Cloud SDK
################################################################################ ################################################################################
# Install 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 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 - curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: homebrew.sh ## File: homebrew.sh
## Desc: Installs the Homebrew on Linux ## Desc: Installs the Homebrew on Linux
@@ -12,9 +12,6 @@ source $HELPER_SCRIPTS/etc-environment.sh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv) eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
# Make brew files and directories writable by any user
sudo chmod -R o+w $HOMEBREW_PREFIX
# Update /etc/environemnt # Update /etc/environemnt
## Put HOMEBREW_* variables ## Put HOMEBREW_* variables
brew shellenv|grep 'export HOMEBREW'|sed -E 's/^export (.*);$/\1/' | sudo tee -a /etc/environment brew shellenv|grep 'export HOMEBREW'|sed -E 's/^export (.*);$/\1/' | sudo tee -a /etc/environment

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,10 +1,9 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: kind.sh ## File: kind.sh
## Desc: Installs kind ## Desc: Installs kind
################################################################################ ################################################################################
# Install 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"))') 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 curl -L -o /usr/local/bin/kind $URL

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,13 +1,13 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: nvm.sh ## File: nvm.sh
## Desc: Installs Nvm ## Desc: Installs Nvm
################################################################################ ################################################################################
export NVM_DIR="/etc/skel/.nvm" export NVM_DIR="/etc/skel/.nvm"
mkdir $NVM_DIR 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 '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 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" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

View File

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

View File

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

View File

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

View File

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

View File

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

View 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

View File

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

View File

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

View File

@@ -1,10 +1,9 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: postgresql.sh ## File: postgresql.sh
## Desc: Installs Postgresql ## Desc: Installs Postgresql
################################################################################ ################################################################################
#Preparing repo for PostgreSQL 12. #Preparing repo for PostgreSQL 12.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - 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 echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list

View File

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

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -e
imagedata_file=$IMAGEDATA_FILE imagedata_file=$IMAGEDATA_FILE
image_version=$IMAGE_VERSION image_version=$IMAGE_VERSION

View File

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

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: pypy.sh ## File: pypy.sh
## Desc: Installs PyPy ## 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" toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
toolsetVersions=$(jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]' $toolset) toolsetVersions=$(jq -r '.toolcache[] | select(.name | contains("PyPy")) | .versions[]' $toolset)
# Fail out if any setups fail
set -e
for toolsetVersion in $toolsetVersions; do for toolsetVersion in $toolsetVersions; do
latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1) latestMajorPyPyVersion=$(echo "${pypyVersions}" | grep -E "pypy${toolsetVersion}-v[0-9]+\.[0-9]+\.[0-9]+-" | head -1)

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: python.sh ## File: python.sh
## Desc: Installs Python 2/3 ## Desc: Installs Python 2/3
@@ -6,18 +6,40 @@
set -e set -e
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/os.sh source $HELPER_SCRIPTS/os.sh
# Install Python, Python 3, pip, pip3 # Install Python, Python 3, pip, pip3
if isUbuntu16 || isUbuntu18; then if isUbuntu16 || isUbuntu18; then
apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip python3-venv
fi fi
if isUbuntu20; then if isUbuntu20; then
apt-get install -y --no-install-recommends python3 python3-dev python3-pip apt-get install -y --no-install-recommends python3 python3-dev python3-pip python3-venv
ln -s /usr/bin/pip3 /usr/bin/pip ln -s /usr/bin/pip3 /usr/bin/pip
fi 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 # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
for cmd in python pip python3 pip3; do for cmd in python pip python3 pip3; do

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,21 +1,23 @@
#!/bin/bash #!/bin/bash -e
################################################################################ ################################################################################
## File: swift.sh ## File: swift.sh
## Desc: Installs Swift ## Desc: Installs Swift
################################################################################ ################################################################################
# Install # Install
image_label="$(lsb_release -rs)" 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 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 tar xzf /tmp/swift-$swift_version-RELEASE-ubuntu$image_label.tar.gz
mv swift-$swift_version-RELEASE-ubuntu$image_label /usr/share/swift mv swift-$swift_version-RELEASE-ubuntu$image_label /usr/share/swift
SWIFT_PATH="/usr/share/swift/usr/bin" SWIFT_PATH="/usr/share/swift/usr/bin"
SWIFT_BIN="$SWIFT_PATH/swift" SWIFT_BIN="$SWIFT_PATH/swift"
SWIFTC_BIN="$SWIFT_PATH/swiftc"
ln -s "$SWIFT_BIN" /usr/local/bin/swift 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 echo "SWIFT_PATH=$SWIFT_PATH" | tee -a /etc/environment
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
@@ -24,3 +26,8 @@ if ! command -v swift; then
echo "Swift was not installed" echo "Swift was not installed"
exit 1 exit 1
fi fi
if ! command -v swiftc; then
echo "Swiftc is not linked to swift binary"
exit 1
fi

View File

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

View File

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

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