mirror of
https://github.com/actions/runner-images.git
synced 2025-12-28 20:58:32 +08:00
Merge remote-tracking branch 'upstream/main'
This commit is contained in:
9
.github/ISSUE_TEMPLATE/announcement.yml
vendored
9
.github/ISSUE_TEMPLATE/announcement.yml
vendored
@@ -26,19 +26,24 @@ body:
|
||||
placeholder: Description of who might be impacted by this change
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Platforms affected
|
||||
options:
|
||||
- label: Azure DevOps
|
||||
- label: GitHub Actions
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Virtual environments affected
|
||||
options:
|
||||
- label: Ubuntu 18.04
|
||||
- label: Ubuntu 20.04
|
||||
- label: Ubuntu 22.04
|
||||
- label: macOS 10.15
|
||||
- label: macOS 11
|
||||
- label: macOS 12
|
||||
- label: Windows Server 2019
|
||||
- label: Windows Server 2022
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Mitigation ways
|
||||
|
||||
15
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
15
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
@@ -8,19 +8,24 @@ body:
|
||||
description: A clear and concise description of what the bug is, and why you consider it to be a bug.
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Platforms affected
|
||||
options:
|
||||
- label: Azure DevOps
|
||||
- label: GitHub Actions
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Virtual environments affected
|
||||
options:
|
||||
- label: Ubuntu 18.04
|
||||
- label: Ubuntu 20.04
|
||||
- label: Ubuntu 22.04
|
||||
- label: macOS 10.15
|
||||
- label: macOS 11
|
||||
- label: macOS 12
|
||||
- label: Windows Server 2019
|
||||
- label: Windows Server 2022
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Image version and build link
|
||||
@@ -36,14 +41,20 @@ body:
|
||||
attributes:
|
||||
label: Is it regression?
|
||||
description: If yes, please, provide the latest image version where the issue didn't persist, and a link to the latest successful build.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: A description of what you expected to happen.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Actual behavior
|
||||
description: A description of what is actually happening.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Repro steps
|
||||
|
||||
13
.github/ISSUE_TEMPLATE/tool-request.yml
vendored
13
.github/ISSUE_TEMPLATE/tool-request.yml
vendored
@@ -44,22 +44,27 @@ body:
|
||||
label: URL for tool's homepage
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Provide a basic test case to validate the tool's functionality.
|
||||
label: Provide a basic test case to validate the tool's functionality.
|
||||
description: This will be automatically formatted into code.
|
||||
render: bash
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Virtual environments affected
|
||||
label: Platforms where you need the tool
|
||||
options:
|
||||
- label: Azure DevOps
|
||||
- label: GitHub Actions
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Virtual environments where you need the tool
|
||||
options:
|
||||
- label: Ubuntu 18.04
|
||||
- label: Ubuntu 20.04
|
||||
- label: Ubuntu 22.04
|
||||
- label: macOS 10.15
|
||||
- label: macOS 11
|
||||
- label: macOS 12
|
||||
- label: Windows Server 2019
|
||||
- label: Windows Server 2022
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Can this tool be installed during the build?
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -387,4 +387,7 @@ public
|
||||
.dynamodb/
|
||||
|
||||
# visual studio code launch configuration
|
||||
launch.json
|
||||
launch.json
|
||||
|
||||
# Ignore dynamic template
|
||||
images/*/*-temp.json
|
||||
|
||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 GitHub
|
||||
Copyright (c) 2022 GitHub
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
# GitHub Actions Runner Images
|
||||
**Table of Contents**
|
||||
- [About](#about)
|
||||
@@ -9,16 +10,19 @@
|
||||
- [FAQs](#faqs)
|
||||
|
||||
|
||||
|
||||
## About
|
||||
This repository contains the source used to create the [runner images](https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners) for GitHub Actions hosted runners, as well as the VM images of [Microsoft-hosted agents](https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#use-a-microsoft-hosted-agent) used for Azure Pipelines. To build a VM machine from this repo's source, see the [instructions](docs/create-image-and-azure-resources.md).
|
||||
|
||||
## Available Images
|
||||
| Image | YAML Label | Included Software | Rollout Progress of Latest Image Release |
|
||||
| --------------------|---------------------|--------------------|---------------------|
|
||||
| Ubuntu 22.04 <sup>beta</sup> | `ubuntu-22.04` | [ubuntu-22.04] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu22&redirect=1)
|
||||
| Ubuntu 20.04 | `ubuntu-latest` or `ubuntu-20.04` | [ubuntu-20.04] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu20&redirect=1)
|
||||
| Ubuntu 18.04 | `ubuntu-18.04` | [ubuntu-18.04] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&redirect=1)
|
||||
| macOS 12 | `macos-12`| [macOS-12] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-12&redirect=1)
|
||||
| macOS 11 | `macos-latest` or `macos-11`| [macOS-11] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-11&redirect=1)
|
||||
| macOS 10.15 | `macos-10.15` | [macOS-10.15] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-10.15&redirect=1)
|
||||
| macOS 10.15 <sup>deprecated</sup> | `macos-10.15` | [macOS-10.15] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-10.15&redirect=1)
|
||||
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2022&redirect=1) |
|
||||
| Windows Server 2019 | `windows-2019` | [windows-2019] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&redirect=1)
|
||||
| Windows Server 2016 | `windows-2016` | [windows-2016] | [](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&redirect=1)
|
||||
@@ -27,12 +31,14 @@ This repository contains the source used to create the [runner images](https://h
|
||||
- In general the `-latest` label is used for the latest OS image version that is in GA
|
||||
- Before moving the`-latest` label to a new OS version we will announce the change and give sufficient lead time for users to update their workflows
|
||||
|
||||
[ubuntu-22.04]: https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2204-Readme.md
|
||||
[ubuntu-20.04]: https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md
|
||||
[ubuntu-18.04]: https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1804-Readme.md
|
||||
[windows-2022]: https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md
|
||||
[windows-2019]: https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md
|
||||
[windows-2016]: https://github.com/actions/virtual-environments/blob/main/images/win/Windows2016-Readme.md
|
||||
[macOS-11]: https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md
|
||||
[macOS-12]: https://github.com/actions/virtual-environments/blob/main/images/macos/macos-12-Readme.md
|
||||
[macOS-10.15]: https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md
|
||||
[self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ Detailed instruction can be found in [Azure documentation](https://docs.microsof
|
||||
#### How to prepare Windows build agent
|
||||
Local machine or [Azure VM](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/quick-create-cli) can be used as a build agent.
|
||||
|
||||
Download `packer` from https://www.packer.io/downloads, or install it via Chocolately.
|
||||
Download `packer` from https://www.packer.io/downloads, or install it via [Chocolatey](https://chocolatey.org/):
|
||||
```
|
||||
choco install packer
|
||||
```
|
||||
@@ -61,7 +61,7 @@ Where:
|
||||
- `SubscriptionId` - The Azure subscription Id where resources will be created.
|
||||
- `ResourceGroupName` - The Azure resource group name where the Azure resources will be created.
|
||||
- `ImageGenerationRepositoryRoot` - The root path of the image generation repository source.
|
||||
- `ImageType` - The type of the image being generated. Valid options are: "Windows2016", "Windows2019", "Windows2022", "Ubuntu1804", "Ubuntu2004".
|
||||
- `ImageType` - The type of the image being generated. Valid options are: "Windows2016", "Windows2019", "Windows2022", "Ubuntu1804", "Ubuntu2004", "Ubuntu2204".
|
||||
- `AzureLocation` - The location of the resources being created in Azure. For example "East US".
|
||||
|
||||
The function automatically creates all required Azure resources and kicks off packer image generation for the selected image type.
|
||||
@@ -72,6 +72,12 @@ For optional authentication via service principal make sure to provide the follo
|
||||
GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "myTestResourceGroup" -ImageGenerationRepositoryRoot "$pwd" -ImageType Ubuntu1804 -AzureLocation "East US" -AzureClientId {AADApplicationID} -AzureClientSecret {AADApplicationSecret} -AzureTenantId {AADTenantID}
|
||||
```
|
||||
|
||||
As extra options, you can add more params for permit to add Azure Tags on resources and enable https for Storage Account. It could be helpful on some tenants with hardenning policy. Params are — `EnableHttpsTrafficOnly` (Boolean) and `tags` (HashTable), so the whole command will be:
|
||||
|
||||
```
|
||||
GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "myTestResourceGroup" -ImageGenerationRepositoryRoot "$pwd" -ImageType Ubuntu1804 -AzureLocation "East US" -EnableHttpsTrafficOnly $true -tags @{dept="devops";env="prod"}
|
||||
```
|
||||
|
||||
*Please, check synopsis of `GenerateResourcesAndImage` for details about non-mandatory parameters.*
|
||||
|
||||
#### Generated VM Deployment
|
||||
@@ -104,7 +110,8 @@ The Packer template includes `variables` section containing user variables used
|
||||
- `build_resource_group_name` - Specify an existing resource group to run the build in it. By default, a temporary resource group will be created and destroyed as part of the build. If you do not have permission to do so, use build_resource_group_name to specify an existing resource group to run the build in it.
|
||||
- `client_id` - The application ID of the AAD Service Principal. Requires `client_secret`.
|
||||
- `object_id` - The object ID for the AAD SP. Will be derived from the oAuth token if empty.
|
||||
- `client_secret` - A password/secret registered for the AAD SP.
|
||||
- `client_secret` - The password or secret for your service principal.
|
||||
- `client_cert_path` - The location of a PEM file containing a certificate and private key for service principal.
|
||||
- `subscription_id` - The subscription to use.
|
||||
- `tenant_id` - The Active Directory tenant identifier with which your `client_id` and `subscription_id` are associated. If not specified, `tenant_id` will be looked up using `subscription_id`.
|
||||
- `resource_group` - Resource group under which the final artifact will be stored.
|
||||
|
||||
@@ -28,7 +28,7 @@ Function CreateAzureVMFromPackerTemplate {
|
||||
The location where the Azure virtual machine will be provisioned. Example: "eastus"
|
||||
|
||||
.EXAMPLE
|
||||
CreateAzureVMFromPackerTemplate -SubscriptionId {YourSubscriptionId} -ResourceGroupName {ResourceGroupName} -TemplateFile "C:\BuildVmImages\temporaryTemplate.json" -VirtualMachineName "testvm1" -AdminUsername "shady1" -AdminPassword "SomeSecurePassword1" -AzureLocation "eastus"
|
||||
CreateAzureVMFromPackerTemplate -SubscriptionId {YourSubscriptionId} -ResourceGroupName {ResourceGroupName} -TemplateFile "C:\BuildVmImages\temporaryTemplate.json" -VirtualMachineName "testvm1" -AdminUsername "shady1" -AdminPassword "SomeSecurePassword1" -AzureLocation "eastus"
|
||||
#>
|
||||
param (
|
||||
[Parameter(Mandatory = $True)]
|
||||
@@ -63,14 +63,14 @@ Function CreateAzureVMFromPackerTemplate {
|
||||
$networkId = ($nic | ConvertFrom-Json).NewNIC.id
|
||||
|
||||
Write-Host "`nCreating a public IP address"
|
||||
($publicIp = az network public-ip create -g $ResourceGroupName -l $AzureLocation -n $publicIpName --allocation-method Static --sku Standard --version IPv4 --subscription $subscriptionId -o json)
|
||||
($publicIp = az network public-ip create -g $ResourceGroupName -l $AzureLocation -n $publicIpName --allocation-method Static --sku Basic --version IPv4 --subscription $subscriptionId -o json)
|
||||
$publicIpId = ($publicIp | ConvertFrom-Json).publicIp.id
|
||||
|
||||
Write-Host "`nAdding the public IP to the NIC"
|
||||
az network nic ip-config update -g $ResourceGroupName -n ipconfig1 --nic-name $nicName --public-ip-address $publicIpId --subscription $subscriptionId
|
||||
|
||||
Write-Host "`nCreating the VM"
|
||||
az group deployment create -g $ResourceGroupName -n $VirtualMachineName --subscription $subscriptionId --template-file $templateFilePath --parameters vmSize=$vmSize vmName=$VirtualMachineName adminUserName=$AdminUsername adminPassword=$AdminPassword networkInterfaceId=$networkId
|
||||
|
||||
az deployment group create -g $ResourceGroupName -n $VirtualMachineName --subscription $subscriptionId --template-file $templateFilePath --parameters vmSize=$vmSize vmName=$VirtualMachineName adminUserName=$AdminUsername adminPassword=$AdminPassword networkInterfaceId=$networkId
|
||||
|
||||
Write-Host "`nCreated in ${ResourceGroupName}:`n vnet ${vnetName}`n subnet ${subnetName}`n nic ${nicName}`n publicip ${publicIpName}`n vm ${VirtualMachineName}"
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ enum ImageType {
|
||||
Windows2022 = 2
|
||||
Ubuntu1804 = 3
|
||||
Ubuntu2004 = 4
|
||||
Ubuntu2204 = 5
|
||||
}
|
||||
|
||||
Function Get-PackerTemplatePath {
|
||||
@@ -32,6 +33,9 @@ Function Get-PackerTemplatePath {
|
||||
([ImageType]::Ubuntu2004) {
|
||||
$relativeTemplatePath = Join-Path "linux" "ubuntu2004.json"
|
||||
}
|
||||
([ImageType]::Ubuntu2204) {
|
||||
$relativeTemplatePath = Join-Path "linux" "ubuntu2204.pkr.hcl"
|
||||
}
|
||||
default { throw "Unknown type of image" }
|
||||
}
|
||||
|
||||
@@ -58,44 +62,34 @@ Function GenerateResourcesAndImage {
|
||||
<#
|
||||
.SYNOPSIS
|
||||
A helper function to help generate an image.
|
||||
|
||||
.DESCRIPTION
|
||||
Creates Azure resources and kicks off a packer image generation for the selected image type.
|
||||
|
||||
.PARAMETER SubscriptionId
|
||||
The Azure subscription Id where resources will be created.
|
||||
|
||||
.PARAMETER ResourceGroupName
|
||||
The Azure resource group name where the Azure resources will be created.
|
||||
|
||||
.PARAMETER ImageGenerationRepositoryRoot
|
||||
The root path of the image generation repository source.
|
||||
|
||||
.PARAMETER ImageType
|
||||
The type of the image being generated. Valid options are: {"Windows2016", "Windows2019", "Windows2022", "Ubuntu1804", "Ubuntu2004"}.
|
||||
|
||||
.PARAMETER AzureLocation
|
||||
The location of the resources being created in Azure. For example "East US".
|
||||
|
||||
.PARAMETER Force
|
||||
Delete the resource group if it exists without user confirmation.
|
||||
|
||||
.PARAMETER AzureClientId
|
||||
Client id needs to be provided for optional authentication via service principal. Example: "11111111-1111-1111-1111-111111111111"
|
||||
|
||||
.PARAMETER AzureClientSecret
|
||||
Client secret needs to be provided for optional authentication via service principal. Example: "11111111-1111-1111-1111-111111111111"
|
||||
|
||||
.PARAMETER AzureTenantId
|
||||
Tenant needs to be provided for optional authentication via service principal. Example: "11111111-1111-1111-1111-111111111111"
|
||||
|
||||
.PARAMETER RestrictToAgentIpAddress
|
||||
If set, access to the VM used by packer to generate the image is restricted to the public IP address this script is run from.
|
||||
This parameter cannot be used in combination with the virtual_network_name packer parameter.
|
||||
|
||||
.PARAMETER AllowBlobPublicAccess
|
||||
The Azure storage account will be created with this option.
|
||||
|
||||
.PARAMETER OnError
|
||||
Specify how packer handles an error during image creation.
|
||||
.EXAMPLE
|
||||
GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "shsamytest1" -ImageGenerationRepositoryRoot "C:\virtual-environments" -ImageType Ubuntu1804 -AzureLocation "East US"
|
||||
#>
|
||||
@@ -125,153 +119,201 @@ Function GenerateResourcesAndImage {
|
||||
[Parameter(Mandatory = $False)]
|
||||
[bool] $AllowBlobPublicAccess = $False,
|
||||
[Parameter(Mandatory = $False)]
|
||||
[bool] $EnableHttpsTrafficOnly = $False
|
||||
[bool] $EnableHttpsTrafficOnly = $False,
|
||||
[Parameter(Mandatory = $False)]
|
||||
[ValidateSet("abort","ask","cleanup","run-cleanup-provisioner")]
|
||||
[string] $OnError = "ask",
|
||||
[Parameter(Mandatory = $False)]
|
||||
[hashtable] $Tags
|
||||
)
|
||||
|
||||
$builderScriptPath = Get-PackerTemplatePath -RepositoryRoot $ImageGenerationRepositoryRoot -ImageType $ImageType
|
||||
$ServicePrincipalClientSecret = $env:UserName + [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
$InstallPassword = $env:UserName + [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
|
||||
if ([string]::IsNullOrEmpty($AzureClientId))
|
||||
{
|
||||
Connect-AzAccount
|
||||
} else {
|
||||
$AzSecureSecret = ConvertTo-SecureString $AzureClientSecret -AsPlainText -Force
|
||||
$AzureAppCred = New-Object System.Management.Automation.PSCredential($AzureClientId, $AzSecureSecret)
|
||||
Connect-AzAccount -ServicePrincipal -Credential $AzureAppCred -Tenant $AzureTenantId
|
||||
}
|
||||
Set-AzContext -SubscriptionId $SubscriptionId
|
||||
|
||||
$alreadyExists = $true;
|
||||
try {
|
||||
Get-AzResourceGroup -Name $ResourceGroupName
|
||||
Write-Verbose "Resource group was found, will delete and recreate it."
|
||||
$builderScriptPath = Get-PackerTemplatePath -RepositoryRoot $ImageGenerationRepositoryRoot -ImageType $ImageType
|
||||
$ServicePrincipalClientSecret = $env:UserName + [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
$InstallPassword = $env:UserName + [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
|
||||
if ([string]::IsNullOrEmpty($AzureClientId))
|
||||
{
|
||||
Connect-AzAccount
|
||||
} else {
|
||||
$AzSecureSecret = ConvertTo-SecureString $AzureClientSecret -AsPlainText -Force
|
||||
$AzureAppCred = New-Object System.Management.Automation.PSCredential($AzureClientId, $AzSecureSecret)
|
||||
Connect-AzAccount -ServicePrincipal -Credential $AzureAppCred -Tenant $AzureTenantId
|
||||
}
|
||||
Set-AzContext -SubscriptionId $SubscriptionId
|
||||
|
||||
$alreadyExists = $true;
|
||||
try {
|
||||
Get-AzResourceGroup -Name $ResourceGroupName
|
||||
Write-Verbose "Resource group was found, will delete and recreate it."
|
||||
}
|
||||
catch {
|
||||
Write-Verbose "Resource group was not found, will create it."
|
||||
$alreadyExists = $false;
|
||||
}
|
||||
|
||||
if ($alreadyExists) {
|
||||
if($Force -eq $true) {
|
||||
# Cleanup the resource group if it already exitsted before
|
||||
Remove-AzResourceGroup -Name $ResourceGroupName -Force
|
||||
New-AzResourceGroup -Name $ResourceGroupName -Location $AzureLocation -Tag $tags
|
||||
|
||||
} else {
|
||||
$title = "Delete Resource Group"
|
||||
$message = "The resource group you specified already exists. Do you want to clean it up?"
|
||||
|
||||
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
|
||||
"Delete the resource group including all resources."
|
||||
|
||||
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
|
||||
"Keep the resource group and continue."
|
||||
|
||||
$stop = New-Object System.Management.Automation.Host.ChoiceDescription "&Stop", `
|
||||
"Stop the current action."
|
||||
|
||||
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no, $stop)
|
||||
$result = $host.ui.PromptForChoice($title, $message, $options, 0)
|
||||
|
||||
switch ($result)
|
||||
{
|
||||
0 { Remove-AzResourceGroup -Name $ResourceGroupName -Force; New-AzResourceGroup -Name $ResourceGroupName -Location $AzureLocation -Tag $tags }
|
||||
1 { <# Do nothing #> }
|
||||
2 { exit }
|
||||
}
|
||||
}
|
||||
} else {
|
||||
New-AzResourceGroup -Name $ResourceGroupName -Location $AzureLocation -Tag $tags
|
||||
}
|
||||
|
||||
# This script should follow the recommended naming conventions for azure resources
|
||||
$storageAccountName = if($ResourceGroupName.EndsWith("-rg")) {
|
||||
$ResourceGroupName.Substring(0, $ResourceGroupName.Length -3)
|
||||
} else { $ResourceGroupName }
|
||||
|
||||
# Resource group names may contain special characters, that are not allowed in the storage account name
|
||||
$storageAccountName = $storageAccountName.Replace("-", "").Replace("_", "").Replace("(", "").Replace(")", "").ToLower()
|
||||
$storageAccountName += "001"
|
||||
|
||||
|
||||
# Storage Account Name can only be 24 characters long
|
||||
if ($storageAccountName.Length -gt 24){
|
||||
$storageAccountName = $storageAccountName.Substring(0, 24)
|
||||
}
|
||||
|
||||
if ($tags) {
|
||||
New-AzStorageAccount -ResourceGroupName $ResourceGroupName -AccountName $storageAccountName -Location $AzureLocation -SkuName "Standard_LRS" -AllowBlobPublicAccess $AllowBlobPublicAccess -EnableHttpsTrafficOnly $EnableHttpsTrafficOnly -Tag $tags
|
||||
} else {
|
||||
New-AzStorageAccount -ResourceGroupName $ResourceGroupName -AccountName $storageAccountName -Location $AzureLocation -SkuName "Standard_LRS" -AllowBlobPublicAccess $AllowBlobPublicAccess -EnableHttpsTrafficOnly $EnableHttpsTrafficOnly
|
||||
}
|
||||
|
||||
if ([string]::IsNullOrEmpty($AzureClientId)) {
|
||||
# Interactive authentication: A service principal is created during runtime.
|
||||
$spDisplayName = [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
$startDate = Get-Date
|
||||
$endDate = $startDate.AddYears(1)
|
||||
|
||||
if ('Microsoft.Azure.Commands.ActiveDirectory.PSADPasswordCredential' -as [type]) {
|
||||
$credentials = [Microsoft.Azure.Commands.ActiveDirectory.PSADPasswordCredential]@{
|
||||
StartDate = $startDate
|
||||
EndDate = $endDate
|
||||
Password = $ServicePrincipalClientSecret
|
||||
}
|
||||
$sp = New-AzADServicePrincipal -DisplayName $spDisplayName -PasswordCredential $credentials
|
||||
$spClientId = $sp.ApplicationId
|
||||
$azRoleParam = @{
|
||||
RoleDefinitionName = "Contributor"
|
||||
ServicePrincipalName = $spClientId
|
||||
}
|
||||
}
|
||||
|
||||
if ('Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.MicrosoftGraphPasswordCredential' -as [type]) {
|
||||
$credentials = [Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.MicrosoftGraphPasswordCredential]@{
|
||||
StartDateTime = $startDate
|
||||
EndDateTime = $endDate
|
||||
}
|
||||
$sp = New-AzADServicePrincipal -DisplayName $spDisplayName
|
||||
$appCred = New-AzADAppCredential -ApplicationId $sp.AppId -PasswordCredentials $credentials
|
||||
$spClientId = $sp.AppId
|
||||
$azRoleParam = @{
|
||||
RoleDefinitionName = "Contributor"
|
||||
PrincipalId = $sp.Id
|
||||
}
|
||||
$ServicePrincipalClientSecret = $appCred.SecretText
|
||||
}
|
||||
|
||||
Start-Sleep -Seconds $SecondsToWaitForServicePrincipalSetup
|
||||
New-AzRoleAssignment @azRoleParam
|
||||
Start-Sleep -Seconds $SecondsToWaitForServicePrincipalSetup
|
||||
$sub = Get-AzSubscription -SubscriptionId $SubscriptionId
|
||||
$tenantId = $sub.TenantId
|
||||
|
||||
# Remove ADPrincipal after the script completed
|
||||
$isCleanupADPrincipal = $true
|
||||
} else {
|
||||
# Parametrized Authentication via given service principal: The service principal with the data provided via the command line
|
||||
# is used for all authentication purposes.
|
||||
$spClientId = $AzureClientId
|
||||
$credentials = $AzureAppCred
|
||||
$ServicePrincipalClientSecret = $AzureClientSecret
|
||||
$tenantId = $AzureTenantId
|
||||
}
|
||||
|
||||
Get-LatestCommit -ErrorAction SilentlyContinue
|
||||
|
||||
$packerBinary = Get-Command "packer"
|
||||
if (-not ($packerBinary)) {
|
||||
throw "'packer' binary is not found on PATH"
|
||||
}
|
||||
|
||||
if ($RestrictToAgentIpAddress) {
|
||||
$AgentIp = (Invoke-RestMethod http://ipinfo.io/json).ip
|
||||
Write-Host "Restricting access to packer generated VM to agent IP Address: $AgentIp"
|
||||
}
|
||||
|
||||
if ($builderScriptPath.Contains("pkr.hcl")) {
|
||||
if ($AgentIp) {
|
||||
$AgentIp = '[ \"{0}\" ]' -f $AgentIp
|
||||
} else {
|
||||
$AgentIp = "[]"
|
||||
}
|
||||
}
|
||||
|
||||
if ($Tags) {
|
||||
$builderScriptPath_temp = $builderScriptPath.Replace(".json", "-temp.json")
|
||||
$packer_script = Get-Content -Path $builderScriptPath | ConvertFrom-Json
|
||||
$packer_script.builders | Add-Member -Name "azure_tags" -Value $Tags -MemberType NoteProperty
|
||||
$packer_script | ConvertTo-Json -Depth 3 | Out-File $builderScriptPath_temp
|
||||
$builderScriptPath = $builderScriptPath_temp
|
||||
}
|
||||
|
||||
& $packerBinary build -on-error="$($OnError)" `
|
||||
-var "client_id=$($spClientId)" `
|
||||
-var "client_secret=$($ServicePrincipalClientSecret)" `
|
||||
-var "subscription_id=$($SubscriptionId)" `
|
||||
-var "tenant_id=$($tenantId)" `
|
||||
-var "location=$($AzureLocation)" `
|
||||
-var "resource_group=$($ResourceGroupName)" `
|
||||
-var "storage_account=$($storageAccountName)" `
|
||||
-var "install_password=$($InstallPassword)" `
|
||||
-var "allowed_inbound_ip_addresses=$($AgentIp)" `
|
||||
$builderScriptPath
|
||||
}
|
||||
catch {
|
||||
Write-Verbose "Resource group was not found, will create it."
|
||||
$alreadyExists = $false;
|
||||
Write-Error $_
|
||||
}
|
||||
finally {
|
||||
# Remove ADServicePrincipal and ADApplication
|
||||
if ($isCleanupADPrincipal) {
|
||||
Write-Host "`nRemoving ${spDisplayName}/${spClientId}:"
|
||||
if (Get-AzADServicePrincipal -DisplayName $spDisplayName) {
|
||||
Write-Host " [+] ADServicePrincipal"
|
||||
Remove-AzADServicePrincipal -DisplayName $spDisplayName -Confirm:$false
|
||||
}
|
||||
|
||||
if ($alreadyExists) {
|
||||
if($Force -eq $true) {
|
||||
# Cleanup the resource group if it already exitsted before
|
||||
Remove-AzResourceGroup -Name $ResourceGroupName -Force
|
||||
New-AzResourceGroup -Name $ResourceGroupName -Location $AzureLocation
|
||||
} else {
|
||||
$title = "Delete Resource Group"
|
||||
$message = "The resource group you specified already exists. Do you want to clean it up?"
|
||||
|
||||
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
|
||||
"Delete the resource group including all resources."
|
||||
|
||||
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
|
||||
"Keep the resource group and continue."
|
||||
|
||||
$stop = New-Object System.Management.Automation.Host.ChoiceDescription "&Stop", `
|
||||
"Stop the current action."
|
||||
|
||||
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no, $stop)
|
||||
$result = $host.ui.PromptForChoice($title, $message, $options, 0)
|
||||
|
||||
switch ($result)
|
||||
{
|
||||
0 { Remove-AzResourceGroup -Name $ResourceGroupName -Force; New-AzResourceGroup -Name $ResourceGroupName -Location $AzureLocation }
|
||||
1 { <# Do nothing #> }
|
||||
2 { exit }
|
||||
if (Get-AzADApplication -DisplayName $spDisplayName) {
|
||||
Write-Host " [+] ADApplication"
|
||||
Remove-AzADApplication -DisplayName $spDisplayName -Confirm:$false
|
||||
}
|
||||
}
|
||||
} else {
|
||||
New-AzResourceGroup -Name $ResourceGroupName -Location $AzureLocation
|
||||
}
|
||||
|
||||
# This script should follow the recommended naming conventions for azure resources
|
||||
$storageAccountName = if($ResourceGroupName.EndsWith("-rg")) {
|
||||
$ResourceGroupName.Substring(0, $ResourceGroupName.Length -3)
|
||||
} else { $ResourceGroupName }
|
||||
|
||||
# Resource group names may contain special characters, that are not allowed in the storage account name
|
||||
$storageAccountName = $storageAccountName.Replace("-", "").Replace("_", "").Replace("(", "").Replace(")", "").ToLower()
|
||||
$storageAccountName += "001"
|
||||
|
||||
|
||||
# Storage Account Name can only be 24 characters long
|
||||
if ($storageAccountName.Length -gt 24){
|
||||
$storageAccountName = $storageAccountName.Substring(0, 24)
|
||||
}
|
||||
|
||||
New-AzStorageAccount -ResourceGroupName $ResourceGroupName -AccountName $storageAccountName -Location $AzureLocation -SkuName "Standard_LRS" -AllowBlobPublicAccess $AllowBlobPublicAccess -EnableHttpsTrafficOnly $EnableHttpsTrafficOnly
|
||||
|
||||
if ([string]::IsNullOrEmpty($AzureClientId)) {
|
||||
# Interactive authentication: A service principal is created during runtime.
|
||||
$spDisplayName = [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
$startDate = Get-Date
|
||||
$endDate = $startDate.AddYears(1)
|
||||
|
||||
if ('Microsoft.Azure.Commands.ActiveDirectory.PSADPasswordCredential' -as [type]) {
|
||||
$credentials = [Microsoft.Azure.Commands.ActiveDirectory.PSADPasswordCredential]@{
|
||||
StartDate = $startDate
|
||||
EndDate = $endDate
|
||||
Password = $ServicePrincipalClientSecret
|
||||
}
|
||||
$sp = New-AzADServicePrincipal -DisplayName $spDisplayName -PasswordCredential $credentials
|
||||
$spClientId = $sp.ApplicationId
|
||||
$azRoleParam = @{
|
||||
RoleDefinitionName = "Contributor"
|
||||
ServicePrincipalName = $spClientId
|
||||
}
|
||||
}
|
||||
|
||||
if ('Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.MicrosoftGraphPasswordCredential' -as [type]) {
|
||||
$credentials = [Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.MicrosoftGraphPasswordCredential]@{
|
||||
StartDateTime = $startDate
|
||||
EndDateTime = $endDate
|
||||
}
|
||||
$sp = New-AzADServicePrincipal -DisplayName $spDisplayName
|
||||
$appCred = New-AzADAppCredential -ApplicationId $sp.AppId -PasswordCredentials $credentials
|
||||
$spClientId = $sp.AppId
|
||||
$azRoleParam = @{
|
||||
RoleDefinitionName = "Contributor"
|
||||
PrincipalId = $sp.Id
|
||||
}
|
||||
$ServicePrincipalClientSecret = $appCred.SecretText
|
||||
}
|
||||
|
||||
Start-Sleep -Seconds $SecondsToWaitForServicePrincipalSetup
|
||||
New-AzRoleAssignment @azRoleParam
|
||||
Start-Sleep -Seconds $SecondsToWaitForServicePrincipalSetup
|
||||
$sub = Get-AzSubscription -SubscriptionId $SubscriptionId
|
||||
$tenantId = $sub.TenantId
|
||||
# "", "Note this variable-setting script for running Packer with these Azure resources in the future:", "==============================================================================================", "`$spClientId = `"$spClientId`"", "`$ServicePrincipalClientSecret = `"$ServicePrincipalClientSecret`"", "`$SubscriptionId = `"$SubscriptionId`"", "`$tenantId = `"$tenantId`"", "`$spObjectId = `"$spObjectId`"", "`$AzureLocation = `"$AzureLocation`"", "`$ResourceGroupName = `"$ResourceGroupName`"", "`$storageAccountName = `"$storageAccountName`"", "`$install_password = `"$install_password`"", ""
|
||||
} else {
|
||||
# Parametrized Authentication via given service principal: The service principal with the data provided via the command line
|
||||
# is used for all authentication purposes.
|
||||
$spClientId = $AzureClientId
|
||||
$credentials = $AzureAppCred
|
||||
$ServicePrincipalClientSecret = $AzureClientSecret
|
||||
$tenantId = $AzureTenantId
|
||||
}
|
||||
|
||||
Get-LatestCommit -ErrorAction SilentlyContinue
|
||||
|
||||
$packerBinary = Get-Command "packer"
|
||||
if (-not ($packerBinary)) {
|
||||
throw "'packer' binary is not found on PATH"
|
||||
}
|
||||
|
||||
if($RestrictToAgentIpAddress -eq $true) {
|
||||
$AgentIp = (Invoke-RestMethod http://ipinfo.io/json).ip
|
||||
Write-Host "Restricting access to packer generated VM to agent IP Address: $AgentIp"
|
||||
}
|
||||
|
||||
& $packerBinary build -on-error=ask `
|
||||
-var "client_id=$($spClientId)" `
|
||||
-var "client_secret=$($ServicePrincipalClientSecret)" `
|
||||
-var "subscription_id=$($SubscriptionId)" `
|
||||
-var "tenant_id=$($tenantId)" `
|
||||
-var "location=$($AzureLocation)" `
|
||||
-var "resource_group=$($ResourceGroupName)" `
|
||||
-var "storage_account=$($storageAccountName)" `
|
||||
-var "install_password=$($InstallPassword)" `
|
||||
-var "allowed_inbound_ip_addresses=$($AgentIp)" `
|
||||
$builderScriptPath
|
||||
}
|
||||
|
||||
@@ -31,7 +31,10 @@ jobs:
|
||||
$ImageType = "${{ parameters.image_type }}"
|
||||
$TemplateDirectoryName = if ($ImageType.StartsWith("ubuntu")) { "linux" } else { "win" }
|
||||
$TemplateDirectoryPath = Join-Path "images" $TemplateDirectoryName | Resolve-Path
|
||||
$TemplatePath = Join-Path $TemplateDirectoryPath "$ImageType.json"
|
||||
$TemplatePath = Join-Path $TemplateDirectoryPath "$ImageType.pkr.hcl"
|
||||
if ( -not (Test-Path $TemplatePath) ) {
|
||||
$TemplatePath = Join-Path $TemplateDirectoryPath "$ImageType.json"
|
||||
}
|
||||
Write-Host "##vso[task.setvariable variable=TemplateDirectoryPath;]$TemplateDirectoryPath"
|
||||
Write-Host "##vso[task.setvariable variable=TemplatePath;]$TemplatePath"
|
||||
|
||||
|
||||
20
images.CI/linux-and-win/azure-pipelines/ubuntu2204.yml
Normal file
20
images.CI/linux-and-win/azure-pipelines/ubuntu2204.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_type: ubuntu2204
|
||||
image_readme_name: Ubuntu2204-Readme.md
|
||||
@@ -8,9 +8,9 @@ param(
|
||||
[String] [Parameter (Mandatory=$true)] $StorageAccount,
|
||||
[String] [Parameter (Mandatory=$true)] $SubscriptionId,
|
||||
[String] [Parameter (Mandatory=$true)] $TenantId,
|
||||
[String] [Parameter (Mandatory=$true)] $VirtualNetworkName,
|
||||
[String] [Parameter (Mandatory=$true)] $VirtualNetworkRG,
|
||||
[String] [Parameter (Mandatory=$true)] $VirtualNetworkSubnet
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkName,
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkRG,
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet
|
||||
)
|
||||
|
||||
if (-not (Test-Path $TemplatePath))
|
||||
@@ -19,7 +19,7 @@ if (-not (Test-Path $TemplatePath))
|
||||
exit 1
|
||||
}
|
||||
|
||||
$Image = [io.path]::GetFileNameWithoutExtension($TemplatePath)
|
||||
$Image = [io.path]::GetFileName($TemplatePath).Split(".")[0]
|
||||
$TempResourceGroupName = "${ResourcesNamePrefix}_${Image}"
|
||||
$InstallPassword = [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
|
||||
@@ -59,4 +59,4 @@ packer build -var "capture_name_prefix=$ResourcesNamePrefix" `
|
||||
$currentString = $_
|
||||
$sensitiveString = $SensitiveData | Where-Object { $currentString -match $_ }
|
||||
$sensitiveString -eq $null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,10 +14,10 @@ $TempResourceGroupName = "${ResourcesNamePrefix}_${Image}"
|
||||
|
||||
$groupExist = az group exists --name $TempResourceGroupName --subscription $SubscriptionId
|
||||
if ($groupExist -eq "true") {
|
||||
$osDiskName = az group deployment list --resource-group $TempResourceGroupName --query "[].properties.parameters.osDiskName.value" -o tsv
|
||||
$osDiskName = az deployment group list --resource-group $TempResourceGroupName --query "[].properties.parameters.osDiskName.value" -o tsv
|
||||
Write-Host "Found a match, deleting temporary files"
|
||||
az group delete --name $TempResourceGroupName --subscription $SubscriptionId --yes | Out-Null
|
||||
Write-Host "Temporary group was deleted succesfully"
|
||||
Write-Host "Temporary group was deleted successfully"
|
||||
Write-Host "Deleting OS disk"
|
||||
az storage remove --account-name $StorageAccount -c "images" -n "$osDiskName.vhd" --only-show-errors | Out-Null
|
||||
Write-Host "OS disk deleted"
|
||||
|
||||
@@ -26,6 +26,7 @@ $headers = @{
|
||||
Authorization = "Basic ${base64AuthInfo}"
|
||||
}
|
||||
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -bor [Net.SecurityProtocolType]::Tls13
|
||||
$NewRelease = Invoke-RestMethod $URL -Body $Body -Method "POST" -Headers $headers -ContentType "application/json"
|
||||
|
||||
Write-Host "Created release: $($NewRelease._links.web.href)"
|
||||
@@ -197,7 +197,14 @@ function Wait-AnkaVMIPAddress {
|
||||
[int] $Seconds = 60
|
||||
)
|
||||
|
||||
$condition = { Get-AnkaVMIPAddress -VMName $VMName }
|
||||
$condition = {
|
||||
$vmStatus = Get-AnkaVMStatus -VMName $VMName
|
||||
if ($vmStatus -eq "failed") {
|
||||
Write-Host "`t [-] $VMName is in failed status"
|
||||
exit 1
|
||||
}
|
||||
Get-AnkaVMIPAddress -VMName $VMName
|
||||
}
|
||||
$null = Invoke-WithRetry -BreakCondition $condition -RetryCount $RetryCount -Seconds $Seconds
|
||||
}
|
||||
|
||||
|
||||
@@ -1,44 +1,46 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[Ubuntu] PHP 7.1 will be removed from Ubuntu 18 on April, 18](https://github.com/actions/virtual-environments/issues/5326) |
|
||||
| [[All OSs] Go versions less than 1.16 will be removed and the default will be set to 1.17 on April, 11](https://github.com/actions/virtual-environments/issues/5280) |
|
||||
| [[all OSs] Android ndk-bundle along with old NDK versions will be deprecated on July, 24](https://github.com/actions/virtual-environments/issues/5879) |
|
||||
| [(Public Beta) Ubuntu 22.04 is now available](https://github.com/actions/virtual-environments/issues/5490) |
|
||||
***
|
||||
# Ubuntu 18.04.6 LTS
|
||||
- Linux kernel version: 5.4.0-1074-azure
|
||||
- Image Version: 20220410.2
|
||||
- Linux kernel version: 5.4.0-1086-azure
|
||||
- Image Version: 20220717.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- Bash 4.4.20(1)-release
|
||||
- Clang 9.0.0
|
||||
- Clang-format 9.0.0
|
||||
- Erlang 24.3.3 (Eshell 12.3.1)
|
||||
- Erlang rebar3 3.18.0
|
||||
- Clang-tidy 9.0.0
|
||||
- Dash 0.5.8-2.10
|
||||
- Erlang 25.0.2 (Eshell 13.0.2)
|
||||
- Erlang rebar3 3.19.0
|
||||
- GNU C++ 7.5.0, 9.4.0, 10.3.0
|
||||
- GNU Fortran 7.5.0, 9.4.0, 10.3.0
|
||||
- Julia 1.7.2
|
||||
- Kotlin 1.6.20-release-275
|
||||
- Mono 6.12.0.122 (apt source repository: https://download.mono-project.com/repo/ubuntu stable-bionic main)
|
||||
- MSBuild 16.6.0.15201 (from /usr/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node 16.14.2
|
||||
- Julia 1.7.3
|
||||
- Kotlin 1.7.10-release-333
|
||||
- Mono 6.12.0.182 (apt source repository: https://download.mono-project.com/repo/ubuntu stable-bionic main)
|
||||
- MSBuild 16.10.1.31701 (from /usr/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node 16.16.0
|
||||
- Perl 5.26.1
|
||||
- Python 2.7.17
|
||||
- Python3 3.6.9
|
||||
- Ruby 2.5.1p57
|
||||
- Swift 5.6.1
|
||||
- Swift 5.6.2
|
||||
|
||||
### Package Management
|
||||
- cpan 1.64
|
||||
- Helm 3.8.1
|
||||
- Homebrew 3.4.6
|
||||
- Miniconda 4.11.0
|
||||
- Npm 8.5.0
|
||||
- Helm 3.9.1
|
||||
- Homebrew 3.5.4
|
||||
- Miniconda 4.12.0
|
||||
- Npm 8.11.0
|
||||
- Pip 9.0.1
|
||||
- Pip3 9.0.1
|
||||
- Pipx 1.0.0
|
||||
- RubyGems 2.7.6
|
||||
- Vcpkg (build from master \<f6af75acc>)
|
||||
- Yarn 1.22.18
|
||||
- Vcpkg (build from master \<68b7fec22>)
|
||||
- Yarn 1.22.19
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -48,162 +50,166 @@
|
||||
|
||||
### Project Management
|
||||
- Ant 1.10.5
|
||||
- Gradle 7.4.2
|
||||
- Maven 3.8.5
|
||||
- Sbt 1.6.2
|
||||
- Gradle 7.5
|
||||
- Maven 3.8.6
|
||||
- Sbt 1.7.1
|
||||
|
||||
### Tools
|
||||
- Ansible 2.11.10
|
||||
- Ansible 2.11.12
|
||||
- apt-fast 1.9.12
|
||||
- AzCopy 10.14.1 (available by `azcopy` and `azcopy10` aliases)
|
||||
- Bazel 5.1.1
|
||||
- Bazelisk 1.11.0
|
||||
- Bicep 0.5.6
|
||||
- Buildah 1.19.6 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- CMake 3.23.0
|
||||
- CodeQL Action Bundle 2.8.5
|
||||
- AzCopy 10.15.0 (available by `azcopy` and `azcopy10` aliases)
|
||||
- Bazel 5.2.0
|
||||
- Bazelisk 1.12.0
|
||||
- Bicep 0.8.9
|
||||
- Buildah 1.22.3 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- CMake 3.23.2
|
||||
- CodeQL Action Bundle 2.10.0
|
||||
- Docker Amazon ECR Credential Helper 0.6.0
|
||||
- Docker Compose v1 1.29.2
|
||||
- Docker Compose v2 2.4.1+azure-1
|
||||
- Docker Compose v2 2.6.1+azure-1
|
||||
- Docker-Buildx 0.8.2
|
||||
- Docker-Moby Client 20.10.14+azure-1
|
||||
- Docker-Moby Server 20.10.14+azure-1
|
||||
- Git 2.35.1 (apt source repository: ppa:git-core/ppa)
|
||||
- Git LFS 3.1.2 (apt source repository: https://packagecloud.io/install/repositories/github/git-lfs)
|
||||
- Docker-Moby Client 20.10.17+azure-1
|
||||
- Docker-Moby Server 20.10.17+azure-1
|
||||
- Git 2.37.1 (apt source repository: ppa:git-core/ppa)
|
||||
- Git LFS 3.2.0 (apt source repository: https://packagecloud.io/install/repositories/github/git-lfs)
|
||||
- Git-ftp 1.3.1
|
||||
- Haveged 1.9.1
|
||||
- Heroku 7.60.1
|
||||
- HHVM (HipHop VM) 4.156.0
|
||||
- Heroku 7.60.2
|
||||
- HHVM (HipHop VM) 4.164.0
|
||||
- jq 1.5
|
||||
- Kind 0.12.0
|
||||
- Kubectl 1.23.5
|
||||
- Kustomize 4.5.4
|
||||
- Kind 0.14.0
|
||||
- Kubectl 1.24.3
|
||||
- Kustomize 4.5.5
|
||||
- Leiningen 2.9.8
|
||||
- MediaInfo 17.12
|
||||
- Mercurial 4.5.3
|
||||
- Minikube 1.25.2
|
||||
- n 8.1.0
|
||||
- Minikube 1.26.0
|
||||
- n 9.0.0
|
||||
- Newman 5.3.2
|
||||
- nvm 0.39.1
|
||||
- OpenSSL 1.1.1 11 Sep 2018
|
||||
- Packer 1.8.0
|
||||
- Parcel 2.4.1
|
||||
- OpenSSL 1.1.1-1ubuntu2.1~18.04.20
|
||||
- Packer 1.8.2
|
||||
- Parcel 2.6.2
|
||||
- PhantomJS 2.1.1
|
||||
- Podman 3.0.1 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- Pulumi 3.28.0
|
||||
- R 4.1.3
|
||||
- Skopeo 1.2.2 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- Podman 3.4.2 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- Pulumi 3.36.0
|
||||
- R 4.2.0
|
||||
- Skopeo 1.5.0 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- Sphinx Open Source Search Server 2.2.11
|
||||
- SVN 1.9.7
|
||||
- Terraform 1.1.8
|
||||
- yamllint 1.26.3
|
||||
- yq 4.24.2
|
||||
- Terraform 1.2.5
|
||||
- yamllint 1.27.1
|
||||
- yq 4.26.1
|
||||
- zstd 1.5.2 (homebrew)
|
||||
|
||||
### CLI Tools
|
||||
- Alibaba Cloud CLI 3.0.116
|
||||
- AWS CLI 1.22.92
|
||||
- AWS CLI Session manager plugin 1.2.312.0
|
||||
- AWS SAM CLI 1.46.0
|
||||
- Azure CLI (azure-cli) 2.35.0 (installation method: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt)
|
||||
- Alibaba Cloud CLI 3.0.124
|
||||
- AWS CLI 2.7.16
|
||||
- AWS CLI Session manager plugin 1.2.339.0
|
||||
- AWS SAM CLI 1.53.0
|
||||
- Azure CLI (azure-cli) 2.38.0 (installation method: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt)
|
||||
- Azure CLI (azure-devops) 0.25.0
|
||||
- GitHub CLI 2.7.0
|
||||
- GitHub CLI 2.14.2
|
||||
- Google Cloud SDK 369.0.0 (apt source repository: https://packages.cloud.google.com/apt)
|
||||
- Hub CLI 2.14.2
|
||||
- Netlify CLI 9.16.4
|
||||
- OpenShift CLI 4.10.8
|
||||
- ORAS CLI 0.12.0
|
||||
- Vercel CLI 24.0.1
|
||||
- Netlify CLI 10.10.0
|
||||
- OpenShift CLI 4.10.22
|
||||
- ORAS CLI 0.13.0
|
||||
- Vercel CLI 27.1.5
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
| ------------------- | --------------- | -------------------- |
|
||||
| 8.0.322+6 (default) | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.14+1 | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 8.0.332+9 (default) | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.15+10 | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 12.0.2+10 | Adopt OpenJDK | JAVA_HOME_12_X64 |
|
||||
| 17.0.2+8 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
| 17.0.3+7 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
|
||||
### PHP
|
||||
| Tool | Version |
|
||||
| -------- | ---------------------------------------- |
|
||||
| PHP | 7.1.33 7.2.34 7.3.33 7.4.28 8.0.17 8.1.4 |
|
||||
| Composer | 2.2.9 |
|
||||
| PHPUnit | 8.5.26 |
|
||||
| Tool | Version |
|
||||
| -------- | --------------------------------- |
|
||||
| PHP | 7.2.34 7.3.33 7.4.30 8.0.21 8.1.8 |
|
||||
| Composer | 2.3.10 |
|
||||
| PHPUnit | 8.5.27 |
|
||||
```
|
||||
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||
```
|
||||
### Haskell
|
||||
- Cabal 3.6.2.0
|
||||
- GHC 9.2.2
|
||||
- GHCup 0.1.17.6
|
||||
- GHC 9.2.3
|
||||
- GHCup 0.1.17.8
|
||||
- Stack 2.7.5
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.60.0
|
||||
- Rust 1.60.0
|
||||
- Rustdoc 1.60.0
|
||||
- Rustup 1.24.3
|
||||
- Cargo 1.62.0
|
||||
- Rust 1.62.0
|
||||
- Rustdoc 1.62.0
|
||||
- Rustup 1.25.1
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.59.2
|
||||
- Cargo audit 0.16.0
|
||||
- Cargo clippy 0.1.60
|
||||
- Cargo outdated
|
||||
- Cbindgen 0.21.0
|
||||
- Bindgen 0.60.1
|
||||
- Cargo audit 0.17.0
|
||||
- Cargo clippy 0.1.62
|
||||
- Cargo outdated 0.11.1
|
||||
- Cbindgen 0.24.3
|
||||
- Rustfmt 1.4.38
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 100.0.4896.75
|
||||
- ChromeDriver 100.0.4896.60
|
||||
- Mozilla Firefox 99.0
|
||||
- Google Chrome 103.0.5060.114
|
||||
- ChromeDriver 103.0.5060.53
|
||||
- Chromium 103.0.5060.0
|
||||
- Microsoft Edge 103.0.1264.62 (apt source repository: https://packages.microsoft.com/repos/edge)
|
||||
- Microsoft Edge WebDriver 103.0.1264.62
|
||||
- Selenium server 4.3.0
|
||||
- Mozilla Firefox 102.0
|
||||
- Geckodriver 0.31.0
|
||||
- Chromium 100.0.4896.0
|
||||
- Selenium server 4.1.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------------------------- |
|
||||
| CHROMEWEBDRIVER | /usr/local/share/chrome_driver |
|
||||
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
|
||||
| GECKOWEBDRIVER | /usr/local/share/gecko_driver |
|
||||
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
|
||||
|
||||
### .NET Core SDK
|
||||
- 3.1.120 3.1.202 3.1.302 3.1.417 5.0.104 5.0.212 5.0.303 5.0.406 6.0.201
|
||||
- 3.1.120 3.1.202 3.1.302 3.1.421 5.0.104 5.0.214 5.0.303 5.0.408 6.0.302
|
||||
|
||||
### .NET tools
|
||||
- nbgv 3.4.255+06fb9182bf
|
||||
- nbgv 3.5.108+6e793d63d3
|
||||
|
||||
### Databases
|
||||
- MongoDB 5.0.7 (apt source repository: https://repo.mongodb.org/apt/ubuntu)
|
||||
- MongoDB 5.0.9 (apt source repository: https://repo.mongodb.org/apt/ubuntu)
|
||||
- sqlite3 3.22.0
|
||||
|
||||
#### PostgreSQL
|
||||
- PostgreSQL 14.2 (apt source repository: https://apt.postgresql.org/pub/repos/apt/)
|
||||
- PostgreSQL 14.4 (apt source repository: https://apt.postgresql.org/pub/repos/apt/)
|
||||
- PostgreSQL Server (user:postgres)
|
||||
|
||||
```
|
||||
PostgreSQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start postgresql.service'
|
||||
```
|
||||
#### MySQL
|
||||
- MySQL 5.7.37
|
||||
- MySQL 5.7.38
|
||||
- MySQL Server (user:root password:root)
|
||||
|
||||
```
|
||||
MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service'
|
||||
```
|
||||
#### MS SQL Server Client Tools
|
||||
- sqlcmd 17.9.0001.1
|
||||
- SqlPackage 16.0.5400.1
|
||||
- sqlcmd 17.10.0001.1
|
||||
- SqlPackage 16.0.6161.0
|
||||
|
||||
### Cached Tools
|
||||
#### Go
|
||||
- 1.16.15
|
||||
- 1.17.8
|
||||
- 1.18.0
|
||||
- 1.17.12
|
||||
- 1.18.4
|
||||
|
||||
#### Node.js
|
||||
- 12.22.12
|
||||
- 14.19.1
|
||||
- 16.14.2
|
||||
- 14.20.0
|
||||
- 16.16.0
|
||||
|
||||
#### PyPy
|
||||
- 2.7.18 [PyPy 7.3.9]
|
||||
@@ -213,37 +219,38 @@
|
||||
#### Python
|
||||
- 2.7.18
|
||||
- 3.6.15
|
||||
- 3.7.12
|
||||
- 3.8.12
|
||||
- 3.9.12
|
||||
- 3.10.4
|
||||
- 3.7.13
|
||||
- 3.8.13
|
||||
- 3.9.13
|
||||
- 3.10.5
|
||||
|
||||
#### Ruby
|
||||
- 2.4.10
|
||||
- 2.5.9
|
||||
- 2.6.9
|
||||
- 2.7.5
|
||||
- 3.0.3
|
||||
- 2.6.10
|
||||
- 2.7.6
|
||||
- 3.0.4
|
||||
- 3.1.2
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value | Architecture |
|
||||
| --------------- | ----------------------------------- | ------------ |
|
||||
| GOROOT_1_16_X64 | /opt/hostedtoolcache/go/1.16.15/x64 | x64 |
|
||||
| GOROOT_1_17_X64 | /opt/hostedtoolcache/go/1.17.8/x64 | x64 |
|
||||
| GOROOT_1_18_X64 | /opt/hostedtoolcache/go/1.18.0/x64 | x64 |
|
||||
| GOROOT_1_17_X64 | /opt/hostedtoolcache/go/1.17.12/x64 | x64 |
|
||||
| GOROOT_1_18_X64 | /opt/hostedtoolcache/go/1.18.4/x64 | x64 |
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.2.2
|
||||
- PowerShell 7.2.5
|
||||
|
||||
#### PowerShell Modules
|
||||
| Module | Version |
|
||||
| --------------- | ------- |
|
||||
| MarkdownPS | 1.9 |
|
||||
| Microsoft.Graph | 1.9.3 |
|
||||
| Pester | 5.3.1 |
|
||||
| Microsoft.Graph | 1.10.0 |
|
||||
| Pester | 5.3.3 |
|
||||
|
||||
#### Az PowerShell Modules
|
||||
- 7.1.0 3.1.0.zip 4.4.0.zip 5.9.0.zip 6.6.0.zip
|
||||
- 7.5.0 3.1.0.zip 4.4.0.zip 5.9.0.zip 6.6.0.zip
|
||||
|
||||
### Web Servers
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
@@ -252,29 +259,29 @@
|
||||
| nginx | 1.14.0 | /etc/nginx/nginx.conf | inactive | 80 |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 4.0 |
|
||||
| Android Emulator | 31.2.9 |
|
||||
| Android SDK Build-tools | 32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platform-Tools | 33.0.1 |
|
||||
| Android SDK Platforms | android-32 (rev 1)<br>android-31 (rev 1)<br>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) |
|
||||
| Android SDK Tools | 26.1.1 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1 |
|
||||
| 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 Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 21.4.7075529 (default)<br>23.1.7779620 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 7.0 |
|
||||
| Android Emulator | 31.2.10 |
|
||||
| Android SDK Build-tools | 33.0.0<br>32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platform-Tools | 33.0.2 |
|
||||
| Android SDK Platforms | android-33 (rev 2)<br>android-32 (rev 1)<br>android-31 (rev 1)<br>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) |
|
||||
| Android SDK Tools | 26.1.1 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1 |
|
||||
| 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 Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 21.4.7075529<br>23.2.8568313 (default)<br>24.0.8215888 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | ------------------------------------------------------------------------------------ |
|
||||
| ANDROID_HOME | /usr/local/lib/android/sdk |
|
||||
| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/23.1.7779620 |
|
||||
| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/24.0.8215888 |
|
||||
| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_SDK_ROOT | /usr/local/lib/android/sdk |
|
||||
|
||||
### Cached Docker images
|
||||
@@ -283,22 +290,22 @@
|
||||
| alpine:3.12 | sha256:c75ac27b49326926b803b9ed43bf088bc220d22556de1bc5f72d742c91398f69 | 2022-04-05 |
|
||||
| alpine:3.13 | sha256:ccf92aa53bc6c3b25be2ad0cce80baec1778f007f7e076b0ffbd1b225d0b3a9b | 2022-04-05 |
|
||||
| alpine:3.14 | sha256:06b5d462c92fc39303e6363c65e074559f8d6b1363250027ed5053557e3398c5 | 2022-04-05 |
|
||||
| buildpack-deps:bullseye | sha256:b22e1a6daf16ea7e682e1d813aac528bb027f0772dc819716b4f41fbb06a3ffc | 2022-03-29 |
|
||||
| buildpack-deps:buster | sha256:2c7b57f137d4ec1346ab226acd3eeac4f143ae2adc65a8abbd64489233065773 | 2022-03-29 |
|
||||
| buildpack-deps:stretch | sha256:9cee83a572cc5f844548ee5f29eb0284772a162f312d7f049ad178207a0bae6d | 2022-03-29 |
|
||||
| debian:10 | sha256:1b236b48c1ef66fa08535a5153266f4959bf58f948db3e68f7d678b651d8e33a | 2022-03-29 |
|
||||
| debian:11 | sha256:87eefc7c15610cca61db5c0fd280911c6a737c0680d807432c0bd80cd0cca39b | 2022-03-29 |
|
||||
| debian:9 | sha256:a8cc1744bbdd5266678e3e8b3e6387e45c053218438897e86876f2eb104e5534 | 2022-03-29 |
|
||||
| moby/buildkit:latest | sha256:bd37f0b5567084cd6f4b1c73b7fed9e12258441d064cc2add29a7dd32243ff86 | 2022-04-07 |
|
||||
| node:12 | sha256:461c7f8b5e042fa7f47620cbee7772e76ce3fa0891edaab29bf7ebf0e84b9a1a | 2022-03-31 |
|
||||
| node:12-alpine | sha256:bbc10cf532971046b490806de40f5959fa3bdd0acb82955847bdb0ffd1ab4854 | 2022-04-05 |
|
||||
| node:14 | sha256:b2d1c5df5e001b694115f64f4532c7eec2e5dbd73db6e0caacf0049bd0aed7d2 | 2022-03-31 |
|
||||
| node:14-alpine | sha256:8845b4f88f64f8c56a39236648ba22946e806a6153c10911f77b70e5a2edb4ca | 2022-04-05 |
|
||||
| node:16 | sha256:ffe804d6fcced29bcfc3477de079d03a9c2b0e4917e44bfeafb1a6b0f875e383 | 2022-03-31 |
|
||||
| node:16-alpine | sha256:28bed508446db2ee028d08e76fb47b935defa26a84986ca050d2596ea67fd506 | 2022-04-05 |
|
||||
| buildpack-deps:bullseye | sha256:4cbb6d56f192ea1868bdbc441269d0343c90b201c973931aaa6722300118d463 | 2022-07-12 |
|
||||
| buildpack-deps:buster | sha256:3ab2863d37b2d037440b4a153a8fb3c79e935030fd47cef21b698688ce72f66e | 2022-07-12 |
|
||||
| buildpack-deps:stretch | sha256:78e995165a5788c2f55aed6e548d8f6c1534830d4310c870408fccb2da8c5b2e | 2022-06-23 |
|
||||
| debian:10 | sha256:0685c900f6e691bdda6980c0ed0779d20183bc58770059b64adb56cb8a3129f0 | 2022-07-12 |
|
||||
| debian:11 | sha256:2ce44bbc00a79113c296d9d25524e15d423b23303fdbbe20190d2f96e0aeb251 | 2022-07-12 |
|
||||
| debian:9 | sha256:c5c5200ff1e9c73ffbf188b4a67eb1c91531b644856b4aefe86a58d2f0cb05be | 2022-06-23 |
|
||||
| moby/buildkit:latest | sha256:0dc312b04eac1b44cd2cad566deb1e886c753109208affbbec8384f381ff7f38 | 2022-05-06 |
|
||||
| node:12 | sha256:01627afeb110b3054ba4a1405541ca095c8bfca1cb6f2be9479c767a2711879e | 2022-04-20 |
|
||||
| node:12-alpine | sha256:d4b15b3d48f42059a15bd659be60afe21762aae9d6cbea6f124440895c27db68 | 2022-04-11 |
|
||||
| node:14 | sha256:a086a11f7780399837ea0465ac8a8e8f14f2b66fe5a110fe0c24644d53a103c5 | 2022-07-12 |
|
||||
| node:14-alpine | sha256:2af507df45e7c0a46c6b3001ce0dbc6924f7b39864d442045f781361a1971975 | 2022-07-08 |
|
||||
| node:16 | sha256:2e1b4542d4a06e0e0442dc38af1f4828760aecc9db2b95e7df87f573640d98cd | 2022-07-12 |
|
||||
| node:16-alpine | sha256:554142f9a6367f1fbd776a1b2048fab3a2cc7aa477d7fe9c00ce0f110aa45716 | 2022-07-08 |
|
||||
| ubuntu:16.04 | sha256:20858ebbc96215d6c3c574f781133ebffdc7c18d98af4f294cc4c04871a6fe61 | 2021-08-31 |
|
||||
| ubuntu:18.04 | sha256:982d72c16416b09ffd2f71aa381f761422085eda1379dc66b668653607969e38 | 2022-04-05 |
|
||||
| ubuntu:20.04 | sha256:9101220a875cee98b016668342c489ff0674f247f6ca20dfc91b91c0f28581ae | 2022-04-05 |
|
||||
| ubuntu:18.04 | sha256:478caf1bec1afd54a58435ec681c8755883b7eb843a8630091890130b15a79af | 2022-06-06 |
|
||||
| ubuntu:20.04 | sha256:fd92c36d3cb9b1d027c4d2a72c6bf0125da82425fc2ca37c414d4f010180dc19 | 2022-06-06 |
|
||||
|
||||
### Installed apt packages
|
||||
| Name | Version |
|
||||
@@ -312,44 +319,44 @@
|
||||
| build-essential | 12.4ubuntu1 |
|
||||
| bzip2 | 1.0.6-8.1ubuntu0.2 |
|
||||
| coreutils | 8.28-1ubuntu1 |
|
||||
| curl | 7.58.0-2ubuntu3.16 |
|
||||
| dbus | 1.12.2-1ubuntu1.2 |
|
||||
| curl | 7.58.0-2ubuntu3.19 |
|
||||
| dbus | 1.12.2-1ubuntu1.3 |
|
||||
| dnsutils | 1:9.11.3+dfsg-1ubuntu1.17 |
|
||||
| dpkg | 1.19.0.5ubuntu2.3 |
|
||||
| dpkg | 1.19.0.5ubuntu2.4 |
|
||||
| fakeroot | 1.22-2ubuntu1 |
|
||||
| file | 1:5.32-2ubuntu0.4 |
|
||||
| flex | 2.6.4-6 |
|
||||
| ftp | 0.17-34 |
|
||||
| gnupg2 | 2.2.4-1ubuntu1.4 |
|
||||
| gnupg2 | 2.2.4-1ubuntu1.6 |
|
||||
| haveged | 1.9.1-6 |
|
||||
| imagemagick | 8:6.9.7.4+dfsg-16ubuntu6.12 |
|
||||
| imagemagick | 8:6.9.7.4+dfsg-16ubuntu6.13 |
|
||||
| iproute2 | 4.15.0-2ubuntu1.3 |
|
||||
| iputils-ping | 3:20161105-1ubuntu3 |
|
||||
| jq | 1.5+dfsg-2 |
|
||||
| lib32z1 | 1:1.2.11.dfsg-0ubuntu2.1 |
|
||||
| libc++-dev | 6.0-2 |
|
||||
| libc++abi-dev | 6.0-2 |
|
||||
| libcurl3 | 7.58.0-2ubuntu3.16 |
|
||||
| libcurl3 | 7.58.0-2ubuntu3.19 |
|
||||
| libgbm-dev | 20.0.8-0ubuntu1\~18.04.1 |
|
||||
| libgconf-2-4 | 3.2.6-4ubuntu1 |
|
||||
| libgsl-dev | 2.4+dfsg-6 |
|
||||
| libgtk-3-0 | 3.22.30-1ubuntu4 |
|
||||
| libmagic-dev | 1:5.32-2ubuntu0.4 |
|
||||
| libmagickcore-dev | 8:6.9.7.4+dfsg-16ubuntu6.12 |
|
||||
| libmagickwand-dev | 8:6.9.7.4+dfsg-16ubuntu6.12 |
|
||||
| libmagickcore-dev | 8:6.9.7.4+dfsg-16ubuntu6.13 |
|
||||
| libmagickwand-dev | 8:6.9.7.4+dfsg-16ubuntu6.13 |
|
||||
| libsecret-1-dev | 0.18.6-1 |
|
||||
| libsqlite3-dev | 3.22.0-1ubuntu0.4 |
|
||||
| libsqlite3-dev | 3.22.0-1ubuntu0.5 |
|
||||
| libtool | 2.4.6-2 |
|
||||
| libunwind8 | 1.2.1-8 |
|
||||
| libxkbfile-dev | 1:1.0.9-2 |
|
||||
| libxss1 | 1:1.2.2-1 |
|
||||
| locales | 2.27-3ubuntu1.5 |
|
||||
| locales | 2.27-3ubuntu1.6 |
|
||||
| m4 | 1.4.18-1 |
|
||||
| mediainfo | 17.12-1 |
|
||||
| mercurial | 4.5.3-1ubuntu2.2 |
|
||||
| net-tools | 1.60+git20161116.90da8a0-1ubuntu1 |
|
||||
| netcat | 1.10-41.1 |
|
||||
| openssh-client | 1:7.6p1-4ubuntu0.6 |
|
||||
| openssh-client | 1:7.6p1-4ubuntu0.7 |
|
||||
| p7zip-full | 16.02+dfsg-6 |
|
||||
| p7zip-rar | 16.02-2 |
|
||||
| parallel | 20161222-1 |
|
||||
@@ -362,10 +369,10 @@
|
||||
| rsync | 3.1.2-2.1ubuntu1.4 |
|
||||
| shellcheck | 0.4.6-1 |
|
||||
| sphinxsearch | 2.2.11-2 |
|
||||
| sqlite3 | 3.22.0-1ubuntu0.4 |
|
||||
| ssh | 1:7.6p1-4ubuntu0.6 |
|
||||
| sqlite3 | 3.22.0-1ubuntu0.5 |
|
||||
| ssh | 1:7.6p1-4ubuntu0.7 |
|
||||
| sshpass | 1.06-1 |
|
||||
| subversion | 1.9.7-4ubuntu1 |
|
||||
| subversion | 1.9.7-4ubuntu1.1 |
|
||||
| sudo | 1.8.21p2-3ubuntu1.4 |
|
||||
| swig | 3.0.12-1 |
|
||||
| telnet | 0.17-41 |
|
||||
@@ -377,8 +384,8 @@
|
||||
| upx | 3.94-4 |
|
||||
| wget | 1.19.4-1ubuntu2.2 |
|
||||
| xorriso | 1.4.8-3 |
|
||||
| xvfb | 2:1.19.6-1ubuntu4.10 |
|
||||
| xz-utils | 5.2.2-1.3 |
|
||||
| xvfb | 2:1.19.6-1ubuntu4.11 |
|
||||
| xz-utils | 5.2.2-1.3ubuntu0.1 |
|
||||
| zip | 3.0-11build1 |
|
||||
| zsync | 0.6.2-3ubuntu1 |
|
||||
|
||||
|
||||
@@ -1,44 +1,46 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[Ubuntu] PHP 7.1 will be removed from Ubuntu 18 on April, 18](https://github.com/actions/virtual-environments/issues/5326) |
|
||||
| [[All OSs] Go versions less than 1.16 will be removed and the default will be set to 1.17 on April, 11](https://github.com/actions/virtual-environments/issues/5280) |
|
||||
| [[all OSs] Android ndk-bundle along with old NDK versions will be deprecated on July, 24](https://github.com/actions/virtual-environments/issues/5879) |
|
||||
| [(Public Beta) Ubuntu 22.04 is now available](https://github.com/actions/virtual-environments/issues/5490) |
|
||||
***
|
||||
# Ubuntu 20.04.4 LTS
|
||||
- Linux kernel version: 5.13.0-1021-azure
|
||||
- Image Version: 20220410.2
|
||||
- Linux kernel version: 5.15.0-1014-azure
|
||||
- Image Version: 20220717.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- Bash 5.0.17(1)-release
|
||||
- Clang 10.0.0, 11.0.0, 12.0.0
|
||||
- Clang-format 10.0.0, 11.0.0, 12.0.0
|
||||
- Erlang 24.3.3 (Eshell 12.3.1)
|
||||
- Erlang rebar3 3.18.0
|
||||
- Clang-tidy 10.0.0, 11.0.0, 12.0.0
|
||||
- Dash 0.5.10.2-6
|
||||
- Erlang 25.0.2 (Eshell 13.0.2)
|
||||
- Erlang rebar3 3.19.0
|
||||
- GNU C++ 9.4.0, 10.3.0
|
||||
- GNU Fortran 9.4.0, 10.3.0
|
||||
- Julia 1.7.2
|
||||
- Kotlin 1.6.20-release-275
|
||||
- Mono 6.12.0.122 (apt source repository: https://download.mono-project.com/repo/ubuntu stable-focal main)
|
||||
- MSBuild 16.6.0.15201 (from /usr/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node 16.14.2
|
||||
- Julia 1.7.3
|
||||
- Kotlin 1.7.10-release-333
|
||||
- Mono 6.12.0.182 (apt source repository: https://download.mono-project.com/repo/ubuntu stable-focal main)
|
||||
- MSBuild 16.10.1.31701 (from /usr/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node 16.16.0
|
||||
- Perl 5.30.0
|
||||
- Python 3.8.10
|
||||
- Python3 3.8.10
|
||||
- Ruby 2.7.0p0
|
||||
- Swift 5.6.1
|
||||
- Swift 5.6.2
|
||||
|
||||
### Package Management
|
||||
- cpan 1.64
|
||||
- Helm 3.8.1
|
||||
- Homebrew 3.4.6
|
||||
- Miniconda 4.11.0
|
||||
- Npm 8.5.0
|
||||
- Helm 3.9.1
|
||||
- Homebrew 3.5.4
|
||||
- Miniconda 4.12.0
|
||||
- Npm 8.11.0
|
||||
- Pip 20.0.2
|
||||
- Pip3 20.0.2
|
||||
- Pipx 1.0.0
|
||||
- Pipx 1.1.0
|
||||
- RubyGems 3.1.2
|
||||
- Vcpkg (build from master \<f6af75acc>)
|
||||
- Yarn 1.22.18
|
||||
- Vcpkg (build from master \<68b7fec22>)
|
||||
- Yarn 1.22.19
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -48,168 +50,172 @@
|
||||
|
||||
### Project Management
|
||||
- Ant 1.10.7
|
||||
- Gradle 7.4.2
|
||||
- Lerna 4.0.0
|
||||
- Maven 3.8.5
|
||||
- Sbt 1.6.2
|
||||
- Gradle 7.5
|
||||
- Lerna 5.1.8
|
||||
- Maven 3.8.6
|
||||
- Sbt 1.7.1
|
||||
|
||||
### Tools
|
||||
- Ansible 2.12.4
|
||||
- Ansible 2.13.1
|
||||
- apt-fast 1.9.12
|
||||
- AzCopy 10.14.1 (available by `azcopy` and `azcopy10` aliases)
|
||||
- Bazel 5.1.1
|
||||
- Bazelisk 1.11.0
|
||||
- Bicep 0.5.6
|
||||
- Buildah 1.21.3 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- CMake 3.23.0
|
||||
- CodeQL Action Bundle 2.8.5
|
||||
- AzCopy 10.15.0 (available by `azcopy` and `azcopy10` aliases)
|
||||
- Bazel 5.2.0
|
||||
- Bazelisk 1.12.0
|
||||
- Bicep 0.8.9
|
||||
- Buildah 1.22.3 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- CMake 3.23.2
|
||||
- CodeQL Action Bundle 2.10.0
|
||||
- Docker Amazon ECR Credential Helper 0.6.0
|
||||
- Docker Compose v1 1.29.2
|
||||
- Docker Compose v2 2.4.1+azure-1
|
||||
- Docker Compose v2 2.6.1+azure-1
|
||||
- Docker-Buildx 0.8.2
|
||||
- Docker-Moby Client 20.10.14+azure-1
|
||||
- Docker-Moby Server 20.10.14+azure-1
|
||||
- Fastlane 2.205.1
|
||||
- Git 2.35.1 (apt source repository: ppa:git-core/ppa)
|
||||
- Git LFS 3.1.2 (apt source repository: https://packagecloud.io/install/repositories/github/git-lfs)
|
||||
- Docker-Moby Client 20.10.17+azure-1
|
||||
- Docker-Moby Server 20.10.17+azure-1
|
||||
- Fastlane 2.207.0
|
||||
- Git 2.37.1 (apt source repository: ppa:git-core/ppa)
|
||||
- Git LFS 3.2.0 (apt source repository: https://packagecloud.io/install/repositories/github/git-lfs)
|
||||
- Git-ftp 1.6.0
|
||||
- Haveged 1.9.1
|
||||
- Heroku 7.60.1
|
||||
- HHVM (HipHop VM) 4.156.0
|
||||
- Heroku 7.60.2
|
||||
- HHVM (HipHop VM) 4.164.0
|
||||
- jq 1.6
|
||||
- Kind 0.12.0
|
||||
- Kubectl 1.23.5
|
||||
- Kustomize 4.5.4
|
||||
- Kind 0.14.0
|
||||
- Kubectl 1.24.3
|
||||
- Kustomize 4.5.5
|
||||
- Leiningen 2.9.8
|
||||
- MediaInfo 19.09
|
||||
- Mercurial 5.3.1
|
||||
- Minikube 1.25.2
|
||||
- n 8.1.0
|
||||
- Minikube 1.26.0
|
||||
- n 9.0.0
|
||||
- Newman 5.3.2
|
||||
- nvm 0.39.1
|
||||
- OpenSSL 1.1.1f 31 Mar 2020
|
||||
- Packer 1.8.0
|
||||
- Parcel 2.4.1
|
||||
- OpenSSL 1.1.1f-1ubuntu2.16
|
||||
- Packer 1.8.2
|
||||
- Parcel 2.6.2
|
||||
- PhantomJS 2.1.1
|
||||
- Podman 3.4.2 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- Pulumi 3.28.0
|
||||
- R 4.1.3
|
||||
- Skopeo 1.3.0 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- Pulumi 3.36.0
|
||||
- R 4.2.1
|
||||
- Skopeo 1.5.0 (apt source repository: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable)
|
||||
- Sphinx Open Source Search Server 2.2.11
|
||||
- SVN 1.13.0
|
||||
- Terraform 1.1.8
|
||||
- yamllint 1.26.3
|
||||
- yq 4.24.2
|
||||
- Terraform 1.2.5
|
||||
- yamllint 1.27.1
|
||||
- yq 4.26.1
|
||||
- zstd 1.5.2 (homebrew)
|
||||
|
||||
### CLI Tools
|
||||
- Alibaba Cloud CLI 3.0.116
|
||||
- AWS CLI 2.5.4
|
||||
- AWS CLI Session manager plugin 1.2.312.0
|
||||
- AWS SAM CLI 1.46.0
|
||||
- Azure CLI (azure-cli) 2.35.0 (installation method: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt)
|
||||
- Alibaba Cloud CLI 3.0.124
|
||||
- AWS CLI 2.7.16
|
||||
- AWS CLI Session manager plugin 1.2.339.0
|
||||
- AWS SAM CLI 1.53.0
|
||||
- Azure CLI (azure-cli) 2.38.0 (installation method: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt)
|
||||
- Azure CLI (azure-devops) 0.25.0
|
||||
- GitHub CLI 2.7.0
|
||||
- GitHub CLI 2.14.2
|
||||
- Google Cloud SDK 369.0.0 (apt source repository: https://packages.cloud.google.com/apt)
|
||||
- Hub CLI 2.14.2
|
||||
- Netlify CLI 9.16.5
|
||||
- OpenShift CLI 4.10.8
|
||||
- ORAS CLI 0.12.0
|
||||
- Vercel CLI 24.0.1
|
||||
- Netlify CLI 10.10.0
|
||||
- OpenShift CLI 4.10.22
|
||||
- ORAS CLI 0.13.0
|
||||
- Vercel CLI 27.1.5
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
| ------------------- | --------------- | -------------------- |
|
||||
| 8.0.322+6 | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.14+1 (default) | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 17.0.2+8 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
| Version | Vendor | Environment Variable |
|
||||
| -------------------- | --------------- | -------------------- |
|
||||
| 8.0.332+9 | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.15+10 (default) | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 17.0.3+7 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
|
||||
### GraalVM
|
||||
| Version | Environment variables |
|
||||
| ----------- | --------------------- |
|
||||
| CE 22.0.0.2 | GRAALVM_11_ROOT |
|
||||
| Version | Environment variables |
|
||||
| --------- | --------------------- |
|
||||
| CE 22.1.0 | GRAALVM_11_ROOT |
|
||||
|
||||
### PHP
|
||||
| Tool | Version |
|
||||
| -------- | ------------------- |
|
||||
| PHP | 7.4.28 8.0.17 8.1.4 |
|
||||
| Composer | 2.3.4 |
|
||||
| PHPUnit | 8.5.26 |
|
||||
| PHP | 7.4.30 8.0.21 8.1.8 |
|
||||
| Composer | 2.3.10 |
|
||||
| PHPUnit | 8.5.27 |
|
||||
```
|
||||
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||
```
|
||||
### Haskell
|
||||
- Cabal 3.6.2.0
|
||||
- GHC 9.2.2
|
||||
- GHCup 0.1.17.6
|
||||
- GHC 9.2.3
|
||||
- GHCup 0.1.17.8
|
||||
- Stack 2.7.5
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.60.0
|
||||
- Rust 1.60.0
|
||||
- Rustdoc 1.60.0
|
||||
- Rustup 1.24.3
|
||||
- Cargo 1.62.0
|
||||
- Rust 1.62.0
|
||||
- Rustdoc 1.62.0
|
||||
- Rustup 1.25.1
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.59.2
|
||||
- Cargo audit 0.16.0
|
||||
- Cargo clippy 0.1.60
|
||||
- Cargo outdated
|
||||
- Cbindgen 0.21.0
|
||||
- Bindgen 0.60.1
|
||||
- Cargo audit 0.17.0
|
||||
- Cargo clippy 0.1.62
|
||||
- Cargo outdated 0.11.1
|
||||
- Cbindgen 0.24.3
|
||||
- Rustfmt 1.4.38
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 100.0.4896.75
|
||||
- ChromeDriver 100.0.4896.60
|
||||
- Mozilla Firefox 99.0
|
||||
- Google Chrome 103.0.5060.114
|
||||
- ChromeDriver 103.0.5060.53
|
||||
- Chromium 103.0.5060.0
|
||||
- Microsoft Edge 103.0.1264.62 (apt source repository: https://packages.microsoft.com/repos/edge)
|
||||
- Microsoft Edge WebDriver 103.0.1264.62
|
||||
- Selenium server 4.3.0
|
||||
- Mozilla Firefox 102.0
|
||||
- Geckodriver 0.31.0
|
||||
- Chromium 100.0.4896.0
|
||||
- Selenium server 4.1.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------------------------- |
|
||||
| CHROMEWEBDRIVER | /usr/local/share/chrome_driver |
|
||||
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
|
||||
| GECKOWEBDRIVER | /usr/local/share/gecko_driver |
|
||||
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
|
||||
|
||||
### .NET Core SDK
|
||||
- 3.1.120 3.1.202 3.1.302 3.1.417 5.0.104 5.0.212 5.0.303 5.0.406 6.0.201
|
||||
- 3.1.120 3.1.202 3.1.302 3.1.421 5.0.104 5.0.214 5.0.303 5.0.408 6.0.302
|
||||
|
||||
### .NET tools
|
||||
- nbgv 3.4.255+06fb9182bf
|
||||
- nbgv 3.5.108+6e793d63d3
|
||||
|
||||
### Databases
|
||||
- MongoDB 5.0.7 (apt source repository: https://repo.mongodb.org/apt/ubuntu)
|
||||
- MongoDB 5.0.9 (apt source repository: https://repo.mongodb.org/apt/ubuntu)
|
||||
- sqlite3 3.31.1
|
||||
|
||||
#### PostgreSQL
|
||||
- PostgreSQL 14.2 (apt source repository: https://apt.postgresql.org/pub/repos/apt/)
|
||||
- PostgreSQL 14.4 (apt source repository: https://apt.postgresql.org/pub/repos/apt/)
|
||||
- PostgreSQL Server (user:postgres)
|
||||
|
||||
```
|
||||
PostgreSQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start postgresql.service'
|
||||
```
|
||||
#### MySQL
|
||||
- MySQL 8.0.28-0ubuntu0.20.04.3
|
||||
- MySQL 8.0.29-0ubuntu0.20.04.3
|
||||
- MySQL Server (user:root password:root)
|
||||
|
||||
```
|
||||
MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service'
|
||||
```
|
||||
#### MS SQL Server Client Tools
|
||||
- sqlcmd 17.9.0001.1
|
||||
- SqlPackage 16.0.5400.1
|
||||
- sqlcmd 17.10.0001.1
|
||||
- SqlPackage 16.0.6161.0
|
||||
|
||||
### Cached Tools
|
||||
#### Go
|
||||
- 1.16.15
|
||||
- 1.17.8
|
||||
- 1.18.0
|
||||
- 1.17.12
|
||||
- 1.18.4
|
||||
|
||||
#### Node.js
|
||||
- 12.22.12
|
||||
- 14.19.1
|
||||
- 16.14.2
|
||||
- 14.20.0
|
||||
- 16.16.0
|
||||
|
||||
#### PyPy
|
||||
- 2.7.18 [PyPy 7.3.9]
|
||||
@@ -221,37 +227,38 @@
|
||||
#### Python
|
||||
- 2.7.18
|
||||
- 3.6.15
|
||||
- 3.7.12
|
||||
- 3.8.12
|
||||
- 3.9.12
|
||||
- 3.10.4
|
||||
- 3.7.13
|
||||
- 3.8.13
|
||||
- 3.9.13
|
||||
- 3.10.5
|
||||
|
||||
#### Ruby
|
||||
- 2.5.9
|
||||
- 2.6.9
|
||||
- 2.7.5
|
||||
- 3.0.3
|
||||
- 2.6.10
|
||||
- 2.7.6
|
||||
- 3.0.4
|
||||
- 3.1.2
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value | Architecture |
|
||||
| --------------- | ----------------------------------- | ------------ |
|
||||
| GOROOT_1_16_X64 | /opt/hostedtoolcache/go/1.16.15/x64 | x64 |
|
||||
| GOROOT_1_17_X64 | /opt/hostedtoolcache/go/1.17.8/x64 | x64 |
|
||||
| GOROOT_1_18_X64 | /opt/hostedtoolcache/go/1.18.0/x64 | x64 |
|
||||
| GOROOT_1_17_X64 | /opt/hostedtoolcache/go/1.17.12/x64 | x64 |
|
||||
| GOROOT_1_18_X64 | /opt/hostedtoolcache/go/1.18.4/x64 | x64 |
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.2.2
|
||||
- PowerShell 7.2.5
|
||||
|
||||
#### PowerShell Modules
|
||||
| Module | Version |
|
||||
| ---------------- | ------- |
|
||||
| MarkdownPS | 1.9 |
|
||||
| Microsoft.Graph | 1.9.3 |
|
||||
| Pester | 5.3.1 |
|
||||
| Microsoft.Graph | 1.10.0 |
|
||||
| Pester | 5.3.3 |
|
||||
| PSScriptAnalyzer | 1.20.0 |
|
||||
|
||||
#### Az PowerShell Modules
|
||||
- 7.1.0 3.1.0.zip 4.4.0.zip 5.9.0.zip 6.6.0.zip
|
||||
- 7.5.0 3.1.0.zip 4.4.0.zip 5.9.0.zip 6.6.0.zip
|
||||
|
||||
### Web Servers
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
@@ -261,28 +268,28 @@
|
||||
| nginx | 1.18.0 | /etc/nginx/nginx.conf | inactive | 80 |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 4.0 |
|
||||
| Android Emulator | 31.2.9 |
|
||||
| Android SDK Build-tools | 32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platform-Tools | 33.0.1 |
|
||||
| Android SDK Platforms | android-32 (rev 1)<br>android-31 (rev 1)<br>android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
|
||||
| Android SDK Tools | 26.1.1 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 21.4.7075529 (default)<br>22.1.7171670<br>23.1.7779620 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Android Command Line Tools | 7.0 |
|
||||
| Android Emulator | 31.2.10 |
|
||||
| Android SDK Build-tools | 33.0.0<br>32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platform-Tools | 33.0.2 |
|
||||
| Android SDK Platforms | android-33 (rev 2)<br>android-32 (rev 1)<br>android-31 (rev 1)<br>android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
|
||||
| Android SDK Tools | 26.1.1 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 21.4.7075529<br>23.2.8568313 (default)<br>24.0.8215888 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | ------------------------------------------------------------------------------------ |
|
||||
| ANDROID_HOME | /usr/local/lib/android/sdk |
|
||||
| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/23.1.7779620 |
|
||||
| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/24.0.8215888 |
|
||||
| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_SDK_ROOT | /usr/local/lib/android/sdk |
|
||||
|
||||
### Cached Docker images
|
||||
@@ -291,22 +298,22 @@
|
||||
| alpine:3.12 | sha256:c75ac27b49326926b803b9ed43bf088bc220d22556de1bc5f72d742c91398f69 | 2022-04-05 |
|
||||
| alpine:3.13 | sha256:ccf92aa53bc6c3b25be2ad0cce80baec1778f007f7e076b0ffbd1b225d0b3a9b | 2022-04-05 |
|
||||
| alpine:3.14 | sha256:06b5d462c92fc39303e6363c65e074559f8d6b1363250027ed5053557e3398c5 | 2022-04-05 |
|
||||
| buildpack-deps:bullseye | sha256:b22e1a6daf16ea7e682e1d813aac528bb027f0772dc819716b4f41fbb06a3ffc | 2022-03-29 |
|
||||
| buildpack-deps:buster | sha256:2c7b57f137d4ec1346ab226acd3eeac4f143ae2adc65a8abbd64489233065773 | 2022-03-29 |
|
||||
| buildpack-deps:stretch | sha256:9cee83a572cc5f844548ee5f29eb0284772a162f312d7f049ad178207a0bae6d | 2022-03-29 |
|
||||
| debian:10 | sha256:1b236b48c1ef66fa08535a5153266f4959bf58f948db3e68f7d678b651d8e33a | 2022-03-29 |
|
||||
| debian:11 | sha256:87eefc7c15610cca61db5c0fd280911c6a737c0680d807432c0bd80cd0cca39b | 2022-03-29 |
|
||||
| debian:9 | sha256:a8cc1744bbdd5266678e3e8b3e6387e45c053218438897e86876f2eb104e5534 | 2022-03-29 |
|
||||
| moby/buildkit:latest | sha256:bd37f0b5567084cd6f4b1c73b7fed9e12258441d064cc2add29a7dd32243ff86 | 2022-04-07 |
|
||||
| node:12 | sha256:461c7f8b5e042fa7f47620cbee7772e76ce3fa0891edaab29bf7ebf0e84b9a1a | 2022-03-31 |
|
||||
| node:12-alpine | sha256:bbc10cf532971046b490806de40f5959fa3bdd0acb82955847bdb0ffd1ab4854 | 2022-04-05 |
|
||||
| node:14 | sha256:b2d1c5df5e001b694115f64f4532c7eec2e5dbd73db6e0caacf0049bd0aed7d2 | 2022-03-31 |
|
||||
| node:14-alpine | sha256:8845b4f88f64f8c56a39236648ba22946e806a6153c10911f77b70e5a2edb4ca | 2022-04-05 |
|
||||
| node:16 | sha256:ffe804d6fcced29bcfc3477de079d03a9c2b0e4917e44bfeafb1a6b0f875e383 | 2022-03-31 |
|
||||
| node:16-alpine | sha256:28bed508446db2ee028d08e76fb47b935defa26a84986ca050d2596ea67fd506 | 2022-04-05 |
|
||||
| buildpack-deps:bullseye | sha256:4cbb6d56f192ea1868bdbc441269d0343c90b201c973931aaa6722300118d463 | 2022-07-12 |
|
||||
| buildpack-deps:buster | sha256:3ab2863d37b2d037440b4a153a8fb3c79e935030fd47cef21b698688ce72f66e | 2022-07-12 |
|
||||
| buildpack-deps:stretch | sha256:78e995165a5788c2f55aed6e548d8f6c1534830d4310c870408fccb2da8c5b2e | 2022-06-23 |
|
||||
| debian:10 | sha256:0685c900f6e691bdda6980c0ed0779d20183bc58770059b64adb56cb8a3129f0 | 2022-07-12 |
|
||||
| debian:11 | sha256:2ce44bbc00a79113c296d9d25524e15d423b23303fdbbe20190d2f96e0aeb251 | 2022-07-12 |
|
||||
| debian:9 | sha256:c5c5200ff1e9c73ffbf188b4a67eb1c91531b644856b4aefe86a58d2f0cb05be | 2022-06-23 |
|
||||
| moby/buildkit:latest | sha256:0dc312b04eac1b44cd2cad566deb1e886c753109208affbbec8384f381ff7f38 | 2022-05-06 |
|
||||
| node:12 | sha256:01627afeb110b3054ba4a1405541ca095c8bfca1cb6f2be9479c767a2711879e | 2022-04-20 |
|
||||
| node:12-alpine | sha256:d4b15b3d48f42059a15bd659be60afe21762aae9d6cbea6f124440895c27db68 | 2022-04-11 |
|
||||
| node:14 | sha256:a086a11f7780399837ea0465ac8a8e8f14f2b66fe5a110fe0c24644d53a103c5 | 2022-07-12 |
|
||||
| node:14-alpine | sha256:2af507df45e7c0a46c6b3001ce0dbc6924f7b39864d442045f781361a1971975 | 2022-07-08 |
|
||||
| node:16 | sha256:2e1b4542d4a06e0e0442dc38af1f4828760aecc9db2b95e7df87f573640d98cd | 2022-07-12 |
|
||||
| node:16-alpine | sha256:554142f9a6367f1fbd776a1b2048fab3a2cc7aa477d7fe9c00ce0f110aa45716 | 2022-07-08 |
|
||||
| ubuntu:16.04 | sha256:20858ebbc96215d6c3c574f781133ebffdc7c18d98af4f294cc4c04871a6fe61 | 2021-08-31 |
|
||||
| ubuntu:18.04 | sha256:982d72c16416b09ffd2f71aa381f761422085eda1379dc66b668653607969e38 | 2022-04-05 |
|
||||
| ubuntu:20.04 | sha256:9101220a875cee98b016668342c489ff0674f247f6ca20dfc91b91c0f28581ae | 2022-04-05 |
|
||||
| ubuntu:18.04 | sha256:478caf1bec1afd54a58435ec681c8755883b7eb843a8630091890130b15a79af | 2022-06-06 |
|
||||
| ubuntu:20.04 | sha256:fd92c36d3cb9b1d027c4d2a72c6bf0125da82425fc2ca37c414d4f010180dc19 | 2022-06-06 |
|
||||
|
||||
### Installed apt packages
|
||||
| Name | Version |
|
||||
@@ -321,16 +328,16 @@
|
||||
| build-essential | 12.8ubuntu1.1 |
|
||||
| bzip2 | 1.0.8-2 |
|
||||
| coreutils | 8.30-3ubuntu2 |
|
||||
| curl | 7.68.0-1ubuntu2.7 |
|
||||
| dbus | 1.12.16-2ubuntu2.1 |
|
||||
| curl | 7.68.0-1ubuntu2.12 |
|
||||
| dbus | 1.12.16-2ubuntu2.2 |
|
||||
| dnsutils | 1:9.16.1-0ubuntu2.10 |
|
||||
| dpkg | 1.19.7ubuntu3 |
|
||||
| dpkg | 1.19.7ubuntu3.2 |
|
||||
| fakeroot | 1.24-1 |
|
||||
| file | 1:5.38-4 |
|
||||
| flex | 2.6.4-6.2 |
|
||||
| fonts-noto-color-emoji | 0\~20200916-1\~ubuntu20.04.1 |
|
||||
| ftp | 0.17-34.1 |
|
||||
| gnupg2 | 2.2.19-3ubuntu2.1 |
|
||||
| gnupg2 | 2.2.19-3ubuntu2.2 |
|
||||
| haveged | 1.9.1-6ubuntu1 |
|
||||
| imagemagick | 8:6.9.10.23+dfsg-2.1ubuntu11.4 |
|
||||
| iproute2 | 5.5.0-1ubuntu1 |
|
||||
@@ -339,7 +346,7 @@
|
||||
| lib32z1 | 1:1.2.11.dfsg-2ubuntu1.3 |
|
||||
| libc++-dev | 1:10.0-50\~exp1 |
|
||||
| libc++abi-dev | 1:10.0-50\~exp1 |
|
||||
| libcurl4 | 7.68.0-1ubuntu2.7 |
|
||||
| libcurl4 | 7.68.0-1ubuntu2.12 |
|
||||
| libgbm-dev | 21.2.6-0ubuntu0.1\~20.04.2 |
|
||||
| libgconf-2-4 | 3.2.6-6ubuntu1 |
|
||||
| libgsl-dev | 2.5+dfsg-6build1 |
|
||||
@@ -348,18 +355,18 @@
|
||||
| libmagickcore-dev | 8:6.9.10.23+dfsg-2.1ubuntu11.4 |
|
||||
| libmagickwand-dev | 8:6.9.10.23+dfsg-2.1ubuntu11.4 |
|
||||
| libsecret-1-dev | 0.20.4-0ubuntu1 |
|
||||
| libsqlite3-dev | 3.31.1-4ubuntu0.2 |
|
||||
| libsqlite3-dev | 3.31.1-4ubuntu0.3 |
|
||||
| libtool | 2.4.6-14 |
|
||||
| libunwind8 | 1.2.1-9build1 |
|
||||
| libxkbfile-dev | 1:1.1.0-1 |
|
||||
| libxss1 | 1:1.2.3-1 |
|
||||
| locales | 2.31-0ubuntu9.7 |
|
||||
| locales | 2.31-0ubuntu9.9 |
|
||||
| m4 | 1.4.18-4 |
|
||||
| mediainfo | 19.09-1build1 |
|
||||
| mercurial | 5.3.1-1ubuntu1 |
|
||||
| net-tools | 1.60+git20180626.aebd88e-1ubuntu1 |
|
||||
| netcat | 1.206-1ubuntu1 |
|
||||
| openssh-client | 1:8.2p1-4ubuntu0.4 |
|
||||
| openssh-client | 1:8.2p1-4ubuntu0.5 |
|
||||
| p7zip-full | 16.02+dfsg-7build1 |
|
||||
| p7zip-rar | 16.02-3build1 |
|
||||
| parallel | 20161222-1.1 |
|
||||
@@ -372,10 +379,10 @@
|
||||
| rsync | 3.1.3-8ubuntu0.3 |
|
||||
| shellcheck | 0.7.0-2build2 |
|
||||
| sphinxsearch | 2.2.11-2ubuntu2 |
|
||||
| sqlite3 | 3.31.1-4ubuntu0.2 |
|
||||
| ssh | 1:8.2p1-4ubuntu0.4 |
|
||||
| sqlite3 | 3.31.1-4ubuntu0.3 |
|
||||
| ssh | 1:8.2p1-4ubuntu0.5 |
|
||||
| sshpass | 1.06-1 |
|
||||
| subversion | 1.13.0-3 |
|
||||
| subversion | 1.13.0-3ubuntu0.2 |
|
||||
| sudo | 1.8.31-1ubuntu1.2 |
|
||||
| swig | 4.0.1-5build1 |
|
||||
| telnet | 0.17-41.2build1 |
|
||||
@@ -387,8 +394,8 @@
|
||||
| upx | 3.95-2build1 |
|
||||
| wget | 1.20.3-1ubuntu2 |
|
||||
| xorriso | 1.5.2-1 |
|
||||
| xvfb | 2:1.20.13-1ubuntu1\~20.04.2 |
|
||||
| xz-utils | 5.2.4-1ubuntu1 |
|
||||
| xvfb | 2:1.20.13-1ubuntu1\~20.04.3 |
|
||||
| xz-utils | 5.2.4-1ubuntu1.1 |
|
||||
| zip | 3.0-11build1 |
|
||||
| zsync | 0.6.2-3ubuntu1 |
|
||||
|
||||
|
||||
368
images/linux/Ubuntu2204-Readme.md
Normal file
368
images/linux/Ubuntu2204-Readme.md
Normal file
@@ -0,0 +1,368 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[all OSs] Android ndk-bundle along with old NDK versions will be deprecated on July, 24](https://github.com/actions/virtual-environments/issues/5879) |
|
||||
| [(Public Beta) Ubuntu 22.04 is now available](https://github.com/actions/virtual-environments/issues/5490) |
|
||||
***
|
||||
# Ubuntu 22.04 LTS
|
||||
- Linux kernel version: 5.15.0-1014-azure
|
||||
- Image Version: 20220717.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- Bash 5.1.16(1)-release
|
||||
- Clang 12.0.1, 13.0.1, 14.0.0
|
||||
- Clang-format 12.0.1, 13.0.1, 14.0.0
|
||||
- Clang-tidy 12.0.1, 13.0.1, 14.0.0
|
||||
- Dash 0.5.11+git20210903+057cd650a4ed-3build1
|
||||
- GNU C++ 9.4.0, 10.3.0, 11.2.0
|
||||
- GNU Fortran 9.4.0, 10.3.0, 11.2.0
|
||||
- Julia 1.7.3
|
||||
- Kotlin 1.7.10-release-333
|
||||
- Node 16.16.0
|
||||
- Perl 5.34.0
|
||||
- Python 3.10.4
|
||||
- Python3 3.10.4
|
||||
- Ruby 3.0.2p107
|
||||
|
||||
### Package Management
|
||||
- cpan 1.64
|
||||
- Helm 3.9.1
|
||||
- Homebrew 3.5.4
|
||||
- Miniconda 4.12.0
|
||||
- Npm 8.11.0
|
||||
- Pip 22.0.2
|
||||
- Pip3 22.0.2
|
||||
- Pipx 1.1.0
|
||||
- RubyGems 3.3.5
|
||||
- Vcpkg (build from master \<68b7fec22>)
|
||||
- Yarn 1.22.19
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | ---------------------- |
|
||||
| CONDA | /usr/share/miniconda |
|
||||
| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
|
||||
|
||||
### Project Management
|
||||
- Lerna 5.1.8
|
||||
|
||||
### Tools
|
||||
- Ansible 2.13.1
|
||||
- apt-fast 1.9.12
|
||||
- AzCopy 10.15.0 (available by `azcopy` and `azcopy10` aliases)
|
||||
- Bazel 5.2.0
|
||||
- Bazelisk 1.12.0
|
||||
- Bicep 0.8.9
|
||||
- Buildah 1.23.1
|
||||
- CMake 3.23.2
|
||||
- CodeQL Action Bundle 2.10.0
|
||||
- Docker Amazon ECR Credential Helper 0.6.0
|
||||
- Docker Compose v1 1.29.2
|
||||
- Docker Compose v2 2.6.1+azure-1
|
||||
- Docker-Buildx 0.8.2
|
||||
- Docker-Moby Client 20.10.17+azure-1
|
||||
- Docker-Moby Server 20.10.17+azure-1
|
||||
- Fastlane 2.207.0
|
||||
- Git 2.37.1 (apt source repository: ppa:git-core/ppa)
|
||||
- Git LFS 3.2.0 (apt source repository: https://packagecloud.io/install/repositories/github/git-lfs)
|
||||
- Git-ftp 1.6.0
|
||||
- Haveged 1.9.14
|
||||
- Heroku 7.60.2
|
||||
- jq 1.6
|
||||
- Kind 0.14.0
|
||||
- Kubectl 1.24.3
|
||||
- Kustomize 4.5.5
|
||||
- Leiningen 2.9.8
|
||||
- MediaInfo 21.09
|
||||
- Mercurial 6.1.1
|
||||
- Minikube 1.26.0
|
||||
- n 9.0.0
|
||||
- Newman 5.3.2
|
||||
- nvm 0.39.1
|
||||
- OpenSSL 3.0.2-0ubuntu1.6
|
||||
- Packer 1.8.2
|
||||
- Parcel 2.6.2
|
||||
- Podman 3.4.4
|
||||
- Pulumi 3.36.0
|
||||
- R 4.2.1
|
||||
- Skopeo 1.4.1
|
||||
- Sphinx Open Source Search Server 2.2.11
|
||||
- SVN 1.14.1
|
||||
- Terraform 1.2.5
|
||||
- yamllint 1.27.1
|
||||
- yq 4.26.1
|
||||
- zstd 1.5.2 (homebrew)
|
||||
|
||||
### CLI Tools
|
||||
- Alibaba Cloud CLI 3.0.124
|
||||
- AWS CLI 2.7.16
|
||||
- AWS CLI Session manager plugin 1.2.339.0
|
||||
- AWS SAM CLI 1.53.0
|
||||
- Azure CLI (azure-cli) 2.38.0 (installation method: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt)
|
||||
- Azure CLI (azure-devops) 0.25.0
|
||||
- GitHub CLI 2.14.2
|
||||
- Google Cloud SDK 369.0.0 (apt source repository: https://packages.cloud.google.com/apt)
|
||||
- Hub CLI 2.14.2
|
||||
- Netlify CLI 10.10.0
|
||||
- OpenShift CLI 4.10.22
|
||||
- ORAS CLI 0.13.0
|
||||
- Vercel CLI 27.1.5
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
| -------------------- | --------------- | -------------------- |
|
||||
| 8.0.332+9 | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.15+10 (default) | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 17.0.3+7 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
|
||||
### GraalVM
|
||||
| Version | Environment variables |
|
||||
| --------- | --------------------- |
|
||||
| CE 22.1.0 | GRAALVM_11_ROOT |
|
||||
|
||||
### PHP
|
||||
| Tool | Version |
|
||||
| -------- | ------- |
|
||||
| PHP | 8.1.8 |
|
||||
| Composer | 2.3.10 |
|
||||
| PHPUnit | 8.5.27 |
|
||||
```
|
||||
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||
```
|
||||
### Haskell
|
||||
- Cabal 3.6.2.0
|
||||
- GHC 9.2.3
|
||||
- GHCup 0.1.17.8
|
||||
- Stack 2.7.5
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.62.0
|
||||
- Rust 1.62.0
|
||||
- Rustdoc 1.62.0
|
||||
- Rustup 1.25.1
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.60.1
|
||||
- Cargo audit 0.17.0
|
||||
- Cargo clippy 0.1.62
|
||||
- Cargo outdated 0.11.1
|
||||
- Cbindgen 0.24.3
|
||||
- Rustfmt 1.4.38
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 103.0.5060.114
|
||||
- ChromeDriver 103.0.5060.53
|
||||
- Chromium 103.0.5060.0
|
||||
- Microsoft Edge 103.0.1264.62 (apt source repository: https://packages.microsoft.com/repos/edge)
|
||||
- Microsoft Edge WebDriver 103.0.1264.62
|
||||
- Selenium server 4.3.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------------------------- |
|
||||
| CHROMEWEBDRIVER | /usr/local/share/chrome_driver |
|
||||
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
|
||||
| GECKOWEBDRIVER | |
|
||||
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
|
||||
|
||||
### .NET Core SDK
|
||||
- 6.0.302
|
||||
|
||||
### .NET tools
|
||||
- nbgv 3.5.108+6e793d63d3
|
||||
|
||||
### Databases
|
||||
- sqlite3 3.37.2
|
||||
|
||||
#### PostgreSQL
|
||||
- PostgreSQL 14.4 (apt source repository: https://apt.postgresql.org/pub/repos/apt/)
|
||||
- PostgreSQL Server (user:postgres)
|
||||
|
||||
```
|
||||
PostgreSQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start postgresql.service'
|
||||
```
|
||||
#### MySQL
|
||||
- MySQL 8.0.29-0ubuntu0.22.04.2
|
||||
- MySQL Server (user:root password:root)
|
||||
|
||||
```
|
||||
MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service'
|
||||
```
|
||||
### Cached Tools
|
||||
#### Go
|
||||
- 1.17.12
|
||||
- 1.18.4
|
||||
|
||||
#### Node.js
|
||||
- 14.20.0
|
||||
- 16.16.0
|
||||
|
||||
#### PyPy
|
||||
- 3.7.13 [PyPy 7.3.9]
|
||||
- 3.8.13 [PyPy 7.3.9]
|
||||
- 3.9.12 [PyPy 7.3.9]
|
||||
|
||||
#### Python
|
||||
- 3.7.13
|
||||
- 3.8.13
|
||||
- 3.9.13
|
||||
- 3.10.5
|
||||
|
||||
#### Ruby
|
||||
- 3.1.2
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value | Architecture |
|
||||
| --------------- | ----------------------------------- | ------------ |
|
||||
| GOROOT_1_17_X64 | /opt/hostedtoolcache/go/1.17.12/x64 | x64 |
|
||||
| GOROOT_1_18_X64 | /opt/hostedtoolcache/go/1.18.4/x64 | x64 |
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.2.5
|
||||
|
||||
#### PowerShell Modules
|
||||
| Module | Version |
|
||||
| ---------------- | ------- |
|
||||
| MarkdownPS | 1.9 |
|
||||
| Microsoft.Graph | 1.10.0 |
|
||||
| Pester | 5.3.3 |
|
||||
| PSScriptAnalyzer | 1.20.0 |
|
||||
|
||||
#### Az PowerShell Modules
|
||||
- 7.5.0
|
||||
|
||||
### Web Servers
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
| ------- | ------- | ------------------------- | ------------- | ---------- |
|
||||
| apache2 | 2.4.52 | /etc/apache2/apache2.conf | inactive | 80 |
|
||||
| nginx | 1.18.0 | /etc/nginx/nginx.conf | inactive | 80 |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Android Command Line Tools | 7.0 |
|
||||
| Android Emulator | 31.2.10 |
|
||||
| Android SDK Build-tools | 33.0.0<br>32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platform-Tools | 33.0.2 |
|
||||
| Android SDK Platforms | android-33 (rev 2)<br>android-32 (rev 1)<br>android-31 (rev 1)<br>android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
|
||||
| Android SDK Tools | 26.1.1 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 21.4.7075529<br>23.2.8568313 (default)<br>24.0.8215888 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | ------------------------------------------------------------------------------------ |
|
||||
| ANDROID_HOME | /usr/local/lib/android/sdk |
|
||||
| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/24.0.8215888 |
|
||||
| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk-bundle -> /usr/local/lib/android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_SDK_ROOT | /usr/local/lib/android/sdk |
|
||||
|
||||
### Cached Docker images
|
||||
| Repository:Tag | Digest | Created |
|
||||
| ----------------------- | ------------------------------------------------------------------------ | ---------- |
|
||||
| alpine:3.14 | sha256:06b5d462c92fc39303e6363c65e074559f8d6b1363250027ed5053557e3398c5 | 2022-04-05 |
|
||||
| alpine:3.15 | sha256:4edbd2beb5f78b1014028f4fbb99f3237d9561100b6881aabbf5acce2c4f9454 | 2022-04-05 |
|
||||
| buildpack-deps:bullseye | sha256:4cbb6d56f192ea1868bdbc441269d0343c90b201c973931aaa6722300118d463 | 2022-07-12 |
|
||||
| buildpack-deps:buster | sha256:3ab2863d37b2d037440b4a153a8fb3c79e935030fd47cef21b698688ce72f66e | 2022-07-12 |
|
||||
| debian:10 | sha256:0685c900f6e691bdda6980c0ed0779d20183bc58770059b64adb56cb8a3129f0 | 2022-07-12 |
|
||||
| debian:11 | sha256:2ce44bbc00a79113c296d9d25524e15d423b23303fdbbe20190d2f96e0aeb251 | 2022-07-12 |
|
||||
| moby/buildkit:latest | sha256:0dc312b04eac1b44cd2cad566deb1e886c753109208affbbec8384f381ff7f38 | 2022-05-06 |
|
||||
| node:14 | sha256:a086a11f7780399837ea0465ac8a8e8f14f2b66fe5a110fe0c24644d53a103c5 | 2022-07-12 |
|
||||
| node:14-alpine | sha256:2af507df45e7c0a46c6b3001ce0dbc6924f7b39864d442045f781361a1971975 | 2022-07-08 |
|
||||
| node:16 | sha256:2e1b4542d4a06e0e0442dc38af1f4828760aecc9db2b95e7df87f573640d98cd | 2022-07-12 |
|
||||
| node:16-alpine | sha256:554142f9a6367f1fbd776a1b2048fab3a2cc7aa477d7fe9c00ce0f110aa45716 | 2022-07-08 |
|
||||
| ubuntu:18.04 | sha256:478caf1bec1afd54a58435ec681c8755883b7eb843a8630091890130b15a79af | 2022-06-06 |
|
||||
| ubuntu:20.04 | sha256:fd92c36d3cb9b1d027c4d2a72c6bf0125da82425fc2ca37c414d4f010180dc19 | 2022-06-06 |
|
||||
| ubuntu:22.04 | sha256:b6b83d3c331794420340093eb706a6f152d9c1fa51b262d9bf34594887c2c7ac | 2022-06-06 |
|
||||
|
||||
### Installed apt packages
|
||||
| Name | Version |
|
||||
| ---------------------- | --------------------------------- |
|
||||
| acl | 2.3.1-1 |
|
||||
| aria2 | 1.36.0-1 |
|
||||
| autoconf | 2.71-2 |
|
||||
| automake | 1:1.16.5-1.3 |
|
||||
| binutils | 2.38-3ubuntu1 |
|
||||
| bison | 2:3.8.2+dfsg-1build1 |
|
||||
| brotli | 1.0.9-2build6 |
|
||||
| build-essential | 12.9ubuntu3 |
|
||||
| bzip2 | 1.0.8-5build1 |
|
||||
| coreutils | 8.32-4.1ubuntu1 |
|
||||
| curl | 7.81.0-1ubuntu1.3 |
|
||||
| dbus | 1.12.20-2ubuntu4 |
|
||||
| dnsutils | 1:9.18.1-1ubuntu1.1 |
|
||||
| dpkg | 1.21.1ubuntu2.1 |
|
||||
| fakeroot | 1.28-1ubuntu1 |
|
||||
| file | 1:5.41-3 |
|
||||
| flex | 2.6.4-8build2 |
|
||||
| fonts-noto-color-emoji | 2.034-1 |
|
||||
| ftp | 20210827-4build1 |
|
||||
| gnupg2 | 2.2.27-3ubuntu2.1 |
|
||||
| haveged | 1.9.14-1ubuntu1 |
|
||||
| imagemagick | 8:6.9.11.60+dfsg-1.3build2 |
|
||||
| iproute2 | 5.15.0-1ubuntu2 |
|
||||
| iputils-ping | 3:20211215-1 |
|
||||
| jq | 1.6-2.1ubuntu3 |
|
||||
| lib32z1 | 1:1.2.11.dfsg-2ubuntu9 |
|
||||
| libc++-dev | 1:14.0-55\~exp2 |
|
||||
| libc++abi-dev | 1:14.0-55\~exp2 |
|
||||
| libcurl4 | 7.81.0-1ubuntu1.3 |
|
||||
| libgbm-dev | 22.0.1-1ubuntu2.1 |
|
||||
| libgconf-2-4 | 3.2.6-7ubuntu2 |
|
||||
| libgsl-dev | 2.7.1+dfsg-3 |
|
||||
| libgtk-3-0 | 3.24.33-1ubuntu2 |
|
||||
| libmagic-dev | 1:5.41-3 |
|
||||
| libmagickcore-dev | 8:6.9.11.60+dfsg-1.3build2 |
|
||||
| libmagickwand-dev | 8:6.9.11.60+dfsg-1.3build2 |
|
||||
| libsecret-1-dev | 0.20.5-2 |
|
||||
| libsqlite3-dev | 3.37.2-2 |
|
||||
| libssl-dev | 3.0.2-0ubuntu1.6 |
|
||||
| libtool | 2.4.6-15build2 |
|
||||
| libunwind8 | 1.3.2-2build2 |
|
||||
| libxkbfile-dev | 1:1.1.0-1build3 |
|
||||
| libxss1 | 1:1.2.3-1build2 |
|
||||
| locales | 2.35-0ubuntu3 |
|
||||
| m4 | 1.4.18-5ubuntu2 |
|
||||
| mediainfo | 22.03-1 |
|
||||
| mercurial | 6.1.1-1ubuntu1 |
|
||||
| net-tools | 1.60+git20181103.0eebece-1ubuntu5 |
|
||||
| netcat | 1.218-4ubuntu1 |
|
||||
| openssh-client | 1:8.9p1-3 |
|
||||
| p7zip-full | 16.02+dfsg-8 |
|
||||
| p7zip-rar | 16.02-3build1 |
|
||||
| parallel | 20210822+ds-2 |
|
||||
| pass | 1.7.4-5 |
|
||||
| patchelf | 0.14.3-1 |
|
||||
| pkg-config | 0.29.2-1ubuntu3 |
|
||||
| pollinate | 4.33-3ubuntu2 |
|
||||
| python-is-python3 | 3.9.2-2 |
|
||||
| rpm | 4.17.0+dfsg1-4build1 |
|
||||
| rsync | 3.2.3-8ubuntu3 |
|
||||
| shellcheck | 0.8.0-2 |
|
||||
| sphinxsearch | 2.2.11-8 |
|
||||
| sqlite3 | 3.37.2-2 |
|
||||
| ssh | 1:8.9p1-3 |
|
||||
| sshpass | 1.09-1 |
|
||||
| subversion | 1.14.1-3ubuntu0.22.04.1 |
|
||||
| sudo | 1.9.9-1ubuntu2 |
|
||||
| swig | 4.0.2-1ubuntu1 |
|
||||
| telnet | 0.17-44build1 |
|
||||
| texinfo | 6.8-4build1 |
|
||||
| time | 1.9-0.1build2 |
|
||||
| tk | 8.6.11+1build2 |
|
||||
| tzdata | 2022a-0ubuntu1 |
|
||||
| unzip | 6.0-26ubuntu3 |
|
||||
| upx | 3.96-3 |
|
||||
| wget | 1.21.2-2ubuntu1 |
|
||||
| xorriso | 1.5.4-2 |
|
||||
| xvfb | 2:21.1.3-2ubuntu2.1 |
|
||||
| xz-utils | 5.2.5-2ubuntu1 |
|
||||
| zip | 3.0-12build2 |
|
||||
| zsync | 0.6.2-3ubuntu1 |
|
||||
|
||||
|
||||
2
images/linux/config/ubuntu2204.conf
Normal file
2
images/linux/config/ubuntu2204.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
# Name of pool supported by this image
|
||||
POOL_NAME="Ubuntu 2204"
|
||||
5
images/linux/post-generation/systemd-linger.sh
Normal file
5
images/linux/post-generation/systemd-linger.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Enable user session on boot, not on login
|
||||
UserId=$(cut -d: -f3 /etc/passwd | tail -1)
|
||||
loginctl enable-linger $UserId
|
||||
@@ -156,19 +156,13 @@ function Get-AndroidGoogleAPIsVersions {
|
||||
function Get-AndroidNDKVersions {
|
||||
$ndkFolderPath = Join-Path (Get-AndroidSDKRoot) "ndk"
|
||||
$versions = Get-ChildItem -Path $ndkFolderPath -Name
|
||||
$ndkDefaultVersion = Get-ToolsetValue "android.ndk.default"
|
||||
$ndkDefaultFullVersion = Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkDefaultVersion.*" -Name | Select-Object -Last 1
|
||||
|
||||
return ($versions | ForEach-Object {
|
||||
$defaultPostfix = ( $_ -eq $ndkDefaultFullVersion ) ? " (default)" : ""
|
||||
$_ + $defaultPostfix
|
||||
} | Join-String -Separator "<br>")
|
||||
return ($versions | Join-String -Separator "<br>")
|
||||
}
|
||||
|
||||
function Build-AndroidEnvironmentTable {
|
||||
$androidVersions = Get-Item env:ANDROID_*
|
||||
$androidVersions = Get-Item env:ANDROID_*
|
||||
|
||||
$shouldResolveLink = 'ANDROID_NDK_PATH', 'ANDROID_NDK_HOME', 'ANDROID_NDK_ROOT', 'ANDROID_NDK_LATEST_HOME'
|
||||
$shouldResolveLink = 'ANDROID_NDK_LATEST_HOME'
|
||||
return $androidVersions | Sort-Object -Property Name | ForEach-Object {
|
||||
[PSCustomObject] @{
|
||||
"Name" = $_.Name
|
||||
|
||||
@@ -23,6 +23,17 @@ function Get-ChromiumVersion {
|
||||
return $chromiumVersion
|
||||
}
|
||||
|
||||
function Get-EdgeVersion {
|
||||
$edgeVersion = (microsoft-edge --version).trim()
|
||||
$aptSourceRepo = Get-AptSourceRepository -PackageName "microsoft-edge"
|
||||
return "$edgeVersion (apt source repository: $aptSourceRepo)"
|
||||
}
|
||||
|
||||
function Get-EdgeDriverVersion {
|
||||
$edgeDriverVersion = msedgedriver --version | Take-OutputPart -Part 0,1,2,3
|
||||
return $edgeDriverVersion
|
||||
}
|
||||
|
||||
function Get-SeleniumVersion {
|
||||
$seleniumBinaryName = Get-ToolsetValue "selenium.binary_name"
|
||||
$fullSeleniumVersion = (Get-ChildItem "/usr/share/java/${seleniumBinaryName}-*").Name -replace "${seleniumBinaryName}-"
|
||||
@@ -35,6 +46,10 @@ function Build-BrowserWebdriversEnvironmentTable {
|
||||
"Name" = "CHROMEWEBDRIVER"
|
||||
"Value" = $env:CHROMEWEBDRIVER
|
||||
},
|
||||
@{
|
||||
"Name" = "EDGEWEBDRIVER"
|
||||
"Value" = $env:EDGEWEBDRIVER
|
||||
},
|
||||
@{
|
||||
"Name" = "GECKOWEBDRIVER"
|
||||
"Value" = $env:GECKOWEBDRIVER
|
||||
|
||||
@@ -3,6 +3,11 @@ function Get-BashVersion {
|
||||
return "Bash $version"
|
||||
}
|
||||
|
||||
function Get-DashVersion {
|
||||
$version = dpkg-query -W -f '${Version}' dash
|
||||
return "Dash $version"
|
||||
}
|
||||
|
||||
function Get-CPPVersions {
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
$cppVersions = $result.Output | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object {
|
||||
@@ -24,14 +29,15 @@ function Get-ClangToolVersions {
|
||||
param (
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string] $ToolName,
|
||||
[string] $VersionLineMatcher = "${ToolName} version",
|
||||
[string] $VersionPattern = "\d+\.\d+\.\d+)-"
|
||||
)
|
||||
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
$toolVersions = $result.Output | Where-Object { $_ -match "^${ToolName}-\d+"} | ForEach-Object {
|
||||
$clangCommand = ($_ -Split "/")[0]
|
||||
Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "${ToolName} version" } | ForEach-Object {
|
||||
$_ -match "${ToolName} version (?<version>${VersionPattern}" | Out-Null
|
||||
Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "${VersionLineMatcher}" } | ForEach-Object {
|
||||
$_ -match "${VersionLineMatcher} (?<version>${VersionPattern}" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
} | Sort-Object {[Version]$_}
|
||||
@@ -41,12 +47,17 @@ function Get-ClangToolVersions {
|
||||
|
||||
function Get-ClangVersions {
|
||||
$clangVersions = Get-ClangToolVersions -ToolName "clang"
|
||||
return "Clang " + $clangVersions
|
||||
return "Clang $clangVersions"
|
||||
}
|
||||
|
||||
function Get-ClangFormatVersions {
|
||||
$clangFormatVersions = Get-ClangToolVersions -ToolName "clang-format"
|
||||
return "Clang-format " + $clangFormatVersions
|
||||
return "Clang-format $clangFormatVersions"
|
||||
}
|
||||
|
||||
function Get-ClangTidyVersions {
|
||||
$clangFormatVersions = Get-ClangToolVersions -ToolName "clang-tidy" -VersionLineMatcher "LLVM version" -VersionPattern "\d+\.\d+\.\d+)"
|
||||
return "Clang-tidy $clangFormatVersions"
|
||||
}
|
||||
|
||||
|
||||
@@ -230,7 +241,7 @@ function Get-SbtVersion {
|
||||
function Get-PHPVersions {
|
||||
$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 (\d+:)?(?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ function Get-SqliteVersion {
|
||||
|
||||
function Get-MySQLVersion {
|
||||
$mySQLVersion = mysqld --version | Take-OutputPart -Part 2
|
||||
if (-not (Test-IsUbuntu20)) {
|
||||
if (Test-IsUbuntu18) {
|
||||
$mySQLVersion = $mySQLVersion | Take-OutputPart -Part 0 -Delimiter "-"
|
||||
}
|
||||
return "MySQL $mySQLVersion"
|
||||
|
||||
@@ -39,24 +39,31 @@ $markdown += New-MDHeader "Language and Runtime" -Level 3
|
||||
|
||||
$runtimesList = @(
|
||||
(Get-BashVersion),
|
||||
(Get-DashVersion),
|
||||
(Get-CPPVersions),
|
||||
(Get-FortranVersions),
|
||||
(Get-ErlangVersion),
|
||||
(Get-ErlangRebar3Version),
|
||||
(Get-MonoVersion),
|
||||
(Get-MsbuildVersion),
|
||||
(Get-NodeVersion),
|
||||
(Get-PerlVersion),
|
||||
(Get-PythonVersion),
|
||||
(Get-Python3Version),
|
||||
(Get-RubyVersion),
|
||||
(Get-SwiftVersion),
|
||||
(Get-JuliaVersion),
|
||||
(Get-KotlinVersion),
|
||||
(Get-ClangVersions),
|
||||
(Get-ClangFormatVersions)
|
||||
(Get-ClangFormatVersions),
|
||||
(Get-ClangTidyVersions),
|
||||
(Get-KotlinVersion)
|
||||
)
|
||||
|
||||
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
||||
$runtimesList += @(
|
||||
(Get-MsbuildVersion),
|
||||
(Get-MonoVersion),
|
||||
(Get-ErlangVersion),
|
||||
(Get-ErlangRebar3Version),
|
||||
(Get-SwiftVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ($runtimesList | Sort-Object)
|
||||
|
||||
$markdown += New-MDHeader "Package Management" -Level 3
|
||||
@@ -81,14 +88,17 @@ $markdown += Build-PackageManagementEnvironmentTable | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
|
||||
$markdown += New-MDHeader "Project Management" -Level 3
|
||||
$projectManagementList = @(
|
||||
(Get-AntVersion),
|
||||
(Get-GradleVersion),
|
||||
(Get-MavenVersion),
|
||||
(Get-SbtVersion)
|
||||
)
|
||||
$projectManagementList = @()
|
||||
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
||||
$projectManagementList += @(
|
||||
(Get-AntVersion),
|
||||
(Get-GradleVersion),
|
||||
(Get-MavenVersion),
|
||||
(Get-SbtVersion)
|
||||
)
|
||||
}
|
||||
|
||||
if (Test-IsUbuntu20) {
|
||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
||||
$projectManagementList += @(
|
||||
(Get-LernaVersion)
|
||||
)
|
||||
@@ -103,7 +113,6 @@ $toolsList = @(
|
||||
(Get-BazelVersion),
|
||||
(Get-BazeliskVersion),
|
||||
(Get-BicepVersion),
|
||||
(Get-BuildahVersion),
|
||||
(Get-CodeQLBundleVersion),
|
||||
(Get-CMakeVersion),
|
||||
(Get-DockerMobyClientVersion),
|
||||
@@ -111,19 +120,22 @@ $toolsList = @(
|
||||
(Get-DockerComposeV1Version),
|
||||
(Get-DockerComposeV2Version),
|
||||
(Get-DockerBuildxVersion),
|
||||
(Get-DockerAmazonECRCredHelperVersion),
|
||||
(Get-BuildahVersion),
|
||||
(Get-PodManVersion),
|
||||
(Get-SkopeoVersion),
|
||||
(Get-GitVersion),
|
||||
(Get-GitLFSVersion),
|
||||
(Get-GitFTPVersion),
|
||||
(Get-HavegedVersion),
|
||||
(Get-HerokuVersion),
|
||||
(Get-HHVMVersion),
|
||||
(Get-LeiningenVersion),
|
||||
(Get-SVNVersion),
|
||||
(Get-JqVersion),
|
||||
(Get-YqVersion),
|
||||
(Get-KindVersion),
|
||||
(Get-KubectlVersion),
|
||||
(Get-KustomizeVersion),
|
||||
(Get-LeiningenVersion),
|
||||
(Get-MediainfoVersion),
|
||||
(Get-HGVersion),
|
||||
(Get-MinikubeVersion),
|
||||
@@ -133,18 +145,22 @@ $toolsList = @(
|
||||
(Get-OpensslVersion),
|
||||
(Get-PackerVersion),
|
||||
(Get-ParcelVersion),
|
||||
(Get-PhantomJSVersion),
|
||||
(Get-PodManVersion),
|
||||
(Get-PulumiVersion),
|
||||
(Get-RVersion),
|
||||
(Get-SkopeoVersion),
|
||||
(Get-SphinxVersion),
|
||||
(Get-TerraformVersion),
|
||||
(Get-YamllintVersion),
|
||||
(Get-ZstdVersion)
|
||||
)
|
||||
|
||||
if (Test-IsUbuntu20) {
|
||||
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
||||
$toolsList += @(
|
||||
(Get-PhantomJSVersion),
|
||||
(Get-HHVMVersion)
|
||||
)
|
||||
}
|
||||
|
||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
||||
$toolsList += (Get-FastlaneVersion)
|
||||
}
|
||||
|
||||
@@ -172,7 +188,7 @@ $markdown += New-MDHeader "Java" -Level 3
|
||||
$markdown += Get-JavaVersions | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
|
||||
if (Test-IsUbuntu20) {
|
||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
||||
$markdown += New-MDHeader "GraalVM" -Level 3
|
||||
$markdown += Build-GraalVMTable | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
@@ -214,12 +230,19 @@ $markdown += New-MDHeader "Browsers and Drivers" -Level 3
|
||||
$browsersAndDriversList = @(
|
||||
(Get-ChromeVersion),
|
||||
(Get-ChromeDriverVersion),
|
||||
(Get-FirefoxVersion),
|
||||
(Get-GeckodriverVersion),
|
||||
(Get-ChromiumVersion),
|
||||
(Get-EdgeVersion),
|
||||
(Get-EdgeDriverVersion),
|
||||
(Get-SeleniumVersion)
|
||||
)
|
||||
|
||||
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
||||
$browsersAndDriversList += @(
|
||||
(Get-FirefoxVersion),
|
||||
(Get-GeckodriverVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines $browsersAndDriversList
|
||||
$markdown += New-MDHeader "Environment variables" -Level 4
|
||||
$markdown += Build-BrowserWebdriversEnvironmentTable | New-MDTable
|
||||
@@ -235,15 +258,23 @@ $tools = Get-DotnetTools
|
||||
$markdown += New-MDList -Lines $tools -Style Unordered
|
||||
|
||||
$markdown += New-MDHeader "Databases" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines (@(
|
||||
(Get-MongoDbVersion),
|
||||
$databaseLists = @(
|
||||
(Get-SqliteVersion)
|
||||
) | Sort-Object
|
||||
)
|
||||
|
||||
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
||||
$databaseLists += @(
|
||||
(Get-MongoDbVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ( $databaseLists | Sort-Object )
|
||||
|
||||
$markdown += Build-PostgreSqlSection
|
||||
$markdown += Build-MySQLSection
|
||||
$markdown += Build-MSSQLToolsSection
|
||||
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
||||
$markdown += Build-MSSQLToolsSection
|
||||
}
|
||||
|
||||
$markdown += New-MDHeader "Cached Tools" -Level 3
|
||||
$markdown += Build-CachedToolsSection
|
||||
|
||||
@@ -21,12 +21,12 @@ function Get-CargoVersion {
|
||||
}
|
||||
|
||||
function Get-CargoAuditVersion {
|
||||
$cargoAuditVersion = $(cargo audit --version) | Take-OutputPart -Part 1
|
||||
$cargoAuditVersion = $(cargo-audit --version) | Take-OutputPart -Part 1
|
||||
return "Cargo audit $cargoAuditVersion"
|
||||
}
|
||||
|
||||
function Get-CargoOutdatedVersion {
|
||||
$cargoOutdatedVersion = $(cargo outdated --version) | Take-OutputPart -Part 1 -Delimiter "v"
|
||||
$cargoOutdatedVersion = cargo outdated --version | Take-OutputPart -Part 1
|
||||
return "Cargo outdated $cargoOutdatedVersion"
|
||||
}
|
||||
|
||||
|
||||
@@ -42,20 +42,29 @@ function Get-CodeQLBundleVersion {
|
||||
|
||||
function Get-PodManVersion {
|
||||
$podmanVersion = podman --version | Take-OutputPart -Part 2
|
||||
$aptSourceRepo = Get-AptSourceRepository -PackageName "containers"
|
||||
return "Podman $podmanVersion (apt source repository: $aptSourceRepo)"
|
||||
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
||||
$aptSourceRepo = Get-AptSourceRepository -PackageName "containers"
|
||||
return "Podman $podmanVersion (apt source repository: $aptSourceRepo)"
|
||||
}
|
||||
return "Podman $podmanVersion"
|
||||
}
|
||||
|
||||
function Get-BuildahVersion {
|
||||
$buildahVersion = buildah --version | Take-OutputPart -Part 2
|
||||
$aptSourceRepo = Get-AptSourceRepository -PackageName "containers"
|
||||
return "Buildah $buildahVersion (apt source repository: $aptSourceRepo)"
|
||||
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
||||
$aptSourceRepo = Get-AptSourceRepository -PackageName "containers"
|
||||
return "Buildah $buildahVersion (apt source repository: $aptSourceRepo)"
|
||||
}
|
||||
return "Buildah $buildahVersion"
|
||||
}
|
||||
|
||||
function Get-SkopeoVersion {
|
||||
$skopeoVersion = skopeo --version | Take-OutputPart -Part 2
|
||||
$aptSourceRepo = Get-AptSourceRepository -PackageName "containers"
|
||||
return "Skopeo $skopeoVersion (apt source repository: $aptSourceRepo)"
|
||||
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
||||
$aptSourceRepo = Get-AptSourceRepository -PackageName "containers"
|
||||
return "Skopeo $skopeoVersion (apt source repository: $aptSourceRepo)"
|
||||
}
|
||||
return "Skopeo $skopeoVersion"
|
||||
}
|
||||
|
||||
function Get-CMakeVersion {
|
||||
@@ -88,6 +97,11 @@ function Get-DockerBuildxVersion {
|
||||
return "Docker-Buildx $buildxVersion"
|
||||
}
|
||||
|
||||
function Get-DockerAmazonECRCredHelperVersion {
|
||||
$ecrVersion = docker-credential-ecr-login -v | Select-String "Version:" | Take-OutputPart -Part 1
|
||||
return "Docker Amazon ECR Credential Helper $ecrVersion"
|
||||
}
|
||||
|
||||
function Get-GitVersion {
|
||||
$gitVersion = git --version | Take-OutputPart -Part -1
|
||||
$aptSourceRepo = Get-AptSourceRepository -PackageName "git-core"
|
||||
@@ -142,7 +156,7 @@ function Get-KindVersion {
|
||||
}
|
||||
|
||||
function Get-KubectlVersion {
|
||||
$kubectlVersion = kubectl version --client --short | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
$kubectlVersion = (kubectl version --client --output=json | ConvertFrom-Json).clientVersion.gitVersion.Replace('v','')
|
||||
return "Kubectl $kubectlVersion"
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,13 @@ echo "APT::Acquire::Retries \"10\";" > /etc/apt/apt.conf.d/80-retries
|
||||
# Configure apt to always assume Y
|
||||
echo "APT::Get::Assume-Yes \"true\";" > /etc/apt/apt.conf.d/90assumeyes
|
||||
|
||||
# APT understands a field called Phased-Update-Percentage which can be used to control the rollout of a new version. It is an integer between 0 and 100.
|
||||
# In case you have multiple systems that you want to receive the same set of updates,
|
||||
# you can set APT::Machine-ID to a UUID such that they all phase the same,
|
||||
# or set APT::Get::Never-Include-Phased-Updates or APT::Get::Always-Include-Phased-Updates to true such that APT will never/always consider phased updates.
|
||||
# apt-cache policy pkgname
|
||||
echo 'APT::Get::Always-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/99-phased-updates
|
||||
|
||||
# Fix bad proxy and http headers settings
|
||||
cat <<EOF >> /etc/apt/apt.conf.d/99bad_proxy
|
||||
Acquire::http::Pipeline-Depth 0;
|
||||
|
||||
@@ -9,14 +9,8 @@ LSB_RELEASE=$(lsb_release -rs)
|
||||
# Install Microsoft repository
|
||||
wget https://packages.microsoft.com/config/ubuntu/$LSB_RELEASE/packages-microsoft-prod.deb
|
||||
dpkg -i packages-microsoft-prod.deb
|
||||
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
|
||||
|
||||
# Install Microsoft GPG public key
|
||||
curl -L https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
|
||||
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
|
||||
|
||||
# update
|
||||
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
|
||||
apt-get -yq update
|
||||
apt-get -yq dist-upgrade
|
||||
|
||||
@@ -46,6 +46,10 @@ function Test-IsUbuntu20 {
|
||||
return (lsb_release -rs) -eq "20.04"
|
||||
}
|
||||
|
||||
function Test-IsUbuntu22 {
|
||||
return (lsb_release -rs) -eq "22.04"
|
||||
}
|
||||
|
||||
function Get-ToolsetContent {
|
||||
$toolset = Join-Path $env:INSTALLER_SCRIPT_FOLDER "toolset.json"
|
||||
Get-Content $toolset -Raw | ConvertFrom-Json
|
||||
@@ -69,7 +73,7 @@ function Get-ToolsetValue {
|
||||
|
||||
function Get-AndroidPackages {
|
||||
$androidSDKManagerPath = "/usr/local/lib/android/sdk/cmdline-tools/latest/bin/sdkmanager"
|
||||
$androidPackages = & $androidSDKManagerPath --list --verbose
|
||||
$androidPackages = & $androidSDKManagerPath --list --verbose 2>&1
|
||||
return $androidPackages
|
||||
}
|
||||
|
||||
|
||||
@@ -78,10 +78,13 @@ get_github_package_download_url() {
|
||||
if [ -n "$VERSION" ]; then
|
||||
tagName=$(echo $json | jq -r '.[] | select(.prerelease==false).tag_name' | sort --unique --version-sort | egrep -v ".*-[a-z]|beta" | egrep "\w*${VERSION}" | tail -1)
|
||||
else
|
||||
tagName=$(echo $json | jq -r '.[] | select(.prerelease==false).tag_name' | sort --unique --version-sort | egrep -v ".*-[a-z]|beta" | tail -1)
|
||||
fi
|
||||
tagName=$(echo $json | jq -r '.[] | select((.prerelease==false) and (.assets | length > 0)).tag_name' | sort --unique --version-sort | egrep -v ".*-[a-z]|beta" | tail -1)
|
||||
fi
|
||||
|
||||
downloadUrl=$(echo $json | jq -r ".[] | select(.tag_name==\"${tagName}\").assets[].browser_download_url | select(${FILTER})" | head -n 1)
|
||||
|
||||
if [ -z "$downloadUrl" ]; then
|
||||
echo "Failed to parse a download url for the '${tagName}' tag using '${FILTER}' filter"
|
||||
exit 1
|
||||
fi
|
||||
echo $downloadUrl
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,11 @@ function isUbuntu20
|
||||
lsb_release -d | grep -q 'Ubuntu 20'
|
||||
}
|
||||
|
||||
function isUbuntu22
|
||||
{
|
||||
lsb_release -d | grep -q 'Ubuntu 22'
|
||||
}
|
||||
|
||||
function getOSVersionLabel
|
||||
{
|
||||
lsb_release -cs
|
||||
|
||||
@@ -34,24 +34,35 @@ function get_full_ndk_version {
|
||||
# Set env variable for SDK Root (https://developer.android.com/studio/command-line/variables)
|
||||
ANDROID_ROOT=/usr/local/lib/android
|
||||
ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk
|
||||
ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk-bundle
|
||||
SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager
|
||||
echo "ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}" | tee -a /etc/environment
|
||||
|
||||
# ANDROID_HOME is deprecated, but older versions of Gradle rely on it
|
||||
echo "ANDROID_HOME=${ANDROID_SDK_ROOT}" | tee -a /etc/environment
|
||||
|
||||
# Set env variables for NDK Root
|
||||
echo "ANDROID_NDK_HOME=${ANDROID_NDK_ROOT}" | tee -a /etc/environment
|
||||
echo "ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT}" | tee -a /etc/environment
|
||||
|
||||
# Create android sdk directory
|
||||
mkdir -p ${ANDROID_SDK_ROOT}
|
||||
|
||||
# Download the latest command line tools so that we can accept all of the licenses.
|
||||
# See https://developer.android.com/studio/#command-tools
|
||||
cmdlineToolsVersion=$(get_toolset_value '.android."cmdline-tools"')
|
||||
if [[ $cmdlineToolsVersion == "latest" ]]; then
|
||||
repositoryXmlUrl="https://dl.google.com/android/repository/repository2-1.xml"
|
||||
download_with_retries $repositoryXmlUrl "/tmp" "repository2-1.xml"
|
||||
cmdlineToolsVersion=$(
|
||||
yq -p=xml \
|
||||
'.sdk-repository.remotePackage[] | select(."+path" == "cmdline-tools;latest").archives.archive[].complete.url | select(contains("commandlinetools-linux"))' \
|
||||
/tmp/repository2-1.xml
|
||||
)
|
||||
|
||||
if [[ -z $cmdlineToolsVersion ]]; then
|
||||
echo "Failed to parse latest command-line tools version"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
cmdlineTools="android-cmdline-tools.zip"
|
||||
download_with_retries https://dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip "." $cmdlineTools
|
||||
download_with_retries "https://dl.google.com/android/repository/${cmdlineToolsVersion}" "." $cmdlineTools
|
||||
unzip -qq $cmdlineTools -d ${ANDROID_SDK_ROOT}/cmdline-tools
|
||||
# Command line tools need to be placed in ${ANDROID_SDK_ROOT}/sdk/cmdline-tools/latest to determine SDK root
|
||||
mv ${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools ${ANDROID_SDK_ROOT}/cmdline-tools/latest
|
||||
@@ -73,8 +84,6 @@ extras=$(get_toolset_value '.android.extra_list[]|"extras;" + .')
|
||||
addons=$(get_toolset_value '.android.addon_list[]|"add-ons;" + .')
|
||||
additional=$(get_toolset_value '.android.additional_tools[]')
|
||||
ANDROID_NDK_MAJOR_VERSIONS=($(get_toolset_value '.android.ndk.versions[]'))
|
||||
ANDROID_NDK_MAJOR_DEFAULT=$(get_toolset_value '.android.ndk.default')
|
||||
ndkDefaultFullVersion=$(get_full_ndk_version $ANDROID_NDK_MAJOR_DEFAULT)
|
||||
|
||||
components=("${extras[@]}" "${addons[@]}" "${additional[@]}")
|
||||
for ndk_version in "${ANDROID_NDK_MAJOR_VERSIONS[@]}"
|
||||
@@ -83,11 +92,6 @@ do
|
||||
components+=("ndk;$ndk_full_version")
|
||||
done
|
||||
|
||||
# This changes were added due to incompatibility with android ndk-bundle (ndk;22.0.7026061).
|
||||
# Link issue virtual-environments: https://github.com/actions/virtual-environments/issues/2481
|
||||
# Link issue xamarin-android: https://github.com/xamarin/xamarin-android/issues/5526
|
||||
ln -s $ANDROID_SDK_ROOT/ndk/$ndkDefaultFullVersion $ANDROID_NDK_ROOT
|
||||
|
||||
ANDROID_NDK_MAJOR_LATEST=(${ANDROID_NDK_MAJOR_VERSIONS[-1]})
|
||||
ndkLatestFullVersion=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LATEST)
|
||||
echo "ANDROID_NDK_LATEST_HOME=$ANDROID_SDK_ROOT/ndk/$ndkLatestFullVersion" | tee -a /etc/environment
|
||||
@@ -102,7 +106,7 @@ filter_components_by_version $minimumBuildToolVersion "${availableBuildTools[@]}
|
||||
echo "y" | $SDKMANAGER ${components[@]}
|
||||
|
||||
# Old skdmanager from sdk tools doesn't work with Java > 8, set version 8 explicitly
|
||||
if isUbuntu20; then
|
||||
if isUbuntu20 || isUbuntu22; then
|
||||
sed -i "2i export JAVA_HOME=${JAVA_HOME_8_X64}" ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager
|
||||
fi
|
||||
|
||||
|
||||
@@ -8,19 +8,9 @@
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
# Install the AWS CLI v1 Ubuntu18 and AWS CLI v2 on Ubuntu20
|
||||
if isUbuntu20 ; then
|
||||
download_with_retries "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" "/tmp" "awscliv2.zip"
|
||||
unzip -qq /tmp/awscliv2.zip -d /tmp
|
||||
/tmp/aws/install -i /usr/local/aws-cli -b /usr/local/bin
|
||||
fi
|
||||
|
||||
# The installation should be run after python3 is installed as aws-cli V1 dropped python2 support
|
||||
if isUbuntu18 ; then
|
||||
download_with_retries "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" "/tmp" "awscli-bundle.zip"
|
||||
unzip -qq /tmp/awscli-bundle.zip -d /tmp
|
||||
python3 /tmp/awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
|
||||
fi
|
||||
download_with_retries "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" "/tmp" "awscliv2.zip"
|
||||
unzip -qq /tmp/awscliv2.zip -d /tmp
|
||||
/tmp/aws/install -i /usr/local/aws-cli -b /usr/local/bin
|
||||
|
||||
download_with_retries "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" "/tmp" "session-manager-plugin.deb"
|
||||
apt install /tmp/session-manager-plugin.deb
|
||||
|
||||
@@ -10,6 +10,6 @@ source $HELPER_SCRIPTS/install.sh
|
||||
npm install -g @bazel/bazelisk
|
||||
|
||||
# run bazelisk once in order to instal /usr/local/bin/bazel binary
|
||||
bazelisk
|
||||
sudo -u $SUDO_USER bazel version
|
||||
|
||||
invoke_tests "Tools" "Bazel"
|
||||
|
||||
@@ -11,7 +11,7 @@ function InstallClang {
|
||||
local version=$1
|
||||
|
||||
echo "Installing clang-$version..."
|
||||
apt-get install -y "clang-$version" "lldb-$version" "lld-$version" "clang-format-$version"
|
||||
apt-get install -y "clang-$version" "lldb-$version" "lld-$version" "clang-format-$version" "clang-tidy-$version"
|
||||
}
|
||||
|
||||
function SetDefaultClang {
|
||||
@@ -21,6 +21,8 @@ function SetDefaultClang {
|
||||
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${version} 100
|
||||
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${version} 100
|
||||
update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-${version} 100
|
||||
update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-${version} 100
|
||||
update-alternatives --install /usr/bin/run-clang-tidy run-clang-tidy /usr/bin/run-clang-tidy-${version} 100
|
||||
}
|
||||
|
||||
versions=$(get_toolset_value '.clang.versions[]')
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
# Retrieve the name of the CodeQL bundle preferred by the Action (in the format codeql-bundle-YYYYMMDD).
|
||||
codeql_bundle_name="$(curl -sSL https://raw.githubusercontent.com/github/codeql-action/v1/src/defaults.json | jq -r .bundleVersion)"
|
||||
codeql_bundle_name="$(curl -sSL https://raw.githubusercontent.com/github/codeql-action/v2/src/defaults.json | jq -r .bundleVersion)"
|
||||
# Convert the bundle name to a version number (0.0.0-YYYYMMDD).
|
||||
codeql_bundle_version="0.0.0-${codeql_bundle_name##*-}"
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# Set ImageVersion and ImageOS env variables
|
||||
echo ImageVersion=$IMAGE_VERSION | tee -a /etc/environment
|
||||
echo ImageOS=$IMAGE_OS | tee -a /etc/environment
|
||||
@@ -40,3 +43,9 @@ if [[ -f "/etc/fwupd/daemon.conf" ]]; then
|
||||
sed -i 's/UpdateMotd=true/UpdateMotd=false/g' /etc/fwupd/daemon.conf
|
||||
systemctl mask fwupd-refresh.timer
|
||||
fi
|
||||
|
||||
# Disable to load providers
|
||||
# https://github.com/microsoft/azure-pipelines-agent/issues/3834
|
||||
if isUbuntu22; then
|
||||
sed -i 's/openssl_conf = openssl_init/#openssl_conf = openssl_init/g' /etc/ssl/openssl.cnf
|
||||
fi
|
||||
|
||||
@@ -7,22 +7,27 @@
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
install_packages=(podman buildah skopeo)
|
||||
REPO_URL="https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable"
|
||||
|
||||
# Install podman, buildah, scopeo container's tools (on Ubuntu20 these tools can be installed without adding new repository)
|
||||
source /etc/os-release
|
||||
sh -c "echo 'deb ${REPO_URL}/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
|
||||
wget -qnv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
|
||||
apt-key add Release.key
|
||||
apt-get update -qq
|
||||
apt-get -qq -y install ${install_packages[@]}
|
||||
# Packages is available in the official Ubuntu upstream starting from Ubuntu 21
|
||||
if isUbuntu18 || isUbuntu20; then
|
||||
REPO_URL="https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable"
|
||||
source /etc/os-release
|
||||
sh -c "echo 'deb ${REPO_URL}/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
|
||||
wget -qnv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
|
||||
apt-key add Release.key
|
||||
fi
|
||||
|
||||
# Install podman, buildah, scopeo container's tools
|
||||
apt-get update
|
||||
apt-get -y install ${install_packages[@]}
|
||||
mkdir -p /etc/containers
|
||||
echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf
|
||||
|
||||
# Remove source repo
|
||||
rm /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||
|
||||
# Document source repo
|
||||
echo "containers $REPO_URL" >> $HELPER_SCRIPTS/apt-sources.txt
|
||||
if isUbuntu18 || isUbuntu20; then
|
||||
# Remove source repo
|
||||
rm /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||
# Document source repo
|
||||
echo "containers $REPO_URL" >> $HELPER_SCRIPTS/apt-sources.txt
|
||||
fi
|
||||
|
||||
invoke_tests "Tools" "Containers"
|
||||
|
||||
@@ -46,4 +46,10 @@ done
|
||||
# stored from earlier.
|
||||
docker logout
|
||||
|
||||
# Install amazon-ecr-credential-helper
|
||||
aws_latest_release_url="https://api.github.com/repos/awslabs/amazon-ecr-credential-helper/releases/latest"
|
||||
aws_helper_url=$(curl "${authString[@]}" -sL $aws_latest_release_url | jq -r '.body' | awk -F'[()]' '/linux-amd64/ {print $2}')
|
||||
download_with_retries "$aws_helper_url" "/usr/bin" docker-credential-ecr-login
|
||||
chmod +x /usr/bin/docker-credential-ecr-login
|
||||
|
||||
invoke_tests "Tools" "Docker"
|
||||
|
||||
@@ -8,20 +8,21 @@
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
source_list=/etc/apt/sources.list.d/eslerlang.list
|
||||
source_key=/usr/share/keyrings/eslerlang.gpg
|
||||
|
||||
# Install Erlang
|
||||
echo "deb https://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" > $source_list
|
||||
wget -q -O - https://binaries.erlang-solutions.com/debian/erlang_solutions.asc | apt-key add -
|
||||
wget -q -O - https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | gpg --dearmor > $source_key
|
||||
echo "deb [signed-by=$source_key] https://packages.erlang-solutions.com/ubuntu $(lsb_release -cs) contrib" > $source_list
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends esl-erlang
|
||||
|
||||
# Install rebar3
|
||||
rebar3DownloadUrl=$(get_github_package_download_url "erlang/rebar3" "endswith(\"rebar3\")")
|
||||
download_with_retries $rebar3DownloadUrl "/tmp"
|
||||
mv /tmp/rebar3 /usr/local/bin/rebar3
|
||||
rebar3_url="https://github.com/erlang/rebar3/releases/latest/download/rebar3"
|
||||
download_with_retries $rebar3_url "/usr/local/bin" "rebar3"
|
||||
chmod +x /usr/local/bin/rebar3
|
||||
|
||||
# Clean up source list
|
||||
rm $source_list
|
||||
rm $source_key
|
||||
|
||||
invoke_tests "Tools" "erlang"
|
||||
|
||||
@@ -45,7 +45,7 @@ tar xzf "$tmp_hub"/hub-linux-amd64-*.tgz --strip-components 1 -C "$tmp_hub"
|
||||
mv "$tmp_hub"/bin/hub /usr/local/bin
|
||||
|
||||
# Add well-known SSH host keys to known_hosts
|
||||
ssh-keyscan -t rsa github.com >> /etc/ssh/ssh_known_hosts
|
||||
ssh-keyscan -t rsa,ecdsa,ed25519 github.com >> /etc/ssh/ssh_known_hosts
|
||||
ssh-keyscan -t rsa ssh.dev.azure.com >> /etc/ssh/ssh_known_hosts
|
||||
|
||||
invoke_tests "Tools" "Git"
|
||||
@@ -7,15 +7,15 @@
|
||||
REPO_URL="https://packages.cloud.google.com/apt"
|
||||
|
||||
# Install the Google Cloud SDK
|
||||
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] $REPO_URL 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 -
|
||||
sudo apt-get update -y
|
||||
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] $REPO_URL cloud-sdk main" > /etc/apt/sources.list.d/google-cloud-sdk.list
|
||||
wget -q https://packages.cloud.google.com/apt/doc/apt-key.gpg -O /usr/share/keyrings/cloud.google.gpg
|
||||
apt-get update -y
|
||||
# temporary downgrade google-cloud-sdk as python component has linking bugs
|
||||
sudo apt-get install -y google-cloud-sdk=369.0.0-0
|
||||
apt-get install -y google-cloud-sdk=369.0.0-0
|
||||
|
||||
# remove apt
|
||||
rm /etc/apt/sources.list.d/google-cloud-sdk.list
|
||||
rm /usr/share/keyrings/cloud.google.gpg /usr/share/keyrings/cloud.google.gpg~
|
||||
rm /usr/share/keyrings/cloud.google.gpg
|
||||
|
||||
# add repo to the apt-sources.txt
|
||||
echo "google-cloud-sdk $REPO_URL" >> $HELPER_SCRIPTS/apt-sources.txt
|
||||
|
||||
@@ -38,18 +38,24 @@ createJavaEnvironmentalVariable() {
|
||||
}
|
||||
|
||||
enableRepositories() {
|
||||
# Add Adopt PPA
|
||||
wget -qO - "https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public" | apt-key add -
|
||||
add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
|
||||
|
||||
osLabel=$(getOSVersionLabel)
|
||||
|
||||
if isUbuntu18 || isUbuntu20; then
|
||||
# Add Adopt PPA
|
||||
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | gpg --dearmor > /usr/share/keyrings/adopt.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/adopt.gpg] https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ $osLabel main" > /etc/apt/sources.list.d/adopt.list
|
||||
fi
|
||||
|
||||
# Add Addoptium PPA
|
||||
wget -qO - "https://packages.adoptium.net/artifactory/api/gpg/key/public" | apt-key add -
|
||||
add-apt-repository --yes https://packages.adoptium.net/artifactory/deb/
|
||||
# apt-key is deprecated, dearmor and add manually
|
||||
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /usr/share/keyrings/adoptium.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb/ $osLabel main" > /etc/apt/sources.list.d/adoptium.list
|
||||
|
||||
if isUbuntu18 ; then
|
||||
# Install GPG Key for Azul Open JDK. See https://www.azul.com/downloads/azure-only/zulu/
|
||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
|
||||
apt-add-repository "deb https://repos.azul.com/azure-only/zulu/apt stable main"
|
||||
wget -qO - https://www.azul.com/wp-content/uploads/2021/05/0xB1998361219BD9C9.txt | gpg --dearmor > /usr/share/keyrings/zulu.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/zulu.gpg] https://repos.azul.com/azure-only/zulu/apt stable main" > /etc/apt/sources.list.d/zulu.list
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -150,5 +156,13 @@ unzip -qq -d /usr/share /tmp/gradleLatest.zip
|
||||
ln -s /usr/share/gradle-"${gradleLatestVersion}"/bin/gradle /usr/bin/gradle
|
||||
echo "GRADLE_HOME=$(find /usr/share -depth -maxdepth 1 -name "gradle*")" | tee -a /etc/environment
|
||||
|
||||
# Delete java repositories and keys
|
||||
rm -f /etc/apt/sources.list.d/adopt.list
|
||||
rm -f /etc/apt/sources.list.d/adoptium.list
|
||||
rm -f /etc/apt/sources.list.d/zulu.list
|
||||
rm -f /usr/share/keyrings/adopt.gpg
|
||||
rm -f /usr/share/keyrings/adoptium.gpg
|
||||
rm -f /usr/share/keyrings/zulu.gpg
|
||||
|
||||
reloadEtcEnvironment
|
||||
invoke_tests "Java"
|
||||
|
||||
49
images/linux/scripts/installers/microsoft-edge.sh
Normal file
49
images/linux/scripts/installers/microsoft-edge.sh
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: microsoft-edge.sh
|
||||
## Desc: Installs Microsoft Edge
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
REPO_URL="https://packages.microsoft.com/repos/edge"
|
||||
gpg_key="/usr/share/keyrings/microsoft-edge.gpg"
|
||||
repo_path="/etc/apt/sources.list.d/microsoft-edge.list"
|
||||
|
||||
|
||||
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > $gpg_key
|
||||
# Specify an arch as Microsoft repository supports armhf and arm64 as well
|
||||
echo "deb [arch=amd64 signed-by=$gpg_key] $REPO_URL stable main" > $repo_path
|
||||
|
||||
apt-get update
|
||||
apt-get install --no-install-recommends microsoft-edge-stable
|
||||
|
||||
rm $gpg_key
|
||||
rm $repo_path
|
||||
|
||||
echo "microsoft-edge $REPO_URL" >> $HELPER_SCRIPTS/apt-sources.txt
|
||||
|
||||
# Install Microsoft Edge Webdriver
|
||||
|
||||
EDGEDRIVER_DIR="/usr/local/share/edge_driver"
|
||||
EDGEDRIVER_BIN="$EDGEDRIVER_DIR/msedgedriver"
|
||||
|
||||
mkdir -p $EDGEDRIVER_DIR
|
||||
|
||||
EDGE_VERSION=$(microsoft-edge --version | cut -d' ' -f 3)
|
||||
EDGE_VERSION_MAJOR=$(echo $EDGE_VERSION | cut -d'.' -f 1)
|
||||
|
||||
EDGE_DRIVER_VERSION_URL="https://msedgedriver.azureedge.net/LATEST_RELEASE_${EDGE_VERSION_MAJOR}_LINUX"
|
||||
# Convert a resulting file to normal UTF-8
|
||||
EDGE_DRIVER_LATEST_VERSION=$(curl -s "$EDGE_DRIVER_VERSION_URL" | iconv -f utf-16 -t utf-8 | tr -d '\r')
|
||||
|
||||
EDGEDRIVER_URL="https://msedgedriver.azureedge.net/${EDGE_DRIVER_LATEST_VERSION}/edgedriver_linux64.zip"
|
||||
download_with_retries $EDGEDRIVER_URL "/tmp" "edgedriver_linux64.zip"
|
||||
|
||||
unzip -qq /tmp/edgedriver_linux64.zip -d $EDGEDRIVER_DIR
|
||||
chmod +x $EDGEDRIVER_BIN
|
||||
ln -s $EDGEDRIVER_BIN /usr/bin
|
||||
|
||||
echo "EDGEWEBDRIVER=$EDGEDRIVER_DIR" | tee -a /etc/environment
|
||||
|
||||
invoke_tests "Browsers" "Edge"
|
||||
@@ -4,10 +4,13 @@
|
||||
## Desc: Installs packer
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
# Install Packer
|
||||
PACKER_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | jq -r .current_version)
|
||||
curl -LO "https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_amd64.zip"
|
||||
unzip -qq "packer_${PACKER_VERSION}_linux_amd64.zip" -d /usr/local/bin
|
||||
rm -f "packer_${PACKER_VERSION}_linux_amd64.zip"
|
||||
URL=$(curl -s https://api.releases.hashicorp.com/v1/releases/packer/latest | jq -r '.builds[] | select((.arch=="amd64") and (.os=="linux")).url')
|
||||
ZIP_NAME="packer_linux_amd64.zip"
|
||||
download_with_retries "${URL}" "/tmp" "${ZIP_NAME}"
|
||||
unzip -qq "/tmp/${ZIP_NAME}" -d /usr/local/bin
|
||||
rm -f "/tmp/${ZIP_NAME}"
|
||||
|
||||
invoke_tests "Tools" "Packer"
|
||||
@@ -103,8 +103,8 @@ mv phpunit /usr/local/bin/phpunit
|
||||
|
||||
# ubuntu 20.04 libzip-dev is libzip5 based and is not compatible libzip-dev of ppa:ondrej/php
|
||||
# see https://github.com/actions/virtual-environments/issues/1084
|
||||
if isUbuntu20 ; then
|
||||
rm /etc/apt/sources.list.d/ondrej-ubuntu-php-focal.list
|
||||
if isUbuntu20 || isUbuntu22; then
|
||||
rm /etc/apt/sources.list.d/ondrej-*.list
|
||||
apt-get update
|
||||
fi
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ source $HELPER_SCRIPTS/install.sh
|
||||
REPO_URL="https://apt.postgresql.org/pub/repos/apt/"
|
||||
|
||||
# Preparing repo for PostgreSQL
|
||||
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
|
||||
echo "deb $REPO_URL $(getOSVersionLabel)-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list
|
||||
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /usr/share/keyrings/postgresql.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/postgresql.gpg] $REPO_URL $(getOSVersionLabel)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
|
||||
|
||||
# Fetch PostgreSQL version to install from the toolset
|
||||
toolsetVersion=$(get_toolset_value '.postgresql.version')
|
||||
@@ -30,6 +30,7 @@ systemctl is-active --quiet postgresql.service && systemctl stop postgresql.serv
|
||||
systemctl disable postgresql.service
|
||||
|
||||
rm /etc/apt/sources.list.d/pgdg.list
|
||||
rm /usr/share/keyrings/postgresql.gpg
|
||||
|
||||
echo "postgresql $REPO_URL" >> $HELPER_SCRIPTS/apt-sources.txt
|
||||
|
||||
|
||||
@@ -5,4 +5,4 @@
|
||||
################################################################################
|
||||
|
||||
# Install Powershell
|
||||
apt-get install -y powershell
|
||||
apt-get install -y powershell
|
||||
|
||||
@@ -3,18 +3,14 @@
|
||||
imagedata_file=$IMAGEDATA_FILE
|
||||
image_version=$IMAGE_VERSION
|
||||
os_name=$(lsb_release -ds | sed "s/ /\\\n/g")
|
||||
image_label="ubuntu-$(lsb_release -rs)"
|
||||
os_version=$(lsb_release -rs)
|
||||
image_label="ubuntu-${os_version}"
|
||||
version_major=${os_version/.*/}
|
||||
version_wo_dot=${os_version/./}
|
||||
github_url="https://github.com/actions/virtual-environments/blob"
|
||||
|
||||
if [[ "$image_label" =~ "ubuntu-20" ]]; then
|
||||
software_url="${github_url}/ubuntu20/${image_version}/images/linux/Ubuntu2004-Readme.md"
|
||||
releaseUrl="https://github.com/actions/virtual-environments/releases/tag/ubuntu20%2F${image_version}"
|
||||
fi
|
||||
|
||||
if [[ "$image_label" =~ "ubuntu-18" ]]; then
|
||||
software_url="${github_url}/ubuntu18/${image_version}/images/linux/Ubuntu1804-Readme.md"
|
||||
releaseUrl="https://github.com/actions/virtual-environments/releases/tag/ubuntu18%2F${image_version}"
|
||||
fi
|
||||
software_url="${github_url}/ubuntu${version_major}/${image_version}/images/linux/Ubuntu${version_wo_dot}-Readme.md"
|
||||
releaseUrl="https://github.com/actions/virtual-environments/releases/tag/ubuntu${version_major}%2F${image_version}"
|
||||
|
||||
cat <<EOF > $imagedata_file
|
||||
[
|
||||
|
||||
@@ -6,10 +6,13 @@ source $HELPER_SCRIPTS/os.sh
|
||||
# install R
|
||||
osLabel=$(getOSVersionLabel)
|
||||
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
|
||||
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $osLabel-cran40/"
|
||||
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | gpg --dearmor > /usr/share/keyrings/rlang.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/rlang.gpg] https://cloud.r-project.org/bin/linux/ubuntu $osLabel-cran40/" > /etc/apt/sources.list.d/rlang.list
|
||||
|
||||
sudo apt update
|
||||
sudo apt install r-base
|
||||
apt-get update
|
||||
apt-get install r-base
|
||||
|
||||
rm /etc/apt/sources.list.d/rlang.list
|
||||
rm /usr/share/keyrings/rlang.gpg
|
||||
|
||||
invoke_tests "Tools" "R"
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
export RUSTUP_HOME=/etc/skel/.rustup
|
||||
export CARGO_HOME=/etc/skel/.cargo
|
||||
@@ -17,7 +18,12 @@ source $CARGO_HOME/env
|
||||
|
||||
# Install common tools
|
||||
rustup component add rustfmt clippy
|
||||
cargo install --locked bindgen cbindgen cargo-audit cargo-outdated
|
||||
|
||||
if isUbuntu22; then
|
||||
cargo install bindgen cbindgen cargo-audit cargo-outdated
|
||||
else
|
||||
cargo install --locked bindgen cbindgen cargo-audit cargo-outdated
|
||||
fi
|
||||
|
||||
# Cleanup Cargo cache
|
||||
rm -rf ${CARGO_HOME}/registry/*
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# Install libssl1.1 dependency
|
||||
if isUbuntu22; then
|
||||
download_with_retries "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.6_amd64.deb" "/tmp"
|
||||
dpkg -i /tmp/libssl1.1_1.1.1l-1ubuntu1.6_amd64.deb
|
||||
fi
|
||||
|
||||
# Install SqlPackage
|
||||
download_with_retries "https://aka.ms/sqlpackage-linux" "." "sqlpackage.zip"
|
||||
|
||||
@@ -16,13 +16,18 @@ swift_tar_url="https://swift.org/builds/swift-$swift_version-release/ubuntu${ima
|
||||
download_with_retries $swift_tar_url "/tmp" "$swift_tar_name"
|
||||
|
||||
tar xzf /tmp/$swift_tar_name
|
||||
mv swift-$swift_version-RELEASE-ubuntu$image_label /usr/share/swift
|
||||
|
||||
SWIFT_PATH="/usr/share/swift/usr/bin"
|
||||
SWIFT_BIN="$SWIFT_PATH/swift"
|
||||
SWIFTC_BIN="$SWIFT_PATH/swiftc"
|
||||
ln -s "$SWIFT_BIN" /usr/local/bin/swift
|
||||
ln -s "$SWIFTC_BIN" /usr/local/bin/swiftc
|
||||
echo "SWIFT_PATH=$SWIFT_PATH" | tee -a /etc/environment
|
||||
SWIFT_INSTALL_ROOT="/usr/share/swift"
|
||||
SWIFT_BIN_ROOT="$SWIFT_INSTALL_ROOT/usr/bin"
|
||||
SWIFT_LIB_ROOT="$SWIFT_INSTALL_ROOT/usr/lib"
|
||||
|
||||
mv swift-$swift_version-RELEASE-ubuntu$image_label $SWIFT_INSTALL_ROOT
|
||||
mkdir -p /usr/local/lib
|
||||
|
||||
ln -s "$SWIFT_BIN_ROOT/swift" /usr/local/bin/swift
|
||||
ln -s "$SWIFT_BIN_ROOT/swiftc" /usr/local/bin/swiftc
|
||||
ln -s "$SWIFT_LIB_ROOT/libsourcekitdInProc.so" /usr/local/lib/libsourcekitdInProc.so
|
||||
|
||||
echo "SWIFT_PATH=$SWIFT_BIN_ROOT" | tee -a /etc/environment
|
||||
|
||||
invoke_tests "Common" "Swift"
|
||||
|
||||
@@ -4,10 +4,13 @@
|
||||
## Desc: Installs terraform
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
# Install Terraform
|
||||
TERRAFORM_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r .current_version)
|
||||
curl -LO "https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip"
|
||||
unzip -qq "terraform_${TERRAFORM_VERSION}_linux_amd64.zip" -d /usr/local/bin
|
||||
rm -f "terraform_${TERRAFORM_VERSION}_linux_amd64.zip"
|
||||
URL=$(curl -s https://api.releases.hashicorp.com/v1/releases/terraform/latest | jq -r '.builds[] | select((.arch=="amd64") and (.os=="linux")).url')
|
||||
ZIP_NAME="terraform_linux_amd64.zip"
|
||||
download_with_retries "${URL}" "/tmp" "${ZIP_NAME}"
|
||||
unzip -qq "/tmp/${ZIP_NAME}" -d /usr/local/bin
|
||||
rm -f "/tmp/${ZIP_NAME}"
|
||||
|
||||
invoke_tests "Tools" "Terraform"
|
||||
@@ -3,14 +3,8 @@
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
YQ_BINARY=yq_linux_amd64
|
||||
|
||||
# As per https://github.com/mikefarah/yq#wget
|
||||
YQ_URL=$(get_github_package_download_url "mikefarah/yq" "endswith(\"$YQ_BINARY.tar.gz\")")
|
||||
echo "Downloading latest yq from $YQ_URL"
|
||||
|
||||
download_with_retries "$YQ_URL" "/tmp" "${YQ_BINARY}.tar.gz"
|
||||
tar xzf "/tmp/${YQ_BINARY}.tar.gz" -C "/tmp"
|
||||
mv /tmp/${YQ_BINARY} /usr/bin/yq
|
||||
YQ_URL="https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64"
|
||||
download_with_retries "$YQ_URL" "/usr/bin" "yq"
|
||||
chmod +x /usr/bin/yq
|
||||
|
||||
invoke_tests "Tools" "yq"
|
||||
|
||||
@@ -2,9 +2,7 @@ Describe "Android" {
|
||||
$androidSdkManagerPackages = Get-AndroidPackages
|
||||
[int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version"
|
||||
[version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version"
|
||||
[string]$ndkDefaultVersion = Get-ToolsetValue "android.ndk.default"
|
||||
[array]$ndkVersions = Get-ToolsetValue "android.ndk.versions"
|
||||
$ndkDefaultFullVersion = Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkDefaultVersion.*" -Name | Select-Object -Last 1
|
||||
$ndkFullVersions = $ndkVersions | ForEach-Object { (Get-ChildItem "/usr/local/lib/android/sdk/ndk/${_}.*" | Select-Object -Last 1).Name } | ForEach-Object { "ndk/${_}" }
|
||||
# Platforms starting with a letter are the preview versions, which is not installed on the image
|
||||
$platformVersionsList = ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") }) -replace 'platforms;android-', '' | Where-Object { $_ -match "^\d+$" } | Sort-Object -Unique
|
||||
@@ -61,17 +59,10 @@ Describe "Android" {
|
||||
|
||||
Context "Packages" {
|
||||
$testCases = $androidPackages | ForEach-Object { @{ PackageName = $_ } }
|
||||
$defaultNdkTestCase = @{ NdkDefaultFullVersion = $ndkDefaultFullVersion }
|
||||
|
||||
It "<PackageName>" -TestCases $testCases {
|
||||
param ([string] $PackageName)
|
||||
Validate-AndroidPackage $PackageName
|
||||
}
|
||||
|
||||
It "ndk-bundle points to the default NDK version" -TestCases $defaultNdkTestCase {
|
||||
$ndkLinkTarget = (Get-Item $env:ANDROID_NDK_HOME).Target
|
||||
$ndkVersion = Split-Path -Path $ndkLinkTarget -Leaf
|
||||
$ndkVersion | Should -BeExactly $NdkDefaultFullVersion
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
Describe "Firefox" {
|
||||
Describe "Firefox" -Skip:(Test-IsUbuntu22) {
|
||||
It "Firefox" {
|
||||
"sudo -i firefox --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -18,8 +18,18 @@ Describe "Chrome" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Edge" {
|
||||
It "Edge" {
|
||||
"microsoft-edge --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "Edge Driver" {
|
||||
"msedgedriver --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Chromium" {
|
||||
It "Chromium" {
|
||||
"chromium-browser --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ Describe "PHP" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Swift" {
|
||||
Describe "Swift" -Skip:(Test-IsUbuntu22) {
|
||||
It "swift" {
|
||||
"swift --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -37,6 +37,10 @@ Describe "Swift" {
|
||||
It "swiftc" {
|
||||
"swiftc --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "libsourcekitd" {
|
||||
"/usr/local/lib/libsourcekitdInProc.so" | Should -Exist
|
||||
}
|
||||
}
|
||||
|
||||
Describe "PipxPackages" {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Describe "MongoDB" {
|
||||
Describe "MongoDB" -Skip:(Test-IsUbuntu22) {
|
||||
It "<ToolName>" -TestCases @(
|
||||
@{ ToolName = "mongo" }
|
||||
@{ ToolName = "mongod" }
|
||||
|
||||
@@ -50,7 +50,7 @@ Describe "Java" {
|
||||
"`"$javaPath`" -version" | Should -MatchCommandOutput ([regex]::Escape("openjdk version `"${Version}."))
|
||||
}
|
||||
|
||||
It "Java Adopt <Version>" -TestCases $adoptJdkVersions {
|
||||
It "Java Adopt <Version>" -TestCases $adoptJdkVersions -Skip:(Test-IsUbuntu22) {
|
||||
$javaPath = Join-Path (Get-ChildItem ${env:AGENT_TOOLSDIRECTORY}\Java_Adopt_jdk\${Version}*) "x64\bin\java"
|
||||
"`"$javaPath`" -version" | Should -ReturnZeroExitCode
|
||||
|
||||
|
||||
@@ -20,8 +20,7 @@ Describe "Rust" {
|
||||
$env:RUSTUP_HOME = "/etc/skel/.rustup"
|
||||
$env:CARGO_HOME = "/etc/skel/.cargo"
|
||||
}
|
||||
|
||||
|
||||
|
||||
It "Rustup is installed" {
|
||||
"rustup --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -77,6 +76,10 @@ Describe "Docker" {
|
||||
"docker compose" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "docker-credential-ecr-login" {
|
||||
"docker-credential-ecr-login -v" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
Context "docker images" {
|
||||
$testCases = (Get-ToolsetContent).docker.images | ForEach-Object { @{ ImageName = $_ } }
|
||||
|
||||
@@ -117,7 +120,10 @@ Describe "clang" {
|
||||
|
||||
"clang-$ClangVersion --version" | Should -ReturnZeroExitCode
|
||||
"clang++-$ClangVersion --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
"clang-format-$ClangVersion --version" | Should -ReturnZeroExitCode
|
||||
"clang-tidy-$ClangVersion --version" | Should -ReturnZeroExitCode
|
||||
"run-clang-tidy-$ClangVersion --help" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Cmake" {
|
||||
@@ -126,7 +132,7 @@ Describe "Cmake" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "erlang" {
|
||||
Describe "erlang" -Skip:(Test-IsUbuntu22) {
|
||||
$testCases = @("erl -version", "erlc -v", "rebar3 -v") | ForEach-Object { @{ErlangCommand = $_} }
|
||||
|
||||
It "erlang <ErlangCommand>" -TestCases $testCases {
|
||||
@@ -162,7 +168,7 @@ Describe "gfortran" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Mono" {
|
||||
Describe "Mono" -Skip:(Test-IsUbuntu22) {
|
||||
It "mono" {
|
||||
"mono --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -176,7 +182,7 @@ Describe "Mono" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "MSSQLCommandLineTools" {
|
||||
Describe "MSSQLCommandLineTools" -Skip:(Test-IsUbuntu22) {
|
||||
It "sqlcmd" {
|
||||
"sqlcmd -?" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -244,7 +250,7 @@ Describe "Heroku" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "HHVM" {
|
||||
Describe "HHVM" -Skip:(Test-IsUbuntu22) {
|
||||
It "hhvm" {
|
||||
"hhvm --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -316,13 +322,13 @@ Describe "Pulumi" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Phantomjs" {
|
||||
Describe "Phantomjs" -Skip:(Test-IsUbuntu22) {
|
||||
It "phantomjs" {
|
||||
"phantomjs --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "GraalVM" -Skip:(-not (Test-IsUbuntu20)) {
|
||||
Describe "GraalVM" -Skip:(Test-IsUbuntu18) {
|
||||
It "graalvm" {
|
||||
'$GRAALVM_11_ROOT/bin/java -version' | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -341,7 +347,7 @@ Describe "Containers" {
|
||||
)
|
||||
|
||||
"$ContainerCommand -v" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Describe "nvm" {
|
||||
|
||||
@@ -83,9 +83,10 @@
|
||||
"versions": [ "8", "11", "12" ]
|
||||
}
|
||||
],
|
||||
"maven": "3.8.5"
|
||||
"maven": "3.8.6"
|
||||
},
|
||||
"android": {
|
||||
"cmdline-tools": "latest",
|
||||
"platform_min_version": "23",
|
||||
"build_tools_min_version": "23.0.1",
|
||||
"extra_list": [
|
||||
@@ -104,9 +105,8 @@
|
||||
"cmake;3.18.1"
|
||||
],
|
||||
"ndk": {
|
||||
"default": "21",
|
||||
"versions": [
|
||||
"21", "23"
|
||||
"21", "23", "24"
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -120,7 +120,7 @@
|
||||
"name": "az",
|
||||
"url" : "https://raw.githubusercontent.com/Azure/az-ps-module-versions/main/versions-manifest.json",
|
||||
"versions": [
|
||||
"7.3.2"
|
||||
"7.5.0"
|
||||
],
|
||||
"zip_versions": [
|
||||
"3.1.0",
|
||||
|
||||
@@ -84,9 +84,10 @@
|
||||
"versions": [ "8", "11" ]
|
||||
}
|
||||
],
|
||||
"maven": "3.8.5"
|
||||
"maven": "3.8.6"
|
||||
},
|
||||
"android": {
|
||||
"cmdline-tools": "latest",
|
||||
"platform_min_version": "27",
|
||||
"build_tools_min_version": "27.0.0",
|
||||
"extra_list": [
|
||||
@@ -101,9 +102,8 @@
|
||||
"cmake;3.18.1"
|
||||
],
|
||||
"ndk": {
|
||||
"default": "21",
|
||||
"versions": [
|
||||
"21", "22", "23"
|
||||
"21", "23", "24"
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -118,7 +118,7 @@
|
||||
"name": "az",
|
||||
"url" : "https://raw.githubusercontent.com/Azure/az-ps-module-versions/main/versions-manifest.json",
|
||||
"versions": [
|
||||
"7.3.2"
|
||||
"7.5.0"
|
||||
],
|
||||
"zip_versions": [
|
||||
"3.1.0",
|
||||
|
||||
333
images/linux/toolsets/toolset-2204.json
Normal file
333
images/linux/toolsets/toolset-2204.json
Normal file
@@ -0,0 +1,333 @@
|
||||
{
|
||||
"toolcache": [
|
||||
{
|
||||
"name": "Python",
|
||||
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
|
||||
"platform" : "linux",
|
||||
"platform_version": "22.04",
|
||||
"arch": "x64",
|
||||
"versions": [
|
||||
"3.7.*",
|
||||
"3.8.*",
|
||||
"3.9.*",
|
||||
"3.10.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PyPy",
|
||||
"arch": "x64",
|
||||
"platform" : "linux",
|
||||
"versions": [
|
||||
"3.7",
|
||||
"3.8",
|
||||
"3.9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "node",
|
||||
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
|
||||
"platform" : "linux",
|
||||
"arch": "x64",
|
||||
"versions": [
|
||||
"14.*",
|
||||
"16.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "go",
|
||||
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
|
||||
"arch": "x64",
|
||||
"platform" : "linux",
|
||||
"versions": [
|
||||
"1.17.*",
|
||||
"1.18.*"
|
||||
],
|
||||
"default": "1.18.*"
|
||||
},
|
||||
{
|
||||
"name": "Ruby",
|
||||
"platform_version": "22.04",
|
||||
"arch": "x64",
|
||||
"versions": [
|
||||
"3.1.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "CodeQL",
|
||||
"platform" : "linux",
|
||||
"arch": "x64",
|
||||
"versions": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"java": {
|
||||
"default": "11",
|
||||
"default_vendor": "Temurin-Hotspot",
|
||||
"vendors": [
|
||||
{
|
||||
"name": "Temurin-Hotspot",
|
||||
"versions": [ "8", "11", "17" ]
|
||||
}
|
||||
],
|
||||
"maven": "3.8.6"
|
||||
},
|
||||
"android": {
|
||||
"cmdline-tools": "latest",
|
||||
"platform_min_version": "27",
|
||||
"build_tools_min_version": "27.0.0",
|
||||
"extra_list": [
|
||||
"android;m2repository",
|
||||
"google;m2repository",
|
||||
"google;google_play_services"
|
||||
],
|
||||
"addon_list": [
|
||||
],
|
||||
"additional_tools": [
|
||||
"cmake;3.10.2.4988404",
|
||||
"cmake;3.18.1"
|
||||
],
|
||||
"ndk": {
|
||||
"versions": [
|
||||
"21", "23", "24"
|
||||
]
|
||||
}
|
||||
},
|
||||
"powershellModules": [
|
||||
{"name": "MarkdownPS"},
|
||||
{"name": "Microsoft.Graph"},
|
||||
{"name": "Pester"},
|
||||
{"name": "PSScriptAnalyzer"}
|
||||
],
|
||||
"azureModules": [
|
||||
{
|
||||
"name": "az",
|
||||
"url" : "https://raw.githubusercontent.com/Azure/az-ps-module-versions/main/versions-manifest.json",
|
||||
"versions": [
|
||||
"7.5.0"
|
||||
],
|
||||
"zip_versions": [
|
||||
]
|
||||
}
|
||||
],
|
||||
"apt": {
|
||||
"common_packages": [
|
||||
"autoconf",
|
||||
"automake",
|
||||
"build-essential",
|
||||
"dbus",
|
||||
"dnsutils",
|
||||
"dpkg",
|
||||
"fakeroot",
|
||||
"fonts-noto-color-emoji",
|
||||
"gnupg2",
|
||||
"imagemagick",
|
||||
"iproute2",
|
||||
"iputils-ping",
|
||||
"lib32z1",
|
||||
"libc++abi-dev",
|
||||
"libc++-dev",
|
||||
"libcurl4",
|
||||
"libgbm-dev",
|
||||
"libgconf-2-4",
|
||||
"libgsl-dev",
|
||||
"libgtk-3-0",
|
||||
"libmagic-dev",
|
||||
"libmagickcore-dev",
|
||||
"libmagickwand-dev",
|
||||
"libsecret-1-dev",
|
||||
"libsqlite3-dev",
|
||||
"libtool",
|
||||
"libunwind8",
|
||||
"libxkbfile-dev",
|
||||
"libxss1",
|
||||
"libssl-dev",
|
||||
"locales",
|
||||
"mercurial",
|
||||
"openssh-client",
|
||||
"p7zip-rar",
|
||||
"pkg-config",
|
||||
"python-is-python3",
|
||||
"rpm",
|
||||
"texinfo",
|
||||
"tk",
|
||||
"tzdata",
|
||||
"upx",
|
||||
"xorriso",
|
||||
"xvfb",
|
||||
"xz-utils",
|
||||
"zsync"
|
||||
],
|
||||
"cmd_packages": [
|
||||
"acl",
|
||||
"aria2",
|
||||
"binutils",
|
||||
"bison",
|
||||
"brotli",
|
||||
"bzip2",
|
||||
"coreutils",
|
||||
"curl",
|
||||
"file",
|
||||
"flex",
|
||||
"ftp",
|
||||
"haveged",
|
||||
"jq",
|
||||
"m4",
|
||||
"mediainfo",
|
||||
"netcat",
|
||||
"net-tools",
|
||||
"p7zip-full",
|
||||
"parallel",
|
||||
"pass",
|
||||
"patchelf",
|
||||
"pollinate",
|
||||
"rsync",
|
||||
"shellcheck",
|
||||
"sphinxsearch",
|
||||
"sqlite3",
|
||||
"ssh",
|
||||
"sshpass",
|
||||
"subversion",
|
||||
"sudo",
|
||||
"swig",
|
||||
"telnet",
|
||||
"time",
|
||||
"unzip",
|
||||
"wget",
|
||||
"zip"
|
||||
]
|
||||
},
|
||||
"brew": [
|
||||
{"name": "zstd"}
|
||||
],
|
||||
"docker": {
|
||||
"images": [
|
||||
"alpine:3.14",
|
||||
"alpine:3.15",
|
||||
"buildpack-deps:buster",
|
||||
"buildpack-deps:bullseye",
|
||||
"debian:10",
|
||||
"debian:11",
|
||||
"moby/buildkit:latest",
|
||||
"node:14",
|
||||
"node:16",
|
||||
"node:14-alpine",
|
||||
"node:16-alpine",
|
||||
"ubuntu:18.04",
|
||||
"ubuntu:20.04",
|
||||
"ubuntu:22.04"
|
||||
]
|
||||
},
|
||||
"pipx": [
|
||||
{
|
||||
"package": "yamllint",
|
||||
"cmd": "yamllint"
|
||||
},
|
||||
{
|
||||
"package": "ansible-core",
|
||||
"cmd": "ansible"
|
||||
}
|
||||
],
|
||||
"dotnet": {
|
||||
"aptPackages": [
|
||||
"dotnet-sdk-6.0"
|
||||
],
|
||||
"versions": [
|
||||
"6.0"
|
||||
],
|
||||
"tools": [
|
||||
{ "name": "nbgv", "test": "nbgv --version", "getversion" : "nbgv --version" }
|
||||
]
|
||||
},
|
||||
"clang": {
|
||||
"versions": [
|
||||
"12",
|
||||
"13",
|
||||
"14"
|
||||
],
|
||||
"default_version": "14"
|
||||
},
|
||||
"gcc": {
|
||||
"versions": [
|
||||
"g++-9",
|
||||
"g++-10"
|
||||
]
|
||||
},
|
||||
"gfortran": {
|
||||
"versions": [
|
||||
"gfortran-9",
|
||||
"gfortran-10"
|
||||
]
|
||||
},
|
||||
"php": {
|
||||
"versions": [
|
||||
"8.1"
|
||||
]
|
||||
},
|
||||
"rubygems": [
|
||||
{"name": "fastlane"}
|
||||
],
|
||||
"selenium": {
|
||||
"version": "4",
|
||||
"binary_name": "selenium-server"
|
||||
},
|
||||
"node": {
|
||||
"default": "16"
|
||||
},
|
||||
"node_modules": [
|
||||
{
|
||||
"name": "grunt",
|
||||
"command": "grunt"
|
||||
},
|
||||
{
|
||||
"name": "gulp",
|
||||
"command": "gulp"
|
||||
},
|
||||
{
|
||||
"name": "n",
|
||||
"command": "n"
|
||||
},
|
||||
{
|
||||
"name": "parcel",
|
||||
"command": "parcel"
|
||||
},
|
||||
{
|
||||
"name": "typescript",
|
||||
"command": "tsc"
|
||||
},
|
||||
{
|
||||
"name": "newman",
|
||||
"command": "newman"
|
||||
},
|
||||
{
|
||||
"name": "vercel",
|
||||
"command": "vercel"
|
||||
},
|
||||
{
|
||||
"name": "webpack",
|
||||
"command": "webpack"
|
||||
},
|
||||
{
|
||||
"name": "webpack-cli",
|
||||
"command": "webpack-cli"
|
||||
},
|
||||
{
|
||||
"name": "netlify-cli",
|
||||
"command": "netlify"
|
||||
},
|
||||
{
|
||||
"name": "lerna",
|
||||
"command": "lerna"
|
||||
},
|
||||
{
|
||||
"name": "yarn",
|
||||
"command": "yarn"
|
||||
}
|
||||
],
|
||||
"mongodb": {
|
||||
"version": "5.0"
|
||||
},
|
||||
"postgresql": {
|
||||
"version": "14"
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
"variables": {
|
||||
"client_id": "{{env `ARM_CLIENT_ID`}}",
|
||||
"client_secret": "{{env `ARM_CLIENT_SECRET`}}",
|
||||
"client_cert_path": "{{env `ARM_CLIENT_CERT_PATH`}}",
|
||||
"subscription_id": "{{env `ARM_SUBSCRIPTION_ID`}}",
|
||||
"tenant_id": "{{env `ARM_TENANT_ID`}}",
|
||||
"resource_group": "{{env `ARM_RESOURCE_GROUP`}}",
|
||||
@@ -34,6 +35,7 @@
|
||||
"type": "azure-arm",
|
||||
"client_id": "{{user `client_id`}}",
|
||||
"client_secret": "{{user `client_secret`}}",
|
||||
"client_cert_path": "{{user `client_cert_path`}}",
|
||||
"subscription_id": "{{user `subscription_id`}}",
|
||||
"tenant_id": "{{user `tenant_id`}}",
|
||||
"location": "{{user `location`}}",
|
||||
@@ -149,20 +151,14 @@
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
"{{template_dir}}/scripts/installers/complete-snap-setup.sh"
|
||||
"{{template_dir}}/scripts/installers/complete-snap-setup.sh",
|
||||
"{{template_dir}}/scripts/installers/powershellcore.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
"{{template_dir}}/scripts/installers/powershellcore.sh"
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
@@ -207,6 +203,7 @@
|
||||
"{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
|
||||
"{{template_dir}}/scripts/installers/erlang.sh",
|
||||
"{{template_dir}}/scripts/installers/firefox.sh",
|
||||
"{{template_dir}}/scripts/installers/microsoft-edge.sh",
|
||||
"{{template_dir}}/scripts/installers/gcc.sh",
|
||||
"{{template_dir}}/scripts/installers/gfortran.sh",
|
||||
"{{template_dir}}/scripts/installers/git.sh",
|
||||
@@ -246,8 +243,8 @@
|
||||
"{{template_dir}}/scripts/installers/vcpkg.sh",
|
||||
"{{template_dir}}/scripts/installers/dpkg-config.sh",
|
||||
"{{template_dir}}/scripts/installers/mongodb.sh",
|
||||
"{{template_dir}}/scripts/installers/android.sh",
|
||||
"{{template_dir}}/scripts/installers/yq.sh",
|
||||
"{{template_dir}}/scripts/installers/android.sh",
|
||||
"{{template_dir}}/scripts/installers/pypy.sh",
|
||||
"{{template_dir}}/scripts/installers/python.sh",
|
||||
"{{template_dir}}/scripts/installers/aws.sh"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"variables": {
|
||||
"client_id": "{{env `ARM_CLIENT_ID`}}",
|
||||
"client_secret": "{{env `ARM_CLIENT_SECRET`}}",
|
||||
"client_cert_path": "{{env `ARM_CLIENT_CERT_PATH`}}",
|
||||
"subscription_id": "{{env `ARM_SUBSCRIPTION_ID`}}",
|
||||
"tenant_id": "{{env `ARM_TENANT_ID`}}",
|
||||
"resource_group": "{{env `ARM_RESOURCE_GROUP`}}",
|
||||
@@ -34,6 +35,7 @@
|
||||
"type": "azure-arm",
|
||||
"client_id": "{{user `client_id`}}",
|
||||
"client_secret": "{{user `client_secret`}}",
|
||||
"client_cert_path": "{{user `client_cert_path`}}",
|
||||
"subscription_id": "{{user `subscription_id`}}",
|
||||
"tenant_id": "{{user `tenant_id`}}",
|
||||
"location": "{{user `location`}}",
|
||||
@@ -149,20 +151,14 @@
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
"{{template_dir}}/scripts/installers/complete-snap-setup.sh"
|
||||
"{{template_dir}}/scripts/installers/complete-snap-setup.sh",
|
||||
"{{template_dir}}/scripts/installers/powershellcore.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
"{{template_dir}}/scripts/installers/powershellcore.sh"
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
@@ -208,6 +204,7 @@
|
||||
"{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
|
||||
"{{template_dir}}/scripts/installers/erlang.sh",
|
||||
"{{template_dir}}/scripts/installers/firefox.sh",
|
||||
"{{template_dir}}/scripts/installers/microsoft-edge.sh",
|
||||
"{{template_dir}}/scripts/installers/gcc.sh",
|
||||
"{{template_dir}}/scripts/installers/gfortran.sh",
|
||||
"{{template_dir}}/scripts/installers/git.sh",
|
||||
@@ -247,8 +244,8 @@
|
||||
"{{template_dir}}/scripts/installers/vcpkg.sh",
|
||||
"{{template_dir}}/scripts/installers/dpkg-config.sh",
|
||||
"{{template_dir}}/scripts/installers/mongodb.sh",
|
||||
"{{template_dir}}/scripts/installers/android.sh",
|
||||
"{{template_dir}}/scripts/installers/yq.sh",
|
||||
"{{template_dir}}/scripts/installers/android.sh",
|
||||
"{{template_dir}}/scripts/installers/pypy.sh",
|
||||
"{{template_dir}}/scripts/installers/python.sh",
|
||||
"{{template_dir}}/scripts/installers/graalvm.sh"
|
||||
|
||||
397
images/linux/ubuntu2204.pkr.hcl
Normal file
397
images/linux/ubuntu2204.pkr.hcl
Normal file
@@ -0,0 +1,397 @@
|
||||
|
||||
variable "allowed_inbound_ip_addresses" {
|
||||
type = list(string)
|
||||
default = []
|
||||
}
|
||||
|
||||
variable "build_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
|
||||
variable "capture_name_prefix" {
|
||||
type = string
|
||||
default = "packer"
|
||||
}
|
||||
|
||||
variable "client_id" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_ID")}"
|
||||
}
|
||||
|
||||
variable "client_secret" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_SECRET")}"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "client_cert_path" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
||||
}
|
||||
|
||||
variable "commit_url" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "dockerhub_login" {
|
||||
type = string
|
||||
default = "${env("DOCKERHUB_LOGIN")}"
|
||||
}
|
||||
|
||||
variable "dockerhub_password" {
|
||||
type = string
|
||||
default = "${env("DOCKERHUB_PASSWORD")}"
|
||||
}
|
||||
|
||||
variable "helper_script_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration/helpers"
|
||||
}
|
||||
|
||||
variable "image_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration"
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = "ubuntu22"
|
||||
}
|
||||
|
||||
variable "image_version" {
|
||||
type = string
|
||||
default = "dev"
|
||||
}
|
||||
|
||||
variable "imagedata_file" {
|
||||
type = string
|
||||
default = "/imagegeneration/imagedata.json"
|
||||
}
|
||||
|
||||
variable "installer_script_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration/installers"
|
||||
}
|
||||
|
||||
variable "install_password" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "location" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_LOCATION")}"
|
||||
}
|
||||
|
||||
variable "private_virtual_network_with_public_ip" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "resource_group" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "run_validation_diskspace" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "storage_account" {
|
||||
type = string
|
||||
default = "${env("ARM_STORAGE_ACCOUNT")}"
|
||||
}
|
||||
|
||||
variable "subscription_id" {
|
||||
type = string
|
||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
||||
}
|
||||
|
||||
variable "temp_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
|
||||
variable "tenant_id" {
|
||||
type = string
|
||||
default = "${env("ARM_TENANT_ID")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_name" {
|
||||
type = string
|
||||
default = "${env("VNET_NAME")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_subnet_name" {
|
||||
type = string
|
||||
default = "${env("VNET_SUBNET")}"
|
||||
}
|
||||
|
||||
variable "vm_size" {
|
||||
type = string
|
||||
default = "Standard_D4s_v4"
|
||||
}
|
||||
|
||||
source "azure-arm" "build_vhd" {
|
||||
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
|
||||
build_resource_group_name = "${var.build_resource_group_name}"
|
||||
capture_container_name = "images"
|
||||
capture_name_prefix = "${var.capture_name_prefix}"
|
||||
client_id = "${var.client_id}"
|
||||
client_secret = "${var.client_secret}"
|
||||
client_cert_path = "${var.client_cert_path}"
|
||||
image_offer = "0001-com-ubuntu-server-jammy"
|
||||
image_publisher = "canonical"
|
||||
image_sku = "22_04-lts"
|
||||
location = "${var.location}"
|
||||
os_disk_size_gb = "86"
|
||||
os_type = "Linux"
|
||||
private_virtual_network_with_public_ip = "${var.private_virtual_network_with_public_ip}"
|
||||
resource_group_name = "${var.resource_group}"
|
||||
storage_account = "${var.storage_account}"
|
||||
subscription_id = "${var.subscription_id}"
|
||||
temp_resource_group_name = "${var.temp_resource_group_name}"
|
||||
tenant_id = "${var.tenant_id}"
|
||||
virtual_network_name = "${var.virtual_network_name}"
|
||||
virtual_network_resource_group_name = "${var.virtual_network_resource_group_name}"
|
||||
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
|
||||
vm_size = "${var.vm_size}"
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.azure-arm.build_vhd"]
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = ["mkdir ${var.image_folder}", "chmod 777 ${var.image_folder}"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
script = "${path.root}/scripts/base/apt-mock.sh"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["DEBIAN_FRONTEND=noninteractive"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/base/repos.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["DEBIAN_FRONTEND=noninteractive"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
script = "${path.root}/scripts/base/apt.sh"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
script = "${path.root}/scripts/base/limits.sh"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${var.helper_script_folder}"
|
||||
source = "${path.root}/scripts/helpers"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${var.installer_script_folder}"
|
||||
source = "${path.root}/scripts/installers"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${var.image_folder}"
|
||||
source = "${path.root}/post-generation"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${var.image_folder}"
|
||||
source = "${path.root}/scripts/tests"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${var.image_folder}"
|
||||
source = "${path.root}/scripts/SoftwareReport"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${var.installer_script_folder}/toolset.json"
|
||||
source = "${path.root}/toolsets/toolset-2204.json"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGEDATA_FILE=${var.imagedata_file}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/installers/preimagedata.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_OS=${var.image_os}", "HELPER_SCRIPTS=${var.helper_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/installers/configure-environment.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/installers/complete-snap-setup.sh", "${path.root}/scripts/installers/powershellcore.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/installers/Install-PowerShellModules.ps1", "${path.root}/scripts/installers/Install-AzureModules.ps1"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DOCKERHUB_LOGIN=${var.dockerhub_login}", "DOCKERHUB_PASSWORD=${var.dockerhub_password}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/installers/docker-compose.sh", "${path.root}/scripts/installers/docker-moby.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DEBIAN_FRONTEND=noninteractive"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = [
|
||||
"${path.root}/scripts/installers/azcopy.sh",
|
||||
"${path.root}/scripts/installers/azure-cli.sh",
|
||||
"${path.root}/scripts/installers/azure-devops-cli.sh",
|
||||
"${path.root}/scripts/installers/basic.sh",
|
||||
"${path.root}/scripts/installers/bicep.sh",
|
||||
"${path.root}/scripts/installers/aliyun-cli.sh",
|
||||
"${path.root}/scripts/installers/apache.sh",
|
||||
"${path.root}/scripts/installers/aws.sh",
|
||||
"${path.root}/scripts/installers/clang.sh",
|
||||
"${path.root}/scripts/installers/cmake.sh",
|
||||
"${path.root}/scripts/installers/codeql-bundle.sh",
|
||||
"${path.root}/scripts/installers/containers.sh",
|
||||
"${path.root}/scripts/installers/dotnetcore-sdk.sh",
|
||||
"${path.root}/scripts/installers/microsoft-edge.sh",
|
||||
"${path.root}/scripts/installers/gcc.sh",
|
||||
"${path.root}/scripts/installers/gfortran.sh",
|
||||
"${path.root}/scripts/installers/git.sh",
|
||||
"${path.root}/scripts/installers/github-cli.sh",
|
||||
"${path.root}/scripts/installers/google-chrome.sh",
|
||||
"${path.root}/scripts/installers/google-cloud-sdk.sh",
|
||||
"${path.root}/scripts/installers/haskell.sh",
|
||||
"${path.root}/scripts/installers/heroku.sh",
|
||||
"${path.root}/scripts/installers/java-tools.sh",
|
||||
"${path.root}/scripts/installers/kubernetes-tools.sh",
|
||||
"${path.root}/scripts/installers/oc.sh",
|
||||
"${path.root}/scripts/installers/leiningen.sh",
|
||||
"${path.root}/scripts/installers/miniconda.sh",
|
||||
"${path.root}/scripts/installers/kotlin.sh",
|
||||
"${path.root}/scripts/installers/mysql.sh",
|
||||
"${path.root}/scripts/installers/sqlpackage.sh",
|
||||
"${path.root}/scripts/installers/nginx.sh",
|
||||
"${path.root}/scripts/installers/nvm.sh",
|
||||
"${path.root}/scripts/installers/nodejs.sh",
|
||||
"${path.root}/scripts/installers/bazel.sh",
|
||||
"${path.root}/scripts/installers/oras-cli.sh",
|
||||
"${path.root}/scripts/installers/php.sh",
|
||||
"${path.root}/scripts/installers/postgresql.sh",
|
||||
"${path.root}/scripts/installers/pulumi.sh",
|
||||
"${path.root}/scripts/installers/ruby.sh",
|
||||
"${path.root}/scripts/installers/r.sh",
|
||||
"${path.root}/scripts/installers/rust.sh",
|
||||
"${path.root}/scripts/installers/julia.sh",
|
||||
"${path.root}/scripts/installers/sbt.sh",
|
||||
"${path.root}/scripts/installers/selenium.sh",
|
||||
"${path.root}/scripts/installers/terraform.sh",
|
||||
"${path.root}/scripts/installers/packer.sh",
|
||||
"${path.root}/scripts/installers/vcpkg.sh",
|
||||
"${path.root}/scripts/installers/dpkg-config.sh",
|
||||
"${path.root}/scripts/installers/yq.sh",
|
||||
"${path.root}/scripts/installers/android.sh",
|
||||
"${path.root}/scripts/installers/pypy.sh",
|
||||
"${path.root}/scripts/installers/python.sh",
|
||||
"${path.root}/scripts/installers/graalvm.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/installers/Install-Toolset.ps1", "${path.root}/scripts/installers/Configure-Toolset.ps1"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/installers/pipx-packages.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "DEBIAN_FRONTEND=noninteractive", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
||||
execute_command = "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/installers/homebrew.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
script = "${path.root}/scripts/base/snap.sh"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
expect_disconnect = true
|
||||
scripts = ["${path.root}/scripts/base/reboot.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
pause_before = "1m0s"
|
||||
scripts = ["${path.root}/scripts/installers/cleanup.sh"]
|
||||
start_retry_timeout = "10m"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
script = "${path.root}/scripts/base/apt-mock-remove.sh"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_VERSION=${var.image_version}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
||||
inline = ["pwsh -File ${var.image_folder}/SoftwareReport/SoftwareReport.Generator.ps1 -OutputDirectory ${var.image_folder}", "pwsh -File ${var.image_folder}/tests/RunAll-Tests.ps1 -OutputDirectory ${var.image_folder}"]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${path.root}/Ubuntu2204-Readme.md"
|
||||
direction = "download"
|
||||
source = "${var.image_folder}/Ubuntu-Readme.md"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPT_FOLDER=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "IMAGE_FOLDER=${var.image_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/scripts/installers/post-deployment.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["RUN_VALIDATION=${var.run_validation_diskspace}"]
|
||||
scripts = ["${path.root}/scripts/installers/validate-disk-space.sh"]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "/tmp/"
|
||||
source = "${path.root}/config/ubuntu2204.conf"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = ["mkdir -p /etc/vsts", "cp /tmp/ubuntu2204.conf /etc/vsts/machine_instance.conf"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = ["sleep 30", "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync"]
|
||||
}
|
||||
|
||||
}
|
||||
@@ -28,17 +28,14 @@ function Get-EnvironmentVariable($variable) {
|
||||
function Get-OSVersion {
|
||||
$osVersion = [Environment]::OSVersion
|
||||
$osVersionMajorMinor = $osVersion.Version.ToString(2)
|
||||
# Monterey needs future review:
|
||||
# [Environment]::OSVersion returns 11.0 for Monterey preview.
|
||||
[SemVer]$osMontereyVersion = sw_vers -productVersion
|
||||
return [PSCustomObject]@{
|
||||
Version = $osVersion.Version
|
||||
Platform = $osVersion.Platform
|
||||
IsCatalina = $osVersionMajorMinor -eq "10.15"
|
||||
IsBigSur = $osVersionMajorMinor -eq "11.0"
|
||||
IsMonterey = $osMontereyVersion.Major -eq "12"
|
||||
IsLessThanMonterey = $osMontereyVersion -lt "12.0"
|
||||
IsHigherThanCatalina = [SemVer]$osVersion.Version -ge "11.0"
|
||||
IsBigSur = $osVersion.Version.Major -eq "11"
|
||||
IsMonterey = $osVersion.Version.Major -eq "12"
|
||||
IsLessThanMonterey = $osVersion.Version.Major -lt "12"
|
||||
IsHigherThanCatalina = $osVersion.Version.Major -ge "11"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,53 +1,54 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[All OSs] Go versions less than 1.16 will be removed and the default will be set to 1.17 on April, 11](https://github.com/actions/virtual-environments/issues/5280) |
|
||||
| [[macOS] Default Xcode on Monterey image will be set to Xcode 13.4.1 on July, 11](https://github.com/actions/virtual-environments/issues/5836) |
|
||||
| [[Windows, macOS] LLVM will be updated to version 14 on July, 11](https://github.com/actions/virtual-environments/issues/5835) |
|
||||
***
|
||||
# macOS 10.15 info
|
||||
- System Version: macOS 10.15.7 (19H1824)
|
||||
- System Version: macOS 10.15.7 (19H1922)
|
||||
- Kernel Version: Darwin 19.6.0
|
||||
- Image Version: 20220408.1
|
||||
- Image Version: 20220627.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- .NET SDK 3.1.101 3.1.201 3.1.302 3.1.417 5.0.102 5.0.202 5.0.302 5.0.406
|
||||
- .NET SDK 3.1.101 3.1.201 3.1.302 3.1.420 5.0.102 5.0.202 5.0.302 5.0.408
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 13.0.1 is available on `'$(brew --prefix llvm@13)/bin/clang'`
|
||||
- Clang/LLVM 12.0.0 is default
|
||||
- Clang/LLVM 13.0.1 is available on `'$(brew --prefix llvm)/bin/clang'`
|
||||
- gcc-9 (Homebrew GCC 9.4.0) 9.4.0 - available by `gcc-9` alias
|
||||
- gcc-9 (Homebrew GCC 9.5.0) 9.5.0 - available by `gcc-9` alias
|
||||
- gcc-10 (Homebrew GCC 10.3.0) 10.3.0 - available by `gcc-10` alias
|
||||
- gcc-11 (Homebrew GCC 11.2.0_3) 11.2.0 - available by `gcc-11` alias
|
||||
- GNU Fortran (Homebrew GCC 9.4.0) 9.4.0 - available by `gfortran-9` alias
|
||||
- gcc-11 (Homebrew GCC 11.3.0_2) 11.3.0 - available by `gcc-11` alias
|
||||
- GNU Fortran (Homebrew GCC 9.5.0) 9.5.0 - available by `gfortran-9` alias
|
||||
- GNU Fortran (Homebrew GCC 10.3.0) 10.3.0 - available by `gfortran-10` alias
|
||||
- GNU Fortran (Homebrew GCC 11.2.0_3) 11.2.0 - available by `gfortran-11` alias
|
||||
- Go 1.17.8
|
||||
- julia 1.7.2
|
||||
- Kotlin 1.6.20-release-275
|
||||
- MSBuild 16.10.1.58001 (from /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node.js v16.14.2
|
||||
- GNU Fortran (Homebrew GCC 11.3.0_2) 11.3.0 - available by `gfortran-11` alias
|
||||
- Go 1.17.11
|
||||
- julia 1.7.3
|
||||
- Kotlin 1.7.0-release-281
|
||||
- MSBuild 16.10.1.31401 (from /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node.js v16.15.1
|
||||
- NVM 0.39.1
|
||||
- NVM - Cached node versions: v12.22.12 v14.19.1 v16.14.2
|
||||
- NVM - Cached node versions: v12.22.12 v14.19.3 v16.15.1
|
||||
- Perl 5.34.0
|
||||
- PHP 8.1.4
|
||||
- PHP 8.1.7
|
||||
- Python 2.7.18
|
||||
- Python 3.9.12
|
||||
- R 4.1.3
|
||||
- Ruby 2.7.5p203
|
||||
- Python 3.9.13
|
||||
- R 4.2.1
|
||||
- Ruby 2.7.6p219
|
||||
|
||||
### Package Management
|
||||
- Bundler version 2.3.11
|
||||
- Bundler version 2.3.16
|
||||
- Carthage 0.38.0
|
||||
- CocoaPods 1.11.3
|
||||
- Composer 2.3.4
|
||||
- Homebrew 3.4.5
|
||||
- Miniconda 4.11.0
|
||||
- NPM 8.5.0
|
||||
- NuGet 5.9.0.7134
|
||||
- Composer 2.3.7
|
||||
- Homebrew 3.5.2
|
||||
- Miniconda 4.12.0
|
||||
- NPM 8.11.0
|
||||
- NuGet 6.2.1.2
|
||||
- Pip 20.3.4 (python 2.7)
|
||||
- Pip 22.0.4 (python 3.9)
|
||||
- Pipx 1.0.0
|
||||
- Pip 22.1.1 (python 3.9)
|
||||
- Pipx 1.1.0
|
||||
- RubyGems 3.2.33
|
||||
- Vcpkg 2022 (build from master \<bd1ef2df4>)
|
||||
- Yarn 1.22.18
|
||||
- Vcpkg 2022 (build from master \<feecd1fb4>)
|
||||
- Yarn 1.22.19
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -57,115 +58,116 @@
|
||||
|
||||
### Project Management
|
||||
- Apache Ant(TM) 1.10.12
|
||||
- Apache Maven 3.8.5
|
||||
- Apache Maven 3.8.6
|
||||
- Gradle 7.4.2
|
||||
- Sbt 1.6.2
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.04
|
||||
- aria2 1.36.0
|
||||
- azcopy 10.14.1
|
||||
- bazel 5.1.1
|
||||
- bazelisk 1.11.0
|
||||
- azcopy 10.15.0
|
||||
- bazel 5.2.0
|
||||
- bazelisk 1.12.0
|
||||
- bsdtar 3.3.2 - available by 'tar' alias
|
||||
- Curl 7.82.0
|
||||
- Git 2.35.1
|
||||
- Git LFS: 3.1.2
|
||||
- GitHub CLI: 2.7.0
|
||||
- GNU parallel 20220322
|
||||
- Curl 7.84.0
|
||||
- Git 2.36.1
|
||||
- Git LFS: 3.2.0
|
||||
- GitHub CLI: 2.13.0
|
||||
- GNU parallel 20220622
|
||||
- GNU Tar 1.34 - available by 'gtar' alias
|
||||
- GNU Wget 1.21.3
|
||||
- gpg (GnuPG) 2.3.4
|
||||
- helm v3.8.1+g5cb9af4
|
||||
- gpg (GnuPG) 2.3.6
|
||||
- helm v3.9.0+g7ceeda6
|
||||
- Hub CLI: 2.14.2
|
||||
- ImageMagick 7.1.0-39
|
||||
- jq 1.6
|
||||
- mongo v5.0.6
|
||||
- mongod v5.0.6
|
||||
- mongo v5.0.7
|
||||
- mongod v5.0.7
|
||||
- Newman 5.3.2
|
||||
- OpenSSL 1.1.1n 15 Mar 2022 `(/usr/local/opt/openssl@1.1 -> ../Cellar/openssl@1.1/1.1.1n)`
|
||||
- Packer 1.8.0
|
||||
- PostgreSQL 14.2
|
||||
- psql (PostgreSQL) 14.2
|
||||
- OpenSSL 1.1.1p 21 Jun 2022 `(/usr/local/opt/openssl@1.1 -> ../Cellar/openssl@1.1/1.1.1p)`
|
||||
- Packer 1.8.2
|
||||
- PostgreSQL 14.4
|
||||
- psql (PostgreSQL) 14.4
|
||||
- Sox 14.4.2
|
||||
- Subversion (SVN) 1.14.1
|
||||
- Subversion (SVN) 1.14.2
|
||||
- Switchaudio-osx 1.1.0
|
||||
- Vagrant 2.2.19
|
||||
- virtualbox 6.1.32r149290
|
||||
- yq (https://github.com/mikefarah/yq/) version 4.24.2
|
||||
- VirtualBox 6.1.34r150636
|
||||
- yq (https://github.com/mikefarah/yq/) version 4.25.3
|
||||
- zstd 1.5.2
|
||||
|
||||
### Tools
|
||||
- Aliyun CLI 3.0.115
|
||||
- App Center CLI 2.10.9
|
||||
- AWS CLI 2.5.4
|
||||
- AWS SAM CLI 1.46.0
|
||||
- AWS Session Manager CLI 1.2.312.0
|
||||
- Aliyun CLI 3.0.123
|
||||
- App Center CLI 2.10.10
|
||||
- AWS CLI 2.7.11
|
||||
- AWS SAM CLI 1.52.0
|
||||
- AWS Session Manager CLI 1.2.339.0
|
||||
- Azure CLI (azure-devops) 0.25.0
|
||||
- Azure CLI 2.35.0
|
||||
- Bicep CLI 0.5.6
|
||||
- Azure CLI 2.37.0
|
||||
- Bicep CLI 0.7.4
|
||||
- Cabal 3.6.2.0
|
||||
- Cmake 3.23.0
|
||||
- Fastlane 2.205.1
|
||||
- GHC 9.2.2
|
||||
- GHCup v0.1.17.6
|
||||
- Cmake 3.23.2
|
||||
- Fastlane 2.206.2
|
||||
- GHC 9.2.3
|
||||
- GHCup 0.1.17.8
|
||||
- Jazzy 0.14.2
|
||||
- Stack 2.7.5
|
||||
- SwiftFormat 0.49.7
|
||||
- SwiftFormat 0.49.11
|
||||
- Swig 4.0.2
|
||||
- Xcode Command Line Tools 12.4.0.0.1.1610135815
|
||||
|
||||
### Linters
|
||||
- SwiftLint 0.47.0
|
||||
- SwiftLint 0.47.1
|
||||
- yamllint 1.26.3
|
||||
|
||||
### Browsers
|
||||
- Safari 15.4 (15613.1.17.1.13)
|
||||
- SafariDriver 15.4 (15613.1.17.1.13)
|
||||
- Google Chrome 100.0.4896.75
|
||||
- ChromeDriver 100.0.4896.60
|
||||
- Microsoft Edge 100.0.1185.36
|
||||
- MSEdgeDriver 100.0.1185.36
|
||||
- Mozilla Firefox 99.0
|
||||
- geckodriver 0.30.0
|
||||
- Selenium server 4.1.3
|
||||
- Safari 15.5 (15613.2.7.1.9)
|
||||
- SafariDriver 15.5 (15613.2.7.1.9)
|
||||
- Google Chrome 103.0.5060.53
|
||||
- ChromeDriver 103.0.5060.53
|
||||
- Microsoft Edge 103.0.1264.37
|
||||
- Microsoft Edge WebDriver 103.0.1264.37
|
||||
- Mozilla Firefox 101.0.1
|
||||
- geckodriver 0.31.0
|
||||
- Selenium server 4.3.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| --------------- | ---------------------------------------------- |
|
||||
| CHROMEWEBDRIVER | /usr/local/Caskroom/chromedriver/100.0.4896.60 |
|
||||
| CHROMEWEBDRIVER | /usr/local/Caskroom/chromedriver/103.0.5060.53 |
|
||||
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
|
||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
| ------------------- | --------------- | -------------------- |
|
||||
| 8.0.322+6 (default) | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.14+101 | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 8.0.332+9 (default) | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.15+10 | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 12.0.2+10.3 | Adopt OpenJDK | JAVA_HOME_12_X64 |
|
||||
| 13.0.2+8.1 | Adopt OpenJDK | JAVA_HOME_13_X64 |
|
||||
| 14.0.2+12 | Adopt OpenJDK | JAVA_HOME_14_X64 |
|
||||
| 17.0.2+8 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
| 17.0.3+7 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
|
||||
### GraalVM
|
||||
| Version | Environment variables |
|
||||
| ----------- | --------------------- |
|
||||
| CE 22.0.0.2 | GRAALVM_11_ROOT |
|
||||
| Version | Environment variables |
|
||||
| --------- | --------------------- |
|
||||
| CE 22.1.0 | GRAALVM_11_ROOT |
|
||||
|
||||
### Cached Tools
|
||||
#### Ruby
|
||||
- 2.4.10
|
||||
- 2.5.9
|
||||
- 2.6.9
|
||||
- 2.7.5
|
||||
- 3.0.3
|
||||
- 2.6.10
|
||||
- 2.7.6
|
||||
- 3.0.4
|
||||
|
||||
#### Python
|
||||
- 2.7.18
|
||||
- 3.6.15
|
||||
- 3.7.12
|
||||
- 3.8.12
|
||||
- 3.9.12
|
||||
- 3.10.4
|
||||
- 3.7.13
|
||||
- 3.8.13
|
||||
- 3.9.13
|
||||
- 3.10.5
|
||||
|
||||
#### PyPy
|
||||
- 2.7.18 [PyPy 7.3.9]
|
||||
@@ -176,50 +178,52 @@
|
||||
|
||||
#### Node.js
|
||||
- 12.22.12
|
||||
- 14.19.1
|
||||
- 16.14.2
|
||||
- 14.19.3
|
||||
- 16.15.1
|
||||
|
||||
#### Go
|
||||
| Version | Architecture | Environment Variable |
|
||||
| ------- | ------------ | -------------------- |
|
||||
| 1.16.15 | x64 | GOROOT_1_16_X64 |
|
||||
| 1.17.8 (Default) | x64 | GOROOT_1_17_X64 |
|
||||
| 1.18.0 | x64 | GOROOT_1_18_X64 |
|
||||
| 1.17.11 (Default) | x64 | GOROOT_1_17_X64 |
|
||||
| 1.18.3 | x64 | GOROOT_1_18_X64 |
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.60.0
|
||||
- Rust 1.60.0
|
||||
- Rustdoc 1.60.0
|
||||
- Cargo 1.61.0
|
||||
- Rust 1.61.0
|
||||
- Rustdoc 1.61.0
|
||||
- Rustup 1.24.3
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.59.2
|
||||
- Cargo-audit 0.16.0
|
||||
- Cargo-outdated 0.11.0
|
||||
- Cbindgen 0.21.0
|
||||
- Clippy 0.1.60
|
||||
- Bindgen 0.60.1
|
||||
- Cargo-audit 0.17.0
|
||||
- Cargo-outdated 0.11.1
|
||||
- Cbindgen 0.24.3
|
||||
- Clippy 0.1.61
|
||||
- Rustfmt 1.4.38-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.2.2
|
||||
- PowerShell 7.2.5
|
||||
|
||||
#### PowerShell Modules
|
||||
| Module | Version |
|
||||
| ---------------- | ------- |
|
||||
| Az | 7.1.0 |
|
||||
| Az | 8.0.0 |
|
||||
| MarkdownPS | 1.9 |
|
||||
| Pester | 5.3.1 |
|
||||
| Pester | 5.3.3 |
|
||||
| PSScriptAnalyzer | 1.20.0 |
|
||||
|
||||
### Web Servers
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
| ----- | -------- | ------------------------------- | ------------- | ---------- |
|
||||
| httpd | 2.4.53 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||
| nginx | 1.21.6_1 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
| ----- | ------- | ------------------------------- | ------------- | ---------- |
|
||||
| httpd | 2.4.54 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||
| nginx | 1.23.0 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||
|
||||
### Xamarin
|
||||
#### Visual Studio for Mac
|
||||
- 8.10.21.4
|
||||
| Version | Build | Path |
|
||||
| -------------- | --------- | ------------------------------- |
|
||||
| 2019 (default) | 8.10.25.2 | /Applications/Visual Studio.app |
|
||||
|
||||
#### Xamarin bundles
|
||||
| symlink | Xamarin.Mono | Xamarin.iOS | Xamarin.Mac | Xamarin.Android |
|
||||
@@ -355,37 +359,37 @@
|
||||
| watchOS 7.2 | 12.3<br>12.4 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 4.0 |
|
||||
| Android Emulator | 31.2.9 |
|
||||
| Android SDK Build-tools | 32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platforms | android-32 (rev 1)<br>android-31 (rev 1)<br>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) |
|
||||
| Android SDK Platform-Tools | 33.0.1 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1 |
|
||||
| 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 Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 15.2.4203891<br>18.1.5063045<br>21.4.7075529 (default)<br>22.1.7171670<br>23.1.7779620 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
| Intel HAXM | 7.6.5 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 7.0 |
|
||||
| Android Emulator | 31.2.10 |
|
||||
| Android SDK Build-tools | 33.0.0<br>32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platforms | android-33 (rev 1)<br>android-32 (rev 1)<br>android-31 (rev 1)<br>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) |
|
||||
| Android SDK Platform-Tools | 33.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1 |
|
||||
| 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 Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 15.2.4203891<br>18.1.5063045<br>21.4.7075529<br>23.2.8568313 (default)<br>24.0.8215888 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
| Intel HAXM | 7.6.5 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | -------------------------------------------------------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK_18R_PATH | /Users/runner/Library/Android/sdk/ndk/18.1.5063045 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/23.1.7779620 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/24.0.8215888 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
### Miscellaneous
|
||||
- libXext 1.3.4
|
||||
- libXft 2.3.4
|
||||
- Tcl/Tk 8.6.12
|
||||
- Zlib 1.2.11
|
||||
- Zlib 1.2.12
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,53 +1,49 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[All OSs] Go versions less than 1.16 will be removed and the default will be set to 1.17 on April, 11](https://github.com/actions/virtual-environments/issues/5280) |
|
||||
***
|
||||
# macOS 11.6 info
|
||||
- System Version: macOS 11.6.5 (20G527)
|
||||
- System Version: macOS 11.6.6 (20G624)
|
||||
- Kernel Version: Darwin 20.6.0
|
||||
- Image Version: 20220410.1
|
||||
- Image Version: 20220627.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- .NET SDK 3.1.101 3.1.201 3.1.302 3.1.417 5.0.102 5.0.202 5.0.302 5.0.406
|
||||
- .NET SDK 3.1.101 3.1.201 3.1.302 3.1.420 5.0.102 5.0.202 5.0.302 5.0.408
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 13.0.1 is available on `'$(brew --prefix llvm@13)/bin/clang'`
|
||||
- Clang/LLVM 13.0.0 is default
|
||||
- Clang/LLVM 13.0.1 is available on `'$(brew --prefix llvm)/bin/clang'`
|
||||
- gcc-9 (Homebrew GCC 9.4.0) 9.4.0 - available by `gcc-9` alias
|
||||
- gcc-9 (Homebrew GCC 9.5.0) 9.5.0 - available by `gcc-9` alias
|
||||
- gcc-10 (Homebrew GCC 10.3.0) 10.3.0 - available by `gcc-10` alias
|
||||
- gcc-11 (Homebrew GCC 11.2.0_3) 11.2.0 - available by `gcc-11` alias
|
||||
- GNU Fortran (Homebrew GCC 9.4.0) 9.4.0 - available by `gfortran-9` alias
|
||||
- gcc-11 (Homebrew GCC 11.3.0_2) 11.3.0 - available by `gcc-11` alias
|
||||
- GNU Fortran (Homebrew GCC 9.5.0) 9.5.0 - available by `gfortran-9` alias
|
||||
- GNU Fortran (Homebrew GCC 10.3.0) 10.3.0 - available by `gfortran-10` alias
|
||||
- GNU Fortran (Homebrew GCC 11.2.0_3) 11.2.0 - available by `gfortran-11` alias
|
||||
- Go 1.17.8
|
||||
- julia 1.7.2
|
||||
- Kotlin 1.6.20-release-275
|
||||
- MSBuild 16.10.1.58001 (from /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node.js v16.14.2
|
||||
- GNU Fortran (Homebrew GCC 11.3.0_2) 11.3.0 - available by `gfortran-11` alias
|
||||
- Go 1.17.11
|
||||
- julia 1.7.3
|
||||
- Kotlin 1.7.0-release-281
|
||||
- MSBuild 16.10.1.31401 (from /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node.js v16.15.1
|
||||
- NVM 0.39.1
|
||||
- NVM - Cached node versions: v12.22.12 v14.19.1 v16.14.2
|
||||
- NVM - Cached node versions: v12.22.12 v14.19.3 v16.15.1
|
||||
- Perl 5.34.0
|
||||
- PHP 8.1.4
|
||||
- PHP 8.1.7
|
||||
- Python 2.7.18
|
||||
- Python 3.9.12
|
||||
- R 4.1.3
|
||||
- Ruby 2.7.5p203
|
||||
- Python 3.9.13
|
||||
- R 4.2.1
|
||||
- Ruby 2.7.6p219
|
||||
|
||||
### Package Management
|
||||
- Bundler version 2.3.11
|
||||
- Bundler version 2.3.16
|
||||
- Carthage 0.38.0
|
||||
- CocoaPods 1.11.3
|
||||
- Composer 2.3.4
|
||||
- Homebrew 3.4.5
|
||||
- Miniconda 4.11.0
|
||||
- NPM 8.5.0
|
||||
- NuGet 5.9.0.7134
|
||||
- Composer 2.3.7
|
||||
- Homebrew 3.5.2
|
||||
- Miniconda 4.12.0
|
||||
- NPM 8.11.0
|
||||
- NuGet 6.2.1.2
|
||||
- Pip 20.3.4 (python 2.7)
|
||||
- Pip 22.0.4 (python 3.9)
|
||||
- Pipx 1.0.0
|
||||
- Pip 22.1.1 (python 3.9)
|
||||
- Pipx 1.1.0
|
||||
- RubyGems 3.2.33
|
||||
- Vcpkg 2022 (build from master \<f6af75acc>)
|
||||
- Yarn 1.22.18
|
||||
- Vcpkg 2022 (build from master \<432037ce4>)
|
||||
- Yarn 1.22.19
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -57,107 +53,109 @@
|
||||
|
||||
### Project Management
|
||||
- Apache Ant(TM) 1.10.12
|
||||
- Apache Maven 3.8.5
|
||||
- Apache Maven 3.8.6
|
||||
- Gradle 7.4.2
|
||||
- Sbt 1.6.2
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.04
|
||||
- aria2 1.36.0
|
||||
- azcopy 10.14.1
|
||||
- bazel 5.1.1
|
||||
- bazelisk 1.11.0
|
||||
- azcopy 10.15.0
|
||||
- bazel 5.2.0
|
||||
- bazelisk 1.12.0
|
||||
- bsdtar 3.3.2 - available by 'tar' alias
|
||||
- Curl 7.82.0
|
||||
- Git 2.35.1
|
||||
- Git LFS: 3.1.2
|
||||
- GitHub CLI: 2.7.0
|
||||
- Curl 7.84.0
|
||||
- Git 2.36.1
|
||||
- Git LFS: 3.2.0
|
||||
- GitHub CLI: 2.13.0
|
||||
- GNU Tar 1.34 - available by 'gtar' alias
|
||||
- GNU Wget 1.21.3
|
||||
- gpg (GnuPG) 2.3.4
|
||||
- helm v3.8.1+g5cb9af4
|
||||
- gpg (GnuPG) 2.3.6
|
||||
- helm v3.9.0+g7ceeda6
|
||||
- Hub CLI: 2.14.2
|
||||
- ImageMagick 7.1.0-39
|
||||
- jq 1.6
|
||||
- mongo v5.0.6
|
||||
- mongod v5.0.6
|
||||
- mongo v5.0.7
|
||||
- mongod v5.0.7
|
||||
- Newman 5.3.2
|
||||
- OpenSSL 1.1.1n 15 Mar 2022 `(/usr/local/opt/openssl@1.1 -> ../Cellar/openssl@1.1/1.1.1n)`
|
||||
- Packer 1.8.0
|
||||
- PostgreSQL 14.2
|
||||
- psql (PostgreSQL) 14.2
|
||||
- OpenSSL 1.1.1p 21 Jun 2022 `(/usr/local/opt/openssl@1.1 -> ../Cellar/openssl@1.1/1.1.1p)`
|
||||
- Packer 1.8.2
|
||||
- PostgreSQL 14.4
|
||||
- psql (PostgreSQL) 14.4
|
||||
- Sox 14.4.2
|
||||
- Subversion (SVN) 1.14.1
|
||||
- Subversion (SVN) 1.14.2
|
||||
- Switchaudio-osx 1.1.0
|
||||
- yq (https://github.com/mikefarah/yq/) version 4.24.2
|
||||
- yq (https://github.com/mikefarah/yq/) version 4.25.3
|
||||
- zstd 1.5.2
|
||||
|
||||
### Tools
|
||||
- Aliyun CLI 3.0.115
|
||||
- App Center CLI 2.10.9
|
||||
- AWS CLI 2.5.4
|
||||
- AWS SAM CLI 1.46.0
|
||||
- AWS Session Manager CLI 1.2.312.0
|
||||
- Aliyun CLI 3.0.123
|
||||
- App Center CLI 2.10.10
|
||||
- AWS CLI 2.7.11
|
||||
- AWS SAM CLI 1.52.0
|
||||
- AWS Session Manager CLI 1.2.339.0
|
||||
- Azure CLI (azure-devops) 0.25.0
|
||||
- Azure CLI 2.35.0
|
||||
- Bicep CLI 0.5.6
|
||||
- Azure CLI 2.37.0
|
||||
- Bicep CLI 0.7.4
|
||||
- Cabal 3.6.2.0
|
||||
- Cmake 3.23.0
|
||||
- Fastlane 2.205.1
|
||||
- GHC 9.2.2
|
||||
- GHCup v0.1.17.6
|
||||
- Cmake 3.23.2
|
||||
- Fastlane 2.206.2
|
||||
- GHC 9.2.3
|
||||
- GHCup 0.1.17.8
|
||||
- Jazzy 0.14.2
|
||||
- Stack 2.7.5
|
||||
- SwiftFormat 0.49.7
|
||||
- SwiftFormat 0.49.11
|
||||
- Swig 4.0.2
|
||||
- Xcode Command Line Tools 13.2.0.0.1.1638488800
|
||||
|
||||
### Linters
|
||||
- SwiftLint 0.47.0
|
||||
- SwiftLint 0.47.1
|
||||
- yamllint 1.26.3
|
||||
|
||||
### Browsers
|
||||
- Safari 15.4 (16613.1.17.1.13)
|
||||
- SafariDriver 15.4 (16613.1.17.1.13)
|
||||
- Google Chrome 100.0.4896.75
|
||||
- ChromeDriver 100.0.4896.60
|
||||
- Microsoft Edge 100.0.1185.36
|
||||
- MSEdgeDriver 100.0.1185.36
|
||||
- Mozilla Firefox 99.0
|
||||
- geckodriver 0.30.0
|
||||
- Selenium server 4.1.3
|
||||
- Safari 15.5 (16613.2.7.1.9)
|
||||
- SafariDriver 15.5 (16613.2.7.1.9)
|
||||
- Google Chrome 103.0.5060.53
|
||||
- ChromeDriver 103.0.5060.53
|
||||
- Microsoft Edge 103.0.1264.37
|
||||
- Microsoft Edge WebDriver 103.0.1264.37
|
||||
- Mozilla Firefox 101.0.1
|
||||
- geckodriver 0.31.0
|
||||
- Selenium server 4.3.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| --------------- | ---------------------------------------------- |
|
||||
| CHROMEWEBDRIVER | /usr/local/Caskroom/chromedriver/100.0.4896.60 |
|
||||
| CHROMEWEBDRIVER | /usr/local/Caskroom/chromedriver/103.0.5060.53 |
|
||||
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
|
||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
| ------------------- | --------------- | -------------------- |
|
||||
| 8.0.322+6 (default) | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.14+101 | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 17.0.2+8 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
| 8.0.332+9 (default) | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.15+10 | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 17.0.3+7 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
|
||||
### GraalVM
|
||||
| Version | Environment variables |
|
||||
| ----------- | --------------------- |
|
||||
| CE 22.0.0.2 | GRAALVM_11_ROOT |
|
||||
| Version | Environment variables |
|
||||
| --------- | --------------------- |
|
||||
| CE 22.1.0 | GRAALVM_11_ROOT |
|
||||
|
||||
### Cached Tools
|
||||
#### Ruby
|
||||
- 2.4.10
|
||||
- 2.5.9
|
||||
- 2.6.9
|
||||
- 2.7.5
|
||||
- 3.0.3
|
||||
- 2.6.10
|
||||
- 2.7.6
|
||||
- 3.0.4
|
||||
- 3.1.2
|
||||
|
||||
#### Python
|
||||
- 3.7.12
|
||||
- 3.8.12
|
||||
- 3.9.12
|
||||
- 3.10.4
|
||||
- 3.7.13
|
||||
- 3.8.13
|
||||
- 3.9.13
|
||||
- 3.10.5
|
||||
|
||||
#### PyPy
|
||||
- 2.7.18 [PyPy 7.3.9]
|
||||
@@ -167,54 +165,66 @@
|
||||
|
||||
#### Node.js
|
||||
- 12.22.12
|
||||
- 14.19.1
|
||||
- 16.14.2
|
||||
- 14.19.3
|
||||
- 16.15.1
|
||||
|
||||
#### Go
|
||||
| Version | Architecture | Environment Variable |
|
||||
| ------- | ------------ | -------------------- |
|
||||
| 1.16.15 | x64 | GOROOT_1_16_X64 |
|
||||
| 1.17.8 (Default) | x64 | GOROOT_1_17_X64 |
|
||||
| 1.18.0 | x64 | GOROOT_1_18_X64 |
|
||||
| 1.17.11 (Default) | x64 | GOROOT_1_17_X64 |
|
||||
| 1.18.3 | x64 | GOROOT_1_18_X64 |
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.60.0
|
||||
- Rust 1.60.0
|
||||
- Rustdoc 1.60.0
|
||||
- Cargo 1.61.0
|
||||
- Rust 1.61.0
|
||||
- Rustdoc 1.61.0
|
||||
- Rustup 1.24.3
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.59.2
|
||||
- Cargo-audit 0.16.0
|
||||
- Cargo-outdated 0.11.0
|
||||
- Cbindgen 0.21.0
|
||||
- Clippy 0.1.60
|
||||
- Bindgen 0.60.1
|
||||
- Cargo-audit 0.17.0
|
||||
- Cargo-outdated 0.11.1
|
||||
- Cbindgen 0.24.3
|
||||
- Clippy 0.1.61
|
||||
- Rustfmt 1.4.38-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.2.2
|
||||
- PowerShell 7.2.5
|
||||
|
||||
#### PowerShell Modules
|
||||
| Module | Version |
|
||||
| ---------------- | ------- |
|
||||
| Az | 7.1.0 |
|
||||
| Az | 8.0.0 |
|
||||
| MarkdownPS | 1.9 |
|
||||
| Pester | 5.3.1 |
|
||||
| Pester | 5.3.3 |
|
||||
| PSScriptAnalyzer | 1.20.0 |
|
||||
|
||||
### Web Servers
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
| ----- | -------- | ------------------------------- | ------------- | ---------- |
|
||||
| httpd | 2.4.53 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||
| nginx | 1.21.6_1 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
| ----- | ------- | ------------------------------- | ------------- | ---------- |
|
||||
| httpd | 2.4.54 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||
| nginx | 1.23.0 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||
|
||||
### Xamarin
|
||||
#### Visual Studio for Mac
|
||||
- 8.10.21.4
|
||||
| Version | Build | Path |
|
||||
| -------------- | --------- | ------------------------------------ |
|
||||
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
|
||||
| 2022 (default) | 17.0.4.23 | /Applications/Visual Studio.app |
|
||||
|
||||
##### Notes:
|
||||
```
|
||||
To use Visual Studio 2019 by default rename the app:
|
||||
mv "/Applications/Visual Studio.app" "/Applications/Visual Studio 2022.app"
|
||||
mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
||||
```
|
||||
|
||||
#### Xamarin bundles
|
||||
| symlink | Xamarin.Mono | Xamarin.iOS | Xamarin.Mac | Xamarin.Android |
|
||||
| ----------------- | ------------ | ----------- | ----------- | --------------- |
|
||||
| 6_12_16 | 6.12 | 15.8 | 8.8 | 12.2 |
|
||||
| 6_12_15 | 6.12 | 15.8 | 8.8 | 12.1 |
|
||||
| 6_12_14 | 6.12 | 15.8 | 8.8 | 12.0 |
|
||||
| 6_12_13 | 6.12 | 15.6 | 8.6 | 12.0 |
|
||||
| 6_12_12 (default) | 6.12 | 15.4 | 8.4 | 12.0 |
|
||||
@@ -238,7 +248,6 @@
|
||||
| Version | Build | Path |
|
||||
| ---------------- | -------- | ------------------------------ |
|
||||
| 13.2.1 (default) | 13C100 | /Applications/Xcode_13.2.1.app |
|
||||
| 13.2 | 13C90 | /Applications/Xcode_13.2.app |
|
||||
| 13.1 | 13A1030d | /Applications/Xcode_13.1.app |
|
||||
| 13.0 | 13A233 | /Applications/Xcode_13.0.app |
|
||||
| 12.5.1 | 12E507 | /Applications/Xcode_12.5.1.app |
|
||||
@@ -258,91 +267,91 @@
|
||||
| macOS 11.1 | macosx11.1 | 12.4 |
|
||||
| macOS 11.3 | macosx11.3 | 12.5.1, 13.0 |
|
||||
| macOS 12.0 | macosx12.0 | 13.1 |
|
||||
| macOS 12.1 | macosx12.1 | 13.2, 13.2.1 |
|
||||
| macOS 12.1 | macosx12.1 | 13.2.1 |
|
||||
| iOS 13.7 | iphoneos13.7 | 11.7 |
|
||||
| iOS 14.4 | iphoneos14.4 | 12.4 |
|
||||
| iOS 14.5 | iphoneos14.5 | 12.5.1 |
|
||||
| iOS 15.0 | iphoneos15.0 | 13.0, 13.1 |
|
||||
| iOS 15.2 | iphoneos15.2 | 13.2, 13.2.1 |
|
||||
| iOS 15.2 | iphoneos15.2 | 13.2.1 |
|
||||
| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 |
|
||||
| Simulator - iOS 14.4 | iphonesimulator14.4 | 12.4 |
|
||||
| Simulator - iOS 14.5 | iphonesimulator14.5 | 12.5.1 |
|
||||
| Simulator - iOS 15.0 | iphonesimulator15.0 | 13.0, 13.1 |
|
||||
| Simulator - iOS 15.2 | iphonesimulator15.2 | 13.2, 13.2.1 |
|
||||
| Simulator - iOS 15.2 | iphonesimulator15.2 | 13.2.1 |
|
||||
| tvOS 13.4 | appletvos13.4 | 11.7 |
|
||||
| tvOS 14.3 | appletvos14.3 | 12.4 |
|
||||
| tvOS 14.5 | appletvos14.5 | 12.5.1 |
|
||||
| tvOS 15.0 | appletvos15.0 | 13.0, 13.1 |
|
||||
| tvOS 15.2 | appletvos15.2 | 13.2, 13.2.1 |
|
||||
| tvOS 15.2 | appletvos15.2 | 13.2.1 |
|
||||
| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.7 |
|
||||
| Simulator - tvOS 14.3 | appletvsimulator14.3 | 12.4 |
|
||||
| Simulator - tvOS 14.5 | appletvsimulator14.5 | 12.5.1 |
|
||||
| Simulator - tvOS 15.0 | appletvsimulator15.0 | 13.0, 13.1 |
|
||||
| Simulator - tvOS 15.2 | appletvsimulator15.2 | 13.2, 13.2.1 |
|
||||
| Simulator - tvOS 15.2 | appletvsimulator15.2 | 13.2.1 |
|
||||
| watchOS 6.2 | watchos6.2 | 11.7 |
|
||||
| watchOS 7.2 | watchos7.2 | 12.4 |
|
||||
| watchOS 7.4 | watchos7.4 | 12.5.1 |
|
||||
| watchOS 8.0 | watchos8.0 | 13.0, 13.1 |
|
||||
| watchOS 8.3 | watchos8.3 | 13.2, 13.2.1 |
|
||||
| watchOS 8.3 | watchos8.3 | 13.2.1 |
|
||||
| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.7 |
|
||||
| Simulator - watchOS 7.2 | watchsimulator7.2 | 12.4 |
|
||||
| Simulator - watchOS 7.4 | watchsimulator7.4 | 12.5.1 |
|
||||
| Simulator - watchOS 8.0 | watchsimulator8.0 | 13.0, 13.1 |
|
||||
| Simulator - watchOS 8.3 | watchsimulator8.3 | 13.2, 13.2.1 |
|
||||
| Simulator - watchOS 8.3 | watchsimulator8.3 | 13.2.1 |
|
||||
| DriverKit 19.0 | driverkit.macosx19.0 | 11.7 |
|
||||
| DriverKit 20.2 | driverkit.macosx20.2 | 12.4 |
|
||||
| DriverKit 20.4 | driverkit.macosx20.4 | 12.5.1, 13.0 |
|
||||
| DriverKit 21.0.1 | driverkit21.0.1 | 13.1 |
|
||||
| DriverKit 21.2 | driverkit21.2 | 13.2, 13.2.1 |
|
||||
| DriverKit 21.2 | driverkit21.2 | 13.2.1 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ----------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 13.7 | 11.7 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 14.4 | 12.4 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 14.5 | 12.5.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.0 | 13.0<br>13.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad (9th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.2 | 13.2<br>13.2.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad (9th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| tvOS 13.4 | 11.7 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 14.3 | 12.4 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 14.5 | 12.5.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.0 | 13.0<br>13.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.2 | 13.2<br>13.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| watchOS 6.2 | 11.7 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
||||
| watchOS 7.2 | 12.4 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
|
||||
| watchOS 7.4 | 12.5.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
|
||||
| watchOS 8.0 | 13.0<br>13.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.3 | 13.2<br>13.2.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ----------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 13.7 | 11.7 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 14.4 | 12.4 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 14.5 | 12.5.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.0 | 13.0<br>13.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad (9th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.2 | 13.2.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad (9th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| tvOS 13.4 | 11.7 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 14.3 | 12.4 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 14.5 | 12.5.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.0 | 13.0<br>13.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.2 | 13.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| watchOS 6.2 | 11.7 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
||||
| watchOS 7.2 | 12.4 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
|
||||
| watchOS 7.4 | 12.5.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
|
||||
| watchOS 8.0 | 13.0<br>13.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.3 | 13.2.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 4.0 |
|
||||
| Android Emulator | 31.2.9 |
|
||||
| Android SDK Build-tools | 32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platforms | android-32 (rev 1)<br>android-31 (rev 1)<br>android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
|
||||
| Android SDK Platform-Tools | 33.0.1 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 21.4.7075529 (default)<br>22.1.7171670<br>23.1.7779620 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Android Command Line Tools | 7.0 |
|
||||
| Android Emulator | 31.2.10 |
|
||||
| Android SDK Build-tools | 33.0.0<br>32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platforms | android-33 (rev 1)<br>android-32 (rev 1)<br>android-31 (rev 1)<br>android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
|
||||
| Android SDK Platform-Tools | 33.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 21.4.7075529<br>23.2.8568313 (default)<br>24.0.8215888 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | -------------------------------------------------------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/23.1.7779620 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/24.0.8215888 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
### Miscellaneous
|
||||
- libXext 1.3.4
|
||||
- libXft 2.3.4
|
||||
- Tcl/Tk 8.6.12
|
||||
- Zlib 1.2.11
|
||||
- Zlib 1.2.12
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,130 +1,147 @@
|
||||
# macOS 12.3 info
|
||||
- System Version: macOS 12.3.1 (21E258)
|
||||
- Kernel Version: Darwin 21.4.0
|
||||
- Image Version: 20220419.1
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[all OSs] Android ndk-bundle along with old NDK versions will be deprecated on July, 24](https://github.com/actions/virtual-environments/issues/5879) |
|
||||
| [[macOS] Default Xcode on Monterey image will be set to Xcode 13.4.1 on July, 11](https://github.com/actions/virtual-environments/issues/5836) |
|
||||
| [[Windows, macOS] LLVM will be updated to version 14 on July, 11](https://github.com/actions/virtual-environments/issues/5835) |
|
||||
***
|
||||
# macOS 12.4 info
|
||||
- System Version: macOS 12.4 (21F79)
|
||||
- Kernel Version: Darwin 21.5.0
|
||||
- Image Version: 20220710.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- .NET SDK 3.1.101 3.1.201 3.1.302 3.1.418 5.0.102 5.0.202 5.0.302 5.0.407
|
||||
- .NET SDK 3.1.101 3.1.201 3.1.302 3.1.420 5.0.102 5.0.202 5.0.302 5.0.408
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 13.0.1 is available on `'$(brew --prefix llvm)/bin/clang'`
|
||||
- Clang/LLVM 13.1.6 is default
|
||||
- gcc-11 (Homebrew GCC 11.2.0_3) 11.2.0 - available by `gcc-11` alias
|
||||
- GNU Fortran (Homebrew GCC 11.2.0_3) 11.2.0 - available by `gfortran-11` alias
|
||||
- Go 1.17.9
|
||||
- julia 1.7.2
|
||||
- Kotlin 1.6.20-release-275
|
||||
- MSBuild 16.10.1.17201 (from /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node.js v16.14.2
|
||||
- Clang/LLVM 14.0.6 is available on `'$(brew --prefix llvm@14)/bin/clang'`
|
||||
- gcc-11 (Homebrew GCC 11.3.0_2) 11.3.0 - available by `gcc-11` alias
|
||||
- GNU Fortran (Homebrew GCC 11.3.0_2) 11.3.0 - available by `gfortran-11` alias
|
||||
- Go 1.17.11
|
||||
- julia 1.7.3
|
||||
- Kotlin 1.7.10-release-333
|
||||
- MSBuild 16.10.1.31401 (from /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/15.0/bin/MSBuild.dll)
|
||||
- Node.js v16.16.0
|
||||
- NVM 0.39.1
|
||||
- NVM - Cached node versions: v12.22.12 v14.19.1 v16.14.2
|
||||
- NVM - Cached node versions: v12.22.12 v14.20.0 v16.16.0
|
||||
- Perl 5.34.0
|
||||
- PHP 8.1.5
|
||||
- PHP 8.1.8
|
||||
- Python 2.7.18
|
||||
- Python 3.9.12
|
||||
- R 4.1.3
|
||||
- Python 3.9.13
|
||||
- R 4.2.1
|
||||
- Ruby 3.0.4p208
|
||||
|
||||
### Package Management
|
||||
- Bundler version 2.3.11
|
||||
- Bundler version 2.3.17
|
||||
- Carthage 0.38.0
|
||||
- CocoaPods 1.11.3
|
||||
- Composer 2.3.5
|
||||
- Homebrew 3.4.7
|
||||
- NPM 8.5.0
|
||||
- NuGet 5.9.0.7134
|
||||
- Composer 2.3.9
|
||||
- Homebrew 3.5.4
|
||||
- Miniconda 4.12.0
|
||||
- NPM 8.11.0
|
||||
- NuGet 6.2.1.2
|
||||
- Pip 20.3.4 (python 2.7)
|
||||
- Pip 22.0.4 (python 3.9)
|
||||
- Pipx 1.0.0
|
||||
- Pip 22.1.1 (python 3.9)
|
||||
- Pipx 1.1.0
|
||||
- RubyGems 3.2.33
|
||||
- Vcpkg 2022 (build from master \<c25761eb7>)
|
||||
- Yarn 1.22.18
|
||||
- Vcpkg 2022 (build from master \<98f8d00e8>)
|
||||
- Yarn 1.22.19
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | ---------------------- |
|
||||
| CONDA | /usr/local/miniconda |
|
||||
| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
|
||||
|
||||
### Project Management
|
||||
- Apache Ant(TM) 1.10.12
|
||||
- Apache Maven 3.8.5
|
||||
- Apache Maven 3.8.6
|
||||
- Gradle 7.4.2
|
||||
- Sbt 1.6.2
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.04
|
||||
- aria2 1.36.0
|
||||
- azcopy 10.14.1
|
||||
- bazel 5.1.1
|
||||
- bazelisk 1.11.0
|
||||
- azcopy 10.15.0
|
||||
- bazel 5.2.0
|
||||
- bazelisk 1.12.0
|
||||
- bsdtar 3.5.1 - available by 'tar' alias
|
||||
- Curl 7.82.0
|
||||
- Git 2.35.1
|
||||
- Git LFS: 3.1.2
|
||||
- GitHub CLI: 2.8.0
|
||||
- Curl 7.84.0
|
||||
- Git 2.37.0
|
||||
- Git LFS: 3.2.0
|
||||
- GitHub CLI: 2.13.0
|
||||
- GNU Tar 1.34 - available by 'gtar' alias
|
||||
- GNU Wget 1.21.3
|
||||
- gpg (GnuPG) 2.3.4
|
||||
- gpg (GnuPG) 2.3.6
|
||||
- Hub CLI: 2.14.2
|
||||
- ImageMagick 7.1.0-43
|
||||
- jq 1.6
|
||||
- mongo v5.0.7
|
||||
- mongod v5.0.7
|
||||
- OpenSSL 1.1.1n 15 Mar 2022 `(/usr/local/opt/openssl@1.1 -> ../Cellar/openssl@1.1/1.1.1n)`
|
||||
- Packer 1.8.0
|
||||
- PostgreSQL 14.2
|
||||
- psql (PostgreSQL) 14.2
|
||||
- OpenSSL 1.1.1q 5 Jul 2022 `(/usr/local/opt/openssl@1.1 -> ../Cellar/openssl@1.1/1.1.1q)`
|
||||
- Packer 1.8.2
|
||||
- PostgreSQL 14.4
|
||||
- psql (PostgreSQL) 14.4
|
||||
- Sox 14.4.2
|
||||
- Subversion (SVN) 1.14.2
|
||||
- Switchaudio-osx 1.1.0
|
||||
- yq (https://github.com/mikefarah/yq/) version 4.24.5
|
||||
- Vagrant 2.2.19
|
||||
- VirtualBox 6.1.34r150636
|
||||
- yq (https://github.com/mikefarah/yq/) version 4.25.3
|
||||
- zstd 1.5.2
|
||||
|
||||
### Tools
|
||||
- App Center CLI command
|
||||
- AWS CLI 2.5.6
|
||||
- AWS SAM CLI 1.46.0
|
||||
- AWS Session Manager CLI 1.2.312.0
|
||||
- App Center CLI 2.10.10
|
||||
- AWS CLI 2.7.14
|
||||
- AWS SAM CLI 1.53.0
|
||||
- AWS Session Manager CLI 1.2.339.0
|
||||
- Azure CLI (azure-devops) 0.25.0
|
||||
- Azure CLI 2.35.0
|
||||
- Bicep CLI 0.5.6
|
||||
- Azure CLI 2.38.0
|
||||
- Bicep CLI 0.8.9
|
||||
- Cabal 3.6.2.0
|
||||
- Cmake 3.23.1
|
||||
- Fastlane 2.205.1
|
||||
- GHC 9.2.2
|
||||
- GHCup v0.1.17.6
|
||||
- Cmake 3.23.2
|
||||
- Fastlane 2.207.0
|
||||
- GHC 9.2.3
|
||||
- GHCup 0.1.17.8
|
||||
- Jazzy 0.14.2
|
||||
- Stack 2.7.5
|
||||
- SwiftFormat 0.49.11
|
||||
- Swig 4.0.2
|
||||
- Xcode Command Line Tools 13.3.1.0.1.1648687083
|
||||
- Xcode Command Line Tools 13.4.0.0.1.1651278267
|
||||
|
||||
### Linters
|
||||
- SwiftLint 0.47.0
|
||||
- yamllint 1.26.3
|
||||
- SwiftLint 0.47.1
|
||||
- yamllint 1.27.1
|
||||
|
||||
### Browsers
|
||||
- Safari 15.4 (17613.1.17.1.13)
|
||||
- SafariDriver 15.4 (17613.1.17.1.13)
|
||||
- Google Chrome 100.0.4896.127
|
||||
- ChromeDriver 100.0.4896.60
|
||||
- Microsoft Edge 100.0.1185.44
|
||||
- MSEdgeDriver 100.0.1185.44
|
||||
- Mozilla Firefox 99.0.1
|
||||
- Safari 15.5 (17613.2.7.1.8)
|
||||
- SafariDriver 15.5 (17613.2.7.1.8)
|
||||
- Google Chrome 103.0.5060.114
|
||||
- ChromeDriver 103.0.5060.53
|
||||
- Microsoft Edge 103.0.1264.51
|
||||
- Microsoft Edge WebDriver 103.0.1264.51
|
||||
- Mozilla Firefox 102.0.1
|
||||
- geckodriver 0.31.0
|
||||
- Selenium server 4.1.3
|
||||
- Selenium server 4.3.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| --------------- | ---------------------------------------------- |
|
||||
| CHROMEWEBDRIVER | /usr/local/Caskroom/chromedriver/100.0.4896.60 |
|
||||
| CHROMEWEBDRIVER | /usr/local/Caskroom/chromedriver/103.0.5060.53 |
|
||||
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
|
||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
| ------------------- | --------------- | -------------------- |
|
||||
| 8.0.322+6 (default) | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.14+101 | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 17.0.2+8 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
| 8.0.332+9 (default) | Eclipse Temurin | JAVA_HOME_8_X64 |
|
||||
| 11.0.15+10 | Eclipse Temurin | JAVA_HOME_11_X64 |
|
||||
| 17.0.3+7 | Eclipse Temurin | JAVA_HOME_17_X64 |
|
||||
|
||||
### GraalVM
|
||||
| Version | Environment variables |
|
||||
| ----------- | --------------------- |
|
||||
| CE 22.0.0.2 | GRAALVM_11_ROOT |
|
||||
| Version | Environment variables |
|
||||
| --------- | --------------------- |
|
||||
| CE 22.1.0 | GRAALVM_11_ROOT |
|
||||
|
||||
### Cached Tools
|
||||
#### Ruby
|
||||
@@ -133,10 +150,10 @@
|
||||
- 3.1.2
|
||||
|
||||
#### Python
|
||||
- 3.7.12
|
||||
- 3.8.12
|
||||
- 3.9.12
|
||||
- 3.10.4
|
||||
- 3.7.13
|
||||
- 3.8.13
|
||||
- 3.9.13
|
||||
- 3.10.5
|
||||
|
||||
#### PyPy
|
||||
- 2.7.18 [PyPy 7.3.9]
|
||||
@@ -146,55 +163,67 @@
|
||||
|
||||
#### Node.js
|
||||
- 12.22.12
|
||||
- 14.19.1
|
||||
- 16.14.2
|
||||
- 14.20.0
|
||||
- 16.16.0
|
||||
|
||||
#### Go
|
||||
| Version | Architecture | Environment Variable |
|
||||
| ------- | ------------ | -------------------- |
|
||||
| 1.16.15 | x64 | GOROOT_1_16_X64 |
|
||||
| 1.17.9 (Default) | x64 | GOROOT_1_17_X64 |
|
||||
| 1.18.1 | x64 | GOROOT_1_18_X64 |
|
||||
| 1.17.11 (Default) | x64 | GOROOT_1_17_X64 |
|
||||
| 1.18.3 | x64 | GOROOT_1_18_X64 |
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.60.0
|
||||
- Rust 1.60.0
|
||||
- Rustdoc 1.60.0
|
||||
- Cargo 1.62.0
|
||||
- Rust 1.62.0
|
||||
- Rustdoc 1.62.0
|
||||
- Rustup 1.24.3
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.59.2
|
||||
- Cargo-audit 0.16.0
|
||||
- Bindgen 0.60.1
|
||||
- Cargo-audit 0.17.0
|
||||
- Cargo-outdated 0.11.1
|
||||
- Cbindgen 0.22.0
|
||||
- Clippy 0.1.60
|
||||
- Cbindgen 0.24.3
|
||||
- Clippy 0.1.62
|
||||
- Rustfmt 1.4.38-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.2.2
|
||||
- PowerShell 7.2.5
|
||||
|
||||
#### PowerShell Modules
|
||||
| Module | Version |
|
||||
| ---------------- | ------- |
|
||||
| Az | 7.4.0 |
|
||||
| Az | 8.1.0 |
|
||||
| MarkdownPS | 1.9 |
|
||||
| Pester | 5.3.1 |
|
||||
| Pester | 5.3.3 |
|
||||
| PSScriptAnalyzer | 1.20.0 |
|
||||
|
||||
### Web Servers
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
| ----- | -------- | ------------------------------- | ------------- | ---------- |
|
||||
| httpd | 2.4.53_1 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||
| nginx | 1.21.6_1 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
| ----- | ------- | ------------------------------- | ------------- | ---------- |
|
||||
| httpd | 2.4.54 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||
| nginx | 1.23.0 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||
|
||||
### Xamarin
|
||||
#### Visual Studio for Mac
|
||||
- 8.10.22.11
|
||||
| Version | Build | Path |
|
||||
| -------------- | --------- | ------------------------------------ |
|
||||
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
|
||||
| 2022 (default) | 17.0.5.6 | /Applications/Visual Studio.app |
|
||||
|
||||
##### Notes:
|
||||
```
|
||||
To use Visual Studio 2019 by default rename the app:
|
||||
mv "/Applications/Visual Studio.app" "/Applications/Visual Studio 2022.app"
|
||||
mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
||||
```
|
||||
|
||||
#### Xamarin bundles
|
||||
| symlink | Xamarin.Mono | Xamarin.iOS | Xamarin.Mac | Xamarin.Android |
|
||||
| ----------------- | ------------ | ----------- | ----------- | --------------- |
|
||||
| 6_12_15 (default) | 6.12 | 15.8 | 8.8 | 12.2 |
|
||||
| 6_12_17 (default) | 6.12 | 15.10 | 8.10 | 12.2 |
|
||||
| 6_12_16 | 6.12 | 15.8 | 8.8 | 12.2 |
|
||||
| 6_12_15 | 6.12 | 15.8 | 8.8 | 12.1 |
|
||||
| 6_12_14 | 6.12 | 15.8 | 8.8 | 12.0 |
|
||||
| 6_12_13 | 6.12 | 15.6 | 8.6 | 12.0 |
|
||||
| 6_12_12 | 6.12 | 15.4 | 8.4 | 12.0 |
|
||||
@@ -205,88 +234,91 @@
|
||||
- NUnit 3.6.1
|
||||
|
||||
### Xcode
|
||||
| Version | Build | Path |
|
||||
| -------------- | -------- | ------------------------------ |
|
||||
| 13.3.1 | 13E500a | /Applications/Xcode_13.3.1.app |
|
||||
| 13.3 (default) | 13E113 | /Applications/Xcode_13.3.app |
|
||||
| 13.2.1 | 13C100 | /Applications/Xcode_13.2.1.app |
|
||||
| 13.2 | 13C90 | /Applications/Xcode_13.2.app |
|
||||
| 13.1 | 13A1030d | /Applications/Xcode_13.1.app |
|
||||
| Version | Build | Path |
|
||||
| ---------------- | -------- | ------------------------------ |
|
||||
| 13.4.1 (default) | 13F100 | /Applications/Xcode_13.4.1.app |
|
||||
| 13.4 | 13F17a | /Applications/Xcode_13.4.app |
|
||||
| 13.3.1 | 13E500a | /Applications/Xcode_13.3.1.app |
|
||||
| 13.2.1 | 13C100 | /Applications/Xcode_13.2.1.app |
|
||||
| 13.1 | 13A1030d | /Applications/Xcode_13.1.app |
|
||||
|
||||
#### Xcode Support Tools
|
||||
- xcpretty 0.3.0
|
||||
- xcversion 2.8.0
|
||||
|
||||
#### Installed SDKs
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ----------------------- | -------------------- | ------------- |
|
||||
| macOS 12.0 | macosx12.0 | 13.1 |
|
||||
| macOS 12.1 | macosx12.1 | 13.2, 13.2.1 |
|
||||
| macOS 12.3 | macosx12.3 | 13.3, 13.3.1 |
|
||||
| iOS 15.0 | iphoneos15.0 | 13.1 |
|
||||
| iOS 15.2 | iphoneos15.2 | 13.2, 13.2.1 |
|
||||
| iOS 15.4 | iphoneos15.4 | 13.3, 13.3.1 |
|
||||
| Simulator - iOS 15.0 | iphonesimulator15.0 | 13.1 |
|
||||
| Simulator - iOS 15.2 | iphonesimulator15.2 | 13.2, 13.2.1 |
|
||||
| Simulator - iOS 15.4 | iphonesimulator15.4 | 13.3, 13.3.1 |
|
||||
| tvOS 15.0 | appletvos15.0 | 13.1 |
|
||||
| tvOS 15.2 | appletvos15.2 | 13.2, 13.2.1 |
|
||||
| tvOS 15.4 | appletvos15.4 | 13.3, 13.3.1 |
|
||||
| Simulator - tvOS 15.0 | appletvsimulator15.0 | 13.1 |
|
||||
| Simulator - tvOS 15.2 | appletvsimulator15.2 | 13.2, 13.2.1 |
|
||||
| Simulator - tvOS 15.4 | appletvsimulator15.4 | 13.3, 13.3.1 |
|
||||
| watchOS 8.0 | watchos8.0 | 13.1 |
|
||||
| watchOS 8.3 | watchos8.3 | 13.2, 13.2.1 |
|
||||
| watchOS 8.5 | watchos8.5 | 13.3, 13.3.1 |
|
||||
| Simulator - watchOS 8.0 | watchsimulator8.0 | 13.1 |
|
||||
| Simulator - watchOS 8.3 | watchsimulator8.3 | 13.2, 13.2.1 |
|
||||
| Simulator - watchOS 8.5 | watchsimulator8.5 | 13.3, 13.3.1 |
|
||||
| DriverKit 21.0.1 | driverkit21.0.1 | 13.1 |
|
||||
| DriverKit 21.2 | driverkit21.2 | 13.2, 13.2.1 |
|
||||
| DriverKit 21.4 | driverkit21.4 | 13.3, 13.3.1 |
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ----------------------- | -------------------- | -------------------- |
|
||||
| macOS 12.0 | macosx12.0 | 13.1 |
|
||||
| macOS 12.1 | macosx12.1 | 13.2.1 |
|
||||
| macOS 12.3 | macosx12.3 | 13.3.1, 13.4, 13.4.1 |
|
||||
| iOS 15.0 | iphoneos15.0 | 13.1 |
|
||||
| iOS 15.2 | iphoneos15.2 | 13.2.1 |
|
||||
| iOS 15.4 | iphoneos15.4 | 13.3.1 |
|
||||
| iOS 15.5 | iphoneos15.5 | 13.4, 13.4.1 |
|
||||
| Simulator - iOS 15.0 | iphonesimulator15.0 | 13.1 |
|
||||
| Simulator - iOS 15.2 | iphonesimulator15.2 | 13.2.1 |
|
||||
| Simulator - iOS 15.4 | iphonesimulator15.4 | 13.3.1 |
|
||||
| Simulator - iOS 15.5 | iphonesimulator15.5 | 13.4, 13.4.1 |
|
||||
| tvOS 15.0 | appletvos15.0 | 13.1 |
|
||||
| tvOS 15.2 | appletvos15.2 | 13.2.1 |
|
||||
| tvOS 15.4 | appletvos15.4 | 13.3.1, 13.4, 13.4.1 |
|
||||
| Simulator - tvOS 15.0 | appletvsimulator15.0 | 13.1 |
|
||||
| Simulator - tvOS 15.2 | appletvsimulator15.2 | 13.2.1 |
|
||||
| Simulator - tvOS 15.4 | appletvsimulator15.4 | 13.3.1, 13.4, 13.4.1 |
|
||||
| watchOS 8.0 | watchos8.0 | 13.1 |
|
||||
| watchOS 8.3 | watchos8.3 | 13.2.1 |
|
||||
| watchOS 8.5 | watchos8.5 | 13.3.1, 13.4, 13.4.1 |
|
||||
| Simulator - watchOS 8.0 | watchsimulator8.0 | 13.1 |
|
||||
| Simulator - watchOS 8.3 | watchsimulator8.3 | 13.2.1 |
|
||||
| Simulator - watchOS 8.5 | watchsimulator8.5 | 13.3.1, 13.4, 13.4.1 |
|
||||
| DriverKit 21.0.1 | driverkit21.0.1 | 13.1 |
|
||||
| DriverKit 21.2 | driverkit21.2 | 13.2.1 |
|
||||
| DriverKit 21.4 | driverkit21.4 | 13.3.1, 13.4, 13.4.1 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ----------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 15.0 | 13.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.2 | 13.2<br>13.2.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.4 | 13.3<br>13.3.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| tvOS 15.0 | 13.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.2 | 13.2<br>13.2.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.4 | 13.3<br>13.3.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| watchOS 8.0 | 13.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.3 | 13.2<br>13.2.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.5 | 13.3<br>13.3.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ----------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 15.0 | 13.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.2 | 13.2.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.4 | 13.3.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.5 | 13.4<br>13.4.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| tvOS 15.0 | 13.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.2 | 13.2.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.4 | 13.3.1<br>13.4<br>13.4.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| watchOS 8.0 | 13.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.3 | 13.2.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.5 | 13.3.1<br>13.4<br>13.4.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 4.0 |
|
||||
| Android Emulator | 31.2.9 |
|
||||
| Android SDK Build-tools | 32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platforms | android-32 (rev 1)<br>android-31 (rev 1)<br>android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
|
||||
| Android SDK Platform-Tools | 33.0.1 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.18.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 21.4.7075529 (default)<br>22.1.7171670<br>23.1.7779620 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Android Command Line Tools | 7.0 |
|
||||
| Android Emulator | 31.2.10 |
|
||||
| Android SDK Build-tools | 33.0.0<br>32.0.0<br>31.0.0<br>30.0.0 30.0.1 30.0.2 30.0.3<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 |
|
||||
| Android SDK Platforms | android-33 (rev 1)<br>android-32 (rev 1)<br>android-31 (rev 1)<br>android-30 (rev 3)<br>android-29 (rev 5)<br>android-28 (rev 6)<br>android-27 (rev 3) |
|
||||
| Android SDK Platform-Tools | 33.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.18.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 21.4.7075529<br>23.2.8568313 (default)<br>24.0.8215888 |
|
||||
| SDK Patch Applier v4 | 1 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | -------------------------------------------------------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/23.1.7779620 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/21.4.7075529 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/24.0.8215888 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk-bundle -> /Users/runner/Library/Android/sdk/ndk/23.2.8568313 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
### Miscellaneous
|
||||
- libXext 1.3.4
|
||||
- libXft 2.3.4
|
||||
- Tcl/Tk 8.6.12
|
||||
- Zlib 1.2.11
|
||||
- Zlib 1.2.12
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -87,6 +87,7 @@ EOF
|
||||
sleep 10
|
||||
done
|
||||
|
||||
echo "Getting terminal windows"
|
||||
term_service=$(launchctl list | grep -i terminal | cut -f3)
|
||||
echo "Close terminal windows: gui/501/${term_service}"
|
||||
launchctl bootout gui/501/${term_service} && sleep 5
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
[[ ! -d ~/.ssh ]] && mkdir ~/.ssh 2>/dev/null
|
||||
chmod 777 ~/.ssh
|
||||
|
||||
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
|
||||
ssh-keyscan -t rsa,ecdsa,ed25519 github.com >> ~/.ssh/known_hosts
|
||||
ssh-keyscan -t rsa ssh.dev.azure.com >> ~/.ssh/known_hosts
|
||||
|
||||
@@ -44,6 +44,7 @@ userValuesArray=(
|
||||
"'kTCCServiceUbiquity','com.apple.PassKitCore',0,2,5,1,NULL,NULL,NULL,'UNUSED',NULL,0,1619516250"
|
||||
"'kTCCServiceAppleEvents','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,3,1,X'fade0c00000000ac0000000100000006000000020000001e636f6d2e7665657274752e616e6b612e6164646f6e732e616e6b6172756e0000000000060000000f000000060000000e000000010000000a2a864886f76364060206000000000000000000060000000e000000000000000a2a864886f7636406010d0000000000000000000b000000000000000a7375626a6563742e4f550000000000010000000a545439464157503656340000',NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1629294900"
|
||||
"'kTCCServiceAppleEvents','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,3,1,X'fade0c00000000ac0000000100000006000000020000001e636f6d2e7665657274752e616e6b612e6164646f6e732e616e6b6172756e0000000000060000000f000000060000000e000000010000000a2a864886f76364060206000000000000000000060000000e000000000000000a2a864886f7636406010d0000000000000000000b000000000000000a7375626a6563742e4f550000000000010000000a545439464157503656340000',NULL,0,'com.apple.systemevents',X'fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003',NULL,164456761"
|
||||
"'kTCCServiceAppleEvents','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,3,1,X'fade0c00000000ac0000000100000006000000020000001e636f6d2e7665657274752e616e6b612e6164646f6e732e616e6b6172756e0000000000060000000f000000060000000e000000010000000a2a864886f76364060206000000000000000000060000000e000000000000000a2a864886f7636406010d0000000000000000000b000000000000000a7375626a6563742e4f550000000000010000000a545439464157503656340000',NULL,0,'com.apple.Terminal',X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,1655808179"
|
||||
"'kTCCServiceAppleEvents','/usr/libexec/sshd-keygen-wrapper',1,2,3,1,X'fade0c000000003c0000000100000006000000020000001d636f6d2e6170706c652e737368642d6b657967656e2d7772617070657200000000000003',NULL,0,'com.apple.Terminal',X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,1650386089"
|
||||
)
|
||||
for values in "${userValuesArray[@]}"; do
|
||||
@@ -35,7 +35,23 @@ ANDROID_NDK_MAJOR_VERSIONS=($(get_toolset_value '.android.ndk."versions"[]'))
|
||||
ANDROID_NDK_MAJOR_DEFAULT=$(get_toolset_value '.android.ndk.default')
|
||||
ANDROID_NDK_MAJOR_LATEST=$(get_toolset_value '.android.ndk."versions"[-1]')
|
||||
# Get the latest command line tools from https://developer.android.com/studio#cmdline-tools
|
||||
ANDROID_OSX_SDK_URL="https://dl.google.com/android/repository/commandlinetools-mac-7302050_latest.zip"
|
||||
cmdlineToolsVersion=$(get_toolset_value '.android."cmdline-tools"')
|
||||
if [[ $cmdlineToolsVersion == "latest" ]]; then
|
||||
repositoryXmlUrl="https://dl.google.com/android/repository/repository2-1.xml"
|
||||
download_with_retries $repositoryXmlUrl "/tmp" "repository2-1.xml"
|
||||
cmdlineToolsVersion=$(
|
||||
yq -p=xml \
|
||||
'.sdk-repository.remotePackage[] | select(."+path" == "cmdline-tools;latest").archives.archive[].complete.url | select(contains("commandlinetools-mac"))' \
|
||||
/tmp/repository2-1.xml
|
||||
)
|
||||
|
||||
if [[ -z $cmdlineToolsVersion ]]; then
|
||||
echo "Failed to parse latest command-line tools version"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
ANDROID_OSX_SDK_URL="https://dl.google.com/android/repository/${cmdlineToolsVersion}"
|
||||
ANDROID_HOME=$HOME/Library/Android/sdk
|
||||
ANDROID_OSX_SDK_FILE=tools-macosx.zip
|
||||
|
||||
|
||||
@@ -16,6 +16,28 @@ for package in $cask_packages; do
|
||||
brew install --cask $package
|
||||
done
|
||||
|
||||
# Execute AppleScript to change security preferences for virtualbox
|
||||
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
|
||||
if is_Monterey; then
|
||||
if is_Veertu; then
|
||||
retry=10
|
||||
while [ $retry -gt 0 ]; do
|
||||
{
|
||||
osascript -e 'tell application "System Events" to get application processes where visible is true'
|
||||
} && break
|
||||
|
||||
retry=$((retry-1))
|
||||
if [ $retry -eq 0 ]; then
|
||||
echo "No retry attempts left"
|
||||
exit 1
|
||||
fi
|
||||
sleep 10
|
||||
done
|
||||
fi
|
||||
|
||||
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
|
||||
fi
|
||||
|
||||
# Invoke bazel to download bazel version via bazelisk
|
||||
bazel
|
||||
|
||||
|
||||
@@ -22,11 +22,18 @@ DOTNET_VERSIONS=($(get_toolset_value '.dotnet.versions | .[]'))
|
||||
|
||||
for DOTNET_VERSION in "${DOTNET_VERSIONS[@]}"; do
|
||||
RELEASE_URL="https://raw.githubusercontent.com/dotnet/core/master/release-notes/${DOTNET_VERSION}/releases.json"
|
||||
ARGS_LIST+=(
|
||||
$(curl -s "$RELEASE_URL" | \
|
||||
jq -r '.releases[].sdk."version"' | grep -v -E '\-(preview|rc)\d*' | \
|
||||
sort -r | rev | uniq -s 2 | rev)
|
||||
)
|
||||
|
||||
if [[ $DOTNET_VERSION == "6.0" ]]; then
|
||||
ARGS_LIST+=(
|
||||
$(curl -s "$RELEASE_URL" | jq -r 'first(.releases[].sdks[]?.version | select(contains("preview") or contains("rc") | not))')
|
||||
)
|
||||
else
|
||||
ARGS_LIST+=(
|
||||
$(curl -s "$RELEASE_URL" | \
|
||||
jq -r '.releases[].sdk."version"' | grep -v -E '\-(preview|rc)\d*' | \
|
||||
sort -r | rev | uniq -s 2 | rev)
|
||||
)
|
||||
fi
|
||||
done
|
||||
|
||||
for ARGS in "${ARGS_LIST[@]}"; do
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
source ~/utils/utils.sh
|
||||
|
||||
echo Installing Git...
|
||||
# Temporary hardcode version 2.35.1 due to the issue with the actions\checkout https://github.com/actions/checkout/issues/76
|
||||
brew tap-new local/git
|
||||
brew extract --version=2.35.1 git local/git
|
||||
brew install git@2.35.1
|
||||
brew untap -f local/homebrew-git
|
||||
brew_smart_install "git"
|
||||
|
||||
git config --global --add safe.directory "*"
|
||||
|
||||
echo Installing Git LFS
|
||||
brew_smart_install "git-lfs"
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#!/bin/bash -e -o pipefail
|
||||
source ~/utils/utils.sh
|
||||
|
||||
# Temporarily downgrade RubyGems version to 3.2.33 due to issue with RubyGems 3.3.3 (https://github.com/actions/virtual-environments-internal/issues/3162)
|
||||
echo Updating RubyGems...
|
||||
gem update --system 3.2.33
|
||||
gem update --system
|
||||
|
||||
gemsToInstall=$(get_toolset_value '.ruby.rubygems | .[]')
|
||||
if [ -n "$gemsToInstall" ]; then
|
||||
|
||||
@@ -2,28 +2,48 @@
|
||||
source ~/utils/utils.sh
|
||||
source ~/utils/xamarin-utils.sh
|
||||
|
||||
VSMAC_VERSION=$(get_toolset_value '.xamarin.vsmac')
|
||||
if [ $VSMAC_VERSION == "latest" ]; then
|
||||
VSMAC_VERSION=$(curl -L "http://aka.ms/manifest/stable" | jq -r ".items[] | select(.genericName==\"VisualStudioMac\").version")
|
||||
fi
|
||||
VSMAC_DOWNLOAD_URL=$(buildVSMacDownloadUrl $VSMAC_VERSION)
|
||||
install_vsmac() {
|
||||
local VSMAC_VERSION=$1
|
||||
local VSMAC_DEFAULT=$2
|
||||
if [ $VSMAC_VERSION == "2019" ]; then
|
||||
VSMAC_DOWNLOAD_URL=$(curl -sL "https://aka.ms/manifest/stable" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
|
||||
elif [ $VSMAC_VERSION == "2022" ]; then
|
||||
VSMAC_DOWNLOAD_URL=$(curl -sL "https://aka.ms/manifest/stable-2022" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
|
||||
elif [ $VSMAC_VERSION == "preview" ]; then
|
||||
VSMAC_DOWNLOAD_URL=$(curl -sL "https://aka.ms/manifest/preview" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
|
||||
else
|
||||
VSMAC_DOWNLOAD_URL=$(buildVSMacDownloadUrl $VSMAC_VERSION)
|
||||
fi
|
||||
|
||||
TMPMOUNT=`/usr/bin/mktemp -d /tmp/visualstudio.XXXX`
|
||||
TMPMOUNT_DOWNLOADS="$TMPMOUNT/downloads"
|
||||
mkdir $TMPMOUNT_DOWNLOADS
|
||||
echo "Installing Visual Studio ${VSMAC_VERSION} for Mac"
|
||||
TMPMOUNT=`/usr/bin/mktemp -d /tmp/visualstudio.XXXX`
|
||||
TMPMOUNT_DOWNLOADS="$TMPMOUNT/downloads"
|
||||
mkdir $TMPMOUNT_DOWNLOADS
|
||||
|
||||
download_with_retries $VSMAC_DOWNLOAD_URL $TMPMOUNT_DOWNLOADS
|
||||
download_with_retries $VSMAC_DOWNLOAD_URL $TMPMOUNT_DOWNLOADS
|
||||
|
||||
echo "Mounting Visual studio..."
|
||||
VISUAL_STUDIO_NAME=${VSMAC_DOWNLOAD_URL##*/}
|
||||
hdiutil attach "$TMPMOUNT_DOWNLOADS/$VISUAL_STUDIO_NAME" -mountpoint "$TMPMOUNT"
|
||||
echo "Mounting Visual Studio..."
|
||||
VISUAL_STUDIO_NAME=${VSMAC_DOWNLOAD_URL##*/}
|
||||
hdiutil attach "$TMPMOUNT_DOWNLOADS/$VISUAL_STUDIO_NAME" -mountpoint "$TMPMOUNT"
|
||||
|
||||
echo "Moving Visual Studio to /Applications/..."
|
||||
pushd $TMPMOUNT
|
||||
tar cf - "./Visual Studio.app" | tar xf - -C /Applications/
|
||||
echo "Moving Visual Studio to /Applications/..."
|
||||
pushd $TMPMOUNT
|
||||
tar cf - "./Visual Studio.app" | tar xf - -C /Applications/
|
||||
|
||||
popd
|
||||
sudo hdiutil detach "$TMPMOUNT"
|
||||
sudo rm -rf "$TMPMOUNT"
|
||||
if [ $VSMAC_VERSION != $VSMAC_DEFAULT ]; then
|
||||
mv "/Applications/Visual Studio.app" "/Applications/Visual Studio ${VSMAC_VERSION}.app"
|
||||
fi
|
||||
|
||||
popd
|
||||
sudo hdiutil detach "$TMPMOUNT"
|
||||
sudo rm -rf "$TMPMOUNT"
|
||||
}
|
||||
|
||||
VSMAC_VERSIONS=($(get_toolset_value '.xamarin.vsmac.versions[]'))
|
||||
DEFAULT_VSMAC_VERSION=$(get_toolset_value '.xamarin.vsmac.default')
|
||||
|
||||
for VERSION in "${VSMAC_VERSIONS[@]}"; do
|
||||
install_vsmac $VERSION $DEFAULT_VSMAC_VERSION
|
||||
done
|
||||
|
||||
invoke_tests "Common" "VSMac"
|
||||
|
||||
@@ -82,4 +82,8 @@ PREFERENCES_XAMARIN_DIR="${HOME}/Library/Preferences/Xamarin"
|
||||
mkdir -p $PREFERENCES_XAMARIN_DIR
|
||||
/usr/libexec/PlistBuddy -c "add :AppleSdkRoot string /Applications/Xcode_${DEFAULT_XCODE_VERSION}.app" $PREFERENCES_XAMARIN_DIR/Settings.plist
|
||||
|
||||
# Temporary workaround to recreate nuget.config file with a correct feed https://github.com/actions/virtual-environments/issues/5768
|
||||
rm -rf $HOME/.config/NuGet/NuGet.Config
|
||||
nuget config
|
||||
|
||||
invoke_tests "Xamarin"
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
# This AppleScript confirms developers in security preferences via macOS UI.
|
||||
# It uses after VirtualBox installation to add 'Oracle Inc' as identified developer.
|
||||
# Steps:
|
||||
# - Close security preferences pop-up (it can be open after VirtualBox installation)
|
||||
# - Open System Preferences -> Security & Privacy -> General
|
||||
# - Unlock security preferences with user password (button 'Click the lock to make changes')
|
||||
# - Click 'Allow' or 'Details…' button to confirm developers
|
||||
# - Click 'Not now' button on restarting pop-up
|
||||
# - Close System Preferences
|
||||
|
||||
on run argv
|
||||
set userpassword to item 1 of argv
|
||||
set secpane to "Security & Privacy"
|
||||
|
||||
tell application "System Events"
|
||||
tell security preferences
|
||||
keystroke return
|
||||
delay 5
|
||||
end tell
|
||||
end tell
|
||||
|
||||
activate application "System Preferences"
|
||||
delay 5
|
||||
tell application "System Events"
|
||||
tell process "System Preferences"
|
||||
click menu item secpane of menu "View" of menu bar 1
|
||||
delay 5
|
||||
click button 1 of window 1
|
||||
delay 5
|
||||
keystroke userpassword
|
||||
delay 5
|
||||
keystroke return
|
||||
delay 5
|
||||
click radio button "General" of tab group 1 of window 1
|
||||
delay 5
|
||||
if exists of UI element "Details…" of tab group 1 of window 1 then
|
||||
click button "Details…" of tab group 1 of window 1
|
||||
delay 5
|
||||
keystroke return
|
||||
delay 5
|
||||
keystroke return
|
||||
delay 5
|
||||
end if
|
||||
if exists of UI element "Allow" of tab group 1 of window 1 then
|
||||
click button "Allow" of tab group 1 of window 1
|
||||
delay 5
|
||||
keystroke return
|
||||
delay 5
|
||||
end if
|
||||
click button 5 of window 1
|
||||
end tell
|
||||
end tell
|
||||
end run
|
||||
@@ -127,7 +127,7 @@ should_build_from_source() {
|
||||
|
||||
# No need to build from source if a bottle is disabled
|
||||
# Use the simple 'brew install' command to download a package
|
||||
if $bottle_disabled; then
|
||||
if [[ $bottle_disabled == "true" ]]; then
|
||||
echo "false"
|
||||
return
|
||||
fi
|
||||
@@ -192,13 +192,16 @@ get_github_package_download_url() {
|
||||
json=$(curl "${authString[@]}" -s "https://api.github.com/repos/${REPO_ORG}/releases?per_page=${SEARCH_IN_COUNT}")
|
||||
|
||||
if [[ "$VERSION" == "latest" ]]; then
|
||||
tagName=$(echo $json | jq -r '.[] | select(.prerelease==false).tag_name' | sort --unique --version-sort | egrep -v ".*-[a-z]" | tail -1)
|
||||
tagName=$(echo $json | jq -r '.[] | select((.prerelease==false) and (.assets | length > 0)).tag_name' | sort --unique --version-sort | egrep -v ".*-[a-z]" | tail -1)
|
||||
else
|
||||
tagName=$(echo $json | jq -r '.[] | select(.prerelease==false).tag_name' | sort --unique --version-sort | egrep -v ".*-[a-z]" | egrep "\w*${VERSION}" | tail -1)
|
||||
fi
|
||||
|
||||
downloadUrl=$(echo $json | jq -r ".[] | select(.tag_name==\"${tagName}\").assets[].browser_download_url | select(${FILTER})" | head -n 1)
|
||||
|
||||
if [ -z "$downloadUrl" ]; then
|
||||
echo "Failed to parse a download url for the '${tagName}' tag using '${FILTER}' filter"
|
||||
exit 1
|
||||
fi
|
||||
echo $downloadUrl
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ buildVSMacDownloadUrl() {
|
||||
}
|
||||
|
||||
buildMonoDownloadUrl() {
|
||||
echo "https://dl.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-${1}.macos10.xamarin.universal.pkg"
|
||||
echo "https://dl.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-${1}.macos10.xamarin.universal.pkg"
|
||||
}
|
||||
|
||||
buildXamariniIOSDownloadUrl() {
|
||||
|
||||
@@ -40,7 +40,7 @@ function Get-EdgeVersion {
|
||||
}
|
||||
|
||||
function Get-EdgeDriverVersion {
|
||||
return Run-Command "msedgedriver --version" | Take-Part -Part 0,1
|
||||
return Run-Command "msedgedriver --version" | Take-Part -Part 0,1,2,3
|
||||
}
|
||||
|
||||
function Get-FirefoxVersion {
|
||||
|
||||
@@ -64,7 +64,7 @@ function Get-Cargooutdated {
|
||||
}
|
||||
|
||||
function Get-Cargoaudit {
|
||||
$cargoAuditVersion = Run-Command "cargo audit --version" | Take-Part -Part 1
|
||||
$cargoAuditVersion = Run-Command "cargo-audit --version" | Take-Part -Part 1
|
||||
return "Cargo-audit $cargoAuditVersion"
|
||||
}
|
||||
|
||||
@@ -96,7 +96,8 @@ function Get-FortranVersion {
|
||||
}
|
||||
|
||||
function Get-ClangLLVMVersion {
|
||||
$locationsList = @("$((Get-Command clang).Source)", '$(brew --prefix llvm)/bin/clang')
|
||||
$toolsetVersion = '$(brew --prefix llvm@{0})/bin/clang' -f (Get-ToolsetValue 'llvm.version')
|
||||
$locationsList = @("$((Get-Command clang).Source)", $toolsetVersion)
|
||||
$locationsList | Foreach-Object {
|
||||
(Run-Command "${_} --version" | Out-String) -match "(?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$version = $Matches.version
|
||||
@@ -389,7 +390,7 @@ function Get-NewmanVersion {
|
||||
|
||||
function Get-VirtualBoxVersion {
|
||||
$virtualBox = Run-Command "vboxmanage -v"
|
||||
return "virtualbox $virtualBox"
|
||||
return "VirtualBox $virtualBox"
|
||||
}
|
||||
|
||||
function Get-VagrantVersion {
|
||||
@@ -448,7 +449,7 @@ function Get-AliyunCLIVersion {
|
||||
}
|
||||
|
||||
function Get-GHCupVersion {
|
||||
$ghcUpVersion = Run-Command "ghcup --version" | Take-Part -Part 5
|
||||
$ghcUpVersion = (Run-Command "ghcup --version" | Take-Part -Part 5).Replace('v','')
|
||||
return "GHCup $ghcUpVersion"
|
||||
}
|
||||
|
||||
@@ -547,6 +548,11 @@ function Get-YqVersion {
|
||||
return "$yqVersion"
|
||||
}
|
||||
|
||||
function Get-ImageMagickVersion {
|
||||
$imagemagickVersion = Run-Command "magick --version" | Select-Object -First 1 | Take-Part -Part 1,2
|
||||
return "$imagemagickVersion"
|
||||
}
|
||||
|
||||
function Build-PackageManagementEnvironmentTable {
|
||||
return @(
|
||||
@{
|
||||
|
||||
@@ -63,6 +63,7 @@ $packageManagementList = @(
|
||||
(Get-PipxVersion),
|
||||
(Get-BundlerVersion),
|
||||
(Get-CocoaPodsVersion),
|
||||
(Get-CondaVersion),
|
||||
(Get-HomebrewVersion),
|
||||
(Get-NPMVersion),
|
||||
(Get-YarnVersion),
|
||||
@@ -73,18 +74,11 @@ $packageManagementList = @(
|
||||
(Get-VcpkgVersion)
|
||||
)
|
||||
|
||||
if ($os.IsLessThanMonterey) {
|
||||
$packageManagementList += @(
|
||||
(Get-CondaVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ($packageManagementList | Sort-Object)
|
||||
if ($os.IsLessThanMonterey) {
|
||||
$markdown += New-MDHeader "Environment variables" -Level 4
|
||||
$markdown += Build-PackageManagementEnvironmentTable | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
}
|
||||
$markdown += New-MDHeader "Environment variables" -Level 4
|
||||
$markdown += Build-PackageManagementEnvironmentTable | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
|
||||
# Project Management
|
||||
$markdown += New-MDHeader "Project Management" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines (@(
|
||||
@@ -123,7 +117,8 @@ $utilitiesList = @(
|
||||
(Get-GPGVersion),
|
||||
(Get-SwitchAudioOsxVersion),
|
||||
(Get-SoxVersion),
|
||||
(Get-YqVersion)
|
||||
(Get-YqVersion),
|
||||
(Get-ImageMagickVersion)
|
||||
)
|
||||
|
||||
if ($os.IsLessThanMonterey) {
|
||||
@@ -140,12 +135,17 @@ if ($os.IsLessThanMonterey) {
|
||||
|
||||
if ($os.IsCatalina) {
|
||||
$utilitiesList += @(
|
||||
(Get-VirtualBoxVersion),
|
||||
(Get-VagrantVersion),
|
||||
(Get-ParallelVersion)
|
||||
)
|
||||
}
|
||||
|
||||
if (-not $os.IsBigSur) {
|
||||
$utilitiesList += @(
|
||||
(Get-VagrantVersion),
|
||||
(Get-VirtualBoxVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ($utilitiesList | Sort-Object)
|
||||
|
||||
# Tools
|
||||
@@ -175,15 +175,10 @@ $toolsList += @(
|
||||
(Get-GHCupVersion),
|
||||
(Get-GHCVersion),
|
||||
(Get-CabalVersion),
|
||||
(Get-StackVersion)
|
||||
(Get-StackVersion),
|
||||
(Get-SwiftFormatVersion)
|
||||
)
|
||||
|
||||
if($os.IsLessThanMonterey) {
|
||||
$toolsList += @(
|
||||
(Get-SwiftFormatVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ($toolsList | Sort-Object)
|
||||
|
||||
# Linters
|
||||
@@ -247,7 +242,19 @@ $markdown += Build-WebServersSection
|
||||
# Xamarin section
|
||||
$markdown += New-MDHeader "Xamarin" -Level 3
|
||||
$markdown += New-MDHeader "Visual Studio for Mac" -Level 4
|
||||
$markdown += New-MDList -Lines @(Get-VSMacVersion) -Style Unordered
|
||||
$markdown += Build-VSMacTable | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
if (-not $os.IsCatalina) {
|
||||
$markdown += New-MDHeader "Notes:" -Level 5
|
||||
$reportVS = @'
|
||||
```
|
||||
To use Visual Studio 2019 by default rename the app:
|
||||
mv "/Applications/Visual Studio.app" "/Applications/Visual Studio 2022.app"
|
||||
mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
||||
```
|
||||
'@
|
||||
$markdown += New-MDParagraph -Lines $reportVS
|
||||
}
|
||||
|
||||
$markdown += New-MDHeader "Xamarin bundles" -Level 4
|
||||
$markdown += Build-XamarinTable | New-MDTable
|
||||
|
||||
@@ -1,8 +1,26 @@
|
||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
|
||||
function Get-VSMacVersion {
|
||||
$plistPath = "/Applications/Visual Studio.app/Contents/Info.plist"
|
||||
return Run-Command "/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' '$plistPath'"
|
||||
function Build-VSMacTable {
|
||||
$vsMacVersions = Get-ToolsetValue "xamarin.vsmac.versions"
|
||||
$defaultVSMacVersion = Get-ToolsetValue "xamarin.vsmac.default"
|
||||
|
||||
$vsMacVersions | ForEach-Object {
|
||||
$isDefault = $_ -eq $defaultVSMacVersion
|
||||
$vsPath = "/Applications/Visual Studio $_.app"
|
||||
if ($isDefault) {
|
||||
$vsPath = "/Applications/Visual Studio.app"
|
||||
}
|
||||
|
||||
$plistPath = "$vsPath/Contents/Info.plist"
|
||||
$build = Run-Command "/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' '$plistPath'"
|
||||
$defaultPostfix = $isDefault ? " (default)" : ""
|
||||
|
||||
[PSCustomObject] @{
|
||||
"Version" = $_ + $defaultPostfix
|
||||
"Build" = $build
|
||||
"Path" = $vsPath
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Get-NUnitVersion {
|
||||
@@ -28,4 +46,3 @@ function Build-XamarinTable {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -90,9 +90,17 @@
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"pause_before": "30s",
|
||||
"scripts": [
|
||||
"./provision/core/xcode-clt.sh",
|
||||
"./provision/core/homebrew.sh"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/configuration/add-network-interface-detection.sh",
|
||||
"./provision/configuration/autologin.sh",
|
||||
"./provision/configuration/disable-auto-updates.sh",
|
||||
@@ -130,7 +138,6 @@
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"pause_before": "30s",
|
||||
"scripts": [
|
||||
"./provision/core/homebrew.sh",
|
||||
"./provision/core/open_windows_check.sh",
|
||||
"./provision/core/powershell.sh",
|
||||
"./provision/core/dotnet.sh",
|
||||
|
||||
@@ -20,6 +20,11 @@ variable "vm_password" {
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "github_api_pat" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "xcode_install_user" {
|
||||
type = string
|
||||
sensitive = true
|
||||
@@ -32,12 +37,12 @@ variable "xcode_install_password" {
|
||||
|
||||
variable "vcpu_count" {
|
||||
type = string
|
||||
default = "5"
|
||||
default = "6"
|
||||
}
|
||||
|
||||
variable "ram_size" {
|
||||
type = string
|
||||
default = "12G"
|
||||
default = "24G"
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
@@ -56,7 +61,7 @@ source "veertu-anka-vm-clone" "template" {
|
||||
|
||||
build {
|
||||
sources = [
|
||||
"source.veertu-anka-vm-clone.template",
|
||||
"source.veertu-anka-vm-clone.template"
|
||||
]
|
||||
provisioner "shell" {
|
||||
inline = [
|
||||
@@ -65,7 +70,12 @@ build {
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = "image-generation/"
|
||||
sources = [ "./provision/assets", "./tests", "./software-report", "./helpers" ]
|
||||
sources = [
|
||||
"./provision/assets",
|
||||
"./tests",
|
||||
"./software-report",
|
||||
"./helpers"
|
||||
]
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = "image-generation/add-certificate.swift"
|
||||
@@ -99,14 +109,20 @@ build {
|
||||
provisioner "shell" {
|
||||
scripts = [
|
||||
"./provision/core/xcode-clt.sh",
|
||||
"./provision/configuration/configure-tccdb-macos11.sh",
|
||||
"./provision/core/homebrew.sh"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
scripts = [
|
||||
"./provision/configuration/configure-tccdb-macos.sh",
|
||||
"./provision/configuration/add-network-interface-detection.sh",
|
||||
"./provision/configuration/autologin.sh",
|
||||
"./provision/configuration/disable-auto-updates.sh",
|
||||
"./provision/configuration/screensaver-off.sh",
|
||||
"./provision/configuration/ntpconf.sh",
|
||||
"./provision/configuration/max-files.sh",
|
||||
"./provision/configuration/shell-change.sh"
|
||||
"./provision/configuration/shell-change.sh",
|
||||
]
|
||||
environment_vars = [
|
||||
"PASSWORD=${var.vm_password}",
|
||||
@@ -134,7 +150,6 @@ build {
|
||||
provisioner "shell" {
|
||||
pause_before = "30s"
|
||||
scripts = [
|
||||
"./provision/core/homebrew.sh",
|
||||
"./provision/core/open_windows_check.sh",
|
||||
"./provision/core/powershell.sh",
|
||||
"./provision/core/dotnet.sh",
|
||||
@@ -144,7 +159,12 @@ build {
|
||||
"./provision/core/ruby.sh",
|
||||
"./provision/core/rubygem.sh",
|
||||
"./provision/core/git.sh",
|
||||
"./provision/core/node.sh"
|
||||
"./provision/core/node.sh",
|
||||
"./provision/core/commonutils.sh",
|
||||
]
|
||||
environment_vars = [
|
||||
"API_PAT=${var.github_api_pat}",
|
||||
"USER_PASSWORD=${var.vm_password}"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
@@ -163,42 +183,47 @@ build {
|
||||
}
|
||||
provisioner "shell" {
|
||||
scripts = [
|
||||
"./provision/core/commonutils.sh",
|
||||
"./provision/core/llvm.sh",
|
||||
"./provision/core/golang.sh",
|
||||
"./provision/core/swiftlint.sh",
|
||||
"./provision/core/openjdk.sh",
|
||||
"./provision/core/php.sh",
|
||||
"./provision/core/aws.sh",
|
||||
"./provision/core/rust.sh",
|
||||
"./provision/core/gcc.sh",
|
||||
"./provision/core/haskell.sh",
|
||||
"./provision/core/stack.sh",
|
||||
"./provision/core/cocoapods.sh",
|
||||
"./provision/core/android-toolsets.sh",
|
||||
"./provision/core/xamarin.sh",
|
||||
"./provision/core/vsmac.sh",
|
||||
"./provision/core/nvm.sh",
|
||||
"./provision/core/apache.sh",
|
||||
"./provision/core/nginx.sh",
|
||||
"./provision/core/postgresql.sh",
|
||||
"./provision/core/mongodb.sh",
|
||||
"./provision/core/audiodevice.sh",
|
||||
"./provision/core/vcpkg.sh",
|
||||
"./provision/core/miniconda.sh",
|
||||
"./provision/core/safari.sh",
|
||||
"./provision/core/chrome.sh",
|
||||
"./provision/core/edge.sh",
|
||||
"./provision/core/firefox.sh",
|
||||
"./provision/core/pypy.sh",
|
||||
"./provision/core/pipx-packages.sh",
|
||||
"./provision/core/bicep.sh",
|
||||
"./provision/core/graalvm.sh"
|
||||
"./provision/core/llvm.sh",
|
||||
"./provision/core/golang.sh",
|
||||
"./provision/core/swiftlint.sh",
|
||||
"./provision/core/openjdk.sh",
|
||||
"./provision/core/php.sh",
|
||||
"./provision/core/aws.sh",
|
||||
"./provision/core/rust.sh",
|
||||
"./provision/core/gcc.sh",
|
||||
"./provision/core/haskell.sh",
|
||||
"./provision/core/stack.sh",
|
||||
"./provision/core/cocoapods.sh",
|
||||
"./provision/core/android-toolsets.sh",
|
||||
"./provision/core/xamarin.sh",
|
||||
"./provision/core/vsmac.sh",
|
||||
"./provision/core/nvm.sh",
|
||||
"./provision/core/apache.sh",
|
||||
"./provision/core/nginx.sh",
|
||||
"./provision/core/postgresql.sh",
|
||||
"./provision/core/mongodb.sh",
|
||||
"./provision/core/audiodevice.sh",
|
||||
"./provision/core/vcpkg.sh",
|
||||
"./provision/core/miniconda.sh",
|
||||
"./provision/core/safari.sh",
|
||||
"./provision/core/chrome.sh",
|
||||
"./provision/core/edge.sh",
|
||||
"./provision/core/firefox.sh",
|
||||
"./provision/core/pypy.sh",
|
||||
"./provision/core/pipx-packages.sh",
|
||||
"./provision/core/bicep.sh",
|
||||
"./provision/core/graalvm.sh"
|
||||
]
|
||||
environment_vars = [
|
||||
"API_PAT=${var.github_api_pat}"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
script = "./provision/core/toolset.ps1"
|
||||
scripts = [
|
||||
"./provision/core/toolset.ps1",
|
||||
"./provision/core/configure-toolset.ps1"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
@@ -93,6 +93,14 @@
|
||||
"source": "./toolsets/toolset-11.json",
|
||||
"destination": "~/image-generation/toolset.json"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/core/xcode-clt.sh",
|
||||
"./provision/core/homebrew.sh"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
|
||||
@@ -135,7 +143,6 @@
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"pause_before": "30s",
|
||||
"scripts": [
|
||||
"./provision/core/homebrew.sh",
|
||||
"./provision/core/open_windows_check.sh",
|
||||
"./provision/core/powershell.sh",
|
||||
"./provision/core/dotnet.sh",
|
||||
|
||||
253
images/macos/templates/macOS-12.anka.pkr.hcl
Normal file
253
images/macos/templates/macOS-12.anka.pkr.hcl
Normal file
@@ -0,0 +1,253 @@
|
||||
variable "source_vm_name" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "source_vm_tag" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "build_id" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "vm_username" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "vm_password" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "github_api_pat" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "xcode_install_user" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "xcode_install_password" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "vcpu_count" {
|
||||
type = string
|
||||
default = "6"
|
||||
}
|
||||
|
||||
variable "ram_size" {
|
||||
type = string
|
||||
default = "24G"
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = "macos12"
|
||||
}
|
||||
|
||||
source "veertu-anka-vm-clone" "template" {
|
||||
vm_name = "${var.build_id}"
|
||||
source_vm_name = "${var.source_vm_name}"
|
||||
source_vm_tag = "${var.source_vm_tag}"
|
||||
vcpu_count = "${var.vcpu_count}"
|
||||
ram_size = "${var.ram_size}"
|
||||
stop_vm = "true"
|
||||
}
|
||||
|
||||
build {
|
||||
sources = [
|
||||
"source.veertu-anka-vm-clone.template"
|
||||
]
|
||||
provisioner "shell" {
|
||||
inline = [
|
||||
"mkdir ~/image-generation"
|
||||
]
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = "image-generation/"
|
||||
sources = [
|
||||
"./provision/assets",
|
||||
"./tests",
|
||||
"./software-report",
|
||||
"./helpers"
|
||||
]
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = "image-generation/add-certificate.swift"
|
||||
source = "./provision/configuration/add-certificate.swift"
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = ".bashrc"
|
||||
source = "./provision/configuration/environment/bashrc"
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = ".bash_profile"
|
||||
source = "./provision/configuration/environment/bashprofile"
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = "./"
|
||||
source = "./provision/utils"
|
||||
}
|
||||
provisioner "shell" {
|
||||
inline = [
|
||||
"mkdir ~/bootstrap"
|
||||
]
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = "bootstrap"
|
||||
source = "./provision/bootstrap-provisioner/"
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = "image-generation/toolset.json"
|
||||
source = "./toolsets/toolset-12.json"
|
||||
}
|
||||
provisioner "shell" {
|
||||
scripts = [
|
||||
"./provision/core/xcode-clt.sh",
|
||||
"./provision/core/homebrew.sh"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
scripts = [
|
||||
"./provision/configuration/configure-tccdb-macos.sh",
|
||||
"./provision/configuration/add-network-interface-detection.sh",
|
||||
"./provision/configuration/autologin.sh",
|
||||
"./provision/configuration/disable-auto-updates.sh",
|
||||
"./provision/configuration/screensaver-off.sh",
|
||||
"./provision/configuration/ntpconf.sh",
|
||||
"./provision/configuration/max-files.sh",
|
||||
"./provision/configuration/shell-change.sh"
|
||||
]
|
||||
environment_vars = [
|
||||
"PASSWORD=${var.vm_password}",
|
||||
"USERNAME=${var.vm_username}"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
scripts = [
|
||||
"./provision/configuration/preimagedata.sh",
|
||||
"./provision/configuration/configure-ssh.sh",
|
||||
"./provision/configuration/configure-machine.sh"
|
||||
]
|
||||
environment_vars = [
|
||||
"IMAGE_VERSION=${var.build_id}",
|
||||
"IMAGE_OS=${var.image_os}",
|
||||
"PASSWORD=${var.vm_password}"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
script = "./provision/core/reboot.sh"
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||
expect_disconnect = true
|
||||
}
|
||||
provisioner "shell" {
|
||||
pause_before = "30s"
|
||||
scripts = [
|
||||
"./provision/core/open_windows_check.sh",
|
||||
"./provision/core/powershell.sh",
|
||||
"./provision/core/dotnet.sh",
|
||||
"./provision/core/python.sh",
|
||||
"./provision/core/azcopy.sh",
|
||||
"./provision/core/openssl.sh",
|
||||
"./provision/core/ruby.sh",
|
||||
"./provision/core/rubygem.sh",
|
||||
"./provision/core/git.sh",
|
||||
"./provision/core/node.sh",
|
||||
"./provision/core/commonutils.sh"
|
||||
]
|
||||
environment_vars = [
|
||||
"API_PAT=${var.github_api_pat}",
|
||||
"USER_PASSWORD=${var.vm_password}"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
script = "./provision/core/xcode.ps1"
|
||||
environment_vars = [
|
||||
"XCODE_INSTALL_USER=${var.xcode_install_user}",
|
||||
"XCODE_INSTALL_PASSWORD=${var.xcode_install_password}"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
script = "./provision/core/reboot.sh"
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||
expect_disconnect = true
|
||||
}
|
||||
provisioner "shell" {
|
||||
scripts = [
|
||||
"./provision/core/llvm.sh",
|
||||
"./provision/core/golang.sh",
|
||||
"./provision/core/swiftlint.sh",
|
||||
"./provision/core/openjdk.sh",
|
||||
"./provision/core/php.sh",
|
||||
"./provision/core/aws.sh",
|
||||
"./provision/core/rust.sh",
|
||||
"./provision/core/gcc.sh",
|
||||
"./provision/core/haskell.sh",
|
||||
"./provision/core/stack.sh",
|
||||
"./provision/core/cocoapods.sh",
|
||||
"./provision/core/android-toolsets.sh",
|
||||
"./provision/core/xamarin.sh",
|
||||
"./provision/core/vsmac.sh",
|
||||
"./provision/core/nvm.sh",
|
||||
"./provision/core/apache.sh",
|
||||
"./provision/core/nginx.sh",
|
||||
"./provision/core/postgresql.sh",
|
||||
"./provision/core/mongodb.sh",
|
||||
"./provision/core/audiodevice.sh",
|
||||
"./provision/core/vcpkg.sh",
|
||||
"./provision/core/miniconda.sh",
|
||||
"./provision/core/safari.sh",
|
||||
"./provision/core/chrome.sh",
|
||||
"./provision/core/edge.sh",
|
||||
"./provision/core/firefox.sh",
|
||||
"./provision/core/pypy.sh",
|
||||
"./provision/core/pipx-packages.sh",
|
||||
"./provision/core/bicep.sh",
|
||||
"./provision/core/graalvm.sh"
|
||||
]
|
||||
environment_vars = [
|
||||
"API_PAT=${var.github_api_pat}"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
scripts = [
|
||||
"./provision/core/toolset.ps1",
|
||||
"./provision/core/configure-toolset.ps1"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
script = "./provision/core/delete-duplicate-sims.rb"
|
||||
execute_command = "source $HOME/.bash_profile; ruby {{ .Path }}"
|
||||
}
|
||||
provisioner "shell" {
|
||||
inline = [
|
||||
"pwsh -File \"$HOME/image-generation/software-report/SoftwareReport.Generator.ps1\" -OutputDirectory \"$HOME/image-generation/output/software-report\" -ImageName ${var.build_id}",
|
||||
"pwsh -File \"$HOME/image-generation/tests/RunAll-Tests.ps1\""
|
||||
]
|
||||
execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
provisioner "file" {
|
||||
destination = "../image-output/"
|
||||
direction = "download"
|
||||
source = "./image-generation/output/"
|
||||
}
|
||||
provisioner "shell" {
|
||||
scripts = [
|
||||
"./provision/configuration/configure-hostname.sh",
|
||||
"./provision/configuration/finalize-vm.sh"
|
||||
]
|
||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||
}
|
||||
}
|
||||
@@ -95,9 +95,16 @@
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/core/xcode-clt.sh",
|
||||
"./provision/core/homebrew.sh"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/configuration/add-network-interface-detection.sh",
|
||||
"./provision/configuration/autologin.sh",
|
||||
"./provision/configuration/disable-auto-updates.sh",
|
||||
@@ -136,7 +143,6 @@
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"pause_before": "30s",
|
||||
"scripts": [
|
||||
"./provision/core/homebrew.sh",
|
||||
"./provision/core/open_windows_check.sh",
|
||||
"./provision/core/powershell.sh",
|
||||
"./provision/core/dotnet.sh",
|
||||
@@ -146,10 +152,12 @@
|
||||
"./provision/core/ruby.sh",
|
||||
"./provision/core/rubygem.sh",
|
||||
"./provision/core/git.sh",
|
||||
"./provision/core/node.sh"
|
||||
"./provision/core/node.sh",
|
||||
"./provision/core/commonutils.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"API_PAT={{user `github_api_pat`}}"
|
||||
"API_PAT={{user `github_api_pat`}}",
|
||||
"USER_PASSWORD={{user `vm_password`}}"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -171,7 +179,6 @@
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/core/commonutils.sh",
|
||||
"./provision/core/llvm.sh",
|
||||
"./provision/core/golang.sh",
|
||||
"./provision/core/swiftlint.sh",
|
||||
@@ -193,6 +200,7 @@
|
||||
"./provision/core/mongodb.sh",
|
||||
"./provision/core/audiodevice.sh",
|
||||
"./provision/core/vcpkg.sh",
|
||||
"./provision/core/miniconda.sh",
|
||||
"./provision/core/safari.sh",
|
||||
"./provision/core/chrome.sh",
|
||||
"./provision/core/edge.sh",
|
||||
|
||||
@@ -30,7 +30,7 @@ Describe "Subversion" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "SwiftFormat" -Skip:($os.IsMonterey) {
|
||||
Describe "SwiftFormat" {
|
||||
It "SwiftFormat" {
|
||||
"swiftformat --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -138,13 +138,13 @@ Describe "wget" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "vagrant" -Skip:($os.IsHigherThanCatalina) {
|
||||
Describe "vagrant" -Skip:($os.IsBigSur) {
|
||||
It "vagrant" {
|
||||
"vagrant --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "virtualbox" -Skip:($os.IsHigherThanCatalina) {
|
||||
Describe "virtualbox" -Skip:($os.IsBigSur) {
|
||||
It "virtualbox" {
|
||||
"vboxmanage -v" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -186,4 +186,10 @@ Describe "yq" {
|
||||
It "yq" {
|
||||
"yq --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "imagemagick" {
|
||||
It "imagemagick" {
|
||||
"magick -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
@@ -58,7 +58,7 @@ Describe "AzCopy" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Miniconda" -Skip:($os.IsMonterey) {
|
||||
Describe "Miniconda" {
|
||||
It "Conda" {
|
||||
Get-EnvironmentVariable "CONDA" | Should -Not -BeNullOrEmpty
|
||||
$condaBinPath = Join-Path $env:CONDA "bin" "conda"
|
||||
@@ -79,7 +79,25 @@ Describe "CocoaPods" {
|
||||
}
|
||||
|
||||
Describe "VSMac" {
|
||||
It "VS4Mac is installed" {
|
||||
$vsMacVersions = Get-ToolsetValue "xamarin.vsmac.versions"
|
||||
$defaultVSMacVersion = Get-ToolsetValue "xamarin.vsmac.default"
|
||||
|
||||
$testCases = $vsMacVersions | ForEach-Object {
|
||||
$vsPath = "/Applications/Visual Studio $_.app"
|
||||
if ($_ -eq $defaultVSMacVersion) {
|
||||
$vsPath = "/Applications/Visual Studio.app"
|
||||
}
|
||||
|
||||
@{ vsversion = $_ ; vspath = $vsPath }
|
||||
}
|
||||
|
||||
It "Visual Studio <vsversion> for Mac is installed" -TestCases $testCases {
|
||||
$vstoolPath = Join-Path $vsPath "Contents/MacOS/vstool"
|
||||
$vsPath | Should -Exist
|
||||
$vstoolPath | Should -Exist
|
||||
}
|
||||
|
||||
It "Visual Studio $defaultVSMacVersion for Mac is default" {
|
||||
$vsPath = "/Applications/Visual Studio.app"
|
||||
$vstoolPath = Join-Path $vsPath "Contents/MacOS/vstool"
|
||||
$vsPath | Should -Exist
|
||||
@@ -113,4 +131,10 @@ Describe "GraalVM" {
|
||||
It "native-image" {
|
||||
'$GRAALVM_11_ROOT/native-image --version' | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "VirtualBox" -Skip:($os.IsBigSur) {
|
||||
It "Check kext kernel modules" {
|
||||
kextstat | Out-String | Should -Match "org.virtualbox.kext"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "Clang/LLVM" {
|
||||
It "Clang/LLVM is installed and version is correct" {
|
||||
BeforeAll {
|
||||
$toolsetVersion = Get-ToolsetValue 'llvm.version'
|
||||
$clangVersion = & "$(brew --prefix llvm)/bin/clang" --version
|
||||
}
|
||||
|
||||
It "Clang/LLVM <toolsetVersion> is installed and version is correct" {
|
||||
$clangVersion = & "$(brew --prefix llvm@$toolsetVersion)/bin/clang" --version
|
||||
$clangVersion[0] | Should -BeLike "*${toolsetVersion}*"
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@ BeforeAll {
|
||||
param (
|
||||
[string] $Version
|
||||
)
|
||||
|
||||
|
||||
$versionParts = $Version.Split(".")
|
||||
return [String]::Join(".", $versionParts[0..1])
|
||||
}
|
||||
@@ -90,28 +90,28 @@ Describe "Xamarin.iOS" {
|
||||
|
||||
It "is installed" -TestCases $testCase {
|
||||
param ( [string] $VersionFolderPath )
|
||||
|
||||
|
||||
$xamarinBinPath = Join-Path $VersionFolderPath "bin"
|
||||
$VersionFolderPath | Should -Exist
|
||||
$xamarinBinPath | Should -Exist
|
||||
}
|
||||
|
||||
|
||||
It "is available via short link" -TestCases $testCase {
|
||||
param (
|
||||
[string] $XamarinIosVersion,
|
||||
[string] $IosVersionsPath,
|
||||
[string] $VersionFolderPath
|
||||
)
|
||||
|
||||
|
||||
$shortSymlink = Get-ShortSymlink $XamarinIosVersion # only 'major.minor'
|
||||
$shortSymlinkFolderPath = Join-Path $IosVersionsPath $shortSymlink
|
||||
$shortVersionPath = Join-Path $shortSymlinkFolderPath "VERSION"
|
||||
$fullVersionPath = Join-Path $VersionFolderPath "VERSION"
|
||||
|
||||
|
||||
Validate-IdenticalFileContent -File1 $shortVersionPath -File2 $fullVersionPath
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Xamarin.Mac" {
|
||||
@@ -120,7 +120,7 @@ Describe "Xamarin.Mac" {
|
||||
$XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions"
|
||||
$versionFolderPath = Join-Path $XAMARIN_MAC_VERSIONS_PATH $_
|
||||
$testCase = @{ XamarinMacVersion = $_; VersionFolderPath = $versionFolderPath; MacVersionsPath = $XAMARIN_MAC_VERSIONS_PATH }
|
||||
|
||||
|
||||
It "is installed" -TestCases $testCase {
|
||||
param ( [string] $VersionFolderPath )
|
||||
|
||||
@@ -128,7 +128,7 @@ Describe "Xamarin.Mac" {
|
||||
$VersionFolderPath | Should -Exist
|
||||
$xamarinBinPath | Should -Exist
|
||||
}
|
||||
|
||||
|
||||
It "is available via short link" -TestCases $testCase {
|
||||
param (
|
||||
[string] $XamarinMacVersion,
|
||||
@@ -140,7 +140,7 @@ Describe "Xamarin.Mac" {
|
||||
$shortSymlinkFolderPath = Join-Path $MacVersionsPath $shortSymlink
|
||||
$shortVersionPath = Join-Path $shortSymlinkFolderPath "VERSION"
|
||||
$fullVersionPath = Join-Path $VersionFolderPath "VERSION"
|
||||
|
||||
|
||||
Validate-IdenticalFileContent -File1 $shortVersionPath -File2 $fullVersionPath
|
||||
}
|
||||
}
|
||||
@@ -156,35 +156,35 @@ Describe "Xamarin.Android" {
|
||||
|
||||
It "is installed" -TestCases $testCase {
|
||||
param ( [string] $VersionFolderPath )
|
||||
|
||||
|
||||
$xamarinLibPath = Join-Path $VersionFolderPath "lib"
|
||||
$xamarinLibPath | Should -Exist
|
||||
}
|
||||
|
||||
|
||||
It "is available via short link" -TestCases $testCase {
|
||||
param (
|
||||
[string] $XamarinAndroidVersion,
|
||||
[string] $AndroidVersionsPath,
|
||||
[string] $VersionFolderPath
|
||||
)
|
||||
|
||||
|
||||
$shortSymlink = Get-ShortSymlink $XamarinAndroidVersion # only 'major.minor'
|
||||
$shortSymlinkFolderPath = Join-Path $AndroidVersionsPath $shortSymlink
|
||||
$shortVersionPath = Join-Path $shortSymlinkFolderPath "VERSION"
|
||||
$fullVersionPath = Join-Path $VersionFolderPath "VERSION"
|
||||
|
||||
|
||||
Validate-IdenticalFileContent -File1 $shortVersionPath -File2 $fullVersionPath
|
||||
}
|
||||
|
||||
|
||||
It "has correct symlinks" -TestCases $testCase {
|
||||
param ( [string] $VersionFolderPath )
|
||||
|
||||
|
||||
$xamarinLibPath = Join-Path $VersionFolderPath "lib"
|
||||
Join-Path $xamarinLibPath "xbuild" | Should -Exist
|
||||
Join-Path $xamarinLibPath "xbuild-frameworks" | Should -Exist
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Xamarin Bundles" {
|
||||
@@ -194,11 +194,11 @@ Describe "Xamarin Bundles" {
|
||||
$XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions"
|
||||
$XAMARIN_ANDROID_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions"
|
||||
}
|
||||
|
||||
|
||||
[array]$XAMARIN_BUNDLES = Get-ToolsetValue "xamarin.bundles"
|
||||
$XAMARIN_DEFAULT_BUNDLE = Get-ToolsetValue "xamarin.bundle-default"
|
||||
If ($XAMARIN_DEFAULT_BUNDLE -eq "latest") { $XAMARIN_DEFAULT_BUNDLE = $XAMARIN_BUNDLES[0].symlink }
|
||||
|
||||
|
||||
$currentBundle = [PSCustomObject] @{
|
||||
symlink = "Current"
|
||||
mono = $XAMARIN_DEFAULT_BUNDLE
|
||||
@@ -220,7 +220,7 @@ Describe "Xamarin Bundles" {
|
||||
|
||||
It "Mono symlink <BundleSymlink> exists" -TestCases $allBundles {
|
||||
param ( [string] $BundleSymlink )
|
||||
|
||||
|
||||
(Join-Path $MONO_VERSIONS_PATH $BundleSymlink) | Should -Exist
|
||||
}
|
||||
|
||||
@@ -290,4 +290,10 @@ Describe "Xamarin Bundles" {
|
||||
|
||||
Validate-IdenticalFileContent -File1 $targetVersionPath -File2 $sourceVersionPath
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Nuget" {
|
||||
It "Nuget config contains nuget.org feed" {
|
||||
Get-Content $env:HOME/.config/NuGet/NuGet.Config | Out-String | Should -Match "nuget.org"
|
||||
}
|
||||
}
|
||||
@@ -18,9 +18,12 @@
|
||||
]
|
||||
},
|
||||
"xamarin": {
|
||||
"vsmac": "latest",
|
||||
"vsmac": {
|
||||
"default": "2019",
|
||||
"versions": [ "2019" ]
|
||||
},
|
||||
"mono-versions": [
|
||||
"6.12.0.162", "6.10.0.106", "6.8.0.123", "6.6.0.166", "6.4.0.208"
|
||||
"6.12.0.182", "6.10.0.106", "6.8.0.123", "6.6.0.166", "6.4.0.208"
|
||||
],
|
||||
"ios-versions": [
|
||||
"14.14.2.5", "14.10.0.4", "14.8.0.3", "14.6.0.15", "14.4.1.3", "14.2.0.12", "14.0.0.0", "13.20.2.2", "13.18.2.1", "13.16.0.13", "13.14.1.39", "13.10.0.21", "13.8.3.0", "13.6.0.12", "13.4.0.2", "13.2.0.47"
|
||||
@@ -162,6 +165,7 @@
|
||||
]
|
||||
},
|
||||
"android": {
|
||||
"cmdline-tools": "latest",
|
||||
"platform_min_version": "24",
|
||||
"build_tools_min_version": "24.0.0",
|
||||
"extra-list": [
|
||||
@@ -175,9 +179,9 @@
|
||||
"cmake;3.18.1"
|
||||
],
|
||||
"ndk": {
|
||||
"default": "21",
|
||||
"default": "23",
|
||||
"versions": [
|
||||
"21", "22", "23"
|
||||
"21", "23", "24"
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -224,7 +228,8 @@
|
||||
"libxext",
|
||||
"libxft",
|
||||
"tcl-tk",
|
||||
"yq"
|
||||
"yq",
|
||||
"imagemagick"
|
||||
],
|
||||
"cask_packages": [
|
||||
"julia",
|
||||
@@ -338,7 +343,7 @@
|
||||
]
|
||||
},
|
||||
"llvm": {
|
||||
"version": "13"
|
||||
"version": "14"
|
||||
},
|
||||
"php": {
|
||||
"version": "8.1"
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
"xcode": {
|
||||
"default": "13.2.1",
|
||||
"versions": [
|
||||
{ "link": "13.2.1", "version": "13.2.1" },
|
||||
{ "link": "13.2", "version": "13.2.0" },
|
||||
{ "link": "13.2.1", "version": "13.2.1", "symlinks": ["13.2"] },
|
||||
{ "link": "13.1", "version": "13.1.0" },
|
||||
{ "link": "13.0", "version": "13.0.0" },
|
||||
{ "link": "12.5.1", "version": "12.5.1", "symlinks": ["12.5"] },
|
||||
@@ -12,9 +11,12 @@
|
||||
]
|
||||
},
|
||||
"xamarin": {
|
||||
"vsmac": "latest",
|
||||
"vsmac": {
|
||||
"default": "2022",
|
||||
"versions": [ "2019", "2022" ]
|
||||
},
|
||||
"mono-versions": [
|
||||
"6.12.0.174"
|
||||
"6.12.0.182"
|
||||
],
|
||||
"ios-versions": [
|
||||
"15.8.0.3", "15.6.0.3", "15.4.0.0", "15.2.0.17", "15.0.0.6", "14.20.0.24", "14.16.0.5", "14.14.2.5", "14.10.0.4", "14.8.0.3", "14.6.0.15", "14.4.1.3", "14.2.0.12", "14.0.0.0", "13.20.2.2"
|
||||
@@ -23,16 +25,23 @@
|
||||
"8.8.0.3", "8.6.0.3", "8.4.0.0", "8.2.0.17", "7.14.0.27", "7.10.0.5", "7.8.2.5", "7.4.0.10", "7.2.0.3", "7.0.0.15", "6.22.1.26", "6.20.2.2"
|
||||
],
|
||||
"android-versions": [
|
||||
"12.2.4.3", "12.0.0.3", "11.3.0.4", "11.2.2.1", "11.1.0.26", "11.0.2.0"
|
||||
"12.2.8.3", "12.1.0.2", "12.0.0.3", "11.3.0.4", "11.2.2.1", "11.1.0.26", "11.0.2.0"
|
||||
],
|
||||
"bundle-default": "6_12_12",
|
||||
"bundles": [
|
||||
{
|
||||
"symlink": "6_12_16",
|
||||
"mono":"6.12",
|
||||
"ios": "15.8",
|
||||
"mac": "8.8",
|
||||
"android": "12.2"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_15",
|
||||
"mono":"6.12",
|
||||
"ios": "15.8",
|
||||
"mac": "8.8",
|
||||
"android": "12.2"
|
||||
"android": "12.1"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_14",
|
||||
@@ -156,6 +165,7 @@
|
||||
]
|
||||
},
|
||||
"android": {
|
||||
"cmdline-tools": "latest",
|
||||
"platform_min_version": "27",
|
||||
"build_tools_min_version": "27.0.0",
|
||||
"extra-list": [
|
||||
@@ -167,9 +177,9 @@
|
||||
"cmake;3.18.1"
|
||||
],
|
||||
"ndk": {
|
||||
"default": "21",
|
||||
"default": "23",
|
||||
"versions": [
|
||||
"21", "22", "23"
|
||||
"21", "23", "24"
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -213,7 +223,8 @@
|
||||
"libxft",
|
||||
"tcl-tk",
|
||||
"r",
|
||||
"yq"
|
||||
"yq",
|
||||
"imagemagick"
|
||||
],
|
||||
"cask_packages": [
|
||||
"julia"
|
||||
@@ -295,7 +306,8 @@
|
||||
"dotnet": {
|
||||
"versions": [
|
||||
"3.1",
|
||||
"5.0"
|
||||
"5.0",
|
||||
"6.0"
|
||||
]
|
||||
},
|
||||
"ruby": {
|
||||
@@ -322,7 +334,7 @@
|
||||
]
|
||||
},
|
||||
"llvm": {
|
||||
"version": "13"
|
||||
"version": "14"
|
||||
},
|
||||
"php": {
|
||||
"version": "8.1"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user