Compare commits

..
165 changed files with 3818 additions and 4546 deletions
-2
View File
@@ -44,8 +44,6 @@ body:
- label: macOS 13 Arm64 - label: macOS 13 Arm64
- label: macOS 14 - label: macOS 14
- label: macOS 14 Arm64 - label: macOS 14 Arm64
- label: macOS 15
- label: macOS 15 Arm64
- label: Windows Server 2019 - label: Windows Server 2019
- label: Windows Server 2022 - label: Windows Server 2022
- type: textarea - type: textarea
-2
View File
@@ -27,8 +27,6 @@ body:
- label: macOS 13 Arm64 - label: macOS 13 Arm64
- label: macOS 14 - label: macOS 14
- label: macOS 14 Arm64 - label: macOS 14 Arm64
- label: macOS 15
- label: macOS 15 Arm64
- label: Windows Server 2019 - label: Windows Server 2019
- label: Windows Server 2022 - label: Windows Server 2022
- type: textarea - type: textarea
-2
View File
@@ -65,8 +65,6 @@ body:
- label: macOS 13 Arm64 - label: macOS 13 Arm64
- label: macOS 14 - label: macOS 14
- label: macOS 14 Arm64 - label: macOS 14 Arm64
- label: macOS 15
- label: macOS 15 Arm64
- label: Windows Server 2019 - label: Windows Server 2019
- label: Windows Server 2022 - label: Windows Server 2022
- type: textarea - type: textarea
+1 -2
View File
@@ -7,7 +7,6 @@ name: Create SBOM for the release
# #
# Current SYFT tool issues: # Current SYFT tool issues:
# macOS (major): prompt privilegies that blocking process indefinetely (https://github.com/anchore/syft/issues/1367) # macOS (major): prompt privilegies that blocking process indefinetely (https://github.com/anchore/syft/issues/1367)
run-name: Collecting SBOM for ${{ github.event.client_payload.ReleaseBranchName || 'unknown release' }}
on: on:
repository_dispatch: repository_dispatch:
types: [generate-sbom] types: [generate-sbom]
@@ -59,7 +58,7 @@ jobs:
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b D:/syft run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b D:/syft
- name: Install SYFT tool on Ubuntu or macOS - name: Install SYFT tool on Ubuntu or macOS
if: ${{ runner.os != 'Windows' }} if: ${{ runner.os != 'Windows' }}
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin v0.100.0
#Running section. #Running section.
- name: Run SYFT on Windows - name: Run SYFT on Windows
if: ${{ runner.os == 'Windows' }} if: ${{ runner.os == 'Windows' }}
+1 -1
View File
@@ -13,7 +13,7 @@ defaults:
jobs: jobs:
Ubuntu_2004: Ubuntu_2004:
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2004' if: contains(github.event.pull_request.labels.*.name, 'CI ubuntu-all') || contains(github.event.pull_request.labels.*.name, 'CI ubuntu-2004')
uses: ./.github/workflows/trigger-ubuntu-win-build.yml uses: ./.github/workflows/trigger-ubuntu-win-build.yml
with: with:
image_type: 'ubuntu2004' image_type: 'ubuntu2004'
+1 -1
View File
@@ -13,7 +13,7 @@ defaults:
jobs: jobs:
Ubuntu_2204: Ubuntu_2204:
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2204' if: contains(github.event.pull_request.labels.*.name, 'CI ubuntu-all') || contains(github.event.pull_request.labels.*.name, 'CI ubuntu-2204')
uses: ./.github/workflows/trigger-ubuntu-win-build.yml uses: ./.github/workflows/trigger-ubuntu-win-build.yml
with: with:
image_type: 'ubuntu2204' image_type: 'ubuntu2204'
+1 -1
View File
@@ -13,7 +13,7 @@ defaults:
jobs: jobs:
Ubuntu_2404: Ubuntu_2404:
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2404' if: contains(github.event.pull_request.labels.*.name, 'CI ubuntu-all') || contains(github.event.pull_request.labels.*.name, 'CI ubuntu-2404')
uses: ./.github/workflows/trigger-ubuntu-win-build.yml uses: ./.github/workflows/trigger-ubuntu-win-build.yml
with: with:
image_type: 'ubuntu2404' image_type: 'ubuntu2404'
+1 -1
View File
@@ -13,7 +13,7 @@ defaults:
jobs: jobs:
Windows_2019: Windows_2019:
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2019' if: contains(github.event.pull_request.labels.*.name, 'CI windows-all') || contains(github.event.pull_request.labels.*.name, 'CI windows-2019')
uses: ./.github/workflows/trigger-ubuntu-win-build.yml uses: ./.github/workflows/trigger-ubuntu-win-build.yml
with: with:
image_type: 'windows2019' image_type: 'windows2019'
+1 -1
View File
@@ -13,7 +13,7 @@ defaults:
jobs: jobs:
Windows_2022: Windows_2022:
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2022' if: contains(github.event.pull_request.labels.*.name, 'CI windows-all') || contains(github.event.pull_request.labels.*.name, 'CI windows-2022')
uses: ./.github/workflows/trigger-ubuntu-win-build.yml uses: ./.github/workflows/trigger-ubuntu-win-build.yml
with: with:
image_type: 'windows2022' image_type: 'windows2022'
-20
View File
@@ -1,20 +0,0 @@
name: Trigger Windows25 CI
run-name: Windows2025 - ${{ github.event.pull_request.title }}
on:
pull_request_target:
types: labeled
paths:
- 'images/windows/**'
defaults:
run:
shell: pwsh
jobs:
Windows_2022:
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2025'
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
with:
image_type: 'windows2025'
secrets: inherit
+12 -16
View File
@@ -21,18 +21,16 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
| Image | YAML Label | Included Software | Rollout Status of Latest Image Release | | Image | YAML Label | Included Software | Rollout Status of Latest Image Release |
| --------------------|---------------------|--------------------|--------------------| | --------------------|---------------------|--------------------|--------------------|
| Ubuntu 24.04 | `ubuntu-24.04` | [ubuntu-24.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu24.json) | | Ubuntu 24.04 <sup>beta</sup> | `ubuntu-24.04` | [ubuntu-24.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fubuntu24.json) |
| Ubuntu 22.04 | `ubuntu-latest` or `ubuntu-22.04` | [ubuntu-22.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu22.json) | | Ubuntu 22.04 | `ubuntu-latest` or `ubuntu-22.04` | [ubuntu-22.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fubuntu22.json) |
| Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu20.json) | | Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fubuntu20.json) |
| macOS 15 <sup>beta</sup> | `macos-15-large`| [macOS-15] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-15.json) | | macOS 14 | `macos-latest-large` or `macos-14-large`| [macOS-14] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-14.json) |
| macOS 15 Arm64 <sup>beta</sup> | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-15-arm64.json) | | macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-14-arm64.json) |
| macOS 14 | `macos-latest-large` or `macos-14-large`| [macOS-14] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-14.json) | | macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-13.json) |
| macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-14-arm64.json) | | macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-13-arm64.json) |
| macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-13.json) | | macOS 12 | `macos-12` or `macos-12-large`| [macOS-12] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-12.json) |
| macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-13-arm64.json) | | Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fwin22.json) |
| macOS 12 <sup>deprecated</sup> | `macos-12` or `macos-12-large`| [macOS-12] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-12.json) | | Windows Server 2019 | `windows-2019` | [windows-2019] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fwin19.json) |
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fwin22.json) |
| Windows Server 2019 | `windows-2019` | [windows-2019] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fwin19.json) |
### Label scheme ### Label scheme
@@ -49,8 +47,6 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
[macOS-13-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-arm64-Readme.md [macOS-13-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-arm64-Readme.md
[macOS-14]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md [macOS-14]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md
[macOS-14-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md [macOS-14-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md
[macOS-15]: https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md
[macOS-15-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md
[self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners [self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners
## Announcements ## Announcements
@@ -83,7 +79,7 @@ latest 2 versions of an OS.
GitHub Actions and Azure DevOps use the `-latest` YAML label (ex: `ubuntu-latest`, `windows-latest`, and `macos-latest`). These labels point towards the newest stable OS version available. GitHub Actions and Azure DevOps use the `-latest` YAML label (ex: `ubuntu-latest`, `windows-latest`, and `macos-latest`). These labels point towards the newest stable OS version available.
The `-latest` migration process is gradual and happens over 1-2 months in order to allow customers to adapt their workflows to the newest OS version. During this process, any workflow using the `-latest` label, may see changes in the OS version in their workflows or pipelines. To avoid unwanted migration, users can specify a specific OS version in the yaml file (ex: macos-14, windows-2022, ubuntu-22.04). The `-latest` migration process is gradual and happens over 1-2 months in order to allow customers to adapt their workflows to the newest OS version. During this process, any workflow using the `-latest` label, may see changes in the OS version in their workflows or pipelines. To avoid unwanted migration, users can specify a specific OS version in the yaml file (ex: macos-12, windows-2022, ubuntu-22.04).
## Image Releases ## Image Releases
@@ -122,7 +118,7 @@ The `-latest` migration process is gradual and happens over 1-2 months in order
| .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed | | .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed |
| GCC <br/> GNU Fortran <br/> Clang <br/> GNU C++ | 3 latest major versions | | GCC <br/> GNU Fortran <br/> Clang <br/> GNU C++ | 3 latest major versions |
| Android NDK | 1 latest non-LTS, 2 latest LTS versions | | Android NDK | 1 latest non-LTS, 2 latest LTS versions |
| Xcode | - only one major version of Xcode will be supported per macOS version <br/> - all minor versions of the supported major version will be available <br/> - beta and RC versions will be provided "as-is" in the latest available macOS image only no matter of beta/GA status of the image <br/> - when a new patch version is released, the previous patch version will be replaced | | Xcode | - all OS compatible versions side-by-side <br/> - for beta, GM versions - latest beta only <br/> - old patch versions are deprecated in 3 months |
### Package managers usage ### Package managers usage
@@ -89,7 +89,7 @@ class HeaderNode: BaseNode {
} }
[void] AddTable([PSCustomObject[]] $Table) { [void] AddTable([PSCustomObject[]] $Table) {
$this.AddNode([TableNode]::FromObjectsArray($Table)) $this.AddNode([TableNode]::FromObjectsArray($Table))
} }
[void] AddNote([String] $Content) { [void] AddNote([String] $Content) {
+1 -3
View File
@@ -10,8 +10,7 @@ param(
[String] [Parameter (Mandatory=$true)] $TenantId, [String] [Parameter (Mandatory=$true)] $TenantId,
[String] [Parameter (Mandatory=$false)] $VirtualNetworkName, [String] [Parameter (Mandatory=$false)] $VirtualNetworkName,
[String] [Parameter (Mandatory=$false)] $VirtualNetworkRG, [String] [Parameter (Mandatory=$false)] $VirtualNetworkRG,
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet, [String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet
[String] [Parameter (Mandatory=$false)] $AllowedInboundIpAddresses = "[]"
) )
if (-not (Test-Path $TemplatePath)) if (-not (Test-Path $TemplatePath))
@@ -55,7 +54,6 @@ packer build -var "client_id=$ClientId" `
-var "virtual_network_name=$VirtualNetworkName" ` -var "virtual_network_name=$VirtualNetworkName" `
-var "virtual_network_resource_group_name=$VirtualNetworkRG" ` -var "virtual_network_resource_group_name=$VirtualNetworkRG" `
-var "virtual_network_subnet_name=$VirtualNetworkSubnet" ` -var "virtual_network_subnet_name=$VirtualNetworkSubnet" `
-var "allowed_inbound_ip_addresses=$($AllowedInboundIpAddresses)" `
-color=false ` -color=false `
$TemplatePath ` $TemplatePath `
| Where-Object { | Where-Object {
+4 -1
View File
@@ -139,7 +139,10 @@ function Set-AnkaVMVideoController {
) )
$command = "anka modify $VMName set display -c $Controller" $command = "anka modify $VMName set display -c $Controller"
$null = Invoke-AnkaCommand -Command $command # Apple Metal is available starting from Big Sur
if (-not $ShortMacOSVersion.StartsWith("10.")) {
$null = Invoke-AnkaCommand -Command $command
}
} }
function Set-AnkaVMDisplayResolution { function Set-AnkaVMDisplayResolution {
@@ -25,7 +25,7 @@ param(
[bool] $EnableAutoLogon = $true, [bool] $EnableAutoLogon = $true,
[int] $CPUCount = 6, [int] $CPUCount = 6,
[int] $RamSizeGb = 7, [int] $RamSizeGb = 7,
[int] $DiskSizeGb = 325, [int] $DiskSizeGb = 300,
[string] $DisplayResolution = "1920x1080", [string] $DisplayResolution = "1920x1080",
[string] $TagName = [DateTimeOffset]::Now.ToUnixTimeSeconds(), [string] $TagName = [DateTimeOffset]::Now.ToUnixTimeSeconds(),
[string] $Uuid = "4203018E-580F-C1B5-9525-B745CECA79EB" [string] $Uuid = "4203018E-580F-C1B5-9525-B745CECA79EB"
@@ -93,9 +93,8 @@ function Invoke-SoftwareUpdate {
$command = "sw_vers" $command = "sw_vers"
$guestMacosVersion = Invoke-SSHPassCommand -HostName $ipAddress -Command $command $guestMacosVersion = Invoke-SSHPassCommand -HostName $ipAddress -Command $command
switch -regex ($guestMacosVersion[1]) { switch -regex ($guestMacosVersion[1]) {
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma|macOS Sequoia' } '12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma' }
'13.\d' { $nextOSVersion = 'macOS Sonoma|macOS Sequoia' } '13.\d' { $nextOSVersion = 'macOS Sonoma' }
'14.\d' { $nextOSVersion = 'macOS Sequoia' }
} }
Write-Host "`t[*] Fetching Software Updates ready to install on '$TemplateName' VM:" Write-Host "`t[*] Fetching Software Updates ready to install on '$TemplateName' VM:"
@@ -176,10 +175,10 @@ if ([string]::IsNullOrEmpty($TemplateName)) {
$osArch = $(arch) $osArch = $(arch)
if ($osArch -eq "arm64") { if ($osArch -eq "arm64") {
$macOSInstaller = Get-MacOSIPSWInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch $macOSInstaller = Get-MacOSIPSWInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
$TemplateName = "clean_macos_${shortMacOSVersion}_${osArch}" $TemplateName = "clean_macos_${shortMacOSVersion}_${osArch}_${DiskSizeGb}gb"
} else { } else {
$macOSInstaller = Get-MacOSInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch $macOSInstaller = Get-MacOSInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
$TemplateName = "clean_macos_${shortMacOSVersion}" $TemplateName = "clean_macos_${shortMacOSVersion}_${DiskSizeGb}gb"
} }
} }
+4 -5
View File
@@ -39,15 +39,14 @@ function Invoke-SoftwareUpdateArm64 {
$command = "sw_vers" $command = "sw_vers"
$guestMacosVersion = Invoke-SSHPassCommand -HostName $HostName -Command $command $guestMacosVersion = Invoke-SSHPassCommand -HostName $HostName -Command $command
switch -regex ($guestMacosVersion[1]) { switch -regex ($guestMacosVersion[1]) {
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma|macOS Sequoia' } '13.\d' { $nextOSVersion = 'Sonoma' }
'13.\d' { $nextOSVersion = 'macOS Sonoma|macOS Sequoia' } '14.\d' { $nextOSVersion = 'NotYetDefined' }
'14.\d' { $nextOSVersion = 'macOS Sequoia' }
} }
$url = "https://raw.githubusercontent.com/actions/runner-images/main/images/macos/assets/auto-software-update-arm64.exp" $url = "https://raw.githubusercontent.com/actions/runner-images/main/images/macos/assets/auto-software-update-arm64.exp"
$script = Invoke-RestMethod -Uri $url $script = Invoke-RestMethod -Uri $url
foreach ($update in $ListOfUpdates) { foreach ($update in $listOfUpdates) {
if ($update -notmatch $nextOSVersion) { if ($update -notmatch "$nextOSVersion") {
$updatedScript = $script.Replace("MACOSUPDATE", $($($update.trim()).Replace(" ","\ "))) $updatedScript = $script.Replace("MACOSUPDATE", $($($update.trim()).Replace(" ","\ ")))
$base64 = [Convert]::ToBase64String($updatedScript.ToCharArray()) $base64 = [Convert]::ToBase64String($updatedScript.ToCharArray())
$command = "echo $base64 | base64 --decode > ./auto-software-update-arm64.exp;chmod +x ./auto-software-update-arm64.exp; ./auto-software-update-arm64.exp ${Password};rm ./auto-software-update-arm64.exp" $command = "echo $base64 | base64 --decode > ./auto-software-update-arm64.exp;chmod +x ./auto-software-update-arm64.exp; ./auto-software-update-arm64.exp ${Password};rm ./auto-software-update-arm64.exp"
@@ -0,0 +1,151 @@
jobs:
- job: Image_generation
displayName: Image Generation (${{ parameters.image_label }})
timeoutInMinutes: 1200
pool:
name: Mac-Cloud Image Generation
demands:
- PrimaryRackAgent -equals ${{ parameters.primary_agent }}
variables:
- group: ${{ parameters.variable_group_name }}
steps:
- pwsh: |
$cleanBuildNumber = "$(Build.BuildNumber)" -replace "(.+_unstable)(\.\d+)", '$1'
$virtualMachineName = "${cleanBuildNumber}.$(System.JobAttempt)"
echo "##vso[task.setvariable variable=VirtualMachineName;]$virtualMachineName"
echo "##vso[build.updatebuildnumber]$virtualMachineName"
displayName: Update BuildNumber
- checkout: self
clean: true
fetchDepth: 1
- task: PowerShell@2
displayName: 'Validate contributor permissions'
condition: startsWith(variables['Build.SourceBranch'], 'refs/pull/')
inputs:
targetType: 'filePath'
filePath: ./images.CI/macos/validate-contributor.ps1
pwsh: true
arguments: -RepositoryName "$(Build.Repository.Name)" `
-AccessToken "$(github-feed-token)" `
-SourceBranch "$(Build.SourceBranch)" `
-ContributorAllowList "$(CONTRIBUTOR_ALLOWLIST)"
- task: PowerShell@2
displayName: 'Download custom repository'
condition: and(ne(variables['CUSTOM_REPOSITORY_URL'], ''), ne(variables['CUSTOM_REPOSITORY_BRANCH'], ''))
inputs:
targetType: 'filePath'
filePath: ./images.CI/download-repo.ps1
arguments: -RepoUrl $(CUSTOM_REPOSITORY_URL) `
-RepoBranch $(CUSTOM_REPOSITORY_BRANCH)
- task: DeleteFiles@1
displayName: Clean up self-hosted machine
inputs:
SourceFolder: 'images/macos/provision/log/'
RemoveSourceFolder: true
- task: PowerShell@2
displayName: 'Select datastore'
inputs:
targetType: 'filePath'
filePath: ./images.CI/macos/select-datastore.ps1
arguments: -VMName "$(VirtualMachineName)" `
-VIServer "$(vcenter-server-v2)" `
-VIUserName "$(vcenter-username-v2)" `
-VIPassword '$(vcenter-password-v2)' `
-Cluster "$(esxi-cluster-v2)"
- pwsh: |
$SensitiveData = @(
'IP address:',
'Using ssh communicator to connect:'
)
packer init ${{ parameters.template_path }}
packer build -on-error=abort `
-var="vcenter_server=$(vcenter-server-v2)" `
-var="vcenter_username=$(vcenter-username-v2)" `
-var='vcenter_password=$(vcenter-password-v2)' `
-var="vcenter_datacenter=$(vcenter-datacenter-v2)" `
-var="cluster_or_esxi_host=$(esxi-cluster-v2)" `
-var="esxi_datastore=$(buildDatastore)" `
-var="output_folder=$(output-folder)" `
-var="vm_username=$(vm-username)" `
-var="vm_password=$(vm-password)" `
-var="github_api_pat=$(github_api_pat)" `
-var="build_id=$(VirtualMachineName)" `
-var="baseimage_name=${{ parameters.base_image_name }}" `
-var="xcode_install_storage_url=$(xcode_install_storage_url)" `
-var="xcode_install_sas=$(xcode_install_sas)" `
-color=false `
${{ parameters.template_path }} `
| Where-Object {
#Filter sensitive data from Packer logs
$currentString = $_
$sensitiveString = $SensitiveData | Where-Object { $currentString -match $_ }
$sensitiveString -eq $null
}
displayName: 'Build VM'
workingDirectory: 'images/macos'
env:
PACKER_LOG: 1
PACKER_LOG_PATH: $(Agent.TempDirectory)/packer-log.txt
- bash: |
echo "Copy software report files"
cp -vR "images/image-output/software-report/." "$(Build.ArtifactStagingDirectory)/"
echo "Put VM name to 'VM_Done_Name' file"
echo "$(VirtualMachineName)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
displayName: Prepare artifact
- bash: |
cat "$(Build.ArtifactStagingDirectory)/systeminfo.md"
displayName: Print markdown software report
- bash: |
cat "$(Build.ArtifactStagingDirectory)/systeminfo.json"
displayName: Print json software report
- task: PublishBuildArtifacts@1
inputs:
ArtifactName: 'Built_VM_Artifacts'
displayName: Publish Artifacts
- task: PowerShell@2
displayName: 'Print provisioners duration'
inputs:
targetType: 'filePath'
filePath: ./images.CI/measure-provisioners-duration.ps1
arguments: -PackerLogPath "$(Agent.TempDirectory)/packer-log.txt" `
-PrintTopNLongest 25
- task: PowerShell@2
displayName: 'Move vm to cold storage and clear datastore tag'
condition: always()
inputs:
targetType: 'filePath'
filePath: ./images.CI/macos/move-vm.ps1
arguments: -VMName "$(VirtualMachineName)" `
-TargetDataStore "${{ parameters.target_datastore }}" `
-VIServer "$(vcenter-server-v2)" `
-VIUserName "$(vcenter-username-v2)" `
-VIPassword '$(vcenter-password-v2)' `
-CpuCount "$(cpu-count)" `
-CoresPerSocketCount "$(cores-per-socket-count)" `
-Memory "$(memory)"
- task: PowerShell@2
displayName: 'Destroy VM (if build canceled only)'
condition: eq(variables['Agent.JobStatus'], 'Canceled')
inputs:
targetType: 'filePath'
filePath: ./images.CI/macos/destroy-vm.ps1
arguments: -VMName "$(VirtualMachineName)" `
-VIServer "$(vcenter-server-v2)" `
-VIUserName "$(vcenter-username-v2)" `
-VIPassword '$(vcenter-password-v2)'
@@ -0,0 +1,28 @@
name: macOS-11_$(date:yyyyMMdd)$(rev:.r)_unstable
schedules:
- cron: '45 0 * * *'
displayName: Daily
branches:
include:
- main
always: true
trigger: none
pr:
autoCancel: true
branches:
include:
- main
variables:
- group: Mac-Cloud Image Generation
jobs:
- template: image-generation.yml
parameters:
image_label: 'macOS Big Sur'
base_image_name: 'clean-macOS-11-380Gb-runner'
template_path: 'templates/macOS-11.pkr.hcl'
target_datastore: 'ds-image'
variable_group_name: 'Mac-Cloud Image Generation'
primary_agent: 'true'
@@ -0,0 +1,28 @@
name: macOS-12_$(date:yyyyMMdd)$(rev:.r)_unstable
schedules:
- cron: "0 0 * * *"
displayName: Daily
branches:
include:
- main
always: true
trigger: none
pr:
autoCancel: true
branches:
include:
- main
variables:
- group: Mac-Cloud Image Generation
jobs:
- template: image-generation.yml
parameters:
image_label: 'macOS Monterey'
base_image_name: 'clean-macOS-12-380Gb-runner'
template_path: 'templates/macOS-12.pkr.hcl'
target_datastore: 'ds-image'
variable_group_name: 'Mac-Cloud Image Generation'
primary_agent: 'true'
@@ -0,0 +1,23 @@
name: macOS-11_$(date:yyyyMMdd)$(rev:.r)_unstable
schedules:
- cron: '45 0 * * 1'
displayName: Weekly
branches:
include:
- main
always: true
trigger: none
variables:
- group: Mac-Cloud Image Generation
jobs:
- template: image-generation.yml
parameters:
image_label: 'macOS Big Sur'
base_image_name: 'clean-macOS-11-380Gb-runner'
template_path: 'templates/macOS-11.pkr.hcl'
target_datastore: 'ds-image'
variable_group_name: 'Mac-Cloud Secondary Image Generation'
primary_agent: 'false'
@@ -0,0 +1,23 @@
name: macOS-12_$(date:yyyyMMdd)$(rev:.r)_unstable
schedules:
- cron: '45 1 * * 1'
displayName: Weekly
branches:
include:
- main
always: true
trigger: none
variables:
- group: Mac-Cloud Image Generation
jobs:
- template: image-generation.yml
parameters:
image_label: 'macOS Monterey'
base_image_name: 'clean-macOS-12-380Gb-runner'
template_path: 'templates/macOS-12.pkr.hcl'
target_datastore: 'ds-image'
variable_group_name: 'Mac-Cloud Secondary Image Generation'
primary_agent: 'false'
+95
View File
@@ -0,0 +1,95 @@
<#
.SYNOPSIS
This script deletes vm from vCenter
.PARAMETER VMName
VM name to delete (Example "macOS-10.15_20201012.4")
.PARAMETER VIServer
vCenter address (Example "10.0.1.16")
.PARAMETER VIUserName
vCenter username (Example "Administrator")
.PARAMETER VIPassword
vCenter password (Example "12345678")
#>
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIServer,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIUserName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIPassword
)
# Import helpers module
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
# Connection to a vCenter Server system
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
# Check vm clone status
$chainId = (Get-VIEvent -Entity $VMName).ChainId
if ($chainId)
{
$task = Get-Task -Status Running | Where-Object { ($_.Name -eq 'CloneVM_Task') -and ($_.ExtensionData.Info.EventChainId -in $chainId) }
if ($task)
{
try
{
Stop-Task -Task $task -Confirm:$false -ErrorAction Stop
Write-Host "The vm '$VMName' clone task has been canceled"
}
catch
{
Write-Host "##vso[task.LogIssue type=error;]Failed to cancel the task"
}
}
}
# Remove a vm
$vm = Get-VM -Name $VMName -ErrorAction SilentlyContinue
if ($vm)
{
$vmState = $vm.PowerState
if ($vmState -ne "PoweredOff")
{
try
{
$null = Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop
Write-Host "The vm '$VMName' has been powered off"
}
catch
{
Write-Host "##vso[task.LogIssue type=error;]Failed to shutdown '$VMName'"
}
}
try
{
Remove-VM -VM $vm -DeletePermanently -Confirm:$false -ErrorAction Stop
Write-Host "The vm '$VMName' has been removed"
}
catch
{
Write-Host "##vso[task.LogIssue type=error;]Failed to remove '$VMName'"
}
}
else
{
Write-Host "VM '$VMName' not found"
}
+38
View File
@@ -0,0 +1,38 @@
<#
.SYNOPSIS
Helper functions to use in images.CI scripts
#>
Function Connect-VCServer
{
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[System.String]$VIUserName,
[Parameter(Mandatory)]
[System.String]$VIPassword,
[Parameter(Mandatory)]
[System.String]$VIServer
)
try
{
# Preference
$global:ProgressPreference = 'SilentlyContinue'
$global:WarningPreference = 'SilentlyContinue'
# Ignore SSL
$null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -ParticipateInCEIP $false -Confirm:$false -WebOperationTimeoutSeconds 600
$securePassword = ConvertTo-SecureString -String $VIPassword -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($VIUserName, $securePassword)
$null = Connect-VIServer -Server $VIServer -Credential $cred -ErrorAction Stop
Write-Host "Connection to the vSphere server has been established"
}
catch
{
Write-Host "##vso[task.LogIssue type=error;]Failed to connect to the vSphere server"
exit 1
}
}
+86
View File
@@ -0,0 +1,86 @@
<#
.SYNOPSIS
This script migrates given VM to another datastore
.PARAMETER VMName
VM name to migrate (Example "macOS-10.15_20201012.4")
.PARAMETER TargetDataStore
Target datastore (Example "ds-image")
.PARAMETER VIServer
vCenter address (Example "10.0.1.16")
.PARAMETER VIUserName
vCenter username (Example "Administrator")
.PARAMETER VIPassword
vCenter password (Example "12345678")
#>
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$TargetDataStore,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIServer,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIUserName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIPassword,
[string]$JobStatus,
[int32]$CpuCount,
[int32]$CoresPerSocketCount,
[int64]$Memory
)
# Import helpers module
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
# Connection to a vCenter Server system
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
# Clear previously assigned tag with VM Name
try {
Remove-Tag $VMName -Confirm:$false
} catch {
Write-Host "Tag with $VMName doesn't exist"
}
$vm = Get-VM $VMName
if (($env:AGENT_JOBSTATUS -and $env:AGENT_JOBSTATUS -eq 'Failed') -or ($JobStatus -and $JobStatus -eq 'failure')) {
try {
if ($vm.PowerState -ne "PoweredOff") {
Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop | Out-Null
}
Set-VM -VM $vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop | Out-Null
Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]"
} catch {
Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$VMName'"
exit 1
}
}
try {
Move-VM -Vm $vm -Datastore $TargetDataStore -ErrorAction Stop | Out-Null
Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'"
} catch {
Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$VMName' to target datastore '$TargetDataStore'"
exit 1
}
+117
View File
@@ -0,0 +1,117 @@
<#
.SYNOPSIS
This script selects local datastore based on the following rules:
- Name starts with ds-local-Datastore
- Datastore FreespaceGB > 400 Gb
- VM count on the datastore < 2
.PARAMETER VIServer
vCenter address (Example "10.0.1.16")
.PARAMETER VIUserName
vCenter username (Example "Administrator")
.PARAMETER VIPassword
vCenter password (Example "12345678")
#>
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIServer,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIUserName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIPassword,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$Cluster,
[string]$TagCategory = "Busy"
)
# Import helpers module
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
function Select-DataStore {
param (
[string]$VMName,
[string]$TagCategory,
[string]$TemplateDatastore = "ds-local-Datastore-*",
[string]$Cluster,
[int]$ThresholdInGb = 400,
[int]$VMCount = 2,
[int]$Retries = 5
)
# 1. Name starts with ds-local-Datastore
# 2. FreespaceGB > 400 Gb
# 3. Choose a datastore with the minimal VM count < 2
Write-Host "Start Datastore selection process..."
$clusterHosts = Get-Cluster -Name $Cluster | Get-VMHost
$availableClusterDatastores = $clusterHosts | Get-Datastore -Name $TemplateDatastore | Where-Object -Property State -eq "Available"
$availableDatastores = $availableClusterDatastores `
| Where-Object { $_.FreeSpaceGB -ge $thresholdInGb } `
| Where-Object {
$vmOnDatastore = @((Get-ChildItem -Path $_.DatastoreBrowserPath).Name -notmatch '(^\.|vmkdump)').Count
$vmOnDatastore -lt $vmCount } `
| Group-Object -Property { $vmOnDatastore }
$datastore = $availableDatastores | Select-Object @{n="VmCount";e={$_.Name}},@{n="DatastoreName";e={$_.Group | Get-Random}} -First 1
$buildDatastore = $datastore.DatastoreName
$tag = Get-Tag -Category $TagCategory -Name $VMName -ErrorAction Ignore
if (-not $tag)
{
$tag = New-Tag -Name $VMName -Category $TagCategory
}
New-TagAssignment -Tag $tag -Entity $buildDatastore | Out-Null
# Wait for 60 seconds to check if any other tags are assigned to the same datastore
Start-Sleep -Seconds 60
# If there are no datastores with 0 VMs, take a datastore with 1 VM (index 1 if datastore has 0 VMs and 2 if 1 VM)
$index = 1 + [int]$datastore.VmCount
$tagAssignments = (Get-TagAssignment -Entity $buildDatastore).Tag.Name | Select-Object -First $index
$isAllow = $tagAssignments -contains $VMName
if ($isAllow)
{
Write-Host "Datastore selected successfully"
Write-Host "##vso[task.setvariable variable=buildDatastore;issecret=true]$buildDatastore"
return
}
# Remove the tag if datastore wasn't selected
Remove-Tag $tag -Confirm:$false
$retries--
if ($retries -le 0)
{
Write-Host "##vso[task.LogIssue type=error;]No datastores found for the condition"
exit 1
}
Write-Host "Datastore select failed, $retries left"
Select-DataStore -VMName $VMName -Cluster $Cluster -TagCategory $TagCategory -Retries $retries
}
# Connection to a vCenter Server system
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
# Get a target datastore for current deployment
Select-DataStore -VMName $VMName -Cluster $Cluster -TagCategory $TagCategory
+73
View File
@@ -0,0 +1,73 @@
<#
.SYNOPSIS
This script sets resources for VM
.PARAMETER VMName
VM name to resize (Example "macOS-10.15_20201012.4")
.PARAMETER VIServer
vCenter address (Example "10.0.1.16")
.PARAMETER VIUserName
vCenter username (Example "Administrator")
.PARAMETER VIPassword
vCenter password (Example "12345678")
.PARAMETER CpuCount
Target number of CPUs (Example "3")
.PARAMETER CoresPerSocketCount
Target number of cores per socket (Example "3")
.PARAMETER Memory
Target amount of memory in MB (Example "14336")
#>
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIServer,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIUserName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$VIPassword,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[int32]$CpuCount,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[int32]$CoresPerSocketCount,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[int64]$Memory
)
# Import helpers module
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
# Connection to a vCenter Server system
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
$vm = Get-VM $VMName
try {
Write-Host "Change CPU count to $CpuCount, cores count to $CoresPerSocketCount, amount of RAM to $Memory"
$vm | Set-VM -NumCPU $CpuCount -CoresPerSocket $CoresPerSocketCount -MemoryMB $Memory -Confirm:$false -ErrorAction Stop | Out-Null
} catch {
Write-Host "##vso[task.LogIssue type=error;]Failed to change specs for VM '$VMName'"
exit 1
}
+63
View File
@@ -0,0 +1,63 @@
param(
[Parameter(Mandatory)] [string] $RepositoryName,
[Parameter(Mandatory)] [string] $AccessToken,
[Parameter(Mandatory)] [string] $SourceBranch,
[Parameter(Mandatory)] [string] $ContributorAllowList
)
function Build-AuthHeader {
param(
[Parameter(Mandatory)] [string] $AccessToken
)
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("'':${AccessToken}"))
return "Basic ${base64AuthInfo}"
}
function Get-PullRequest {
param(
[Parameter(Mandatory)] [string] $RepositoryName,
[Parameter(Mandatory)] [string] $AccessToken,
[Parameter(Mandatory)] [UInt32] $PullRequestNumber
)
$requestUrl = "https://api.github.com/repos/$RepositoryName/pulls/$PullRequestNumber"
$authHeader = Build-AuthHeader -AccessToken $AccessToken
$params = @{
Method = "GET"
ContentType = "application/json"
Uri = $requestUrl
Headers = @{ Authorization = $authHeader }
}
return Invoke-RestMethod @params
}
function Validate-ContributorPermissions {
param(
[Parameter(Mandatory)] [string] $ContributorAllowList,
[Parameter(Mandatory)] [string] $ContributorName
)
$allowedContributors = $ContributorAllowList.Split(",").Trim()
$validСontributor = $allowedContributors | Where-Object { $_ -eq $ContributorName } `
| Select-Object -First 1
if (-not $validСontributor) {
Write-Host "Failed to start this build. '$ContributorName' is an unknown contributor"
Write-Host "Please add '$ContributorName' to the allowed list to run builds"
exit 1
}
}
$pullRequestNumber = $SourceBranch.Split("/")[2]
$pullRequestInfo = Get-PullRequest -RepositoryName $RepositoryName `
-AccessToken $AccessToken `
-PullRequestNumber $pullRequestNumber
$contributorName = $pullRequestInfo.user.login
Validate-ContributorPermissions -ContributorAllowList $ContributorAllowList `
-ContributorName $contributorName
+124 -126
View File
@@ -1,56 +1,57 @@
| Announcements | | Announcements |
|-| |-|
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) | | [[macOS] Default Xcode on macOS 14 Sonoma will be set to Xcode 15.4 on July, 22](https://github.com/actions/runner-images/issues/10121) |
| [[Macos 13 and 14] Android NDK versions <=25 will be removed from images on October 07,2024](https://github.com/actions/runner-images/issues/10614) | | [[macOS] Default Xcode on macOS 13 Ventura will be set to Xcode 15.2 on July, 15](https://github.com/actions/runner-images/issues/10120) |
| [[Macos 13 and 14] Go version 1.20.0 will be removed on October 07,2024.](https://github.com/actions/runner-images/issues/10612) |
*** ***
# macOS 12 # macOS 12
- OS Version: macOS 12.7.6 (21H1320) - OS Version: macOS 12.7.5 (21H1222)
- Kernel Version: Darwin 21.6.0 - Kernel Version: Darwin 21.6.0
- Image Version: 20240926.174 - Image Version: 20240707.1
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- .NET Core SDK: 6.0.425, 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.402 - .NET Core SDK: 6.0.423, 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.302
- Bash 3.2.57(1)-release - Bash 3.2.57(1)-release
- Clang/LLVM 14.0.0 - Clang/LLVM 14.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang` - Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias - GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias - GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0) - available by `gcc-14` alias - GCC 14 (Homebrew GCC 14.1.0_1) - available by `gcc-14` alias
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias - GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias - GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0) - available by `gfortran-14` alias - GNU Fortran 14 (Homebrew GCC 14.1.0_1) - available by `gfortran-14` alias
- Julia 1.10.5 - Julia 1.10.4
- Kotlin 2.0.20-release-360 - Kotlin 2.0.0-release-341
- Go 1.21.13 - Go 1.21.12
- Mono 6.12.0.188 - Mono 6.12.0.188
- Node.js 18.20.4 - Node.js 18.20.3
- MSBuild 16.10.1.51301 (Mono 6.12.0.188) - MSBuild 16.10.1.51301 (Mono 6.12.0.188)
- NVM 0.39.7 - NVM 0.39.7
- NVM - Cached node versions: 16.20.2, 18.20.4, 20.17.0 - NVM - Cached node versions: 16.20.2, 18.20.3, 20.15.0
- Perl 5.38.2 - Perl 5.38.2
- PHP 8.3.11 - PHP 8.3.9
- Python 2.7.18 - Python 2.7.18
- Python3 3.12.6 - Python3 3.12.4
- R 4.4.1 - R 4.4.1
- Ruby 3.0.7p220 - Ruby 3.0.7p220
### Package Management ### Package Management
- Bundler 2.5.20 - Bundler 2.5.14
- Carthage 0.40.0 - Carthage 0.39.1
- CocoaPods 1.15.2 - CocoaPods 1.15.2
- Composer 2.7.9 - Composer 2.7.7
- Homebrew 4.3.24 - Homebrew 4.3.8
- Miniconda 24.7.1 - Miniconda 24.5.0
- NPM 10.7.0 - NPM 10.7.0
- NuGet 6.3.1.1 - NuGet 6.3.1.1
- Pip 20.3.4 (python 2.7) - Pip 20.3.4 (python 2.7)
- Pip3 24.2 (python 3.12) - Pip3 24.1.2 (python 3.12)
- Pipx 1.7.1 - Pipx 1.6.0
- RubyGems 3.5.20 - RubyGems 3.5.14
- Vcpkg 2024 (build from commit 3d8959985) - Vcpkg 2024 (build from commit 576379156)
- Yarn 1.22.22 - Yarn 1.22.22
#### Environment variables #### Environment variables
@@ -60,60 +61,60 @@
| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg | | VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
### Project Management ### Project Management
- Apache Ant 1.10.15 - Apache Ant 1.10.14
- Apache Maven 3.9.9 - Apache Maven 3.9.8
- Gradle 8.10.2 - Gradle 8.8
- Sbt 1.10.2 - Sbt 1.10.0
### Utilities ### Utilities
- 7-Zip 17.05 - 7-Zip 17.05
- aria2 1.37.0 - aria2 1.37.0
- azcopy 10.26.0 - azcopy 10.25.1
- bazel 7.3.1 - bazel 7.2.1
- bazelisk 1.21.0 - bazelisk 1.20.0
- bsdtar 3.5.1 - available by 'tar' alias - bsdtar 3.5.1 - available by 'tar' alias
- Curl 8.10.1 - Curl 8.8.0
- Git 2.46.2 - Git 2.45.2
- Git LFS 3.5.1 - Git LFS 3.5.1
- GitHub CLI 2.57.0 - GitHub CLI 2.52.0
- GNU Tar 1.35 - available by 'gtar' alias - GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.24.5 - GNU Wget 1.24.5
- gpg (GnuPG) 2.4.5 - gpg (GnuPG) 2.4.5
- ImageMagick 7.1.1-38 - ImageMagick 7.1.1-34
- jq 1.7.1 - jq 1.7.1
- mongo 5.0.29 - mongo 5.0.27
- mongod 5.0.29 - mongod 5.0.27
- OpenSSL 1.1.1w 11 Sep 2023 - OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.9.4 - Packer 1.9.4
- pkg-config 0.29.2 - pkg-config 0.29.2
- PostgreSQL 14.13 (Homebrew) - PostgreSQL 14.12 (Homebrew)
- psql (PostgreSQL) 14.13 (Homebrew) - psql (PostgreSQL) 14.12 (Homebrew)
- Sox 14.4.2 - Sox 14.4.2
- Subversion (SVN) 1.14.3 - Subversion (SVN) 1.14.3
- Switchaudio-osx 1.2.2 - Switchaudio-osx 1.2.2
- Vagrant 2.4.1 - Vagrant 2.4.1
- VirtualBox 6.1.38r153438 - VirtualBox 6.1.38r153438
- yq 4.44.3 - yq 4.44.2
- zstd 1.5.6 - zstd 1.5.6
### Tools ### Tools
- App Center CLI 3.0.1 - App Center CLI 3.0.1
- AWS CLI 2.17.59 - AWS CLI 2.17.9
- AWS SAM CLI 1.124.0 - AWS SAM CLI 1.120.0
- AWS Session Manager CLI 1.2.650.0 - AWS Session Manager CLI 1.2.650.0
- Azure CLI 2.64.0 - Azure CLI 2.61.0
- Azure CLI (azure-devops) 1.0.1 - Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.30.23 - Bicep CLI 0.28.1
- Cabal 3.10.3.0 - Cabal 3.10.3.0
- Cmake 3.30.3 - Cmake 3.30.0
- CodeQL Action Bundle 2.19.0 - CodeQL Action Bundle 2.17.6
- Colima 0.7.5 - Colima 0.6.9
- Fastlane 2.222.0 - Fastlane 2.221.1
- GHC 9.10.1 - GHC 9.10.1
- GHCup 0.1.30.0 - GHCup 0.1.30.0
- Jazzy 0.15.2 - Jazzy 0.15.1
- Stack 3.1.1 - Stack 2.15.7
- SwiftFormat 0.54.5 - SwiftFormat 0.54.0
- Swig 4.2.1 - Swig 4.2.1
- Xcbeautify 1.6.0 - Xcbeautify 1.6.0
- Xcode Command Line Tools 14.2.0.0.1.1668646533 - Xcode Command Line Tools 14.2.0.0.1.1668646533
@@ -124,16 +125,16 @@
- Yamllint 1.35.1 - Yamllint 1.35.1
### Browsers ### Browsers
- Safari 17.6 (17618.3.11.11.7) - Safari 17.5 (17618.2.12.111.5)
- SafariDriver 17.6 (17618.3.11.11.7) - SafariDriver 17.5 (17618.2.12.111.5)
- Google Chrome 129.0.6668.71 - Google Chrome 126.0.6478.127
- Google Chrome for Testing 129.0.6668.70 - Google Chrome for Testing 126.0.6478.126
- ChromeDriver 129.0.6668.70 - ChromeDriver 126.0.6478.126
- Microsoft Edge 129.0.2792.52 - Microsoft Edge 126.0.2592.87
- Microsoft Edge WebDriver 129.0.2792.46 - Microsoft Edge WebDriver 126.0.2592.87
- Mozilla Firefox 130.0.1 - Mozilla Firefox 127.0.2
- geckodriver 0.35.0 - geckodriver 0.34.0
- Selenium server 4.25.0 - Selenium server 4.22.0
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -143,66 +144,63 @@
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin | | GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java ### Java
| Version | Environment Variable | | Version | Environment Variable |
| --------------------- | -------------------- | | ------------------- | -------------------- |
| 8.0.422+5.1 (default) | JAVA_HOME_8_X64 | | 8.0.412+8 (default) | JAVA_HOME_8_X64 |
| 11.0.24+8 | JAVA_HOME_11_X64 | | 11.0.23+9 | JAVA_HOME_11_X64 |
| 17.0.12+7 | JAVA_HOME_17_X64 | | 17.0.11+9 | JAVA_HOME_17_X64 |
| 21.0.4+7.0 | JAVA_HOME_21_X64 | | 21.0.3+9.0 | JAVA_HOME_21_X64 |
### Cached Tools ### Cached Tools
#### PyPy #### PyPy
- 2.7.18 [PyPy 7.3.17] - 2.7.18 [PyPy 7.3.16]
- 3.7.13 [PyPy 7.3.9] - 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11] - 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16] - 3.9.19 [PyPy 7.3.16]
- 3.10.14 [PyPy 7.3.17] - 3.10.14 [PyPy 7.3.16]
#### Ruby #### Ruby
- 3.0.7 - 3.0.7
- 3.1.6 - 3.1.6
- 3.2.5
- 3.3.5
#### Python #### Python
- 3.7.17 - 3.7.17
- 3.8.18 - 3.8.18
- 3.9.20 - 3.9.19
- 3.10.15 - 3.10.14
- 3.11.9 - 3.11.9
- 3.12.6 - 3.12.4
#### Node.js #### Node.js
- 16.20.2 - 16.20.2
- 18.20.4 - 18.20.3
- 20.17.0 - 20.15.0
#### Go #### Go
- 1.20.14 - 1.20.14
- 1.21.13 - 1.21.12
- 1.22.7 - 1.22.5
- 1.23.1
### Rust Tools ### Rust Tools
- Cargo 1.81.0 - Cargo 1.79.0
- Rust 1.81.0 - Rust 1.79.0
- Rustdoc 1.81.0 - Rustdoc 1.79.0
- Rustup 1.27.1 - Rustup 1.27.1
#### Packages #### Packages
- Bindgen 0.70.1 - Bindgen 0.69.4
- Cargo-audit 0.20.1 - Cargo-audit 0.20.0
- Cargo-outdated 0.15.0 - Cargo-outdated 0.15.0
- Cbindgen 0.27.0 - Cbindgen 0.26.0
- Clippy 0.1.81 - Clippy 0.1.79
- Rustfmt 1.7.1-stable - Rustfmt 1.7.0-stable
### PowerShell Tools ### PowerShell Tools
- PowerShell 7.4.5 - PowerShell 7.4.3
#### PowerShell Modules #### PowerShell Modules
- Az: 12.3.0 - Az: 12.0.0
- MarkdownPS: 1.10 - MarkdownPS: 1.10
- Pester: 5.6.1 - Pester: 5.6.1
- PSScriptAnalyzer: 1.22.0 - PSScriptAnalyzer: 1.22.0
@@ -210,8 +208,8 @@
### Web Servers ### Web Servers
| Name | Version | ConfigFile | ServiceStatus | ListenPort | | Name | Version | ConfigFile | ServiceStatus | ListenPort |
| ----- | ------- | ------------------------------- | ------------- | ---------- | | ----- | ------- | ------------------------------- | ------------- | ---------- |
| httpd | 2.4.62 | /usr/local/etc/httpd/httpd.conf | none | 80 | | httpd | 2.4.61 | /usr/local/etc/httpd/httpd.conf | none | 80 |
| nginx | 1.27.1 | /usr/local/etc/nginx/nginx.conf | none | 80 | | nginx | 1.27.0 | /usr/local/etc/nginx/nginx.conf | none | 80 |
### Xamarin ### Xamarin
@@ -219,7 +217,7 @@
| Version | Build | Path | | Version | Build | Path |
| -------------- | ----------- | ------------------------------------ | | -------------- | ----------- | ------------------------------------ |
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app | | 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
| 2022 (default) | 17.6.14.413 | /Applications/Visual Studio.app | | 2022 (default) | 17.6.12.410 | /Applications/Visual Studio.app |
##### Notes ##### Notes
``` ```
@@ -315,39 +313,39 @@ mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
| DriverKit 22.2 | driverkit22.2 | 14.2 | | DriverKit 22.2 | driverkit22.2 | 14.2 |
#### Installed Simulators #### Installed Simulators
| OS | Simulators | | OS | Xcode Version | Simulators |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ----------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| iOS 15.0 | 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.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 | 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 | 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.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 | 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.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 16.0 | 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 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 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 16.0 | 14.0.1 | 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 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 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 16.1 | 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 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th 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 (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) | | iOS 16.1 | 14.1 | 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 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th 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 (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
| iOS 16.2 | 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 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th 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 (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) | | iOS 16.2 | 14.2 | 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 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th 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 (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
| tvOS 15.0 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) | | tvOS 15.0 | 13.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
| tvOS 15.2 | 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 | 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.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
| tvOS 16.0 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) | | tvOS 16.0 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
| tvOS 16.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) | | tvOS 16.1 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
| watchOS 8.0 | 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.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 | 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 | 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.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 9.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) | | watchOS 9.0 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) | | watchOS 9.1 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 8.0 | | Android Command Line Tools | 8.0 |
| Android Emulator | 35.1.21 | | Android Emulator | 34.2.15 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 | | Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 |
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) | | Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 | | Android SDK Platform-Tools | 35.0.1 |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| CMake | 3.18.1<br>3.22.1 | | CMake | 3.18.1<br>3.22.1 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.3.11579264<br>27.1.12297006 | | NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.3.11579264 |
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -355,20 +353,20 @@ mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
| ANDROID_HOME | /Users/runner/Library/Android/sdk | | ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 | | ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 | | ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.1.12297006 | | ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 | | ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk | | ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous ### Miscellaneous
- libXext 1.3.6 - libXext 1.3.6
- libXft 2.3.8 - libXft 2.3.8
- Tcl/Tk 8.6.15 - Tcl/Tk 8.6.14
- Zlib 1.3.1 - Zlib 1.3.1
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- | | ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.0.1-55659/ParallelsDesktop-20.0.1-55659.dmg | | PARALLELS_DMG_URL | https://download.parallels.com/desktop/v19/19.4.1-54985/ParallelsDesktop-19.4.1-54985.dmg |
##### Notes ##### Notes
``` ```
+122 -142
View File
@@ -1,108 +1,105 @@
| Announcements | | Announcements |
|-| |-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 25.](https://github.com/actions/runner-images/issues/10873) | | [[macOS] Default Xcode on macOS 14 Sonoma will be set to Xcode 15.4 on July, 22](https://github.com/actions/runner-images/issues/10121) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) | | [[macOS] Default Xcode on macOS 13 Ventura will be set to Xcode 15.2 on July, 15](https://github.com/actions/runner-images/issues/10120) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 25.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
*** ***
# macOS 13 # macOS 13
- OS Version: macOS 13.7.1 (22H221) - OS Version: macOS 13.6.7 (22G810)
- Kernel Version: Darwin 22.6.0 - Kernel Version: Darwin 22.6.0
- Image Version: 20241125.399 - Image Version: 20240707.2
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404 - .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.302
- Bash 3.2.57(1)-release - Bash 3.2.57(1)-release
- Clang/LLVM 14.0.0 - Clang/LLVM 14.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang` - Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias - GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias - GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias - GCC 14 (Homebrew GCC 14.1.0_1) - available by `gcc-14` alias
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias - GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias - GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias - GNU Fortran 14 (Homebrew GCC 14.1.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482 - Kotlin 2.0.0-release-341
- Mono 6.12.0.188 - Mono 6.12.0.188
- Node.js 20.18.1 - Node.js 20.15.0
- Perl 5.40.0 - Perl 5.38.2
- PHP 8.4.1 - PHP 8.3.9
- Python3 3.13.0 - Python3 3.12.4
- Ruby 3.0.7p220 - Ruby 3.0.7p220
### Package Management ### Package Management
- Bundler 2.5.23 - Bundler 2.5.14
- Carthage 0.40.0 - Carthage 0.39.1
- CocoaPods 1.16.2 - CocoaPods 1.15.2
- Composer 2.8.3 - Composer 2.7.7
- Homebrew 4.4.7 - Homebrew 4.3.8
- NPM 10.8.2 - NPM 10.7.0
- NuGet 6.3.1.1 - NuGet 6.3.1.1
- Pip3 24.3.1 (python 3.13) - Pip3 24.1.2 (python 3.12)
- Pipx 1.7.1 - Pipx 1.6.0
- RubyGems 3.5.23 - RubyGems 3.5.14
- Vcpkg 2024 (build from commit 5e5d0e1cd) - Vcpkg 2024 (build from commit 576379156)
- Yarn 1.22.22 - Yarn 1.22.22
### Project Management ### Project Management
- Apache Ant 1.10.15 - Apache Ant 1.10.14
- Apache Maven 3.9.9 - Apache Maven 3.9.8
- Gradle 8.11.1 - Gradle 8.8
### Utilities ### Utilities
- 7-Zip 17.05 - 7-Zip 17.05
- aria2 1.37.0 - aria2 1.37.0
- azcopy 10.27.1 - azcopy 10.25.1
- bazel 7.4.1 - bazel 7.2.1
- bazelisk 1.24.0 - bazelisk 1.20.0
- bsdtar 3.5.3 - available by 'tar' alias - bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.11.0 - Curl 8.8.0
- Git 2.47.0 - Git 2.45.2
- Git LFS 3.6.0 - Git LFS 3.5.1
- GitHub CLI 2.62.0 - GitHub CLI 2.52.0
- GNU Tar 1.35 - available by 'gtar' alias - GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0 - GNU Wget 1.24.5
- gpg (GnuPG) 2.4.6 - gpg (GnuPG) 2.4.5
- jq 1.7.1 - jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023 - OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2 - Packer 1.9.4
- pkgconf 2.3.0 - pkg-config 0.29.2
- Unxip 3.1 - yq 4.44.2
- yq 4.44.5
- zstd 1.5.6 - zstd 1.5.6
### Tools ### Tools
- AWS CLI 2.22.4 - AWS CLI 2.17.9
- AWS SAM CLI 1.131.0 - AWS SAM CLI 1.120.0
- AWS Session Manager CLI 1.2.694.0 - AWS Session Manager CLI 1.2.650.0
- Azure CLI 2.67.0 - Azure CLI 2.61.0
- Azure CLI (azure-devops) 1.0.1 - Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.92 - Bicep CLI 0.28.1
- Cmake 3.31.1 - Cmake 3.30.0
- CodeQL Action Bundle 2.19.3 - CodeQL Action Bundle 2.17.6
- Fastlane 2.225.0 - Fastlane 2.221.1
- SwiftFormat 0.55.2 - SwiftFormat 0.54.0
- Xcbeautify 2.15.0 - Xcbeautify 2.4.0
- Xcode Command Line Tools 14.3.1.0.1.1683849156 - Xcode Command Line Tools 14.3.1.0.1.1683849156
- Xcodes 1.6.0 - Xcodes 1.5.0
### Linters ### Linters
- SwiftLint 0.57.1 - SwiftLint 0.55.1
### Browsers ### Browsers
- Safari 18.1.1 (18619.2.8.111.7) - Safari 18.0 (18619.1.18.111.4)
- SafariDriver 18.1.1 (18619.2.8.111.7) - SafariDriver 18.0 (18619.1.18.111.4)
- Google Chrome 131.0.6778.86 - Google Chrome 126.0.6478.127
- Google Chrome for Testing 131.0.6778.85 - Google Chrome for Testing 126.0.6478.126
- ChromeDriver 131.0.6778.85 - ChromeDriver 126.0.6478.126
- Microsoft Edge 131.0.2903.63 - Microsoft Edge 126.0.2592.87
- Microsoft Edge WebDriver 131.0.2903.63 - Microsoft Edge WebDriver 126.0.2592.87
- Mozilla Firefox 132.0.2 - Mozilla Firefox 127.0.2
- geckodriver 0.35.0 - geckodriver 0.34.0
- Selenium server 4.26.0 - Selenium server 4.22.0
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -112,73 +109,70 @@
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin | | GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java ### Java
| Version | Environment Variable | | Version | Environment Variable |
| -------------------- | -------------------- | | ------------------- | -------------------- |
| 8.0.432+6 | JAVA_HOME_8_X64 | | 8.0.412+8 | JAVA_HOME_8_X64 |
| 11.0.25+9 | JAVA_HOME_11_X64 | | 11.0.23+9 | JAVA_HOME_11_X64 |
| 17.0.13+11 (default) | JAVA_HOME_17_X64 | | 17.0.11+9 (default) | JAVA_HOME_17_X64 |
| 21.0.5+11.0 | JAVA_HOME_21_X64 | | 21.0.3+9.0 | JAVA_HOME_21_X64 |
### Cached Tools ### Cached Tools
#### PyPy #### PyPy
- 2.7.18 [PyPy 7.3.17] - 2.7.18 [PyPy 7.3.16]
- 3.7.13 [PyPy 7.3.9] - 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11] - 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16] - 3.9.19 [PyPy 7.3.16]
- 3.10.14 [PyPy 7.3.17] - 3.10.14 [PyPy 7.3.16]
#### Ruby #### Ruby
- 3.0.7 - 3.0.7
- 3.1.6 - 3.1.6
- 3.2.6
- 3.3.6
#### Python #### Python
- 3.8.18 - 3.8.18
- 3.9.20 - 3.9.19
- 3.10.15 - 3.10.14
- 3.11.9 - 3.11.9
- 3.12.7 - 3.12.4
- 3.13.0
#### Node.js #### Node.js
- 18.20.5 - 16.20.2
- 20.18.1 - 18.20.3
- 22.11.0 - 20.15.0
#### Go #### Go
- 1.21.13 - 1.20.14
- 1.22.9 - 1.21.12
- 1.23.3 - 1.22.5
### Rust Tools ### Rust Tools
- Cargo 1.82.0 - Cargo 1.79.0
- Rust 1.82.0 - Rust 1.79.0
- Rustdoc 1.82.0 - Rustdoc 1.79.0
- Rustup 1.27.1 - Rustup 1.27.1
#### Packages #### Packages
- Clippy 0.1.82 - Clippy 0.1.79
- Rustfmt 1.7.1-stable - Rustfmt 1.7.0-stable
### PowerShell Tools ### PowerShell Tools
- PowerShell 7.4.6 - PowerShell 7.4.3
#### PowerShell Modules #### PowerShell Modules
- Az: 12.4.0 - Az: 12.0.0
- Pester: 5.6.1 - Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0 - PSScriptAnalyzer: 1.22.0
### Xcode ### Xcode
| Version | Build | Path | Symlinks | | Version | Build | Path |
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- | | ---------------- | ------- | ------------------------------ |
| 15.2 (default) | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app<br>/Applications/Xcode.app | | 15.2 | 15C500b | /Applications/Xcode_15.2.app |
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app | | 15.1 | 15C65 | /Applications/Xcode_15.1.app |
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app | | 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app | | 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app | | 14.2 | 14C18 | /Applications/Xcode_14.2.app |
| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app | | 14.1 | 14B47b | /Applications/Xcode_14.1.app |
#### Installed SDKs #### Installed SDKs
| SDK | SDK Name | Xcode Version | | SDK | SDK Name | Xcode Version |
@@ -226,35 +220,35 @@
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 | | DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
#### Installed Simulators #### Installed Simulators
| OS | Simulators | | OS | Xcode Version | Simulators |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 16.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 16.1 | 14.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 16.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 16.2 | 14.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 16.4 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 16.4 | 14.3.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 17.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 17.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| tvOS 16.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 16.1 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 16.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 16.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) | | watchOS 9.1 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| watchOS 9.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) | | watchOS 9.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 | | Android Command Line Tools | 11.0 |
| Android Emulator | 35.2.10 | | Android Emulator | 34.2.15 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 | | Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) | | Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 | | Android SDK Platform-Tools | 35.0.1 |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| CMake | 3.31.0 | | CMake | 3.22.1 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018 | | NDK | 24.0.8215888<br>25.2.9519653<br>26.3.11579264 (default) |
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -262,21 +256,7 @@
| ANDROID_HOME | /Users/runner/Library/Android/sdk | | ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk | | ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
- Tcl/Tk 8.6.15
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.1.1-55740/ParallelsDesktop-20.1.1-55740.dmg |
##### Notes
```
If you want to use Parallels Desktop you should download a package from URL stored in
PARALLELS_DMG_URL environment variable. A system extension is allowed for this version.
```
+113 -124
View File
@@ -1,100 +1,97 @@
| Announcements | | Announcements |
|-| |-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 25.](https://github.com/actions/runner-images/issues/10873) | | [[macOS] Default Xcode on macOS 14 Sonoma will be set to Xcode 15.4 on July, 22](https://github.com/actions/runner-images/issues/10121) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) | | [[macOS] Default Xcode on macOS 13 Ventura will be set to Xcode 15.2 on July, 15](https://github.com/actions/runner-images/issues/10120) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 25.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
*** ***
# macOS 13 # macOS 13
- OS Version: macOS 13.7.1 (22H221) - OS Version: macOS 13.6.7 (22G720)
- Kernel Version: Darwin 22.6.0 - Kernel Version: Darwin 22.6.0
- Image Version: 20241125.445 - Image Version: 20240708.1
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404 - .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.302
- Bash 3.2.57(1)-release - Bash 3.2.57(1)-release
- Clang/LLVM 14.0.0 - Clang/LLVM 14.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang` - Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias - GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias - GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias - GCC 14 (Homebrew GCC 14.1.0_1) - available by `gcc-14` alias
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias - GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias - GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias - GNU Fortran 14 (Homebrew GCC 14.1.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482 - Kotlin 2.0.0-release-341
- Mono 6.12.0.188 - Mono 6.12.0.188
- Node.js 20.18.1 - Node.js 20.15.0
- Perl 5.40.0 - Perl 5.38.2
- Python3 3.13.0 - Python3 3.12.4
- Ruby 3.0.7p220 - Ruby 3.0.7p220
### Package Management ### Package Management
- Bundler 2.5.23 - Bundler 2.5.14
- Carthage 0.40.0 - Carthage 0.39.1
- CocoaPods 1.16.2 - CocoaPods 1.15.2
- Homebrew 4.4.6 - Homebrew 4.3.9
- NPM 10.8.2 - NPM 10.7.0
- NuGet 6.3.1.1 - NuGet 6.3.1.1
- Pip3 24.2 (python 3.13) - Pip3 24.0 (python 3.12)
- Pipx 1.7.1 - Pipx 1.6.0
- RubyGems 3.5.23 - RubyGems 3.5.14
- Yarn 1.22.22 - Yarn 1.22.22
### Project Management ### Project Management
- Apache Ant 1.10.15 - Apache Ant 1.10.14
- Apache Maven 3.9.9 - Apache Maven 3.9.8
- Gradle 8.11.1 - Gradle 8.8
### Utilities ### Utilities
- 7-Zip 17.05 - 7-Zip 17.05
- aria2 1.37.0 - aria2 1.37.0
- azcopy 10.27.1 - azcopy 10.25.1
- bazel 7.4.1 - bazel 7.2.1
- bazelisk 1.24.0 - bazelisk 1.20.0
- bsdtar 3.5.3 - available by 'tar' alias - bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1 - Curl 8.4.0
- Git 2.47.0 - Git 2.45.2
- Git LFS 3.6.0 - Git LFS 3.5.1
- GitHub CLI 2.62.0 - GitHub CLI 2.52.0
- GNU Tar 1.35 - available by 'gtar' alias - GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0 - GNU Wget 1.24.5
- gpg (GnuPG) 2.4.6 - gpg (GnuPG) 2.4.5
- jq 1.7.1 - jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023 - OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2 - Packer 1.9.4
- pkgconf 2.3.0 - pkg-config 0.29.2
- Unxip 3.1 - yq 4.44.2
- yq 4.44.5
- zstd 1.5.6 - zstd 1.5.6
### Tools ### Tools
- AWS CLI 2.22.4 - AWS CLI 2.17.9
- AWS SAM CLI 1.131.0 - AWS SAM CLI 1.120.0
- AWS Session Manager CLI 1.2.694.0 - AWS Session Manager CLI 1.2.650.0
- Azure CLI 2.67.0 - Azure CLI 2.61.0
- Azure CLI (azure-devops) 1.0.1 - Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.92 - Bicep CLI 0.28.1
- Cmake 3.31.1 - Cmake 3.30.0
- CodeQL Action Bundle 2.19.3 - CodeQL Action Bundle 2.17.6
- Fastlane 2.225.0 - Fastlane 2.221.1
- SwiftFormat 0.55.2 - SwiftFormat 0.54.0
- Xcbeautify 2.15.0 - Xcbeautify 2.4.0
- Xcode Command Line Tools 14.3.1.0.1.1683849156 - Xcode Command Line Tools 14.3.1.0.1.1683849156
- Xcodes 1.6.0 - Xcodes 1.5.0
### Linters ### Linters
### Browsers ### Browsers
- Safari 18.1.1 (18619.2.8.111.7) - Safari 17.5 (18618.2.12.111.5)
- SafariDriver 18.1.1 (18619.2.8.111.7) - SafariDriver 17.5 (18618.2.12.111.5)
- Google Chrome 131.0.6778.86 - Google Chrome 126.0.6478.127
- Google Chrome for Testing 131.0.6778.85 - Google Chrome for Testing 126.0.6478.126
- ChromeDriver 131.0.6778.85 - ChromeDriver 126.0.6478.126
- Selenium server 4.26.0 - Selenium server 4.22.0
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -104,62 +101,57 @@
| GECKOWEBDRIVER | | | GECKOWEBDRIVER | |
### Java ### Java
| Version | Environment Variable | | Version | Environment Variable |
| -------------------- | -------------------- | | ------------------- | -------------------- |
| 11.0.25+9 | JAVA_HOME_11_arm64 | | 11.0.23+9 | JAVA_HOME_11_arm64 |
| 17.0.13+11 (default) | JAVA_HOME_17_arm64 | | 17.0.11+9 (default) | JAVA_HOME_17_arm64 |
| 21.0.5+11.0 | JAVA_HOME_21_arm64 | | 21.0.3+9.0 | JAVA_HOME_21_arm64 |
### Cached Tools ### Cached Tools
#### Ruby
- 3.0.7
- 3.1.6
- 3.2.6
- 3.3.6
#### Python #### Python
- 3.9.13
- 3.10.11
- 3.11.9 - 3.11.9
- 3.12.7 - 3.12.4
- 3.13.0
#### Node.js #### Node.js
- 18.20.5 - 16.20.1
- 20.18.1 - 18.20.3
- 22.11.0 - 20.15.0
#### Go #### Go
- 1.21.13 - 1.20.14
- 1.22.9 - 1.21.12
- 1.23.3 - 1.22.5
### Rust Tools ### Rust Tools
- Cargo 1.82.0 - Cargo 1.79.0
- Rust 1.82.0 - Rust 1.79.0
- Rustdoc 1.82.0 - Rustdoc 1.79.0
- Rustup 1.27.1 - Rustup 1.27.1
#### Packages #### Packages
- Clippy 0.1.82 - Clippy 0.1.79
- Rustfmt 1.7.1-stable - Rustfmt 1.7.0-stable
### PowerShell Tools ### PowerShell Tools
- PowerShell 7.4.6 - PowerShell 7.4.3
#### PowerShell Modules #### PowerShell Modules
- Az: 12.4.0 - Az: 12.0.0
- Pester: 5.6.1 - Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0 - PSScriptAnalyzer: 1.22.0
### Xcode ### Xcode
| Version | Build | Path | Symlinks | | Version | Build | Path |
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- | | ---------------- | ------- | ------------------------------ |
| 15.2 (default) | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app<br>/Applications/Xcode.app | | 15.2 | 15C500b | /Applications/Xcode_15.2.app |
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app | | 15.1 | 15C65 | /Applications/Xcode_15.1.app |
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app | | 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app | | 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app | | 14.2 | 14C18 | /Applications/Xcode_14.2.app |
| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app | | 14.1 | 14B47b | /Applications/Xcode_14.1.app |
#### Installed SDKs #### Installed SDKs
| SDK | SDK Name | Xcode Version | | SDK | SDK Name | Xcode Version |
@@ -195,8 +187,8 @@
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 | | Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 | | Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 | | Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
| visionOS 1.0 | xros1.0 | 15.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 | | Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| visionOS 1.0 | xros1.0 | 15.2 |
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 | | Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 | | Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 | | Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
@@ -207,36 +199,36 @@
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 | | DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
#### Installed Simulators #### Installed Simulators
| OS | Simulators | | OS | Xcode Version | Simulators |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 16.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 16.1 | 14.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 16.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 16.2 | 14.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 16.4 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 16.4 | 14.3.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 17.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 17.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| tvOS 16.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 16.1 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 16.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 16.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) | | watchOS 9.1 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| watchOS 9.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) | | watchOS 9.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| visionOS 1.0 | Apple Vision Pro | | visionOS 1.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Vision Pro |
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 | | Android Command Line Tools | 11.0 |
| Android Emulator | 35.2.10 | | Android Emulator | 34.2.15 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 | | Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) | | Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 | | Android SDK Platform-Tools | 35.0.1 |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| CMake | 3.31.0 | | CMake | 3.22.1 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018 | | NDK | 24.0.8215888<br>25.2.9519653<br>26.3.11579264 (default) |
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -244,10 +236,7 @@
| ANDROID_HOME | /Users/runner/Library/Android/sdk | | ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk | | ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
- Tcl/Tk 8.6.15
+185 -208
View File
@@ -1,107 +1,104 @@
| Announcements | | Announcements |
|-| |-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 25.](https://github.com/actions/runner-images/issues/10873) | | [[macOS] Default Xcode on macOS 14 Sonoma will be set to Xcode 15.4 on July, 22](https://github.com/actions/runner-images/issues/10121) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) | | [[macOS] Default Xcode on macOS 13 Ventura will be set to Xcode 15.2 on July, 15](https://github.com/actions/runner-images/issues/10120) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 25.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
*** ***
# macOS 14 # macOS 14
- OS Version: macOS 14.7.1 (23H222) - OS Version: macOS 14.5 (23F79)
- Kernel Version: Darwin 23.6.0 - Kernel Version: Darwin 23.5.0
- Image Version: 20241125.421 - Image Version: 20240708.1
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404 - .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.302
- Bash 3.2.57(1)-release - Bash 3.2.57(1)-release
- Clang/LLVM 15.0.0 - Clang/LLVM 14.0.3
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang` - Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias - GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias - GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias - GCC 14 (Homebrew GCC 14.1.0_1) - available by `gcc-14` alias
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias - GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias - GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias - GNU Fortran 14 (Homebrew GCC 14.1.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482 - Kotlin 2.0.0-release-341
- Mono 6.12.0.188 - Mono 6.12.0.188
- Node.js 20.18.1 - Node.js 20.15.0
- Perl 5.40.0 - Perl 5.38.2
- PHP 8.4.1 - PHP 8.3.9
- Python3 3.13.0 - Python3 3.12.4
- Ruby 3.0.7p220 - Ruby 3.0.7p220
### Package Management ### Package Management
- Bundler 2.5.23 - Bundler 2.5.14
- Carthage 0.40.0 - Carthage 0.39.1
- CocoaPods 1.16.2 - CocoaPods 1.15.2
- Composer 2.8.3 - Composer 2.7.7
- Homebrew 4.4.7 - Homebrew 4.3.9
- NPM 10.8.2 - NPM 10.7.0
- NuGet 6.3.1.1 - NuGet 6.3.1.1
- Pip3 24.3.1 (python 3.13) - Pip3 24.1.2 (python 3.12)
- Pipx 1.7.1 - Pipx 1.6.0
- RubyGems 3.5.23 - RubyGems 3.5.14
- Yarn 1.22.22 - Yarn 1.22.22
### Project Management ### Project Management
- Apache Ant 1.10.15 - Apache Ant 1.10.14
- Apache Maven 3.9.9 - Apache Maven 3.9.8
- Gradle 8.11.1 - Gradle 8.8
### Utilities ### Utilities
- 7-Zip 17.05 - 7-Zip 17.05
- aria2 1.37.0 - aria2 1.37.0
- azcopy 10.27.1 - azcopy 10.25.1
- bazel 7.4.1 - bazel 7.2.1
- bazelisk 1.24.0 - bazelisk 1.20.0
- bsdtar 3.5.3 - available by 'tar' alias - bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.11.0 - Curl 8.8.0
- Git 2.47.0 - Git 2.45.2
- Git LFS 3.6.0 - Git LFS 3.5.1
- GitHub CLI 2.62.0 - GitHub CLI 2.52.0
- GNU Tar 1.35 - available by 'gtar' alias - GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0 - GNU Wget 1.24.5
- gpg (GnuPG) 2.4.6 - gpg (GnuPG) 2.4.5
- jq 1.7.1 - jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023 - OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2 - Packer 1.9.4
- pkgconf 2.3.0 - pkg-config 0.29.2
- Unxip 3.1 - yq 4.44.2
- yq 4.44.5
- zstd 1.5.6 - zstd 1.5.6
### Tools ### Tools
- AWS CLI 2.22.4 - AWS CLI 2.17.9
- AWS SAM CLI 1.131.0 - AWS SAM CLI 1.120.0
- AWS Session Manager CLI 1.2.694.0 - AWS Session Manager CLI 1.2.650.0
- Azure CLI 2.67.0 - Azure CLI 2.61.0
- Azure CLI (azure-devops) 1.0.1 - Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.92 - Bicep CLI 0.28.1
- Cmake 3.31.1 - Cmake 3.30.0
- CodeQL Action Bundle 2.19.3 - CodeQL Action Bundle 2.17.6
- Fastlane 2.225.0 - Fastlane 2.221.1
- SwiftFormat 0.55.2 - SwiftFormat 0.54.0
- Xcbeautify 2.15.0 - Xcbeautify 2.4.0
- Xcode Command Line Tools 16.1.0.0.1.1729049160 - Xcode Command Line Tools 15.3.0.0.1.1708646388
- Xcodes 1.6.0 - Xcodes 1.5.0
### Linters ### Linters
- SwiftLint 0.57.1 - SwiftLint 0.55.1
### Browsers ### Browsers
- Safari 18.1.1 (19619.2.8.111.7) - Safari 17.5 (19618.2.12.11.6)
- SafariDriver 18.1.1 (19619.2.8.111.7) - SafariDriver 17.5 (19618.2.12.11.6)
- Google Chrome 131.0.6778.86 - Google Chrome 126.0.6478.127
- Google Chrome for Testing 131.0.6778.85 - Google Chrome for Testing 126.0.6478.126
- ChromeDriver 131.0.6778.85 - ChromeDriver 126.0.6478.126
- Microsoft Edge 131.0.2903.63 - Microsoft Edge 126.0.2592.87
- Microsoft Edge WebDriver 131.0.2903.63 - Microsoft Edge WebDriver 126.0.2592.87
- Mozilla Firefox 132.0.2 - Mozilla Firefox 127.0.2
- geckodriver 0.35.0 - geckodriver 0.34.0
- Selenium server 4.26.0 - Selenium server 4.22.0
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -111,164 +108,158 @@
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin | | GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java ### Java
| Version | Environment Variable | | Version | Environment Variable |
| --------------------- | -------------------- | | -------------------- | -------------------- |
| 8.0.432+6 | JAVA_HOME_8_X64 | | 8.0.412+8 | JAVA_HOME_8_X64 |
| 11.0.25+9 | JAVA_HOME_11_X64 | | 11.0.23+9 | JAVA_HOME_11_X64 |
| 17.0.13+11 | JAVA_HOME_17_X64 | | 17.0.11+9 | JAVA_HOME_17_X64 |
| 21.0.5+11.0 (default) | JAVA_HOME_21_X64 | | 21.0.3+9.0 (default) | JAVA_HOME_21_X64 |
### Cached Tools ### Cached Tools
#### Ruby #### Ruby
- 3.0.7 - 3.0.7
- 3.1.6 - 3.1.6
- 3.2.6
- 3.3.6
#### Python #### Python
- 3.9.20 - 3.9.19
- 3.10.15 - 3.10.14
- 3.11.9 - 3.11.9
- 3.12.7 - 3.12.4
- 3.13.0
#### Node.js #### Node.js
- 18.20.5 - 18.20.3
- 20.18.1 - 20.15.0
- 22.11.0
#### Go #### Go
- 1.21.13 - 1.20.14
- 1.22.9 - 1.21.12
- 1.23.3 - 1.22.5
### Rust Tools ### Rust Tools
- Cargo 1.82.0 - Cargo 1.79.0
- Rust 1.82.0 - Rust 1.79.0
- Rustdoc 1.82.0 - Rustdoc 1.79.0
- Rustup 1.27.1 - Rustup 1.27.1
#### Packages #### Packages
- Clippy 0.1.82 - Clippy 0.1.79
- Rustfmt 1.7.1-stable - Rustfmt 1.7.0-stable
### PowerShell Tools ### PowerShell Tools
- PowerShell 7.4.6 - PowerShell 7.4.3
#### PowerShell Modules #### PowerShell Modules
- Az: 12.4.0 - Az: 12.0.0
- Pester: 5.6.1 - Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0 - PSScriptAnalyzer: 1.22.0
### Xcode ### Xcode
| Version | Build | Path | Symlinks | | Version | Build | Path |
| -------------- | ------- | ------------------------------ | -------------------------------------------------------------- | | ---------------- | -------- | ------------------------------ |
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app | | 16.0 (beta) | 16A5171r | /Applications/Xcode_16.0.app |
| 16.0 | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app | | 15.4 | 15F31d | /Applications/Xcode_15.4.app |
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app | | 15.3 | 15E204a | /Applications/Xcode_15.3.app |
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app | | 15.2 | 15C500b | /Applications/Xcode_15.2.app |
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app | | 15.1 | 15C65 | /Applications/Xcode_15.1.app |
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app | | 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app | | 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
#### Installed SDKs #### Installed SDKs
| SDK | SDK Name | Xcode Version | | SDK | SDK Name | Xcode Version |
| ------------------------ | -------------------- | ------------- | | ------------------------------------------------------- | --------------------------------------------- | ------------- |
| macOS 14.0 | macosx14.0 | 15.0.1 | | macOS 13.3 | macosx13.3 | 14.3.1 |
| macOS 14.2 | macosx14.2 | 15.1, 15.2 | | macOS 14.0 | macosx14.0 | 15.0.1 |
| macOS 14.4 | macosx14.4 | 15.3 | | macOS 14.2 | macosx14.2 | 15.1, 15.2 |
| macOS 14.5 | macosx14.5 | 15.4 | | macOS 14.4 | macosx14.4 | 15.3 |
| macOS 15.0 | macosx15.0 | 16.0 | | macOS 14.5 | macosx14.5 | 15.4 |
| macOS 15.1 | macosx15.1 | 16.1 | | macOS 15.0 | macosx15.0 | 16.0 |
| iOS 17.0 | iphoneos17.0 | 15.0.1 | | iOS 16.4 | iphoneos16.4 | 14.3.1 |
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 | | iOS 17.0 | iphoneos17.0 | 15.0.1 |
| iOS 17.4 | iphoneos17.4 | 15.3 | | iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
| iOS 17.5 | iphoneos17.5 | 15.4 | | iOS 17.4 | iphoneos17.4 | 15.3 |
| iOS 18.0 | iphoneos18.0 | 16.0 | | iOS 17.5 | iphoneos17.5 | 15.4 |
| iOS 18.1 | iphoneos18.1 | 16.1 | | iOS 18.0 | iphoneos18.0 | 16.0 |
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 | | Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 |
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 | | Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 | | Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 | | Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 | | Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 | | Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
| tvOS 17.0 | appletvos17.0 | 15.0.1 | | tvOS 16.4 | appletvos16.4 | 14.3.1 |
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 | | tvOS 17.0 | appletvos17.0 | 15.0.1 |
| tvOS 17.4 | appletvos17.4 | 15.3 | | tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
| tvOS 17.5 | appletvos17.5 | 15.4 | | tvOS 17.4 | appletvos17.4 | 15.3 |
| tvOS 18.0 | appletvos18.0 | 16.0 | | tvOS 17.5 | appletvos17.5 | 15.4 |
| tvOS 18.1 | appletvos18.1 | 16.1 | | tvOS 18.0 | appletvos18.0 | 16.0 |
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 | | Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 |
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 | | Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 | | Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 | | Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 | | Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 | | Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
| watchOS 10.0 | watchos10.0 | 15.0.1 | | watchOS 9.4 | watchos9.4 | 14.3.1 |
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 | | watchOS 10.0 | watchos10.0 | 15.0.1 |
| watchOS 10.4 | watchos10.4 | 15.3 | | watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
| watchOS 10.5 | watchos10.5 | 15.4 | | watchOS 10.4 | watchos10.4 | 15.3 |
| watchOS 11.0 | watchos11.0 | 16.0 | | watchOS 10.5 | watchos10.5 | 15.4 |
| watchOS 11.1 | watchos11.1 | 16.1 | | watchOS 11.0 | watchos11.0 | 16.0 |
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 | | Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 | | Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 | | Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 | | Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 | | Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 | | Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
| visionOS 1.0 | xros1.0 | 15.2 | | Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 | | visionOS 1.0 | xros1.0 | 15.2 |
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 | | Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
| visionOS 1.1 | xros1.1 | 15.3 | | visionOS 1.1 | xros1.1 | 15.3 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 | | Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| visionOS 1.2 | xros1.2 | 15.4 | | visionOS 1.2 | xros1.2 | 15.4 |
| visionOS 2.0 | xros2.0 | 16.0 | | Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 | | visionOS 2.0 | xros2.0 | 16.0 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 | | Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
| visionOS 2.1 | xros2.1 | 16.1 | | Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| DriverKit 23.0 | driverkit23.0 | 15.0.1 | | Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 | | DriverKit 22.4 | driverkit22.4 | 14.3.1 |
| DriverKit 23.4 | driverkit23.4 | 15.3 | | DriverKit 23.0 | driverkit23.0 | 15.0.1 |
| DriverKit 23.5 | driverkit23.5 | 15.4 | | DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
| DriverKit 24.0 | driverkit24.0 | 16.0 | | DriverKit 23.4 | driverkit23.4 | 15.3 |
| DriverKit 24.1 | driverkit24.1 | 16.1 | | DriverKit 23.5 | driverkit23.5 | 15.4 |
| DriverKit 24.0 | driverkit24.0 | 16.0 |
#### Installed Simulators #### Installed Simulators
| OS | Simulators | | OS | Xcode Version | Simulators |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------ | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 16.4 | 14.3.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.2 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) | | iOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) | | iOS 17.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) | | iOS 17.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad mini (A17 Pro)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) | | tvOS 16.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | watchOS 9.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | watchOS 10.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 | | Android Command Line Tools | 11.0 |
| Android Emulator | 35.2.10 | | Android Emulator | 34.2.15 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 | | Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) | | Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 | | Android SDK Platform-Tools | 35.0.1 |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| CMake | 3.31.0 | | CMake | 3.22.1 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018 | | NDK | 24.0.8215888<br>25.2.9519653<br>26.3.11579264 (default) |
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -276,21 +267,7 @@
| ANDROID_HOME | /Users/runner/Library/Android/sdk | | ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk | | ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
- Tcl/Tk 8.6.15
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.1.1-55740/ParallelsDesktop-20.1.1-55740.dmg |
##### Notes
```
If you want to use Parallels Desktop you should download a package from URL stored in
PARALLELS_DMG_URL environment variable. A system extension is allowed for this version.
```
+185 -191
View File
@@ -1,97 +1,98 @@
| Announcements | | Announcements |
|-| |-|
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images once [date not determined]](https://github.com/actions/runner-images/issues/10817) | | [[macOS] GCC 11 will be removed from all macOS images on August 12](https://github.com/actions/runner-images/issues/10213) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) | | [[macOS] Default Xcode on macOS 14 Sonoma will be set to Xcode 15.4 on July, 22](https://github.com/actions/runner-images/issues/10121) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) | | [[macOS] Default Xcode on macOS 13 Ventura will be set to Xcode 15.2 on July, 15](https://github.com/actions/runner-images/issues/10120) |
*** ***
# macOS 14 # macOS 14
- OS Version: macOS 14.7.1 (23H222) - OS Version: macOS 14.5 (23F79)
- Kernel Version: Darwin 23.6.0 - Kernel Version: Darwin 23.5.0
- Image Version: 20241202.580 - Image Version: 20240714.2
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404 - .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303
- Bash 3.2.57(1)-release - Bash 3.2.57(1)-release
- Clang/LLVM 15.0.0 - Clang/LLVM 14.0.3
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang` - Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias - GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias - GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias - GCC 14 (Homebrew GCC 14.1.0_2) - available by `gcc-14` alias
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias - GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias - GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias - GNU Fortran 14 (Homebrew GCC 14.1.0_2) - available by `gfortran-14` alias
- Kotlin 2.1.0-release-394 - Kotlin 2.0.0-release-341
- Mono 6.12.0.188 - Mono 6.12.0.188
- Node.js 20.18.1 - Node.js 20.15.1
- Perl 5.40.0 - Perl 5.38.2
- Python3 3.13.0 - Python3 3.12.4
- Ruby 3.0.7p220 - Ruby 3.0.7p220
### Package Management ### Package Management
- Bundler 2.5.23 - Bundler 2.5.15
- Carthage 0.40.0 - Carthage 0.39.1
- CocoaPods 1.16.2 - CocoaPods 1.15.2
- Homebrew 4.4.8 - Homebrew 4.3.9
- NPM 10.8.2 - NPM 10.7.0
- NuGet 6.3.1.1 - NuGet 6.3.1.1
- Pip3 24.2 (python 3.13) - Pip3 24.0 (python 3.12)
- Pipx 1.7.1 - Pipx 1.6.0
- RubyGems 3.5.23 - RubyGems 3.5.15
- Yarn 1.22.22 - Yarn 1.22.22
### Project Management ### Project Management
- Apache Ant 1.10.15 - Apache Ant 1.10.14
- Apache Maven 3.9.9 - Apache Maven 3.9.8
- Gradle 8.11.1 - Gradle 8.9
### Utilities ### Utilities
- 7-Zip 17.05 - 7-Zip 17.05
- aria2 1.37.0 - aria2 1.37.0
- azcopy 10.27.1 - azcopy 10.25.1
- bazel 7.4.1 - bazel 7.2.1
- bazelisk 1.24.1 - bazelisk 1.20.0
- bsdtar 3.5.3 - available by 'tar' alias - bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1 - Curl 8.6.0
- Git 2.47.1 - Git 2.45.2
- Git LFS 3.6.0 - Git LFS 3.5.1
- GitHub CLI 2.63.0 - GitHub CLI 2.52.0
- GNU Tar 1.35 - available by 'gtar' alias - GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0 - GNU Wget 1.24.5
- gpg (GnuPG) 2.4.6 - gpg (GnuPG) 2.4.5
- jq 1.7.1 - jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023 - OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2 - Packer 1.9.4
- pkgconf 2.3.0 - pkg-config 0.29.2
- Unxip 3.1 - yq 4.44.2
- yq 4.44.5
- zstd 1.5.6 - zstd 1.5.6
### Tools ### Tools
- AWS CLI 2.22.8 - AWS CLI 2.17.13
- AWS SAM CLI 1.131.0 - AWS SAM CLI 1.120.0
- AWS Session Manager CLI 1.2.694.0 - AWS Session Manager CLI 1.2.650.0
- Azure CLI 2.67.0 - Azure CLI 2.62.0
- Azure CLI (azure-devops) 1.0.1 - Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.92 - Bicep CLI 0.28.1
- Cmake 3.31.1 - Cmake 3.30.0
- CodeQL Action Bundle 2.19.3 - CodeQL Action Bundle 2.18.0
- Fastlane 2.225.0 - Fastlane 2.221.1
- SwiftFormat 0.55.3 - SwiftFormat 0.54.1
- Xcbeautify 2.15.0 - Xcbeautify 2.4.1
- Xcode Command Line Tools 16.1.0.0.1.1729049160 - Xcode Command Line Tools 15.3.0.0.1.1708646388
- Xcodes 1.6.0 - Xcodes 1.5.0
### Linters ### Linters
### Browsers ### Browsers
- Safari 18.1.1 (19619.2.8.111.7) - Safari 17.5 (19618.2.12.11.6)
- SafariDriver 18.1.1 (19619.2.8.111.7) - SafariDriver 17.5 (19618.2.12.11.6)
- Google Chrome 131.0.6778.86 - Google Chrome 126.0.6478.127
- Google Chrome for Testing 131.0.6778.85 - Google Chrome for Testing 126.0.6478.126
- ChromeDriver 131.0.6778.85 - ChromeDriver 126.0.6478.126
- Selenium server 4.27.0 - Selenium server 4.22.0
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -101,164 +102,160 @@
| GECKOWEBDRIVER | | | GECKOWEBDRIVER | |
### Java ### Java
| Version | Environment Variable | | Version | Environment Variable |
| --------------------- | -------------------- | | -------------------- | -------------------- |
| 11.0.25+9 | JAVA_HOME_11_arm64 | | 11.0.23+9 | JAVA_HOME_11_arm64 |
| 17.0.13+11 | JAVA_HOME_17_arm64 | | 17.0.11+9 | JAVA_HOME_17_arm64 |
| 21.0.5+11.0 (default) | JAVA_HOME_21_arm64 | | 21.0.3+9.0 (default) | JAVA_HOME_21_arm64 |
### Cached Tools ### Cached Tools
#### Ruby
- 3.0.7
- 3.1.6
- 3.2.6
- 3.3.6
#### Python #### Python
- 3.9.13
- 3.10.11
- 3.11.9 - 3.11.9
- 3.12.7 - 3.12.4
- 3.13.0
#### Node.js #### Node.js
- 18.20.5 - 18.20.4
- 20.18.1 - 20.15.1
- 22.11.0
#### Go #### Go
- 1.21.13 - 1.20.14
- 1.22.9 - 1.21.12
- 1.23.3 - 1.22.5
### Rust Tools ### Rust Tools
- Cargo 1.83.0 - Cargo 1.79.0
- Rust 1.83.0 - Rust 1.79.0
- Rustdoc 1.83.0 - Rustdoc 1.79.0
- Rustup 1.27.1 - Rustup 1.27.1
#### Packages #### Packages
- Clippy 0.1.83 - Clippy 0.1.79
- Rustfmt 1.8.0-stable - Rustfmt 1.7.0-stable
### PowerShell Tools ### PowerShell Tools
- PowerShell 7.4.6 - PowerShell 7.4.3
#### PowerShell Modules #### PowerShell Modules
- Az: 12.4.0 - Az: 12.1.0
- Pester: 5.6.1 - Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0 - PSScriptAnalyzer: 1.22.0
### Xcode ### Xcode
| Version | Build | Path | Symlinks | | Version | Build | Path |
| -------------- | ------- | ------------------------------ | -------------------------------------------------------------- | | ---------------- | -------- | ------------------------------ |
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app | | 16.0 (beta) | 16A5171r | /Applications/Xcode_16.0.app |
| 16.0 | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app | | 15.4 | 15F31d | /Applications/Xcode_15.4.app |
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app | | 15.3 | 15E204a | /Applications/Xcode_15.3.app |
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app | | 15.2 | 15C500b | /Applications/Xcode_15.2.app |
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app | | 15.1 | 15C65 | /Applications/Xcode_15.1.app |
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app | | 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app | | 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
#### Installed SDKs #### Installed SDKs
| SDK | SDK Name | Xcode Version | | SDK | SDK Name | Xcode Version |
| ------------------------ | -------------------- | ------------- | | ------------------------------------------------------- | --------------------------------------------- | ------------- |
| macOS 14.0 | macosx14.0 | 15.0.1 | | macOS 13.3 | macosx13.3 | 14.3.1 |
| macOS 14.2 | macosx14.2 | 15.1, 15.2 | | macOS 14.0 | macosx14.0 | 15.0.1 |
| macOS 14.4 | macosx14.4 | 15.3 | | macOS 14.2 | macosx14.2 | 15.1, 15.2 |
| macOS 14.5 | macosx14.5 | 15.4 | | macOS 14.4 | macosx14.4 | 15.3 |
| macOS 15.0 | macosx15.0 | 16.0 | | macOS 14.5 | macosx14.5 | 15.4 |
| macOS 15.1 | macosx15.1 | 16.1 | | macOS 15.0 | macosx15.0 | 16.0 |
| iOS 17.0 | iphoneos17.0 | 15.0.1 | | iOS 16.4 | iphoneos16.4 | 14.3.1 |
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 | | iOS 17.0 | iphoneos17.0 | 15.0.1 |
| iOS 17.4 | iphoneos17.4 | 15.3 | | iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
| iOS 17.5 | iphoneos17.5 | 15.4 | | iOS 17.4 | iphoneos17.4 | 15.3 |
| iOS 18.0 | iphoneos18.0 | 16.0 | | iOS 17.5 | iphoneos17.5 | 15.4 |
| iOS 18.1 | iphoneos18.1 | 16.1 | | iOS 18.0 | iphoneos18.0 | 16.0 |
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 | | Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 |
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 | | Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 | | Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 | | Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 | | Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 | | Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
| tvOS 17.0 | appletvos17.0 | 15.0.1 | | tvOS 16.4 | appletvos16.4 | 14.3.1 |
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 | | tvOS 17.0 | appletvos17.0 | 15.0.1 |
| tvOS 17.4 | appletvos17.4 | 15.3 | | tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
| tvOS 17.5 | appletvos17.5 | 15.4 | | tvOS 17.4 | appletvos17.4 | 15.3 |
| tvOS 18.0 | appletvos18.0 | 16.0 | | tvOS 17.5 | appletvos17.5 | 15.4 |
| tvOS 18.1 | appletvos18.1 | 16.1 | | tvOS 18.0 | appletvos18.0 | 16.0 |
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 | | Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 |
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 | | Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 | | Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 | | Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 | | Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 | | Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
| watchOS 10.0 | watchos10.0 | 15.0.1 | | watchOS 9.4 | watchos9.4 | 14.3.1 |
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 | | watchOS 10.0 | watchos10.0 | 15.0.1 |
| watchOS 10.4 | watchos10.4 | 15.3 | | watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
| watchOS 10.5 | watchos10.5 | 15.4 | | watchOS 10.4 | watchos10.4 | 15.3 |
| watchOS 11.0 | watchos11.0 | 16.0 | | watchOS 10.5 | watchos10.5 | 15.4 |
| watchOS 11.1 | watchos11.1 | 16.1 | | watchOS 11.0 | watchos11.0 | 16.0 |
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 | | Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 | | Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 | | Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 | | Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 | | Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 | | Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
| visionOS 1.0 | xros1.0 | 15.2 | | visionOS 1.0 | xros1.0 | 15.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 | | Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| visionOS 1.1 | xros1.1 | 15.3 | | visionOS 1.1 | xros1.1 | 15.3 |
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 | | Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 | | Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| visionOS 1.2 | xros1.2 | 15.4 | | visionOS 1.2 | xros1.2 | 15.4 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 | | visionOS 2.0 | xros2.0 | 16.0 |
| visionOS 2.0 | xros2.0 | 16.0 | | Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| visionOS 2.1 | xros2.1 | 16.1 | | Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 | | Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
| DriverKit 23.0 | driverkit23.0 | 15.0.1 | | Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 | | DriverKit 22.4 | driverkit22.4 | 14.3.1 |
| DriverKit 23.4 | driverkit23.4 | 15.3 | | DriverKit 23.0 | driverkit23.0 | 15.0.1 |
| DriverKit 23.5 | driverkit23.5 | 15.4 | | DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
| DriverKit 24.0 | driverkit24.0 | 16.0 | | DriverKit 23.4 | driverkit23.4 | 15.3 |
| DriverKit 24.1 | driverkit24.1 | 16.1 | | DriverKit 23.5 | driverkit23.5 | 15.4 |
| DriverKit 24.0 | driverkit24.0 | 16.0 |
#### Installed Simulators #### Installed Simulators
| OS | Simulators | | OS | Xcode Version | Simulators |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------ | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 16.4 | 14.3.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.2 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) | | iOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) | | iOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) | | iOS 17.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) | | iOS 17.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad mini (A17 Pro)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) | | iOS 18.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 16.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 17.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) | | tvOS 18.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 9.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 10.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<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)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) | | watchOS 11.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<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)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
| visionOS 1.0 | Apple Vision Pro | | visionOS 1.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Vision Pro |
| visionOS 1.1 | Apple Vision Pro | | visionOS 1.1 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Vision Pro |
| visionOS 1.2 | Apple Vision Pro | | visionOS 1.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Vision Pro |
| visionOS 2.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4<br>16.0 | Apple Vision Pro |
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 | | Android Command Line Tools | 11.0 |
| Android Emulator | 35.2.10 | | Android Emulator | 34.2.16 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 | | Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) | | Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 | | Android SDK Platform-Tools | 35.0.1 |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| CMake | 3.31.0 | | CMake | 3.22.1 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018 | | NDK | 24.0.8215888<br>25.2.9519653<br>26.3.11579264 (default) |
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -266,10 +263,7 @@
| ANDROID_HOME | /Users/runner/Library/Android/sdk | | ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | | ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk | | ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
- Tcl/Tk 8.6.15
-251
View File
@@ -1,251 +0,0 @@
| Announcements |
|-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 25.](https://github.com/actions/runner-images/issues/10873) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 25.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
***
# macOS 15
- OS Version: macOS 15.1.1 (24B91)
- Kernel Version: Darwin 24.1.0
- Image Version: 20241125.404
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.404
- Bash 3.2.57(1)-release
- Clang/LLVM 15.0.0
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482
- Node.js 22.11.0
- Perl 5.40.0
- PHP 8.4.1
- Python3 3.13.0
- Ruby 3.3.6
### Package Management
- Bundler 2.5.23
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.8.3
- Homebrew 4.4.7
- NPM 10.9.0
- Pip3 24.3.1 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.23
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
- Gradle 8.11.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.27.1
- bazel 7.4.1
- bazelisk 1.24.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.11.0
- Git 2.47.0
- Git LFS 3.6.0
- GitHub CLI 2.62.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.6
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2
- pkgconf 2.3.0
- Unxip 3.1
- yq 4.44.5
- zstd 1.5.6
### Tools
- AWS CLI 2.22.4
- AWS SAM CLI 1.131.0
- AWS Session Manager CLI 1.2.694.0
- Azure CLI 2.67.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.92
- Cmake 3.31.1
- CodeQL Action Bundle 2.19.3
- Fastlane 2.225.0
- SwiftFormat 0.55.2
- Xcbeautify 2.15.0
- Xcode Command Line Tools 16.1.0.0.1.1729049160
- Xcodes 1.6.0
### Linters
- SwiftLint 0.57.1
### Browsers
- Safari 18.1.1 (20619.2.8.11.12)
- SafariDriver 18.1.1 (20619.2.8.11.12)
- Google Chrome 131.0.6778.86
- Google Chrome for Testing 131.0.6778.85
- ChromeDriver 131.0.6778.85
- Microsoft Edge 131.0.2903.63
- Microsoft Edge WebDriver 131.0.2903.63
- Mozilla Firefox 132.0.2
- geckodriver 0.35.0
- Selenium server 4.26.0
#### Environment variables
| Name | Value |
| --------------- | ------------------------------------- |
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-x64 |
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.25+9 | JAVA_HOME_11_X64 |
| 17.0.13+11 | JAVA_HOME_17_X64 |
| 21.0.5+11.0 (default) | JAVA_HOME_21_X64 |
### Cached Tools
#### Ruby
- 3.1.6
- 3.2.6
- 3.3.6
#### Python
- 3.9.20
- 3.10.15
- 3.11.9
- 3.12.7
- 3.13.0
#### Node.js
- 18.20.5
- 20.18.1
- 22.11.0
#### Go
- 1.21.13
- 1.22.9
- 1.23.3
### Rust Tools
- Cargo 1.82.0
- Rust 1.82.0
- Rustdoc 1.82.0
- Rustup 1.27.1
#### Packages
- Clippy 0.1.82
- Rustfmt 1.7.1-stable
### PowerShell Tools
- PowerShell 7.4.6
#### PowerShell Modules
- Az: 12.4.0
- Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | -------- | ----------------------------------- | ----------------------------------------------------------------------------------------- |
| 16.2 (beta) | 16C5023f | /Applications/Xcode_16.2_beta_3.app | /Applications/Xcode_16.2.0.app<br>/Applications/Xcode_16.2.app |
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
| 15.4 | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ------------------------ | -------------------- | ------------- |
| macOS 14.5 | macosx14.5 | 15.4 |
| macOS 15.0 | macosx15.0 | 16.0 |
| macOS 15.1 | macosx15.1 | 16.1 |
| macOS 15.2 | macosx15.2 | 16.2 |
| iOS 17.5 | iphoneos17.5 | 15.4 |
| iOS 18.0 | iphoneos18.0 | 16.0 |
| iOS 18.1 | iphoneos18.1 | 16.1 |
| iOS 18.2 | iphoneos18.2 | 16.2 |
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
| tvOS 17.5 | appletvos17.5 | 15.4 |
| tvOS 18.0 | appletvos18.0 | 16.0 |
| tvOS 18.1 | appletvos18.1 | 16.1 |
| tvOS 18.2 | appletvos18.2 | 16.2 |
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
| watchOS 10.5 | watchos10.5 | 15.4 |
| watchOS 11.0 | watchos11.0 | 16.0 |
| watchOS 11.1 | watchos11.1 | 16.1 |
| watchOS 11.2 | watchos11.2 | 16.2 |
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| visionOS 1.2 | xros1.2 | 15.4 |
| visionOS 2.0 | xros2.0 | 16.0 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| visionOS 2.1 | xros2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
| visionOS 2.2 | xros2.2 | 16.2 |
| DriverKit 23.5 | driverkit23.5 | 15.4 |
| DriverKit 24.0 | driverkit24.0 | 16.0 |
| DriverKit 24.1 | driverkit24.1 | 16.1 |
| DriverKit 24.2 | driverkit24.2 | 16.2 |
#### Installed Simulators
| OS | Simulators |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
### Android
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 35.2.10 |
| Android SDK Build-tools | 35.0.0 |
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.0 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default) |
#### Environment variables
| Name | Value |
| ----------------------- | --------------------------------------------------- |
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
-231
View File
@@ -1,231 +0,0 @@
| Announcements |
|-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 25.](https://github.com/actions/runner-images/issues/10873) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 25.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
***
# macOS 15
- OS Version: macOS 15.1.1 (24B91)
- Kernel Version: Darwin 24.1.0
- Image Version: 20241125.405
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.404
- Bash 3.2.57(1)-release
- Clang/LLVM 16.0.0
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482
- Node.js 22.11.0
- Perl 5.40.0
- Python3 3.13.0
- Ruby 3.3.6
### Package Management
- Bundler 2.5.23
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 4.4.6
- NPM 10.9.0
- Pip3 24.2 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.23
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
- Gradle 8.11.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.27.1
- bazel 7.4.1
- bazelisk 1.24.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.47.0
- Git LFS 3.6.0
- GitHub CLI 2.62.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.6
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2
- pkgconf 2.3.0
- Unxip 3.1
- yq 4.44.5
- zstd 1.5.6
### Tools
- AWS CLI 2.22.4
- AWS SAM CLI 1.131.0
- AWS Session Manager CLI 1.2.694.0
- Azure CLI 2.67.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.92
- Cmake 3.31.1
- CodeQL Action Bundle 2.19.3
- Fastlane 2.225.0
- SwiftFormat 0.55.2
- Xcbeautify 2.15.0
- Xcode Command Line Tools 16.1.0.0.1.1729049160
- Xcodes 1.6.0
### Linters
### Browsers
- Safari 18.1.1 (20619.2.8.11.12)
- SafariDriver 18.1.1 (20619.2.8.11.12)
- Google Chrome 131.0.6778.86
- Google Chrome for Testing 131.0.6778.85
- ChromeDriver 131.0.6778.85
- Selenium server 4.26.0
#### Environment variables
| Name | Value |
| --------------- | --------------------------------------- |
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-arm64 |
| EDGEWEBDRIVER | |
| GECKOWEBDRIVER | |
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.25+9 | JAVA_HOME_11_arm64 |
| 17.0.13+11 | JAVA_HOME_17_arm64 |
| 21.0.5+11.0 (default) | JAVA_HOME_21_arm64 |
### Cached Tools
#### Ruby
- 3.1.6
- 3.2.6
- 3.3.6
#### Python
- 3.11.9
- 3.12.7
- 3.13.0
#### Node.js
- 18.20.5
- 20.18.1
- 22.11.0
#### Go
- 1.21.13
- 1.22.9
- 1.23.3
### Rust Tools
- Cargo 1.82.0
- Rust 1.82.0
- Rustdoc 1.82.0
- Rustup 1.27.1
#### Packages
- Clippy 0.1.82
- Rustfmt 1.7.1-stable
### PowerShell Tools
- PowerShell 7.4.6
#### PowerShell Modules
- Az: 12.4.0
- Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | -------- | ----------------------------------- | ----------------------------------------------------------------------------------------- |
| 16.2 (beta) | 16C5023f | /Applications/Xcode_16.2_beta_3.app | /Applications/Xcode_16.2.0.app<br>/Applications/Xcode_16.2.app |
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ------------------------ | -------------------- | ------------- |
| macOS 15.0 | macosx15.0 | 16.0 |
| macOS 15.1 | macosx15.1 | 16.1 |
| macOS 15.2 | macosx15.2 | 16.2 |
| iOS 18.0 | iphoneos18.0 | 16.0 |
| iOS 18.1 | iphoneos18.1 | 16.1 |
| iOS 18.2 | iphoneos18.2 | 16.2 |
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
| tvOS 18.0 | appletvos18.0 | 16.0 |
| tvOS 18.1 | appletvos18.1 | 16.1 |
| tvOS 18.2 | appletvos18.2 | 16.2 |
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
| watchOS 11.0 | watchos11.0 | 16.0 |
| watchOS 11.1 | watchos11.1 | 16.1 |
| watchOS 11.2 | watchos11.2 | 16.2 |
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| visionOS 2.0 | xros2.0 | 16.0 |
| visionOS 2.1 | xros2.1 | 16.1 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
| visionOS 2.2 | xros2.2 | 16.2 |
| DriverKit 24.0 | driverkit24.0 | 16.0 |
| DriverKit 24.1 | driverkit24.1 | 16.1 |
| DriverKit 24.2 | driverkit24.2 | 16.2 |
#### Installed Simulators
| OS | Simulators |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| visionOS 2.0 | Apple Vision Pro |
| visionOS 2.1 | Apple Vision Pro |
| visionOS 2.2 | Apple Vision Pro |
### Android
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 35.2.10 |
| Android SDK Build-tools | 35.0.0 |
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.0 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default) |
#### Environment variables
| Name | Value |
| ----------------------- | --------------------------------------------------- |
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
@@ -9,7 +9,6 @@
echo "Enabling automatic GUI login for the '$USERNAME' user.." echo "Enabling automatic GUI login for the '$USERNAME' user.."
python3 $HOME/bootstrap/kcpassword.py "$PASSWORD" python3 $HOME/bootstrap/kcpassword.py "$PASSWORD"
/usr/bin/defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser "$USERNAME" /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser "$USERNAME"
/usr/bin/defaults write /Library/Preferences/com.apple.loginwindow autoLoginUserScreenLocked -bool false
: ' : '
The MIT License (MIT) The MIT License (MIT)
+28 -22
View File
@@ -17,7 +17,14 @@ sudo rm -f /var/vm/sleepimage
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
# Disable Keyboard Setup Assistant window # Disable Keyboard Setup Assistant window
sudo defaults write /Library/Preferences/com.apple.keyboardtype "keyboardtype" -dict-add "3-7582-0" -int 40 if is_Veertu; then
sudo defaults write /Library/Preferences/com.apple.keyboardtype "keyboardtype" -dict-add "3-7582-0" -int 40
fi
# Change screen resolution to the maximum supported for 4Mb video memory
if [[ -d "/Library/Application Support/VMware Tools" ]]; then
sudo "/Library/Application Support/VMware Tools/vmware-resolutionSet" 1176 885
fi
# Update VoiceOver Utility to allow VoiceOver to be controlled with AppleScript # Update VoiceOver Utility to allow VoiceOver to be controlled with AppleScript
# by creating a special Accessibility DB file (SIP must be disabled) and # by creating a special Accessibility DB file (SIP must be disabled) and
@@ -32,6 +39,7 @@ defaults write com.apple.VoiceOver4/default SCREnableAppleScript -bool YES
# Rotate the certificate before expiration to ensure your apps are installed and signed with an active certificate. # Rotate the certificate before expiration to ensure your apps are installed and signed with an active certificate.
# Confirm that the correct intermediate certificate is installed by verifying the expiration date is set to 2030. # Confirm that the correct intermediate certificate is installed by verifying the expiration date is set to 2030.
# sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain # sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain
# Big Sur requires user interaction to add a cert https://developer.apple.com/forums/thread/671582, we need to use a workaround with SecItemAdd swift method
swiftc -suppress-warnings "${HOME}/image-generation/add-certificate.swift" swiftc -suppress-warnings "${HOME}/image-generation/add-certificate.swift"
@@ -50,18 +58,21 @@ done
rm -f ./add-certificate rm -f ./add-certificate
# enable-automationmode-without-authentication # enable-automationmode-without-authentication
brew install expect if ! is_BigSur; then
retry=10 retry=10
while [[ $retry -gt 0 ]]; do while [[ $retry -gt 0 ]]; do
{ {
/usr/bin/expect <<EOF osascript <<EOF
spawn automationmodetool enable-automationmode-without-authentication tell application "Terminal"
expect "password" activate
send "${PASSWORD}\r" do script "automationmodetool enable-automationmode-without-authentication"
expect { delay 2
"succeeded." { puts "Automation mode enabled successfully"; exit 0 } tell application "System Events"
eof keystroke "${PASSWORD}"
} keystroke return
end tell
end tell
delay 5
EOF EOF
} && break } && break
@@ -73,21 +84,16 @@ EOF
sleep 10 sleep 10
done done
echo "Getting terminal windows" echo "Getting terminal windows"
launchctl_output=$(launchctl list | grep -i terminal || true) term_service=$(launchctl list | grep -i terminal | cut -f3)
if [ -n "$launchctl_output" ]; then
term_service=$(echo "$launchctl_output" | cut -f3)
echo "Close terminal windows: gui/501/${term_service}" echo "Close terminal windows: gui/501/${term_service}"
launchctl bootout gui/501/${term_service} && sleep 5 launchctl bootout gui/501/${term_service} && sleep 5
else
echo "No open terminal windows found."
fi
# test enable-automationmode-without-authentication # test enable-automationmode-without-authentication
if [[ ! "$(automationmodetool)" =~ "DOES NOT REQUIRE" ]]; then if [[ ! "$(automationmodetool)" =~ "DOES NOT REQUIRE" ]]; then
echo "Failed to enable enable-automationmode-without-authentication option" echo "Failed to enable enable-automationmode-without-authentication option"
exit 1 exit 1
fi
fi fi
# Create symlink for tests running # Create symlink for tests running
@@ -19,9 +19,15 @@ if [[ $arch == "arm64" ]]; then
else else
image_label="macos-${label_version}" image_label="macos-${label_version}"
fi fi
release_label="macOS-${label_version}"
software_url="https://github.com/actions/runner-images/blob/${image_label}/${image_version}/images/macos/${image_label}-Readme.md" if is_Ventura || is_Sonoma || is_Monterey; then
releaseUrl="https://github.com/actions/runner-images/releases/tag/${image_label}%2F${image_version}" software_url="https://github.com/actions/runner-images/blob/${image_label}/${image_version}/images/macos/${image_label}-Readme.md"
releaseUrl="https://github.com/actions/runner-images/releases/tag/${image_label}%2F${image_version}"
else
software_url="https://github.com/actions/runner-images/blob/${release_label}/${image_version}/images/macos/${image_label}-Readme.md"
releaseUrl="https://github.com/actions/runner-images/releases/tag/${release_label}%2F${image_version}"
fi
cat <<EOF > $imagedata_file cat <<EOF > $imagedata_file
[ [
@@ -14,6 +14,5 @@ sudo chsh -s /bin/bash root
# Check MacOS architecture and add HOMEBREW PATH to bashrc # Check MacOS architecture and add HOMEBREW PATH to bashrc
if [[ $arch == "arm64" ]]; then if [[ $arch == "arm64" ]]; then
echo "Adding Homebrew environment to bash" echo "Adding Homebrew environment to bash"
# Discussed here: https://github.com/Homebrew/brew/pull/18366 /opt/homebrew/bin/brew shellenv >> ~/.bashrc
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bashrc
fi fi
+6 -14
View File
@@ -11,20 +11,18 @@ close_finder_window
# Remove Parallels Desktop # Remove Parallels Desktop
# https://github.com/actions/runner-images/issues/6105 # https://github.com/actions/runner-images/issues/6105
# https://github.com/actions/runner-images/issues/10143 if is_Monterey; then
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
brew uninstall parallels brew uninstall parallels
fi fi
# Put documentation to $HOME root # Put documentation to $HOME root
cp $HOME/image-generation/output/software-report/systeminfo.* $HOME/ cp $HOME/image-generation/output/software-report/systeminfo.* $HOME/
# Put build vm assets (xamarin-selector) scripts to proper directory # Put build vm assets scripts to proper directory
if is_Monterey || is_Sonoma || is_Ventura; then mkdir -p /usr/local/opt/$USER/scripts
mkdir -p /usr/local/opt/$USER/scripts mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts
mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts
find /usr/local/opt/$USER/scripts -type f -name "*\.sh" -exec chmod +x {} \; find /usr/local/opt/$USER/scripts -type f -name "*\.sh" -exec chmod +x {} \;
fi
# Remove fastlane cached cookie # Remove fastlane cached cookie
rm -rf ~/.fastlane rm -rf ~/.fastlane
@@ -47,9 +45,3 @@ echo "Indexing completed"
# delete symlink for tests running # delete symlink for tests running
sudo rm -f /usr/local/bin/invoke_tests sudo rm -f /usr/local/bin/invoke_tests
# Clean Homebrew downloads
sudo rm -rf /Users/$USER/Library/Caches/Homebrew/downloads/*
# Uninstall expect used in configure-machine.sh
brew uninstall expect
@@ -32,7 +32,7 @@ systemValuesArray=(
"'kTCCServiceSystemPolicyNetworkVolumes','com.apple.Terminal',0,2,4,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,0,'UNUSED',NULL,0,1678990068" "'kTCCServiceSystemPolicyNetworkVolumes','com.apple.Terminal',0,2,4,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,0,'UNUSED',NULL,0,1678990068"
) )
for values in "${systemValuesArray[@]}"; do for values in "${systemValuesArray[@]}"; do
if is_Sonoma || is_Sequoia; then if is_Sonoma; then
# TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded # TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}" configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
else else
@@ -66,7 +66,7 @@ userValuesArray=(
"'kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.systemevents',X'fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003',NULL,1592919552" "'kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.systemevents',X'fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003',NULL,1592919552"
) )
for values in "${userValuesArray[@]}"; do for values in "${userValuesArray[@]}"; do
if is_Sonoma || is_Sequoia; then if is_Sonoma; then
# TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded # TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}" configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
else else
@@ -12,7 +12,7 @@ if [[ ! -d $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE ]]; then
mkdir -p $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE mkdir -p $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
fi fi
download_url=$(resolve_github_release_asset_url "actions/action-versions" "contains(\"action-versions.tar.gz\")" "latest" "$API_PAT") download_url=$(resolve_github_release_asset_url "actions/action-versions" "contains(\"action-versions.tar.gz\")" "latest")
echo "Downloading action-versions $download_url" echo "Downloading action-versions $download_url"
archive_path=$(download_with_retry $download_url) archive_path=$(download_with_retry $download_url)
tar -xzf $archive_path -C $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE tar -xzf $archive_path -C $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
@@ -10,9 +10,11 @@ echo "Installing aws..."
awscliv2_pkg_path=$(download_with_retry "https://awscli.amazonaws.com/AWSCLIV2.pkg") awscliv2_pkg_path=$(download_with_retry "https://awscli.amazonaws.com/AWSCLIV2.pkg")
sudo installer -pkg "$awscliv2_pkg_path" -target / sudo installer -pkg "$awscliv2_pkg_path" -target /
echo "Installing aws sam cli..." if ! is_BigSur; then
brew tap aws/tap echo "Installing aws sam cli..."
brew_smart_install aws-sam-cli brew tap aws/tap
brew_smart_install aws-sam-cli
fi
echo "Install aws cli session manager" echo "Install aws cli session manager"
brew install --cask session-manager-plugin brew install --cask session-manager-plugin
+5 -5
View File
@@ -19,13 +19,13 @@ echo "Google Chrome version is $full_chrome_version"
# Get Google Chrome versions information # Get Google Chrome versions information
chrome_platform="mac-$arch" chrome_platform="mac-$arch"
CHROME_VERSIONS_URL="https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build-with-downloads.json" CHROME_VERSIONS_URL="https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build-with-downloads.json"
chrome_versions_json=$(download_with_retry "$CHROME_VERSIONS_URL") chrome_versions_json="$(cat $(download_with_retry "$CHROME_VERSIONS_URL"))"
# Download and unpack the latest release of Chrome Driver # Download and unpack the latest release of Chrome Driver
chromedriver_version=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version') chromedriver_version=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
echo "Installing Chrome Driver version $chromedriver_version" echo "Installing Chrome Driver version $chromedriver_version"
chromedriver_url=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chromedriver[] | select(.platform=="'"${chrome_platform}"'").url') chromedriver_url=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chromedriver[] | select(.platform=="'"${chrome_platform}"'").url')
chromedriver_dir="/usr/local/share/chromedriver-$chrome_platform" chromedriver_dir="/usr/local/share/chromedriver-$chrome_platform"
chromedriver_bin="$chromedriver_dir/chromedriver" chromedriver_bin="$chromedriver_dir/chromedriver"
@@ -36,10 +36,10 @@ ln -s $chromedriver_bin /usr/local/bin/chromedriver
echo "export CHROMEWEBDRIVER=$chromedriver_dir" >> ${HOME}/.bashrc echo "export CHROMEWEBDRIVER=$chromedriver_dir" >> ${HOME}/.bashrc
# Download and unpack the latest release of Google Chrome for Testing # Download and unpack the latest release of Google Chrome for Testing
chrome_for_testing_version=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version') chrome_for_testing_version=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
echo "Installing Google Chrome for Testing version $chrome_for_testing_version" echo "Installing Google Chrome for Testing version $chrome_for_testing_version"
chrome_for_testing_url=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chrome[] | select(.platform=="'"${chrome_platform}"'").url') chrome_for_testing_url=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chrome[] | select(.platform=="'"${chrome_platform}"'").url')
chrome_for_testing_app="Google Chrome for Testing.app" chrome_for_testing_app="Google Chrome for Testing.app"
chrome_for_testing_archive_path=$(download_with_retry $chrome_for_testing_url) chrome_for_testing_archive_path=$(download_with_retry $chrome_for_testing_url)
@@ -6,6 +6,12 @@
source ~/utils/utils.sh source ~/utils/utils.sh
# Download and install YQ in cases when it is not available in the formulae as for macOS 11: https://formulae.brew.sh/formula/yq
if is_BigSur; then
binary_path=$(download_with_retry "https://github.com/mikefarah/yq/releases/latest/download/yq_darwin_amd64")
sudo install "$binary_path" /usr/local/bin/yq
fi
# Monterey needs future review: # Monterey needs future review:
# aliyun-cli, gnupg, helm have issues with building from the source code. # aliyun-cli, gnupg, helm have issues with building from the source code.
# Added gmp for now, because toolcache ruby needs its libs. Remove it when php starts to build from source code. # Added gmp for now, because toolcache ruby needs its libs. Remove it when php starts to build from source code.
@@ -17,12 +23,7 @@ for package in $common_packages; do
xcbeautify_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-core/d3653e83f9c029a3fddb828ac804b07ac32f7b3b/Formula/x/xcbeautify.rb") xcbeautify_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-core/d3653e83f9c029a3fddb828ac804b07ac32f7b3b/Formula/x/xcbeautify.rb")
brew install "$xcbeautify_path" brew install "$xcbeautify_path"
else else
if [[ $package == "packer" ]]; then brew_smart_install "$package"
# Packer has been deprecated in Homebrew. Use tap to install Packer.
brew install hashicorp/tap/packer
else
brew_smart_install "$package"
fi
fi fi
done done
@@ -35,62 +36,45 @@ for package in $cask_packages; do
virtualbox_cask_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-cask/aa3c55951fc9d687acce43e5c0338f42c1ddff7b/Casks/virtualbox.rb") virtualbox_cask_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-cask/aa3c55951fc9d687acce43e5c0338f42c1ddff7b/Casks/virtualbox.rb")
brew install $virtualbox_cask_path brew install $virtualbox_cask_path
else else
if is_Arm64 && [[ $package == "parallels" ]]; then brew install --cask $package
echo "Parallels installation is skipped for arm64 architecture"
else
brew install --cask $package
fi
fi fi
done done
# Load "Parallels International GmbH" # Load "Parallels International GmbH"
if is_Monterey || is_SonomaX64 || is_VenturaX64; then if is_Monterey; then
sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true
fi fi
# Execute AppleScript to change security preferences for macOS12, macOS13 and macOS14 # Execute AppleScript to change security preferences
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now # System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
if is_Monterey || is_SonomaX64 || is_VenturaX64; then if is_Monterey; then
for retry in {4..0}; do if is_Veertu; then
echo "Executing AppleScript to change security preferences. Retries left: $retry" for retry in {4..0}; do
{ echo "Executing AppleScript to change security preferences. Retries left: $retry"
set -e {
osascript -e 'tell application "System Events" to get application processes where visible is true' set -e
if is_Monterey; then osascript -e 'tell application "System Events" to get application processes where visible is true'
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
fi } && break
if is_VenturaX64; then
osascript $HOME/utils/confirm-identified-developers-macos13.scpt $USER_PASSWORD
fi
if is_SonomaX64; then
osascript $HOME/utils/confirm-identified-developers-macos14.scpt $USER_PASSWORD
fi
} && break
if [[ $retry -eq 0 ]]; then if [[ $retry -eq 0 ]]; then
echo "Executing AppleScript failed. No retries left" echo "Executing AppleScript failed. No retries left"
exit 1 exit 1
fi fi
echo "Executing AppleScript failed. Sleeping for 10 seconds and retrying" echo "Executing AppleScript failed. Sleeping for 10 seconds and retrying"
sleep 10 sleep 10
done done
else
echo "Executing AppleScript to change security preferences"
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
fi
fi fi
# Validate "Parallels International GmbH" kext # Validate "Parallels International GmbH" kext
if is_Monterey || is_SonomaX64 || is_VenturaX64; then if is_Monterey; then
echo "Closing System Preferences window if it is still opened"
if is_Monterey; then killall "System Preferences" || true
echo "Closing System Preferences window if it is still opened"
killall "System Preferences" || true
fi
if is_SonomaX64 || is_VenturaX64; then
echo "Closing System Settings window if it is still opened"
killall "System Settings" || true
fi
echo "Checking parallels kexts" echo "Checking parallels kexts"
dbName="/var/db/SystemPolicyConfiguration/KextPolicy" dbName="/var/db/SystemPolicyConfiguration/KextPolicy"
@@ -111,8 +95,10 @@ if is_Monterey || is_SonomaX64 || is_VenturaX64; then
echo "export PARALLELS_DMG_URL=$url" >> ${HOME}/.bashrc echo "export PARALLELS_DMG_URL=$url" >> ${HOME}/.bashrc
fi fi
# Install Azure DevOps extension for Azure Command Line Interface if ! is_BigSur; then
az extension add -n azure-devops # Install Azure DevOps extension for Azure Command Line Interface
az extension add -n azure-devops
fi
# Invoke tests for all basic tools # Invoke tests for all basic tools
invoke_tests "BasicTools" invoke_tests "BasicTools"
@@ -1,15 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-compilable-brew-packages.sh
## Desc: Install compilable brew packages
################################################################################
source ~/utils/utils.sh
compilable_packages=$(get_toolset_value '.brew.compilable_packages[]')
for package in $compilable_packages; do
echo "Installing $package..."
brew_smart_install "$package"
done
invoke_tests "Common" "Compiled"
+9 -6
View File
@@ -11,13 +11,16 @@ brew_smart_install "git"
git config --global --add safe.directory "*" git config --global --add safe.directory "*"
echo "Installing Git LFS"
brew_smart_install "git-lfs"
# Update global git config if ! is_BigSur; then
git lfs install echo "Installing Git LFS"
# Update system git config brew_smart_install "git-lfs"
sudo git lfs install --system
# Update global git config
git lfs install
# Update system git config
sudo git lfs install --system
fi
echo "Disable all the Git help messages..." echo "Disable all the Git help messages..."
git config --global advice.pushUpdateRejected false git config --global advice.pushUpdateRejected false
+1 -1
View File
@@ -16,7 +16,7 @@ echo Installing yarn...
yarn_installer_path=$(download_with_retry "https://yarnpkg.com/install.sh") yarn_installer_path=$(download_with_retry "https://yarnpkg.com/install.sh")
bash $yarn_installer_path bash $yarn_installer_path
if is_Monterey; then if is_BigSur || is_Monterey; then
npm_global_packages=$(get_toolset_value '.npm.global_packages[].name') npm_global_packages=$(get_toolset_value '.npm.global_packages[].name')
for module in ${npm_global_packages[@]}; do for module in ${npm_global_packages[@]}; do
echo "Install $module" echo "Install $module"
+1 -10
View File
@@ -7,16 +7,7 @@
source ~/utils/utils.sh source ~/utils/utils.sh
[[ -n $API_PAT ]] && authString=(-H "Authorization: token ${API_PAT}") [[ -n $API_PAT ]] && authString=(-H "Authorization: token ${API_PAT}")
nvm_version=$(curl "${authString[@]}" -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
nvm_version=$(get_toolset_value '.node.nvm_installer')
if [[ -z $nvm_version || "$nvm_version" == "latest" ]]; then
nvm_version=$(curl "${authString[@]}" -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
fi
if [[ $nvm_version != "v*" ]]; then
nvm_version="v${nvm_version}"
fi
nvm_installer_path=$(download_with_retry "https://raw.githubusercontent.com/nvm-sh/nvm/$nvm_version/install.sh") nvm_installer_path=$(download_with_retry "https://raw.githubusercontent.com/nvm-sh/nvm/$nvm_version/install.sh")
if bash $nvm_installer_path; then if bash $nvm_installer_path; then
@@ -7,13 +7,7 @@
source ~/utils/utils.sh source ~/utils/utils.sh
echo "Install [email protected]" echo "Install [email protected]"
brew_smart_install "[email protected]"
COMMIT=d91dabd087cb0b906c92a825df9e5e5e1a4f59f8
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/o/[email protected]"
FORMULA_PATH="$(brew --repository)/Library/Taps/homebrew/homebrew-core/Formula/o/[email protected]"
mkdir -p "$(dirname $FORMULA_PATH)"
curl -fsSL $FORMULA_URL -o $FORMULA_PATH
HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install [email protected]
if ! is_Arm64; then if ! is_Arm64; then
# Symlink brew [email protected] to `/usr/local/bin` as Homebrew refuses # Symlink brew [email protected] to `/usr/local/bin` as Homebrew refuses
+4 -2
View File
@@ -8,7 +8,7 @@ source ~/utils/utils.sh
echo "Installing Python Tooling" echo "Installing Python Tooling"
if is_Monterey; then if is_Monterey || is_BigSur; then
echo "Install latest Python 2" echo "Install latest Python 2"
python2_pkg=$(download_with_retry "https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg") python2_pkg=$(download_with_retry "https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg")
python2_pkg_sha256="c570f38b05dd8b112ad21b418cdf51a9816d62f9f44746452739d421be24d50c" python2_pkg_sha256="c570f38b05dd8b112ad21b418cdf51a9816d62f9f44746452739d421be24d50c"
@@ -33,7 +33,9 @@ EOF
fi fi
# Close Finder window # Close Finder window
close_finder_window if is_Veertu; then
close_finder_window
fi
echo "Brew Installing Python 3" echo "Brew Installing Python 3"
brew_smart_install "[email protected]" brew_smart_install "[email protected]"
+31 -32
View File
@@ -12,10 +12,8 @@ echo "Installing Ruby..."
brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}" brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}"
if [[ $arch == "arm64" ]]; then if [[ $arch == "arm64" ]]; then
export PATH=/opt/homebrew/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH export PATH=/opt/homebrew/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
ruby_suffix="macos-13-arm64"
else else
export PATH=/usr/local/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH export PATH=/usr/local/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
ruby_suffix="macos-latest"
fi fi
GEM_PATH=$(gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}') GEM_PATH=$(gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}')
@@ -26,36 +24,37 @@ else
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> $HOME/.bashrc echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> $HOME/.bashrc
fi fi
echo "Install Ruby from toolset..." if ! is_Arm64; then
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}") echo "Install Ruby from toolset..."
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name') [ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .arch.'$arch'.versions[]') PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
RUBY_PATH=$AGENT_TOOLSDIRECTORY/Ruby TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .arch.'$arch'.versions[]')
RUBY_PATH=$AGENT_TOOLSDIRECTORY/Ruby
echo "Check if Ruby hostedtoolcache folder exists..." echo "Check if Ruby hostedtoolcache folder exists..."
if [[ ! -d $RUBY_PATH ]]; then if [[ ! -d $RUBY_PATH ]]; then
mkdir -p $RUBY_PATH mkdir -p $RUBY_PATH
fi
echo "ruby path - $RUBY_PATH"
for toolset_version in ${TOOLSET_VERSIONS[@]}; do
package_tar_name=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${toolset_version}-${ruby_suffix}.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1)
ruby_version=$(echo "$package_tar_name" | cut -d'-' -f 2)
ruby_version_path="$RUBY_PATH/$ruby_version"
echo "Create Ruby $ruby_version directory..."
mkdir -p $ruby_version_path
echo "Downloading tar archive $package_tar_name"
archive_path=$(download_with_retry "https://github.com/ruby/ruby-builder/releases/download/toolcache/${package_tar_name}")
echo "Expand $package_tar_name to the $ruby_version_path folder"
tar xf $archive_path -C $ruby_version_path
complete_file_path=$ruby_version_path/$arch.complete
if [[ ! -f $complete_file_path ]]; then
echo "Create complete file"
touch $complete_file_path
fi fi
done echo "ruby path - $RUBY_PATH "
for TOOLSET_VERSION in ${TOOLSET_VERSIONS[@]}; do
PACKAGE_TAR_NAME=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${TOOLSET_VERSION}-macos-latest.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1)
RUBY_VERSION=$(echo "$PACKAGE_TAR_NAME" | cut -d'-' -f 2)
RUBY_VERSION_PATH="$RUBY_PATH/$RUBY_VERSION"
invoke_tests "Ruby" echo "Create Ruby $RUBY_VERSION directory..."
mkdir -p $RUBY_VERSION_PATH
echo "Downloading tar archive $PACKAGE_TAR_NAME"
ARCHIVE_PATH=$(download_with_retry "https://github.com/ruby/ruby-builder/releases/download/toolcache/${PACKAGE_TAR_NAME}")
echo "Expand $PACKAGE_TAR_NAME to the $RUBY_VERSION_PATH folder"
tar xf $ARCHIVE_PATH -C $RUBY_VERSION_PATH
COMPLETE_FILE_PATH=$RUBY_VERSION_PATH/x64.complete
if [[ ! -f $COMPLETE_FILE_PATH ]]; then
echo "Create complete file"
touch $COMPLETE_FILE_PATH
fi
done
fi
invoke_tests "Ruby.$arch"
+2 -2
View File
@@ -18,8 +18,8 @@ CARGO_HOME=$HOME/.cargo
echo "Install common tools..." echo "Install common tools..."
rustup component add rustfmt clippy rustup component add rustfmt clippy
if is_Monterey; then if is_BigSur || is_Monterey; then
cargo install bindgen-cli cbindgen cargo-audit cargo-outdated cargo install --locked bindgen-cli cbindgen cargo-audit cargo-outdated
fi fi
echo "Cleanup Cargo registry cached data..." echo "Cleanup Cargo registry cached data..."
@@ -7,7 +7,14 @@
source ~/utils/utils.sh source ~/utils/utils.sh
echo "Installing Swiftlint..." echo "Installing Swiftlint..."
if is_Monterey; then if is_BigSur; then
# SwiftLint now requires Swift 5.6 or higher to build, and macOS 12 or higher to run https://github.com/realm/SwiftLint/releases/tag/0.49.0
COMMIT=d1d5743344227fe6e3c37cfba19f0cfe15a9448a
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/swiftlint.rb"
curl -fsSL $FORMULA_URL > $(find $(brew --repository) -name swiftlint.rb)
HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install swiftlint
elif is_Monterey; then
# SwiftLint now requires Xcode 15.3 or higher to build https://github.com/realm/SwiftLint/releases/tag/0.55.1 # SwiftLint now requires Xcode 15.3 or higher to build https://github.com/realm/SwiftLint/releases/tag/0.55.1
COMMIT=d91dabd087cb0b906c92a825df9e5e5e1a4f59f8 COMMIT=d91dabd087cb0b906c92a825df9e5e5e1a4f59f8
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/s/swiftlint.rb" FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/s/swiftlint.rb"
@@ -1,15 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-unxip.sh
## Desc: Install unxip
################################################################################
source ~/utils/utils.sh
echo "Installing unxip..."
unxip_pkg=$(download_with_retry "https://github.com/saagarjha/unxip/releases/download/v3.1/unxip")
unxip_pkg_sha256="926ecd7bffa201c7b2b8a729fc70fbf228cf624a0e6856c13f935a97fa4fc71a"
use_checksum_comparison $unxip_pkg $unxip_pkg_sha256
install "$unxip_pkg" /usr/local/bin/unxip
invoke_tests "Common" "Unxip"
@@ -38,34 +38,32 @@ $languageAndRuntime.AddToolVersion("Bash", $(Get-BashVersion))
$languageAndRuntime.AddNodes($(Get-ClangLLVMVersions)) $languageAndRuntime.AddNodes($(Get-ClangLLVMVersions))
$languageAndRuntime.AddNodes($(Get-GccVersions)) $languageAndRuntime.AddNodes($(Get-GccVersions))
$languageAndRuntime.AddNodes($(Get-FortranVersions)) $languageAndRuntime.AddNodes($(Get-FortranVersions))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion)) $languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion))
} }
$languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion)) $languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion)) $languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion))
} }
if ((-not $os.IsSequoia)) { $languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
}
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion)) $languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion)) $languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion))
$languageAndRuntime.AddToolVersion("NVM", $(Get-NVMVersion)) $languageAndRuntime.AddToolVersion("NVM", $(Get-NVMVersion))
$languageAndRuntime.AddToolVersionsListInline("NVM - Cached node versions", $(Get-NVMNodeVersionList), '^\d+') $languageAndRuntime.AddToolVersionsListInline("NVM - Cached node versions", $(Get-NVMNodeVersionList), '^\d+')
} }
$languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion)) $languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion))
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) { if ((-not $os.IsBigSur) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
$languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion)) $languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion))
} }
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion)) $languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion))
} }
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version)) $languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsBigSur)) {
$languageAndRuntime.AddToolVersion("R", $(Get-RVersion)) $languageAndRuntime.AddToolVersion("R", $(Get-RVersion))
} }
@@ -76,18 +74,16 @@ $packageManagement = $installedSoftware.AddHeader("Package Management")
$packageManagement.AddToolVersion("Bundler", $(Get-BundlerVersion)) $packageManagement.AddToolVersion("Bundler", $(Get-BundlerVersion))
$packageManagement.AddToolVersion("Carthage", $(Get-CarthageVersion)) $packageManagement.AddToolVersion("Carthage", $(Get-CarthageVersion))
$packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion)) $packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion))
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) { if ((-not $os.IsBigSur) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
$packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion)) $packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion))
} }
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion)) $packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion)) $packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion))
} }
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion)) $packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
if ((-not $os.IsSequoia)) { $packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion)) if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
}
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2)) $packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2))
} }
@@ -95,12 +91,12 @@ $packageManagement.AddToolVersion("Pip3", $(Get-PipVersion -Version 3))
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion)) $packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
$packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion)) $packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion))
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSonoma)) {
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion)) $packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
} }
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion)) $packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$packageManagement.AddNode($(Build-PackageManagementEnvironmentTable)) $packageManagement.AddNode($(Build-PackageManagementEnvironmentTable))
} }
# Project Management # Project Management
@@ -108,7 +104,7 @@ $projectManagement = $installedSoftware.AddHeader("Project Management")
$projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion)) $projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion))
$projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion)) $projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion))
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion)) $projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion)) $projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
} }
@@ -122,23 +118,31 @@ $utilities.AddToolVersion("bazelisk", $(Get-BazeliskVersion))
$utilities.AddToolVersion("bsdtar", $(Get-BsdtarVersion)) $utilities.AddToolVersion("bsdtar", $(Get-BsdtarVersion))
$utilities.AddToolVersion("Curl", $(Get-CurlVersion)) $utilities.AddToolVersion("Curl", $(Get-CurlVersion))
$utilities.AddToolVersion("Git", $(Get-GitVersion)) $utilities.AddToolVersion("Git", $(Get-GitVersion))
$utilities.AddToolVersion("Git LFS", $(Get-GitLFSVersion)) if (-not $os.IsBigSur) {
$utilities.AddToolVersion("Git LFS", $(Get-GitLFSVersion))
}
$utilities.AddToolVersion("GitHub CLI", $(Get-GitHubCLIVersion)) $utilities.AddToolVersion("GitHub CLI", $(Get-GitHubCLIVersion))
$utilities.AddToolVersion("GNU Tar", $(Get-GnuTarVersion)) $utilities.AddToolVersion("GNU Tar", $(Get-GnuTarVersion))
$utilities.AddToolVersion("GNU Wget", $(Get-WgetVersion)) $utilities.AddToolVersion("GNU Wget", $(Get-WgetVersion))
$utilities.AddToolVersion("gpg (GnuPG)", $(Get-GPGVersion)) $utilities.AddToolVersion("gpg (GnuPG)", $(Get-GPGVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ($os.IsBigSur) {
$utilities.AddToolVersion("helm", $(Get-HelmVersion))
}
if ((-not $os.IsBigSur) -and (-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion)) $utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion))
} }
$utilities.AddToolVersion("jq", $(Get-JqVersion)) $utilities.AddToolVersion("jq", $(Get-JqVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$utilities.AddToolVersion("mongo", $(Get-MongoVersion)) $utilities.AddToolVersion("mongo", $(Get-MongoVersion))
$utilities.AddToolVersion("mongod", $(Get-MongodVersion)) $utilities.AddToolVersion("mongod", $(Get-MongodVersion))
} }
if ($os.IsBigSur) {
$utilities.AddToolVersion("Newman", $(Get-NewmanVersion))
}
$utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion)) $utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion))
$utilities.AddToolVersion("Packer", $(Get-PackerVersion)) $utilities.AddToolVersion("Packer", $(Get-PackerVersion))
$utilities.AddToolVersion("pkgconf", $(Get-PKGConfVersion)) $utilities.AddToolVersion("pkg-config", $(Get-PKGConfigVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$utilities.AddToolVersion("PostgreSQL", $(Get-PostgresServerVersion)) $utilities.AddToolVersion("PostgreSQL", $(Get-PostgresServerVersion))
$utilities.AddToolVersion("psql (PostgreSQL)", $(Get-PostgresClientVersion)) $utilities.AddToolVersion("psql (PostgreSQL)", $(Get-PostgresClientVersion))
$utilities.AddToolVersion("Sox", $(Get-SoxVersion)) $utilities.AddToolVersion("Sox", $(Get-SoxVersion))
@@ -149,22 +153,28 @@ if ($os.IsMonterey) {
$utilities.AddToolVersion("Vagrant", $(Get-VagrantVersion)) $utilities.AddToolVersion("Vagrant", $(Get-VagrantVersion))
$utilities.AddToolVersion("VirtualBox", $(Get-VirtualBoxVersion)) $utilities.AddToolVersion("VirtualBox", $(Get-VirtualBoxVersion))
} }
$utilities.AddToolVersion("Unxip", $(Get-UnxipVersion))
$utilities.AddToolVersion("yq", $(Get-YqVersion)) $utilities.AddToolVersion("yq", $(Get-YqVersion))
$utilities.AddToolVersion("zstd", $(Get-ZstdVersion)) $utilities.AddToolVersion("zstd", $(Get-ZstdVersion))
# Tools # Tools
$tools = $installedSoftware.AddHeader("Tools") $tools = $installedSoftware.AddHeader("Tools")
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ($os.IsBigSur) {
$tools.AddToolVersion("Aliyun CLI", $(Get-AliyunCLIVersion))
}
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion)) $tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion))
} }
$tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion)) $tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion))
$tools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMCLIVersion)) if (-not $os.IsBigSur) {
$tools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMCLIVersion))
}
$tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersion)) $tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersion))
$tools.AddToolVersion("Azure CLI", $(Get-AzureCLIVersion)) if (-not $os.IsBigSur) {
$tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion)) $tools.AddToolVersion("Azure CLI", $(Get-AzureCLIVersion))
$tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
}
$tools.AddToolVersion("Bicep CLI", $(Get-BicepVersion)) $tools.AddToolVersion("Bicep CLI", $(Get-BicepVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$tools.AddToolVersion("Cabal", $(Get-CabalVersion)) $tools.AddToolVersion("Cabal", $(Get-CabalVersion))
} }
$tools.AddToolVersion("Cmake", $(Get-CmakeVersion)) $tools.AddToolVersion("Cmake", $(Get-CmakeVersion))
@@ -173,26 +183,30 @@ if ($os.IsMonterey) {
$tools.AddToolVersion("Colima", $(Get-ColimaVersion)) $tools.AddToolVersion("Colima", $(Get-ColimaVersion))
} }
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion)) $tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$tools.AddToolVersion("GHC", $(Get-GHCVersion)) $tools.AddToolVersion("GHC", $(Get-GHCVersion))
$tools.AddToolVersion("GHCup", $(Get-GHCupVersion)) $tools.AddToolVersion("GHCup", $(Get-GHCupVersion))
$tools.AddToolVersion("Jazzy", $(Get-JazzyVersion)) $tools.AddToolVersion("Jazzy", $(Get-JazzyVersion))
$tools.AddToolVersion("Stack", $(Get-StackVersion)) $tools.AddToolVersion("Stack", $(Get-StackVersion))
} }
$tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion)) $tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$tools.AddToolVersion("Swig", $(Get-SwigVersion)) $tools.AddToolVersion("Swig", $(Get-SwigVersion))
} }
$tools.AddToolVersion("Xcbeautify", $(Get-XcbeautifyVersion)) if (-not $os.IsBigSur) {
$tools.AddToolVersion("Xcbeautify", $(Get-XcbeautifyVersion))
}
$tools.AddToolVersion("Xcode Command Line Tools", $(Get-XcodeCommandLineToolsVersion)) $tools.AddToolVersion("Xcode Command Line Tools", $(Get-XcodeCommandLineToolsVersion))
$tools.AddToolVersion("Xcodes", $(Get-XcodesVersion)) if (-not $os.IsBigSur) {
$tools.AddToolVersion("Xcodes", $(Get-XcodesVersion))
}
# Linters # Linters
$linters = $installedSoftware.AddHeader("Linters") $linters = $installedSoftware.AddHeader("Linters")
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) { if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
$linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion)) $linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion))
} }
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$linters.AddToolVersion("Yamllint", $(Get-YamllintVersion)) $linters.AddToolVersion("Yamllint", $(Get-YamllintVersion))
} }
@@ -206,10 +220,12 @@ $java = $installedSoftware.AddHeader("Java")
$java.AddTable($(Get-JavaVersions)) $java.AddTable($(Get-JavaVersions))
# Toolcache # Toolcache
$toolcache = $installedSoftware.AddHeader("Cached Tools") $toolcache = $installedSoftware.AddHeader("Cached Tools")
$toolcache.AddNodes($(Build-ToolcacheSection)) $toolcache.AddNodes($(Build-ToolcacheSection))
# Rust # Rust
if (-not $os.IsBigSur) {
$rust = $installedSoftware.AddHeader("Rust Tools") $rust = $installedSoftware.AddHeader("Rust Tools")
$rust.AddToolVersion("Cargo", $(Get-RustCargoVersion)) $rust.AddToolVersion("Cargo", $(Get-RustCargoVersion))
$rust.AddToolVersion("Rust", $(Get-RustVersion)) $rust.AddToolVersion("Rust", $(Get-RustVersion))
@@ -217,7 +233,7 @@ $rust.AddToolVersion("Rustdoc", $(Get-RustdocVersion))
$rust.AddToolVersion("Rustup", $(Get-RustupVersion)) $rust.AddToolVersion("Rustup", $(Get-RustupVersion))
$rustPackages = $rust.AddHeader("Packages") $rustPackages = $rust.AddHeader("Packages")
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$rustPackages.AddToolVersion("Bindgen", $(Get-Bindgen)) $rustPackages.AddToolVersion("Bindgen", $(Get-Bindgen))
$rustPackages.AddToolVersion("Cargo-audit", $(Get-Cargoaudit)) $rustPackages.AddToolVersion("Cargo-audit", $(Get-Cargoaudit))
$rustPackages.AddToolVersion("Cargo-outdated", $(Get-Cargooutdated)) $rustPackages.AddToolVersion("Cargo-outdated", $(Get-Cargooutdated))
@@ -225,6 +241,7 @@ if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
} }
$rustPackages.AddToolVersion("Clippy", $(Get-RustClippyVersion)) $rustPackages.AddToolVersion("Clippy", $(Get-RustClippyVersion))
$rustPackages.AddToolVersion("Rustfmt", $(Get-RustfmtVersion)) $rustPackages.AddToolVersion("Rustfmt", $(Get-RustfmtVersion))
}
# PowerShell # PowerShell
$powerShell = $installedSoftware.AddHeader("PowerShell Tools") $powerShell = $installedSoftware.AddHeader("PowerShell Tools")
@@ -234,13 +251,13 @@ $powerShellModules = $powerShell.AddHeader("PowerShell Modules")
$powerShellModules.AddNodes($(Get-PowerShellModules)) $powerShellModules.AddNodes($(Get-PowerShellModules))
# Web Servers # Web Servers
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$webServers = $installedSoftware.AddHeader("Web Servers") $webServers = $installedSoftware.AddHeader("Web Servers")
$webServers.AddTable($(Build-WebServersSection)) $webServers.AddTable($(Build-WebServersSection))
} }
# Xamarin section # Xamarin section
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$xamarin = $installedSoftware.AddHeader("Xamarin") $xamarin = $installedSoftware.AddHeader("Xamarin")
$vsForMac = $xamarin.AddHeader("Visual Studio for Mac") $vsForMac = $xamarin.AddHeader("Visual Studio for Mac")
$vsForMac.AddTable($(Build-VSMacTable)) $vsForMac.AddTable($(Build-VSMacTable))
@@ -267,7 +284,7 @@ Get-XcodeInfoList | Out-Null
$xcodeInfo = Get-XcodeInfoList $xcodeInfo = Get-XcodeInfoList
$xcode.AddTable($(Build-XcodeTable $xcodeInfo)) $xcode.AddTable($(Build-XcodeTable $xcodeInfo))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
$xcodeTools = $xcode.AddHeader("Xcode Support Tools") $xcodeTools = $xcode.AddHeader("Xcode Support Tools")
$xcodeTools.AddNodes($(Build-XcodeSupportToolsSection)) $xcodeTools.AddNodes($(Build-XcodeSupportToolsSection))
} }
@@ -286,7 +303,7 @@ $android.AddTable($androidTable)
$androidEnv = $android.AddHeader("Environment variables") $androidEnv = $android.AddHeader("Environment variables")
$androidEnv.AddTable($(Build-AndroidEnvironmentTable)) $androidEnv.AddTable($(Build-AndroidEnvironmentTable))
if ($os.IsMonterey) { if ($os.IsBigSur -or $os.IsMonterey) {
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous") $miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
$miscellaneous.AddToolVersion("libXext", $(Get-LibXextVersion)) $miscellaneous.AddToolVersion("libXext", $(Get-LibXextVersion))
$miscellaneous.AddToolVersion("libXft", $(Get-LibXftVersion)) $miscellaneous.AddToolVersion("libXft", $(Get-LibXftVersion))
@@ -294,15 +311,7 @@ if ($os.IsMonterey) {
$miscellaneous.AddToolVersion("Zlib", $(Get-ZlibVersion)) $miscellaneous.AddToolVersion("Zlib", $(Get-ZlibVersion))
} }
if ($os.IsSonoma -or $os.IsVentura) { if ($os.IsMonterey) {
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
$miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion))
}
if ($os.IsMonterey -or $os.IsSonomaX64 -or $os.IsVenturaX64) {
Write-Host "Adding environment variables for parallels"
$miscellaneousEnv = $miscellaneous.AddHeader("Environment variables") $miscellaneousEnv = $miscellaneous.AddHeader("Environment variables")
$miscellaneousEnv.AddTable($(Build-MiscellaneousEnvironmentTable)) $miscellaneousEnv.AddTable($(Build-MiscellaneousEnvironmentTable))
@@ -11,7 +11,7 @@ function Build-BrowserSection {
[ToolVersionNode]::new("ChromeDriver", $(Get-ChromeDriverVersion)) [ToolVersionNode]::new("ChromeDriver", $(Get-ChromeDriverVersion))
) )
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) { if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
$nodes += @( $nodes += @(
[ToolVersionNode]::new("Microsoft Edge", $(Get-EdgeVersion)) [ToolVersionNode]::new("Microsoft Edge", $(Get-EdgeVersion))
[ToolVersionNode]::new("Microsoft Edge WebDriver", $(Get-EdgeDriverVersion)) [ToolVersionNode]::new("Microsoft Edge WebDriver", $(Get-EdgeDriverVersion))
@@ -79,7 +79,7 @@ function Get-GeckodriverVersion {
function Get-SeleniumVersion { function Get-SeleniumVersion {
$os = Get-OSVersion $os = Get-OSVersion
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) { if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
$cellarPath = "/opt/homebrew/Cellar" $cellarPath = "/opt/homebrew/Cellar"
} else { } else {
$cellarPath = "/usr/local/Cellar" $cellarPath = "/usr/local/Cellar"
@@ -367,6 +367,11 @@ function Get-BazeliskVersion {
return ($bazeliskVersion -replace "^bazelisk").Trim() return ($bazeliskVersion -replace "^bazelisk").Trim()
} }
function Get-HelmVersion {
$helmVersion = Run-Command "helm version --short"
return $helmVersion
}
function Get-MongoVersion { function Get-MongoVersion {
$mongo = Run-Command "mongo --version" | Select-String "MongoDB shell version" | Take-Part -Part 3 $mongo = Run-Command "mongo --version" | Select-String "MongoDB shell version" | Take-Part -Part 3
return $mongo.TrimStart("v").Trim() return $mongo.TrimStart("v").Trim()
@@ -392,6 +397,11 @@ function Get-BsdtarVersion {
return "$bsdtar - available by 'tar' alias" return "$bsdtar - available by 'tar' alias"
} }
function Get-NewmanVersion {
$newmanVersion = Run-Command "newman --version"
return $newmanVersion
}
function Get-VirtualBoxVersion { function Get-VirtualBoxVersion {
$virtualBox = Run-Command "vboxmanage -v" $virtualBox = Run-Command "vboxmanage -v"
return $virtualBox return $virtualBox
@@ -447,6 +457,11 @@ function Get-AWSSessionManagerCLIVersion {
return $awsSessionManagerVersion return $awsSessionManagerVersion
} }
function Get-AliyunCLIVersion {
$aliyunVersion = Run-Command "aliyun --version" | Select-String "Alibaba Cloud Command Line Interface Version " | Take-Part -Part 6
return $aliyunVersion
}
function Get-GHCupVersion { function Get-GHCupVersion {
$ghcUpVersion = (Run-Command "ghcup --version" | Take-Part -Part 5).Replace('v','') $ghcUpVersion = (Run-Command "ghcup --version" | Take-Part -Part 5).Replace('v','')
return $ghcUpVersion return $ghcUpVersion
@@ -538,7 +553,7 @@ function Get-LibXextVersion {
} }
function Get-TclTkVersion { function Get-TclTkVersion {
$tcltkVersion = (Run-Command "brew info --json tcl-tk@8" | ConvertFrom-Json).installed.version $tcltkVersion = (Run-Command "brew info --json tcl-tk" | ConvertFrom-Json).installed.version
return $tcltkVersion return $tcltkVersion
} }
@@ -605,9 +620,9 @@ function Get-ColimaVersion {
return $colimaVersion return $colimaVersion
} }
function Get-PKGConfVersion { function Get-PKGConfigVersion {
$pkgconfVersion = Run-Command "pkgconf --version" $pkgconfigVersion = Run-Command "pkg-config --version"
return $pkgconfVersion return $pkgconfigVersion
} }
function Get-XcbeautifyVersion { function Get-XcbeautifyVersion {
@@ -619,8 +634,3 @@ function Get-XcodesVersion {
$XcodesVersion = Run-Command "xcodes version" $XcodesVersion = Run-Command "xcodes version"
return $XcodesVersion return $XcodesVersion
} }
function Get-UnxipVersion {
$unxipVersion = Run-Command "unxip --version" | Take-Part -Part 1
return $unxipVersion
}
@@ -2,7 +2,7 @@ function Get-JavaVersions {
$defaultJavaPath = (Get-Item env:JAVA_HOME).value $defaultJavaPath = (Get-Item env:JAVA_HOME).value
$os = Get-OSVersion $os = Get-OSVersion
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) { if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
$javaVersions = Get-Item env:JAVA_HOME_*_arm64 $javaVersions = Get-Item env:JAVA_HOME_*_arm64
} else { } else {
$javaVersions = Get-Item env:JAVA_HOME_*_X64 $javaVersions = Get-Item env:JAVA_HOME_*_X64
@@ -37,14 +37,18 @@ function Build-ToolcacheSection {
$nodes = @() $nodes = @()
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) { if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
$nodes += @( $nodes += @(
[ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List") [ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List")
) )
} }
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
$nodes += @(
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
)
}
$nodes += @( $nodes += @(
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
[ToolVersionsListNode]::new("Python", $(Get-ToolcachePythonVersions), '^\d+\.\d+', "List"), [ToolVersionsListNode]::new("Python", $(Get-ToolcachePythonVersions), '^\d+\.\d+', "List"),
[ToolVersionsListNode]::new("Node.js", $(Get-ToolcacheNodeVersions), '^\d+', "List"), [ToolVersionsListNode]::new("Node.js", $(Get-ToolcacheNodeVersions), '^\d+', "List"),
[ToolVersionsListNode]::new("Go", $(Get-ToolcacheGoVersions), '^\d+\.\d+', "List") [ToolVersionsListNode]::new("Go", $(Get-ToolcacheGoVersions), '^\d+\.\d+', "List")
@@ -94,26 +94,12 @@ function Build-XcodeTable {
$xcodeList = $xcodeInfo.Values | ForEach-Object { $_.VersionInfo } | Sort-Object $sortRules $xcodeList = $xcodeInfo.Values | ForEach-Object { $_.VersionInfo } | Sort-Object $sortRules
return $xcodeList | ForEach-Object { return $xcodeList | ForEach-Object {
$defaultPostfix = if ($_.IsDefault) { " (default)" } else { "" } $defaultPostfix = If ($_.IsDefault) { " (default)" } else { "" }
$betaPostfix = if ($_.IsStable) { "" } else { " (beta)" } $betaPostfix = If ($_.IsStable) { "" } else { " (beta)" }
$targetPath = $_.Path
$symlinks = @()
Get-ChildItem -Path "/Applications" | ForEach-Object {
if ($_.LinkType -eq 'SymbolicLink') {
$linkTarget = & readlink $_.FullName
if ($linkTarget -eq $targetPath) {
$symlinks += $_.FullName
}
}
}
if ($null -eq $symlinks) {
$symlinks = @("N/A")
}
return [PSCustomObject] @{ return [PSCustomObject] @{
"Version" = $_.Version.ToString() + $betaPostfix + $defaultPostfix "Version" = $_.Version.ToString() + $betaPostfix + $defaultPostfix
"Build" = $_.Build "Build" = $_.Build
"Path" = $_.Path "Path" = $_.Path
"Symlinks" = [String]::Join("<br>", $symlinks)
} }
} }
} }
@@ -200,30 +186,35 @@ function Build-XcodeSimulatorsTable {
$runtimes += $_ $runtimes += $_
} }
} }
$runtimes = $runtimes | Sort-Object @{ Expression = { $_.identifier } } -Unique $runtimes = $runtimes | Sort-Object @{ Expression = { $_.identifier } } -Unique
return $runtimes | ForEach-Object { return $runtimes | ForEach-Object {
$runtime = $_ $runtime = $_
$runtimeDevices = @() $runtimeDevices = @()
$xcodeList = @()
$xcodeInfo.Values | ForEach-Object { $xcodeInfo.Values | ForEach-Object {
$runtimeFound = $_.SimulatorsInfo.runtimes | Where-Object { $_.identifier -eq $runtime.identifier } | Select-Object -First 1 $runtimeFound = $_.SimulatorsInfo.runtimes | Where-Object { $_.identifier -eq $runtime.identifier } | Select-Object -First 1
if ($runtimeFound) { if ($runtimeFound) {
$devicesToAdd = Build-XcodeDevicesList -XcodeInfo $_ -Runtime $runtimeFound $devicesToAdd = Build-XcodeDevicesList -XcodeInfo $_ -Runtime $runtimeFound
$runtimeDevices += $devicesToAdd | Select-Object -ExpandProperty name $runtimeDevices += $devicesToAdd | Select-Object -ExpandProperty name
$xcodeList += $_.VersionInfo.Version
} }
} }
$xcodeList = $xcodeList | Sort-Object
$runtimeDevices = $runtimeDevices | ForEach-Object { Format-XcodeSimulatorName $_ } | Select-Object -Unique $runtimeDevices = $runtimeDevices | ForEach-Object { Format-XcodeSimulatorName $_ } | Select-Object -Unique
If (($runtimeDevices | Where-Object { -not ([string]::IsNullOrWhitespace($_)) }).Count -eq 0) { $sortedRuntimeDevices = $runtimeDevices | Sort-Object @{
$sortedRuntimeDevices = @("N/A") Expression = { $_.Split(" ")[0] };
} else { Descending = $true;
$sortedRuntimeDevices = $runtimeDevices | Sort-Object @{ }, {
Expression = { $_.Split(" ")[0] }; $_.Split(" ") | Select-Object -Skip 1 | Join-String -Separator " "
Descending = $true;
}, {
$_.Split(" ") | Select-Object -Skip 1 | Join-String -Separator " "
}
} }
return [PSCustomObject] @{ return [PSCustomObject] @{
"OS" = $runtime.name "OS" = $runtime.name
"Xcode Version" = [String]::Join("<br>", $xcodeList)
"Simulators" = [String]::Join("<br>", $sortedRuntimeDevices) "Simulators" = [String]::Join("<br>", $sortedRuntimeDevices)
} }
} | Sort-Object { } | Sort-Object {
@@ -245,7 +236,7 @@ function Build-XcodeSupportToolsSection {
$xcversion = Run-Command "xcversion --version" | Select-String "^[0-9]" $xcversion = Run-Command "xcversion --version" | Select-String "^[0-9]"
$toolNodes += [ToolVersionNode]::new("xcpretty", $xcpretty) $toolNodes += [ToolVersionNode]::new("xcpretty", $xcpretty)
if ($os.IsMonterey) { if ($os.IsBigSur -or $os.IsMonterey) {
$toolNodes += [ToolVersionNode]::new("xcversion", $xcversion) $toolNodes += [ToolVersionNode]::new("xcversion", $xcversion)
} }
@@ -254,5 +245,10 @@ function Build-XcodeSupportToolsSection {
$nomadShenzhenOutput = Run-Command "ipa -version" $nomadShenzhenOutput = Run-Command "ipa -version"
$nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value $nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value
if ($os.IsBigSur) {
$toolNodes += [ToolVersionNode]::new("Nomad CLI", $nomadCLI)
$toolNodes += [ToolVersionNode]::new("Nomad shenzhen CLI", $nomadShenzhen)
}
return $toolNodes return $toolNodes
} }
@@ -29,6 +29,7 @@ function Get-OSVersion {
Version = $osVersion.Version Version = $osVersion.Version
Platform = $osVersion.Platform Platform = $osVersion.Platform
IsArm64 = $processorArchitecture -eq "arm64" IsArm64 = $processorArchitecture -eq "arm64"
IsBigSur = $osVersion.Version.Major -eq "11"
IsMonterey = $osVersion.Version.Major -eq "12" IsMonterey = $osVersion.Version.Major -eq "12"
IsVentura = $($osVersion.Version.Major -eq "13") IsVentura = $($osVersion.Version.Major -eq "13")
IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64") IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64")
@@ -36,9 +37,6 @@ function Get-OSVersion {
IsSonoma = $($osVersion.Version.Major -eq "14") IsSonoma = $($osVersion.Version.Major -eq "14")
IsSonomaArm64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -eq "arm64") IsSonomaArm64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -eq "arm64")
IsSonomaX64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -ne "arm64") IsSonomaX64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -ne "arm64")
IsSequoia = $($osVersion.Version.Major -eq "15")
IsSequoiaArm64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -eq "arm64")
IsSequoiaX64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -ne "arm64")
} }
} }
@@ -106,6 +104,10 @@ function Invoke-DownloadWithRetry {
return $Path return $Path
} }
function isVeertu {
return (Test-Path -Path "/Library/Application Support/Veertu")
}
function Get-Architecture { function Get-Architecture {
$arch = arch $arch = arch
if ($arch -ne "arm64") { if ($arch -ne "arm64") {
@@ -1,34 +0,0 @@
# This AppleScript clicks "Allow" for "System Software from developer "Parallels International GmbH"
# Steps:
# - Open System Settings -> Privacy & Security
# - Click 'Allow' for 'System Software from developer "Parallels International GmbH'
# - Enter password for runner
on run argv
set userpassword to item 1 of argv
tell application "System Settings"
activate
delay 5
end tell
tell application "System Events"
tell process "System Settings"
set frontmost to true
repeat until exists window 1
delay 2
end repeat
tell splitter group 1 of group 1 of window 1
select row 20 of outline 1 of scroll area 1 of group 1
delay 5
click UI Element 2 of group 4 of scroll area 1 of group 1 of group 2
delay 5
keystroke userpassword
delay 5
keystroke return
delay 5
end tell
end tell
end tell
end run
@@ -1,34 +0,0 @@
# This AppleScript clicks "Allow" for "System Software from developer "Parallels International GmbH"
# Steps:
# - Open System Settings -> Privacy & Security
# - Click 'Allow' for 'System Software from developer "Parallels International GmbH'
# - Enter password for runner
on run argv
set userpassword to item 1 of argv
tell application "System Settings"
activate
delay 5
end tell
tell application "System Events"
tell process "System Settings"
set frontmost to true
repeat until exists window 1
delay 2
end repeat
tell splitter group 1 of group 1 of window 1
select row 18 of outline 1 of scroll area 1 of group 1
delay 5
click UI Element 2 of group 5 of scroll area 1 of group 1 of group 2
delay 5
keystroke userpassword
delay 5
keystroke return
delay 5
end tell
end tell
end tell
end run
+8 -12
View File
@@ -45,18 +45,6 @@ is_Arm64() {
[ "$(arch)" = "arm64" ] [ "$(arch)" = "arm64" ]
} }
is_Sequoia() {
[ "$OSTYPE" = "darwin24" ]
}
is_SequoiaArm64() {
is_Sequoia && is_Arm64
}
is_SequoiaX64() {
is_Sequoia && ! is_Arm64
}
is_Sonoma() { is_Sonoma() {
[ "$OSTYPE" = "darwin23" ] [ "$OSTYPE" = "darwin23" ]
} }
@@ -85,6 +73,14 @@ is_Monterey() {
[ "$OSTYPE" = "darwin21" ] [ "$OSTYPE" = "darwin21" ]
} }
is_BigSur() {
[ "$OSTYPE" = "darwin20" ]
}
is_Veertu() {
[[ -d "/Library/Application Support/Veertu" ]]
}
get_toolset_value() { get_toolset_value() {
local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json") local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json")
local query=$1 local query=$1
+1 -1
View File
@@ -57,7 +57,7 @@ Describe "Android" {
Sdkmanager = "$env:ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" Sdkmanager = "$env:ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager"
} }
) )
if ($os.IsMonterey) { if ($os.IsBigSur -or $os.IsMonterey) {
$testCases += @( $testCases += @(
@{ @{
PackageName = "SDK tools" PackageName = "SDK tools"
+29 -17
View File
@@ -2,13 +2,13 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "Azure CLI" { Describe "Azure CLI" -Skip:($os.IsBigSur) {
It "Azure CLI" { It "Azure CLI" {
"az -v" | Should -ReturnZeroExitCode "az -v" | Should -ReturnZeroExitCode
} }
} }
Describe "Azure DevOps CLI" { Describe "Azure DevOps CLI" -Skip:($os.IsBigSur) {
It "az devops" { It "az devops" {
"az devops -h" | Should -ReturnZeroExitCode "az devops -h" | Should -ReturnZeroExitCode
} }
@@ -26,7 +26,7 @@ Describe "cmake" {
} }
} }
Describe "Subversion" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Subversion" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Subversion" { It "Subversion" {
"svn --version" | Should -ReturnZeroExitCode "svn --version" | Should -ReturnZeroExitCode
} }
@@ -62,6 +62,12 @@ Describe "Perl" {
} }
} }
Describe "Helm" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
It "Helm" {
"helm version --short" | Should -ReturnZeroExitCode
}
}
Describe "Tcl/Tk" { Describe "Tcl/Tk" {
It "libtcl" { It "libtcl" {
"file /usr/local/lib/libtcl8.6.dylib" | Should -ReturnZeroExitCode "file /usr/local/lib/libtcl8.6.dylib" | Should -ReturnZeroExitCode
@@ -87,7 +93,7 @@ Describe "7-Zip" {
} }
} }
Describe "Apache Ant" -Skip:($os.IsMonterey) { Describe "Apache Ant" {
It "Apache Ant" { It "Apache Ant" {
"ant -version" | Should -ReturnZeroExitCode "ant -version" | Should -ReturnZeroExitCode
} }
@@ -111,7 +117,13 @@ Describe "bazel" {
} }
} }
Describe "Julia" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Aliyun CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
It "Aliyun CLI" {
"aliyun --version" | Should -ReturnZeroExitCode
}
}
Describe "Julia" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Julia" { It "Julia" {
"julia --version" | Should -ReturnZeroExitCode "julia --version" | Should -ReturnZeroExitCode
} }
@@ -135,19 +147,19 @@ Describe "wget" {
} }
} }
Describe "vagrant" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "vagrant" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
It "vagrant" { It "vagrant" {
"vagrant --version" | Should -ReturnZeroExitCode "vagrant --version" | Should -ReturnZeroExitCode
} }
} }
Describe "virtualbox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "virtualbox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
It "virtualbox" { It "virtualbox" {
"vboxmanage -v" | Should -ReturnZeroExitCode "vboxmanage -v" | Should -ReturnZeroExitCode
} }
} }
Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsBigSur) {
It "R" { It "R" {
"R --version" | Should -ReturnZeroExitCode "R --version" | Should -ReturnZeroExitCode
} }
@@ -159,28 +171,28 @@ Describe "Homebrew" {
} }
} }
Describe "Kotlin" -Skip:($os.IsMonterey) { Describe "Kotlin" {
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlinc-js") $kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlin-dce-js")
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) { It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
"$toolName -version" | Should -ReturnZeroExitCode "$toolName -version" | Should -ReturnZeroExitCode
} }
} }
Describe "sbt" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "sbt" {
"sbt -version" | Should -ReturnZeroExitCode
}
}
Describe "yq" { Describe "yq" {
It "yq" { It "yq" {
"yq --version" | Should -ReturnZeroExitCode "yq --version" | Should -ReturnZeroExitCode
} }
} }
Describe "imagemagick" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "imagemagick" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
It "imagemagick" { It "imagemagick" {
"magick -version" | Should -ReturnZeroExitCode "magick -version" | Should -ReturnZeroExitCode
} }
} }
Describe "pkgconf" {
It "pkgconf" {
"pkgconf --version" | Should -ReturnZeroExitCode
}
}
@@ -41,7 +41,7 @@ Describe "Selenium server" {
} }
} }
Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) { Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
It "Microsoft Edge" { It "Microsoft Edge" {
$edgeLocation = "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge" $edgeLocation = "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
$edgeLocation | Should -Exist $edgeLocation | Should -Exist
@@ -53,7 +53,7 @@ Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoi
} }
} }
Describe "Firefox" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) { Describe "Firefox" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
It "Firefox" { It "Firefox" {
$firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox" $firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox"
$firefoxLocation | Should -Exist $firefoxLocation | Should -Exist
+9 -31
View File
@@ -33,7 +33,7 @@ Describe "GCC" {
} }
} }
Describe "vcpkg" -Skip:($os.IsVenturaArm64 -or $os.IsSonoma -or $os.IsSequoia) { Describe "vcpkg" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSonoma) {
It "vcpkg" { It "vcpkg" {
"vcpkg version" | Should -ReturnZeroExitCode "vcpkg version" | Should -ReturnZeroExitCode
} }
@@ -43,7 +43,7 @@ Describe "AWS" {
It "AWS CLI" { It "AWS CLI" {
"aws --version" | Should -ReturnZeroExitCode "aws --version" | Should -ReturnZeroExitCode
} }
It "AWS SAM CLI" { It "AWS SAM CLI" -Skip:($os.IsBigSur) {
"sam --version" | Should -ReturnZeroExitCode "sam --version" | Should -ReturnZeroExitCode
} }
@@ -58,7 +58,7 @@ Describe "AzCopy" {
} }
} }
Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Conda" { It "Conda" {
[System.Environment]::GetEnvironmentVariable("CONDA") | Should -Not -BeNullOrEmpty [System.Environment]::GetEnvironmentVariable("CONDA") | Should -Not -BeNullOrEmpty
$condaBinPath = Join-Path $env:CONDA "bin" "conda" $condaBinPath = Join-Path $env:CONDA "bin" "conda"
@@ -66,7 +66,7 @@ Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
} }
} }
Describe "Stack" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Stack" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Stack" { It "Stack" {
"stack --version" | Should -ReturnZeroExitCode "stack --version" | Should -ReturnZeroExitCode
} }
@@ -78,7 +78,7 @@ Describe "CocoaPods" {
} }
} }
Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma) {
$vsMacVersions = (Get-ToolsetContent).xamarin.vsmac.versions $vsMacVersions = (Get-ToolsetContent).xamarin.vsmac.versions
$defaultVSMacVersion = (Get-ToolsetContent).xamarin.vsmac.default $defaultVSMacVersion = (Get-ToolsetContent).xamarin.vsmac.default
@@ -105,7 +105,7 @@ Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
} }
} }
Describe "Swig" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Swig" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Swig" { It "Swig" {
"swig -version" | Should -ReturnZeroExitCode "swig -version" | Should -ReturnZeroExitCode
} }
@@ -117,13 +117,13 @@ Describe "Bicep" {
} }
} }
Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Go" { It "Go" {
"go version" | Should -ReturnZeroExitCode "go version" | Should -ReturnZeroExitCode
} }
} }
Describe "VirtualBox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "VirtualBox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
It "Check kext kernel modules" { It "Check kext kernel modules" {
kextstat | Out-String | Should -Match "org.virtualbox.kext" kextstat | Out-String | Should -Match "org.virtualbox.kext"
} }
@@ -141,30 +141,8 @@ Describe "CodeQL Bundle" {
} }
} }
Describe "Colima" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Colima" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Colima" { It "Colima" {
"colima version" | Should -ReturnZeroExitCode "colima version" | Should -ReturnZeroExitCode
} }
} }
Describe "Compiled" -Skip:(-not $os.IsMonterey) {
It "Apache Ant" {
"ant -version" | Should -ReturnZeroExitCode
}
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlin-dce-js")
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
"$toolName -version" | Should -ReturnZeroExitCode
}
It "sbt" {
"sbt -version" | Should -ReturnZeroExitCode
}
}
Describe "Unxip" {
It "Unxip" {
"unxip --version" | Should -ReturnZeroExitCode
}
}
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "<ToolName>" -TestCases @( It "<ToolName>" -TestCases @(
@{ ToolName = "mongo" } @{ ToolName = "mongo" }
@{ ToolName = "mongod" } @{ ToolName = "mongod" }
@@ -12,7 +12,7 @@ Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
} }
} }
Describe "PostgreSQL" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "PostgreSQL" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "PostgreSQL version should correspond to the version in the toolset" { It "PostgreSQL version should correspond to the version in the toolset" {
$toolsetVersion = (Get-ToolsetContent).postgresql.version $toolsetVersion = (Get-ToolsetContent).postgresql.version
# Client version # Client version
+1 -1
View File
@@ -6,7 +6,7 @@ Describe "Git" {
It "git is installed" { It "git is installed" {
"git --version" | Should -ReturnZeroExitCode "git --version" | Should -ReturnZeroExitCode
} }
It "git lfs is installed" { It "git lfs is installed" -Skip:($os.IsBigSur) {
"git lfs version" | Should -ReturnZeroExitCode "git lfs version" | Should -ReturnZeroExitCode
} }
} }
+1 -1
View File
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "Haskell" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Haskell" -Skip:($os.IsVentura -or $os.IsSonoma) {
Context "GHCup" { Context "GHCup" {
It "GHCup" { It "GHCup" {
"ghcup --version" | Should -ReturnZeroExitCode "ghcup --version" | Should -ReturnZeroExitCode
+1 -1
View File
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion $os = Get-OSVersion
Describe "SwiftLint" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) { Describe "SwiftLint" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
It "SwiftLint" { It "SwiftLint" {
"swiftlint version" | Should -ReturnZeroExitCode "swiftlint version" | Should -ReturnZeroExitCode
} }
+1 -1
View File
@@ -21,7 +21,7 @@ Describe "Node.js" {
} }
} }
Describe "nvm" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "nvm" -Skip:($os.IsVentura -or $os.IsSonoma) {
BeforeAll { BeforeAll {
$nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh" $nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
$nvmInitCommand = ". $nvmPath > /dev/null 2>&1 || true" $nvmInitCommand = ". $nvmPath > /dev/null 2>&1 || true"
+2 -2
View File
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "PHP" { Describe "PHP" {
Context "PHP" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) { Context "PHP" -Skip:($os.IsBigSur -or $os.IsVenturaArm64 -or $os.IsSonomaArm64) {
It "PHP Path" { It "PHP Path" {
Get-ToolPath "php" | Should -Not -BeLike "/usr/bin/php*" Get-ToolPath "php" | Should -Not -BeLike "/usr/bin/php*"
} }
@@ -14,7 +14,7 @@ Describe "PHP" {
} }
} }
Context "Composer" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) { Context "Composer" -Skip:($os.IsBigSur -or $os.IsVenturaArm64 -or $os.IsSonomaArm64) {
It "Composer" { It "Composer" {
"composer --version" | Should -ReturnZeroExitCode "composer --version" | Should -ReturnZeroExitCode
} }
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsSonoma) {
$pipxToolset = (Get-ToolsetContent).pipx $pipxToolset = (Get-ToolsetContent).pipx
$testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} } $testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} }
It "<package>" -TestCases $testCases { It "<package>" -TestCases $testCases {
+2 -2
View File
@@ -8,7 +8,7 @@ Describe "Python3" {
"python3 --version" | Should -ReturnZeroExitCode "python3 --version" | Should -ReturnZeroExitCode
} }
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) { if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
It "Python 3 is installed under /opt/homebrew/bin/" { It "Python 3 is installed under /opt/homebrew/bin/" {
Get-ToolPath "python3" | Should -BeLike "/opt/homebrew/bin/*" Get-ToolPath "python3" | Should -BeLike "/opt/homebrew/bin/*"
} }
@@ -34,7 +34,7 @@ Describe "Python3" {
} }
Describe "Python2" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Python2" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Python 2 is available" { It "Python 2 is available" {
"/Library/Frameworks/Python.framework/Versions/2.7/bin/python --version" | Should -ReturnZeroExitCode "/Library/Frameworks/Python.framework/Versions/2.7/bin/python --version" | Should -ReturnZeroExitCode
} }
@@ -1,7 +1,9 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
Describe "Ruby" { $os = Get-OSVersion
Describe "Ruby" -Skip:(-not $os.IsArm64) {
It "Ruby is available" { It "Ruby is available" {
"ruby --version" | Should -ReturnZeroExitCode "ruby --version" | Should -ReturnZeroExitCode
} }
@@ -11,11 +13,10 @@ Describe "Ruby" {
} }
It "Ruby tools are consistent" { It "Ruby tools are consistent" {
$os = Get-OSVersion $expectedPrefix = "/opt/homebrew"
$expectedPrefix = if ($os.IsArm64) { "/opt/homebrew" } else { "/usr/local" } Get-ToolPath "ruby" | Should -Match "$($expectedPrefix)*"
Get-ToolPath "ruby" | Should -Match "^$expectedPrefix.*" Get-ToolPath "gem" | Should -Match "$($expectedPrefix)*"
Get-ToolPath "gem" | Should -Match "^$expectedPrefix.*" Get-ToolPath "bundler" | Should -Match "$($expectedPrefix)*"
Get-ToolPath "bundler" | Should -Match "^$expectedPrefix.*"
} }
It "Ruby gems permissions are valid" { It "Ruby gems permissions are valid" {
@@ -0,0 +1,26 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion
Describe "Ruby" -Skip:($os.IsArm64) {
It "Ruby is available" {
"ruby --version" | Should -ReturnZeroExitCode
}
It "Ruby is installed via HomeBrew" {
Get-ToolPath "ruby" | Should -Not -BeLike "/usr/bin/ruby*"
}
It "Ruby tools are consistent" {
$expectedPrefix = "/usr/local"
Get-ToolPath "ruby" | Should -Match "$($expectedPrefix)*"
Get-ToolPath "gem" | Should -Match "$($expectedPrefix)*"
Get-ToolPath "bundler" | Should -Match "$($expectedPrefix)*"
}
It "Ruby gems permissions are valid" {
"gem install bundle" | Should -ReturnZeroExitCode
"gem uninstall bundle" | Should -ReturnZeroExitCode
}
}
+8 -2
View File
@@ -20,19 +20,25 @@ Describe "Bundler" {
} }
} }
Describe "Nomad shenzhen CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
It "Nomad shenzhen CLI" {
"ipa --version" | Should -ReturnZeroExitCode
}
}
Describe "Fastlane" { Describe "Fastlane" {
It "Fastlane" { It "Fastlane" {
"fastlane --version" | Should -ReturnZeroExitCode "fastlane --version" | Should -ReturnZeroExitCode
} }
} }
Describe "xcpretty" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "xcpretty" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "xcpretty" { It "xcpretty" {
"xcpretty --version" | Should -ReturnZeroExitCode "xcpretty --version" | Should -ReturnZeroExitCode
} }
} }
Describe "jazzy" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "jazzy" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "jazzy" { It "jazzy" {
"jazzy --version" | Should -ReturnZeroExitCode "jazzy --version" | Should -ReturnZeroExitCode
} }
+2 -2
View File
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "Rust" { Describe "Rust" -Skip:($os.IsBigSur) {
Context "Rust" { Context "Rust" {
It "Rustup is installed" { It "Rustup is installed" {
"rustup --version" | Should -ReturnZeroExitCode "rustup --version" | Should -ReturnZeroExitCode
@@ -18,7 +18,7 @@ Describe "Rust" {
"cargo --version" | Should -ReturnZeroExitCode "cargo --version" | Should -ReturnZeroExitCode
} }
} }
Context "Cargo dependencies" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Context "Cargo dependencies" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "bindgen" { It "bindgen" {
"bindgen --version" | Should -ReturnZeroExitCode "bindgen --version" | Should -ReturnZeroExitCode
} }
+22 -12
View File
@@ -3,16 +3,11 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "Disk free space" { Describe "Disk free space" {
It "Image has more than 30GB free space" { It "Image has more than 10GB free space" {
# we should have at least 30 GB of free space on macOS images # we should have at least 10 GB of free space on macOS images
# 10GB here: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#capabilities-and-limitations # https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#capabilities-and-limitations
# 14GB here: https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories $freeSpace = (Get-PSDrive "/").Free
# 30GB due to: https://github.com/actions/runner-images/issues/10511 $freeSpace | Should -BeGreaterOrEqual 10GB
$diskInfo = Get-PSDrive "/"
$totalSpaceGB = [math]::Floor(($diskInfo.Used + $diskInfo.Free) / 1GB)
$freeSpaceGB = [math]::Floor($diskInfo.Free / 1GB)
Write-Host " [i] Disk size: ${totalSpaceGB} GB; Free space: ${freeSpaceGB} GB"
$freeSpaceGB | Should -BeGreaterOrEqual 30
} }
} }
@@ -30,7 +25,7 @@ Describe "Certificate" {
} }
} }
Describe "Audio device" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Audio device" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Sox is installed" { It "Sox is installed" {
"sox --version" | Should -ReturnZeroExitCode "sox --version" | Should -ReturnZeroExitCode
} }
@@ -40,8 +35,23 @@ Describe "Audio device" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia)
} }
} }
Describe "Screen Resolution" -Skip:(isVeertu) {
It "Screen Resolution" {
system_profiler SPDisplaysDataType | Select-String "Resolution" | Should -Match "1176 x 885|1920 x 1080"
}
}
Describe "Open windows" -Skip:(isVeertu) {
It "Opened windows not found" {
'tell application id "com.apple.systemevents" to get every window of (every process whose class of windows contains window)' | Tee-Object /tmp/windows.osascript
$cmd = "osascript /tmp/windows.osascript"
$openWindows = bash -c $cmd
$openWindows.Split(",").Trim() | Where-Object { $_ -notmatch "NotificationCenter" } | Should -BeNullOrEmpty
}
}
Describe "AutomationModeTool" { Describe "AutomationModeTool" {
It "Does not require user authentication" { It "Does not require user authentication" -Skip:($os.IsBigSur) {
automationmodetool | Out-String | Should -Match "DOES NOT REQUIRE" automationmodetool | Out-String | Should -Match "DOES NOT REQUIRE"
} }
} }
@@ -57,7 +57,7 @@ Describe "Toolcache" {
} }
} }
Context "Ruby" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) { Context "Ruby" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
$rubyDirectory = Join-Path $toolcacheDirectory "Ruby" $rubyDirectory = Join-Path $toolcacheDirectory "Ruby"
$rubyPackage = $packages | Where-Object { $_.ToolName -eq "Ruby" } | Select-Object -First 1 $rubyPackage = $packages | Where-Object { $_.ToolName -eq "Ruby" } | Select-Object -First 1
$testCase = @{ RubyDirectory = $rubyDirectory } $testCase = @{ RubyDirectory = $rubyDirectory }
@@ -99,7 +99,7 @@ Describe "Toolcache" {
} }
} }
} }
Context "PyPy" -Skip:($os.IsVenturaArm64 -or $os.IsSonoma -or $os.IsSequoia) { Context "PyPy" -Skip:($os.IsVenturaArm64 -or $os.IsSonoma) {
$pypyDirectory = Join-Path $toolcacheDirectory "PyPy" $pypyDirectory = Join-Path $toolcacheDirectory "PyPy"
$pypyPackage = $packages | Where-Object { $_.ToolName -eq "pypy" } | Select-Object -First 1 $pypyPackage = $packages | Where-Object { $_.ToolName -eq "pypy" } | Select-Object -First 1
$testCase = @{ PypyDirectory = $pypyDirectory } $testCase = @{ PypyDirectory = $pypyDirectory }
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "Apache" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Apache" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Apache CLI" { It "Apache CLI" {
"httpd -v" | Should -ReturnZeroExitCode "httpd -v" | Should -ReturnZeroExitCode
} }
@@ -13,7 +13,7 @@ Describe "Apache" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
} }
} }
Describe "Nginx" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Nginx" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Nginx CLI" { It "Nginx CLI" {
"nginx -v" | Should -ReturnZeroExitCode "nginx -v" | Should -ReturnZeroExitCode
} }
+7 -14
View File
@@ -8,18 +8,11 @@ if ($os.IsVentura -or $os.IsSonoma) {
$XAMARIN_IOS_VERSIONS = @() $XAMARIN_IOS_VERSIONS = @()
$XAMARIN_MAC_VERSIONS = @() $XAMARIN_MAC_VERSIONS = @()
$XAMARIN_ANDROID_VERSIONS = @() $XAMARIN_ANDROID_VERSIONS = @()
} elseif ($os.IsMonterey) { } elseif ($os.IsBigSur -or $os.IsMonterey) {
$MONO_VERSIONS = (Get-ToolsetContent).xamarin.mono_versions $MONO_VERSIONS = (Get-ToolsetContent).xamarin.mono_versions
$XAMARIN_IOS_VERSIONS = (Get-ToolsetContent).xamarin.ios_versions $XAMARIN_IOS_VERSIONS = (Get-ToolsetContent).xamarin.ios_versions
$XAMARIN_MAC_VERSIONS = (Get-ToolsetContent).xamarin.mac_versions $XAMARIN_MAC_VERSIONS = (Get-ToolsetContent).xamarin.mac_versions
$XAMARIN_ANDROID_VERSIONS = (Get-ToolsetContent).xamarin.android_versions $XAMARIN_ANDROID_VERSIONS = (Get-ToolsetContent).xamarin.android_versions
} elseif ($os.IsSequoia) {
Write-Host "Skipping all the Mono and Xamarin tests as deprecated"
# Dummy workaround for the issue with the tests discovery
$MONO_VERSIONS = @()
$XAMARIN_IOS_VERSIONS = @()
$XAMARIN_MAC_VERSIONS = @()
$XAMARIN_ANDROID_VERSIONS = @()
} }
BeforeAll { BeforeAll {
@@ -33,7 +26,7 @@ BeforeAll {
} }
} }
Describe "Mono" -Skip:($os.IsSequoia) { Describe "Mono" {
$MONO_VERSIONS | ForEach-Object { $MONO_VERSIONS | ForEach-Object {
Context "$_" { Context "$_" {
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions" $MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
@@ -97,7 +90,7 @@ Describe "Mono" -Skip:($os.IsSequoia) {
} }
} }
Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsSonoma) {
$XAMARIN_IOS_VERSIONS | ForEach-Object { $XAMARIN_IOS_VERSIONS | ForEach-Object {
Context "$_" { Context "$_" {
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions" $XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
@@ -130,7 +123,7 @@ Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia)
} }
} }
Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsSonoma) {
$XAMARIN_MAC_VERSIONS | ForEach-Object { $XAMARIN_MAC_VERSIONS | ForEach-Object {
Context "$_" { Context "$_" {
$XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions" $XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions"
@@ -163,7 +156,7 @@ Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia)
} }
} }
Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsSonoma) {
$XAMARIN_ANDROID_VERSIONS | ForEach-Object { $XAMARIN_ANDROID_VERSIONS | ForEach-Object {
Context "$_" { Context "$_" {
$XAMARIN_ANDROID_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions" $XAMARIN_ANDROID_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions"
@@ -203,7 +196,7 @@ Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequo
} }
} }
Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsSonoma) {
BeforeAll { BeforeAll {
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions" $MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions" $XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
@@ -310,7 +303,7 @@ Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequo
} }
} }
Describe "Nuget" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) { Describe "Nuget" -Skip:($os.IsVentura -or $os.IsSonoma) {
It "Nuget config contains nuget.org feed" { It "Nuget config contains nuget.org feed" {
Get-Content $env:HOME/.config/NuGet/NuGet.Config | Out-String | Should -Match "nuget.org" Get-Content $env:HOME/.config/NuGet/NuGet.Config | Out-String | Should -Match "nuget.org"
} }
@@ -28,13 +28,6 @@ Describe "Xcode" {
$defaultXcodeTestCase = @{ DefaultXcode = $defaultXcode } $defaultXcodeTestCase = @{ DefaultXcode = $defaultXcode }
It "Default Xcode is <DefaultXcode>" -TestCases $defaultXcodeTestCase { It "Default Xcode is <DefaultXcode>" -TestCases $defaultXcodeTestCase {
"xcodebuild -version" | Should -ReturnZeroExitCode "xcodebuild -version" | Should -ReturnZeroExitCode
If ($DefaultXcode -ilike "*_*") {
Write-Host "Composite version detected (beta/RC/preview)"
$DefaultXcode = $DefaultXcode.split("_")[0]
If ($DefaultXcode -notlike "*.*") {
$DefaultXcode = "${DefaultXcode}.0"
}
}
(Get-CommandResult "xcodebuild -version").Output | Should -BeLike "Xcode ${DefaultXcode}*" (Get-CommandResult "xcodebuild -version").Output | Should -BeLike "Xcode ${DefaultXcode}*"
} }
@@ -1,8 +1,8 @@
packer { packer {
required_plugins { required_plugins {
veertu-anka = { vsphere = {
version = ">= v3.2.0" source = "github.com/hashicorp/vsphere"
source = "github.com/veertuinc/veertu-anka" version = "~> 1"
} }
} }
} }
@@ -11,39 +11,51 @@ locals {
image_folder = "/Users/${var.vm_username}/image-generation" image_folder = "/Users/${var.vm_username}/image-generation"
} }
variable "builder_type" { variable "baseimage_name" {
type = string type = string
default = "veertu-anka-vm-clone"
validation {
condition = contains(["veertu-anka-vm-clone", "null"], var.builder_type)
error_message = "The builder_type value must be one of [veertu-anka-vm-clone, null]."
}
}
variable "source_vm_name" {
type = string
}
variable "source_vm_port" {
type = number
default = 22
}
variable "source_vm_tag" {
type = string
default = ""
}
variable "socks_proxy" {
type = string
default = ""
} }
variable "build_id" { variable "build_id" {
type = string type = string
} }
variable "vm_username" { variable "cluster_or_esxi_host" {
type = string
}
variable "esxi_datastore" {
type = string
}
variable "github_api_pat" {
type = string
default = ""
sensitive = true
}
variable "image_os" {
type = string
default = "macos11"
}
variable "output_folder" {
type = string
}
variable "vcenter_datacenter" {
type = string
}
variable "vcenter_password" {
type = string
sensitive = true
}
variable "vcenter_server" {
type = string
}
variable "vcenter_username" {
type = string type = string
sensitive = true sensitive = true
} }
@@ -53,13 +65,7 @@ variable "vm_password" {
sensitive = true sensitive = true
} }
variable "github_api_pat" { variable "vm_username" {
type = string
sensitive = true
default = ""
}
variable "xcode_install_storage_url" {
type = string type = string
sensitive = true sensitive = true
} }
@@ -69,41 +75,33 @@ variable "xcode_install_sas" {
sensitive = true sensitive = true
} }
variable "vcpu_count" { variable "xcode_install_storage_url" {
type = string type = string
default = "6" sensitive = true
} }
variable "ram_size" { source "vsphere-clone" "template" {
type = string CPUs = "5"
default = "8G" NestedHV = "true"
} RAM = "24576"
cpu_cores = "5"
variable "image_os" { datacenter = "${var.vcenter_datacenter}"
type = string datastore = "${var.esxi_datastore}"
default = "macos15" folder = "${var.output_folder}"
} host = "${var.cluster_or_esxi_host}"
insecure_connection = true
source "veertu-anka-vm-clone" "template" { password = "${var.vcenter_password}"
vm_name = "${var.build_id}" shutdown_timeout = "15m"
source_vm_name = "${var.source_vm_name}" ssh_password = "${var.vm_password}"
source_vm_tag = "${var.source_vm_tag}" ssh_username = "${var.vm_username}"
vcpu_count = "${var.vcpu_count}" template = "${var.baseimage_name}"
ram_size = "${var.ram_size}" username = "${var.vcenter_username}"
stop_vm = "true" vcenter_server = "${var.vcenter_server}"
log_level = "debug" vm_name = "${var.build_id}"
}
source "null" "template" {
ssh_host = "${var.source_vm_name}"
ssh_port = "${var.source_vm_port}"
ssh_username = "${var.vm_username}"
ssh_password = "${var.vm_password}"
ssh_proxy_host = "${var.socks_proxy}"
} }
build { build {
sources = ["source.${var.builder_type}.template"] sources = ["source.vsphere-clone.template"]
provisioner "shell" { provisioner "shell" {
inline = ["mkdir ${local.image_folder}"] inline = ["mkdir ${local.image_folder}"]
@@ -112,6 +110,7 @@ build {
provisioner "file" { provisioner "file" {
destination = "${local.image_folder}/" destination = "${local.image_folder}/"
sources = [ sources = [
"${path.root}/../assets/xamarin-selector",
"${path.root}/../scripts/tests", "${path.root}/../scripts/tests",
"${path.root}/../scripts/docs-gen", "${path.root}/../scripts/docs-gen",
"${path.root}/../scripts/helpers" "${path.root}/../scripts/helpers"
@@ -129,63 +128,68 @@ build {
} }
provisioner "file" { provisioner "file" {
destination = ".bashrc" destination = "~/.bashrc"
source = "${path.root}/../assets/bashrc" source = "${path.root}/../assets/bashrc"
} }
provisioner "file" { provisioner "file" {
destination = ".bash_profile" destination = "~/.bash_profile"
source = "${path.root}/../assets/bashprofile" source = "${path.root}/../assets/bashprofile"
} }
provisioner "shell" { provisioner "shell" {
inline = ["mkdir ~/bootstrap"] inline = [ "mkdir ~/bootstrap" ]
} }
provisioner "file" { provisioner "file" {
destination = "bootstrap" destination = "~/bootstrap"
source = "${path.root}/../assets/bootstrap-provisioner/" source = "${path.root}/../assets/bootstrap-provisioner/"
} }
provisioner "file" { provisioner "file" {
destination = "${local.image_folder}/toolset.json" destination = "${local.image_folder}/toolset.json"
source = "${path.root}/../toolsets/toolset-15.json" source = "${path.root}/../toolsets/toolset-11.json"
} }
provisioner "shell" { provisioner "shell" {
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
inline = [ inline = [
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report", "mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
"mkdir ~/utils", "mkdir ~/utils",
"mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/utils",
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils", "mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils" "mv ${local.image_folder}/helpers/utils.sh ~/utils",
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
] ]
} }
provisioner "shell" { provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/install-xcode-clt.sh", "${path.root}/../scripts/build/install-xcode-clt.sh",
"${path.root}/../scripts/build/install-homebrew.sh", "${path.root}/../scripts/build/install-homebrew.sh"
"${path.root}/../scripts/build/install-rosetta.sh"
] ]
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"] environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-tccdb-macos.sh", "${path.root}/../scripts/build/install-xcode-clt.sh",
"${path.root}/../scripts/build/configure-network-interface-detection.sh",
"${path.root}/../scripts/build/configure-autologin.sh", "${path.root}/../scripts/build/configure-autologin.sh",
"${path.root}/../scripts/build/configure-auto-updates.sh", "${path.root}/../scripts/build/configure-auto-updates.sh",
"${path.root}/../scripts/build/configure-screensaver.sh",
"${path.root}/../scripts/build/configure-ntpconf.sh", "${path.root}/../scripts/build/configure-ntpconf.sh",
"${path.root}/../scripts/build/configure-max-files-limitation.sh",
"${path.root}/../scripts/build/configure-shell.sh" "${path.root}/../scripts/build/configure-shell.sh"
] ]
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}", "PASSWORD=${var.vm_password}"] environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-preimagedata.sh", "${path.root}/../scripts/build/configure-preimagedata.sh",
"${path.root}/../scripts/build/configure-ssh.sh", "${path.root}/../scripts/build/configure-ssh.sh",
@@ -194,14 +198,14 @@ build {
} }
provisioner "shell" { provisioner "shell" {
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "sudo {{ .Vars }} {{ .Path }}"
expect_disconnect = true expect_disconnect = true
inline = ["echo 'Reboot VM'", "shutdown -r now"] inline = ["echo 'Reboot VM'", "shutdown -r now"]
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["API_PAT=${var.github_api_pat}", "USER_PASSWORD=${var.vm_password}", "IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
pause_before = "30s" pause_before = "30s"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-windows.sh", "${path.root}/../scripts/build/configure-windows.sh",
@@ -213,37 +217,53 @@ build {
"${path.root}/../scripts/build/install-ruby.sh", "${path.root}/../scripts/build/install-ruby.sh",
"${path.root}/../scripts/build/install-rubygems.sh", "${path.root}/../scripts/build/install-rubygems.sh",
"${path.root}/../scripts/build/install-git.sh", "${path.root}/../scripts/build/install-git.sh",
"${path.root}/../scripts/build/install-node.sh", "${path.root}/../scripts/build/install-mongodb.sh",
"${path.root}/../scripts/build/install-common-utils.sh" "${path.root}/../scripts/build/install-node.sh"
] ]
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["XCODE_INSTALL_STORAGE_URL=${var.xcode_install_storage_url}", "XCODE_INSTALL_SAS=${var.xcode_install_sas}", "IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["XCODE_INSTALL_STORAGE_URL=${var.xcode_install_storage_url}", "XCODE_INSTALL_SAS=${var.xcode_install_sas}", "IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
script = "${path.root}/../scripts/build/Install-Xcode.ps1" script = "${path.root}/../scripts/build/Install-Xcode.ps1"
} }
provisioner "shell" { provisioner "shell" {
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "sudo {{ .Vars }} {{ .Path }}"
expect_disconnect = true expect_disconnect = true
inline = ["echo 'Reboot VM'", "shutdown -r now"] inline = ["echo 'Reboot VM'", "shutdown -r now"]
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/install-actions-cache.sh", "${path.root}/../scripts/build/install-actions-cache.sh",
"${path.root}/../scripts/build/install-common-utils.sh",
"${path.root}/../scripts/build/install-llvm.sh", "${path.root}/../scripts/build/install-llvm.sh",
"${path.root}/../scripts/build/install-golang.sh",
"${path.root}/../scripts/build/install-swiftlint.sh",
"${path.root}/../scripts/build/install-openjdk.sh", "${path.root}/../scripts/build/install-openjdk.sh",
"${path.root}/../scripts/build/install-aws-tools.sh", "${path.root}/../scripts/build/install-aws-tools.sh",
"${path.root}/../scripts/build/install-rust.sh",
"${path.root}/../scripts/build/install-gcc.sh", "${path.root}/../scripts/build/install-gcc.sh",
"${path.root}/../scripts/build/install-haskell.sh",
"${path.root}/../scripts/build/install-cocoapods.sh", "${path.root}/../scripts/build/install-cocoapods.sh",
"${path.root}/../scripts/build/install-android-sdk.sh", "${path.root}/../scripts/build/install-android-sdk.sh",
"${path.root}/../scripts/build/install-xamarin.sh",
"${path.root}/../scripts/build/install-visualstudio.sh",
"${path.root}/../scripts/build/install-nvm.sh",
"${path.root}/../scripts/build/install-apache.sh",
"${path.root}/../scripts/build/install-nginx.sh",
"${path.root}/../scripts/build/install-postgresql.sh",
"${path.root}/../scripts/build/install-audiodevice.sh",
"${path.root}/../scripts/build/install-vcpkg.sh",
"${path.root}/../scripts/build/install-miniconda.sh",
"${path.root}/../scripts/build/install-safari.sh", "${path.root}/../scripts/build/install-safari.sh",
"${path.root}/../scripts/build/install-chrome.sh", "${path.root}/../scripts/build/install-chrome.sh",
"${path.root}/../scripts/build/install-edge.sh",
"${path.root}/../scripts/build/install-firefox.sh",
"${path.root}/../scripts/build/install-pypy.sh",
"${path.root}/../scripts/build/install-pipx-packages.sh",
"${path.root}/../scripts/build/install-bicep.sh", "${path.root}/../scripts/build/install-bicep.sh",
"${path.root}/../scripts/build/install-codeql-bundle.sh" "${path.root}/../scripts/build/install-codeql-bundle.sh"
] ]
@@ -251,7 +271,7 @@ build {
provisioner "shell" { provisioner "shell" {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/Install-Toolset.ps1", "${path.root}/../scripts/build/Install-Toolset.ps1",
"${path.root}/../scripts/build/Configure-Toolset.ps1" "${path.root}/../scripts/build/Configure-Toolset.ps1"
@@ -259,14 +279,12 @@ build {
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] execute_command = "ruby {{ .Path }}"
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}" script = "${path.root}/../scripts/build/configure-xcode-simulators.rb"
script = "${path.root}/../scripts/build/Configure-Xcode-Simulators.ps1"
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
inline = [ inline = [
"pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}", "pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}",
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\"" "pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
@@ -276,11 +294,14 @@ build {
provisioner "file" { provisioner "file" {
destination = "${path.root}/../../image-output/" destination = "${path.root}/../../image-output/"
direction = "download" direction = "download"
source = "${local.image_folder}/output/" source = "${local.image_folder}/output/*"
} }
provisioner "shell" { provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
scripts = ["${path.root}/../scripts/build/configure-hostname.sh"] scripts = [
"${path.root}/../scripts/build/configure-hostname.sh",
"${path.root}/../scripts/build/configure-system.sh"
]
} }
} }
+4 -6
View File
@@ -54,9 +54,8 @@ variable "vm_password" {
} }
variable "github_api_pat" { variable "github_api_pat" {
type = string type = string
sensitive = true default = ""
default = ""
} }
variable "xcode_install_storage_url" { variable "xcode_install_storage_url" {
@@ -97,7 +96,7 @@ source "null" "template" {
ssh_host = "${var.source_vm_name}" ssh_host = "${var.source_vm_name}"
ssh_port = "${var.source_vm_port}" ssh_port = "${var.source_vm_port}"
ssh_username = "${var.vm_username}" ssh_username = "${var.vm_username}"
ssh_password = "${var.vm_password}" ssh_private_key_file = "${var.vm_password}"
ssh_proxy_host = "${var.socks_proxy}" ssh_proxy_host = "${var.socks_proxy}"
} }
@@ -266,8 +265,7 @@ build {
"${path.root}/../scripts/build/install-pypy.sh", "${path.root}/../scripts/build/install-pypy.sh",
"${path.root}/../scripts/build/install-pipx-packages.sh", "${path.root}/../scripts/build/install-pipx-packages.sh",
"${path.root}/../scripts/build/install-bicep.sh", "${path.root}/../scripts/build/install-bicep.sh",
"${path.root}/../scripts/build/install-codeql-bundle.sh", "${path.root}/../scripts/build/install-codeql-bundle.sh"
"${path.root}/../scripts/build/install-compilable-brew-packages.sh"
] ]
} }
@@ -1,8 +1,8 @@
packer { packer {
required_plugins { required_plugins {
veertu-anka = { vsphere = {
version = ">= v3.2.0" source = "github.com/hashicorp/vsphere"
source = "github.com/veertuinc/veertu-anka" version = "~> 1"
} }
} }
} }
@@ -11,39 +11,51 @@ locals {
image_folder = "/Users/${var.vm_username}/image-generation" image_folder = "/Users/${var.vm_username}/image-generation"
} }
variable "builder_type" { variable "baseimage_name" {
type = string type = string
default = "veertu-anka-vm-clone"
validation {
condition = contains(["veertu-anka-vm-clone", "null"], var.builder_type)
error_message = "The builder_type value must be one of [veertu-anka-vm-clone, null]."
}
}
variable "source_vm_name" {
type = string
}
variable "source_vm_port" {
type = number
default = 22
}
variable "source_vm_tag" {
type = string
default = ""
}
variable "socks_proxy" {
type = string
default = ""
} }
variable "build_id" { variable "build_id" {
type = string type = string
} }
variable "vm_username" { variable "cluster_or_esxi_host" {
type = string
}
variable "esxi_datastore" {
type = string
}
variable "github_api_pat" {
type = string
default = ""
sensitive = true
}
variable "image_os" {
type = string
default = "macos12"
}
variable "output_folder" {
type = string
}
variable "vcenter_datacenter" {
type = string
}
variable "vcenter_password" {
type = string
sensitive = true
}
variable "vcenter_server" {
type = string
}
variable "vcenter_username" {
type = string type = string
sensitive = true sensitive = true
} }
@@ -53,13 +65,7 @@ variable "vm_password" {
sensitive = true sensitive = true
} }
variable "github_api_pat" { variable "vm_username" {
type = string
sensitive = true
default = ""
}
variable "xcode_install_storage_url" {
type = string type = string
sensitive = true sensitive = true
} }
@@ -69,40 +75,33 @@ variable "xcode_install_sas" {
sensitive = true sensitive = true
} }
variable "vcpu_count" { variable "xcode_install_storage_url" {
type = string type = string
default = "6" sensitive = true
} }
variable "ram_size" { source "vsphere-clone" "template" {
type = string CPUs = "5"
default = "8G" NestedHV = "true"
} RAM = "24576"
cpu_cores = "5"
variable "image_os" { datacenter = "${var.vcenter_datacenter}"
type = string datastore = "${var.esxi_datastore}"
default = "macos15" folder = "${var.output_folder}"
} host = "${var.cluster_or_esxi_host}"
insecure_connection = true
source "veertu-anka-vm-clone" "template" { password = "${var.vcenter_password}"
vm_name = "${var.build_id}" shutdown_timeout = "15m"
source_vm_name = "${var.source_vm_name}" ssh_password = "${var.vm_password}"
source_vm_tag = "${var.source_vm_tag}" ssh_username = "${var.vm_username}"
vcpu_count = "${var.vcpu_count}" template = "${var.baseimage_name}"
ram_size = "${var.ram_size}" username = "${var.vcenter_username}"
stop_vm = "true" vcenter_server = "${var.vcenter_server}"
} vm_name = "${var.build_id}"
source "null" "template" {
ssh_host = "${var.source_vm_name}"
ssh_port = "${var.source_vm_port}"
ssh_username = "${var.vm_username}"
ssh_password = "${var.vm_password}"
ssh_proxy_host = "${var.socks_proxy}"
} }
build { build {
sources = ["source.${var.builder_type}.template"] sources = ["source.vsphere-clone.template"]
provisioner "shell" { provisioner "shell" {
inline = ["mkdir ${local.image_folder}"] inline = ["mkdir ${local.image_folder}"]
@@ -111,6 +110,7 @@ build {
provisioner "file" { provisioner "file" {
destination = "${local.image_folder}/" destination = "${local.image_folder}/"
sources = [ sources = [
"${path.root}/../assets/xamarin-selector",
"${path.root}/../scripts/tests", "${path.root}/../scripts/tests",
"${path.root}/../scripts/docs-gen", "${path.root}/../scripts/docs-gen",
"${path.root}/../scripts/helpers" "${path.root}/../scripts/helpers"
@@ -128,41 +128,44 @@ build {
} }
provisioner "file" { provisioner "file" {
destination = ".bashrc" destination = "~/.bashrc"
source = "${path.root}/../assets/bashrc" source = "${path.root}/../assets/bashrc"
} }
provisioner "file" { provisioner "file" {
destination = ".bash_profile" destination = "~/.bash_profile"
source = "${path.root}/../assets/bashprofile" source = "${path.root}/../assets/bashprofile"
} }
provisioner "shell" { provisioner "shell" {
inline = ["mkdir ~/bootstrap"] inline = [ "mkdir ~/bootstrap" ]
} }
provisioner "file" { provisioner "file" {
destination = "bootstrap" destination = "~/bootstrap"
source = "${path.root}/../assets/bootstrap-provisioner/" source = "${path.root}/../assets/bootstrap-provisioner/"
} }
provisioner "file" { provisioner "file" {
destination = "${local.image_folder}/toolset.json" destination = "${local.image_folder}/toolset.json"
source = "${path.root}/../toolsets/toolset-15.json" source = "${path.root}/../toolsets/toolset-12.json"
} }
provisioner "shell" { provisioner "shell" {
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
inline = [ inline = [
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report", "mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
"mkdir ~/utils", "mkdir ~/utils",
"mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/utils",
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils", "mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils" "mv ${local.image_folder}/helpers/utils.sh ~/utils",
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
] ]
} }
provisioner "shell" { provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/install-xcode-clt.sh", "${path.root}/../scripts/build/install-xcode-clt.sh",
"${path.root}/../scripts/build/install-homebrew.sh" "${path.root}/../scripts/build/install-homebrew.sh"
@@ -171,19 +174,21 @@ build {
provisioner "shell" { provisioner "shell" {
environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"] environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-tccdb-macos.sh", "${path.root}/../scripts/build/configure-network-interface-detection.sh",
"${path.root}/../scripts/build/configure-autologin.sh", "${path.root}/../scripts/build/configure-autologin.sh",
"${path.root}/../scripts/build/configure-auto-updates.sh", "${path.root}/../scripts/build/configure-auto-updates.sh",
"${path.root}/../scripts/build/configure-screensaver.sh",
"${path.root}/../scripts/build/configure-ntpconf.sh", "${path.root}/../scripts/build/configure-ntpconf.sh",
"${path.root}/../scripts/build/configure-max-files-limitation.sh",
"${path.root}/../scripts/build/configure-shell.sh" "${path.root}/../scripts/build/configure-shell.sh"
] ]
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}", "PASSWORD=${var.vm_password}"] 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 }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-preimagedata.sh", "${path.root}/../scripts/build/configure-preimagedata.sh",
"${path.root}/../scripts/build/configure-ssh.sh", "${path.root}/../scripts/build/configure-ssh.sh",
@@ -192,14 +197,14 @@ build {
} }
provisioner "shell" { provisioner "shell" {
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "sudo {{ .Vars }} {{ .Path }}"
expect_disconnect = true expect_disconnect = true
inline = ["echo 'Reboot VM'", "shutdown -r now"] inline = ["echo 'Reboot VM'", "shutdown -r now"]
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["API_PAT=${var.github_api_pat}", "USER_PASSWORD=${var.vm_password}", "IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["API_PAT=${var.github_api_pat}", "USER_PASSWORD=${var.vm_password}", "IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
pause_before = "30s" pause_before = "30s"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-windows.sh", "${path.root}/../scripts/build/configure-windows.sh",
@@ -211,6 +216,7 @@ build {
"${path.root}/../scripts/build/install-ruby.sh", "${path.root}/../scripts/build/install-ruby.sh",
"${path.root}/../scripts/build/install-rubygems.sh", "${path.root}/../scripts/build/install-rubygems.sh",
"${path.root}/../scripts/build/install-git.sh", "${path.root}/../scripts/build/install-git.sh",
"${path.root}/../scripts/build/install-mongodb.sh",
"${path.root}/../scripts/build/install-node.sh", "${path.root}/../scripts/build/install-node.sh",
"${path.root}/../scripts/build/install-common-utils.sh" "${path.root}/../scripts/build/install-common-utils.sh"
] ]
@@ -218,34 +224,47 @@ build {
provisioner "shell" { provisioner "shell" {
environment_vars = ["XCODE_INSTALL_STORAGE_URL=${var.xcode_install_storage_url}", "XCODE_INSTALL_SAS=${var.xcode_install_sas}", "IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["XCODE_INSTALL_STORAGE_URL=${var.xcode_install_storage_url}", "XCODE_INSTALL_SAS=${var.xcode_install_sas}", "IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
script = "${path.root}/../scripts/build/Install-Xcode.ps1" script = "${path.root}/../scripts/build/Install-Xcode.ps1"
} }
provisioner "shell" { provisioner "shell" {
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "sudo {{ .Vars }} {{ .Path }}"
expect_disconnect = true expect_disconnect = true
inline = ["echo 'Reboot VM'", "shutdown -r now"] inline = ["echo 'Reboot VM'", "shutdown -r now"]
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/install-actions-cache.sh", "${path.root}/../scripts/build/install-actions-cache.sh",
"${path.root}/../scripts/build/install-llvm.sh", "${path.root}/../scripts/build/install-llvm.sh",
"${path.root}/../scripts/build/install-golang.sh",
"${path.root}/../scripts/build/install-swiftlint.sh", "${path.root}/../scripts/build/install-swiftlint.sh",
"${path.root}/../scripts/build/install-openjdk.sh", "${path.root}/../scripts/build/install-openjdk.sh",
"${path.root}/../scripts/build/install-php.sh", "${path.root}/../scripts/build/install-php.sh",
"${path.root}/../scripts/build/install-aws-tools.sh", "${path.root}/../scripts/build/install-aws-tools.sh",
"${path.root}/../scripts/build/install-rust.sh", "${path.root}/../scripts/build/install-rust.sh",
"${path.root}/../scripts/build/install-gcc.sh", "${path.root}/../scripts/build/install-gcc.sh",
"${path.root}/../scripts/build/install-haskell.sh",
"${path.root}/../scripts/build/install-cocoapods.sh", "${path.root}/../scripts/build/install-cocoapods.sh",
"${path.root}/../scripts/build/install-android-sdk.sh", "${path.root}/../scripts/build/install-android-sdk.sh",
"${path.root}/../scripts/build/install-xamarin.sh",
"${path.root}/../scripts/build/install-visualstudio.sh",
"${path.root}/../scripts/build/install-nvm.sh",
"${path.root}/../scripts/build/install-apache.sh",
"${path.root}/../scripts/build/install-nginx.sh",
"${path.root}/../scripts/build/install-postgresql.sh",
"${path.root}/../scripts/build/install-audiodevice.sh",
"${path.root}/../scripts/build/install-vcpkg.sh",
"${path.root}/../scripts/build/install-miniconda.sh",
"${path.root}/../scripts/build/install-safari.sh", "${path.root}/../scripts/build/install-safari.sh",
"${path.root}/../scripts/build/install-chrome.sh", "${path.root}/../scripts/build/install-chrome.sh",
"${path.root}/../scripts/build/install-edge.sh", "${path.root}/../scripts/build/install-edge.sh",
"${path.root}/../scripts/build/install-firefox.sh", "${path.root}/../scripts/build/install-firefox.sh",
"${path.root}/../scripts/build/install-pypy.sh",
"${path.root}/../scripts/build/install-pipx-packages.sh",
"${path.root}/../scripts/build/install-bicep.sh", "${path.root}/../scripts/build/install-bicep.sh",
"${path.root}/../scripts/build/install-codeql-bundle.sh" "${path.root}/../scripts/build/install-codeql-bundle.sh"
] ]
@@ -253,7 +272,7 @@ build {
provisioner "shell" { provisioner "shell" {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}" execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/Install-Toolset.ps1", "${path.root}/../scripts/build/Install-Toolset.ps1",
"${path.root}/../scripts/build/Configure-Toolset.ps1" "${path.root}/../scripts/build/Configure-Toolset.ps1"
@@ -261,14 +280,17 @@ build {
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] execute_command = "ruby {{ .Path }}"
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}" script = "${path.root}/../scripts/build/configure-xcode-simulators.rb"
script = "${path.root}/../scripts/build/Configure-Xcode-Simulators.ps1" }
provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
script = "${path.root}/../scripts/build/Update-XcodeSimulators.ps1"
} }
provisioner "shell" { provisioner "shell" {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
inline = [ inline = [
"pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}", "pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}",
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\"" "pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
@@ -278,18 +300,14 @@ build {
provisioner "file" { provisioner "file" {
destination = "${path.root}/../../image-output/" destination = "${path.root}/../../image-output/"
direction = "download" direction = "download"
source = "${local.image_folder}/output/" source = "${local.image_folder}/output/*"
} }
provisioner "shell" { provisioner "shell" {
inline = ["rm -rf \"$(brew --cache)\""] execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
}
provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-hostname.sh", "${path.root}/../scripts/build/configure-hostname.sh",
"${path.root}/../scripts/build/configure-system.sh" "${path.root}/../scripts/build/configure-system.sh"
] ]
} }
} }
+5 -8
View File
@@ -54,9 +54,8 @@ variable "vm_password" {
} }
variable "github_api_pat" { variable "github_api_pat" {
type = string type = string
sensitive = true default = ""
default = ""
} }
variable "xcode_install_storage_url" { variable "xcode_install_storage_url" {
@@ -97,7 +96,7 @@ source "null" "template" {
ssh_host = "${var.source_vm_name}" ssh_host = "${var.source_vm_name}"
ssh_port = "${var.source_vm_port}" ssh_port = "${var.source_vm_port}"
ssh_username = "${var.vm_username}" ssh_username = "${var.vm_username}"
ssh_password = "${var.vm_password}" ssh_private_key_file = "${var.vm_password}"
ssh_proxy_host = "${var.socks_proxy}" ssh_proxy_host = "${var.socks_proxy}"
} }
@@ -158,7 +157,7 @@ build {
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report", "mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets", "mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
"mkdir ~/utils", "mkdir ~/utils",
"mv ${local.image_folder}/helpers/confirm-identified-developers-macos13.scpt ~/utils", "mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/utils",
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils", "mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils", "mv ${local.image_folder}/helpers/utils.sh ~/utils",
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils" "mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
@@ -178,7 +177,6 @@ build {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-tccdb-macos.sh", "${path.root}/../scripts/build/configure-tccdb-macos.sh",
"${path.root}/../scripts/build/configure-autologin.sh",
"${path.root}/../scripts/build/configure-auto-updates.sh", "${path.root}/../scripts/build/configure-auto-updates.sh",
"${path.root}/../scripts/build/configure-ntpconf.sh", "${path.root}/../scripts/build/configure-ntpconf.sh",
"${path.root}/../scripts/build/configure-shell.sh" "${path.root}/../scripts/build/configure-shell.sh"
@@ -217,8 +215,7 @@ build {
"${path.root}/../scripts/build/install-rubygems.sh", "${path.root}/../scripts/build/install-rubygems.sh",
"${path.root}/../scripts/build/install-git.sh", "${path.root}/../scripts/build/install-git.sh",
"${path.root}/../scripts/build/install-node.sh", "${path.root}/../scripts/build/install-node.sh",
"${path.root}/../scripts/build/install-common-utils.sh", "${path.root}/../scripts/build/install-common-utils.sh"
"${path.root}/../scripts/build/install-unxip.sh"
] ]
} }
@@ -54,9 +54,8 @@ variable "vm_password" {
} }
variable "github_api_pat" { variable "github_api_pat" {
type = string type = string
sensitive = true default = ""
default = ""
} }
variable "xcode_install_storage_url" { variable "xcode_install_storage_url" {
@@ -98,7 +97,7 @@ source "null" "template" {
ssh_host = "${var.source_vm_name}" ssh_host = "${var.source_vm_name}"
ssh_port = "${var.source_vm_port}" ssh_port = "${var.source_vm_port}"
ssh_username = "${var.vm_username}" ssh_username = "${var.vm_username}"
ssh_password = "${var.vm_password}" ssh_private_key_file = "${var.vm_password}"
ssh_proxy_host = "${var.socks_proxy}" ssh_proxy_host = "${var.socks_proxy}"
} }
@@ -179,7 +178,6 @@ build {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-tccdb-macos.sh", "${path.root}/../scripts/build/configure-tccdb-macos.sh",
"${path.root}/../scripts/build/configure-autologin.sh",
"${path.root}/../scripts/build/configure-auto-updates.sh", "${path.root}/../scripts/build/configure-auto-updates.sh",
"${path.root}/../scripts/build/configure-ntpconf.sh", "${path.root}/../scripts/build/configure-ntpconf.sh",
"${path.root}/../scripts/build/configure-shell.sh" "${path.root}/../scripts/build/configure-shell.sh"
@@ -219,8 +217,7 @@ build {
"${path.root}/../scripts/build/install-rubygems.sh", "${path.root}/../scripts/build/install-rubygems.sh",
"${path.root}/../scripts/build/install-git.sh", "${path.root}/../scripts/build/install-git.sh",
"${path.root}/../scripts/build/install-node.sh", "${path.root}/../scripts/build/install-node.sh",
"${path.root}/../scripts/build/install-common-utils.sh", "${path.root}/../scripts/build/install-common-utils.sh"
"${path.root}/../scripts/build/install-unxip.sh"
] ]
} }
+5 -6
View File
@@ -54,9 +54,8 @@ variable "vm_password" {
} }
variable "github_api_pat" { variable "github_api_pat" {
type = string type = string
sensitive = true default = ""
default = ""
} }
variable "xcode_install_storage_url" { variable "xcode_install_storage_url" {
@@ -97,7 +96,7 @@ source "null" "template" {
ssh_host = "${var.source_vm_name}" ssh_host = "${var.source_vm_name}"
ssh_port = "${var.source_vm_port}" ssh_port = "${var.source_vm_port}"
ssh_username = "${var.vm_username}" ssh_username = "${var.vm_username}"
ssh_password = "${var.vm_password}" ssh_private_key_file = "${var.vm_password}"
ssh_proxy_host = "${var.socks_proxy}" ssh_proxy_host = "${var.socks_proxy}"
} }
@@ -158,7 +157,7 @@ build {
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report", "mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets", "mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
"mkdir ~/utils", "mkdir ~/utils",
"mv ${local.image_folder}/helpers/confirm-identified-developers-macos14.scpt ~/utils", "mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/utils",
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils", "mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils", "mv ${local.image_folder}/helpers/utils.sh ~/utils",
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils" "mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
@@ -178,7 +177,6 @@ build {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-tccdb-macos.sh", "${path.root}/../scripts/build/configure-tccdb-macos.sh",
"${path.root}/../scripts/build/configure-autologin.sh",
"${path.root}/../scripts/build/configure-auto-updates.sh", "${path.root}/../scripts/build/configure-auto-updates.sh",
"${path.root}/../scripts/build/configure-ntpconf.sh", "${path.root}/../scripts/build/configure-ntpconf.sh",
"${path.root}/../scripts/build/configure-shell.sh" "${path.root}/../scripts/build/configure-shell.sh"
@@ -251,6 +249,7 @@ build {
"${path.root}/../scripts/build/install-chrome.sh", "${path.root}/../scripts/build/install-chrome.sh",
"${path.root}/../scripts/build/install-edge.sh", "${path.root}/../scripts/build/install-edge.sh",
"${path.root}/../scripts/build/install-firefox.sh", "${path.root}/../scripts/build/install-firefox.sh",
"${path.root}/../scripts/build/install-pypy.sh",
"${path.root}/../scripts/build/install-bicep.sh", "${path.root}/../scripts/build/install-bicep.sh",
"${path.root}/../scripts/build/install-codeql-bundle.sh" "${path.root}/../scripts/build/install-codeql-bundle.sh"
] ]
@@ -54,9 +54,8 @@ variable "vm_password" {
} }
variable "github_api_pat" { variable "github_api_pat" {
type = string type = string
sensitive = true default = ""
default = ""
} }
variable "xcode_install_storage_url" { variable "xcode_install_storage_url" {
@@ -98,7 +97,7 @@ source "null" "template" {
ssh_host = "${var.source_vm_name}" ssh_host = "${var.source_vm_name}"
ssh_port = "${var.source_vm_port}" ssh_port = "${var.source_vm_port}"
ssh_username = "${var.vm_username}" ssh_username = "${var.vm_username}"
ssh_password = "${var.vm_password}" ssh_private_key_file = "${var.vm_password}"
ssh_proxy_host = "${var.socks_proxy}" ssh_proxy_host = "${var.socks_proxy}"
} }
@@ -180,7 +179,6 @@ build {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
scripts = [ scripts = [
"${path.root}/../scripts/build/configure-tccdb-macos.sh", "${path.root}/../scripts/build/configure-tccdb-macos.sh",
"${path.root}/../scripts/build/configure-autologin.sh",
"${path.root}/../scripts/build/configure-auto-updates.sh", "${path.root}/../scripts/build/configure-auto-updates.sh",
"${path.root}/../scripts/build/configure-ntpconf.sh", "${path.root}/../scripts/build/configure-ntpconf.sh",
"${path.root}/../scripts/build/configure-shell.sh" "${path.root}/../scripts/build/configure-shell.sh"
+2 -4
View File
@@ -6,8 +6,6 @@
- `link` property points to the place where Xcode will be located on image. `/Applications/Xcode_<link>.app` - `link` property points to the place where Xcode will be located on image. `/Applications/Xcode_<link>.app`
- `version` points to Xcode version that will be downloaded and installed - `version` points to Xcode version that will be downloaded and installed
- `symlinks` describes the list of aliases where symlinks will be created to - `symlinks` describes the list of aliases where symlinks will be created to
- `install_runtimes` is boolean function to control over the related simulator runtimes
- `sha256` used to check integrity of the Xcode installer file
- `default` - version of Xcode to set as default (should be metched with any `link` in `versions` property) - `default` - version of Xcode to set as default (should be metched with any `link` in `versions` property)
**Example:** `"11.2"` **Example:** `"11.2"`
@@ -24,8 +22,8 @@
```json ```json
"versions": [ "versions": [
{ "link": "16_beta_4", "version": "16.0.0-Beta.4+16A5211f", "symlinks": ["16.0"], "install_runtimes": "false", "sha256": "4270cd8021b2f7f512ce91bfc4423b25bccab36cdab21834709d798c8daade72"}, { "link": "12.2", "version": "12.2.0" },
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"} { "link": "11.7", "version": "11.7.0", "symlinks": ["11.7_beta"] }
] ]
``` ```
+358
View File
@@ -0,0 +1,358 @@
{
"xcode": {
"default": "13.2.1",
"x64": {
"versions": [
{ "link": "13.2.1", "version": "13.2.1+13C100", "symlinks": ["13.2"], "sha256": "D3BFCC6225D531587490C0DFC0926C80B7D50D17671DC8F25868F965F5D65F9D" },
{ "link": "13.1", "version": "13.1.0+13A1030d", "sha256": "4EFDEEA0EEEDA1957BB394128CCCD1DAAC3CB0A3D074224E0FAB90855CCA09C4" },
{ "link": "13.0", "version": "13.0.0+13A233", "sha256": "1D8257750A4E0333A2B372B32381BE5EC9B29704C8A0D44CE2E6D26D1CF4301E" },
{ "link": "12.5.1", "version": "12.5.1+12E507", "symlinks": ["12.5"], "sha256": "2592BF58E654440B3DF7062219DBBD24BDF345FAE6BA000756D6D5B1166A7168" },
{ "link": "12.4", "version": "12.4.0+12D4e", "sha256": "CC8D10155258F9DDAA5E422AB8F50E6058758C95208E58E59B5DB1DB033CE2FF" },
{ "link": "11.7", "version": "11.7.0-GM+11E801a", "symlinks": ["11.7_beta"], "sha256": "A53FDEAB92326CD9BF93A1B5FAE01E3D658B04DA60DFF5DE74141CABA0808B03" }
]
}
},
"xamarin": {
"vsmac": {
"default": "2022",
"versions": [ "2019", "2022" ]
},
"mono_versions": [
"6.12.0.188"
],
"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"
],
"mac_versions": [
"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.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.1"
},
{
"symlink": "6_12_14",
"mono":"6.12",
"ios": "15.8",
"mac": "8.8",
"android": "12.0"
},
{
"symlink": "6_12_13",
"mono":"6.12",
"ios": "15.6",
"mac": "8.6",
"android": "12.0"
},
{
"symlink": "6_12_12",
"mono":"6.12",
"ios": "15.4",
"mac": "8.4",
"android": "12.0"
},
{
"symlink": "6_12_11",
"mono":"6.12",
"ios": "15.2",
"mac": "8.2",
"android": "12.0"
},
{
"symlink": "6_12_10",
"mono":"6.12",
"ios": "15.0",
"mac": "7.14",
"android": "11.3"
},
{
"symlink": "6_12_9",
"mono":"6.12",
"ios": "14.20",
"mac": "7.14",
"android": "11.3"
},
{
"symlink": "6_12_8",
"mono":"6.12",
"ios": "14.16",
"mac": "7.10",
"android": "11.2"
},
{
"symlink": "6_12_7",
"mono":"6.12",
"ios": "14.14",
"mac": "7.8",
"android": "11.2"
},
{
"symlink": "6_12_6",
"mono":"6.12",
"ios": "14.10",
"mac": "7.4",
"android": "11.1"
},
{
"symlink": "6_12_5",
"mono":"6.12",
"ios": "14.8",
"mac": "7.2",
"android": "11.1"
},
{
"symlink": "6_12_4",
"mono":"6.12",
"ios": "14.6",
"mac": "7.0",
"android": "11.1"
},
{
"symlink": "6_12_3",
"mono":"6.12",
"ios": "14.4",
"mac": "6.22",
"android": "11.1"
},
{
"symlink": "6_12_2",
"mono":"6.12",
"ios": "14.2",
"mac": "6.20",
"android": "11.0"
},
{
"symlink": "6_12_1",
"mono":"6.12",
"ios": "14.0",
"mac": "6.20",
"android": "11.0"
},
{
"symlink": "6_12_0",
"mono":"6.12",
"ios": "13.20",
"mac": "6.20",
"android": "11.0"
}
]
},
"java": {
"x64": {
"default": "8",
"versions": [ "8", "11", "17", "21"]
}
},
"android": {
"cmdline-tools": "commandlinetools-mac-9123335_latest.zip",
"platform_min_version": "31",
"build_tools_min_version": "31.0.0",
"extras": [
"android;m2repository", "google;m2repository", "google;google_play_services"
],
"addons": [],
"additional_tools": [
"cmake;3.10.2.4988404",
"cmake;3.18.1",
"cmake;3.22.1"
],
"ndk": {
"default": "25",
"versions": [
"24", "25", "26"
]
}
},
"powershellModules": [
{"name": "Az"},
{"name": "MarkdownPS"},
{"name": "Pester"},
{"name": "PSScriptAnalyzer"}
],
"npm": {
"global_packages": [
{ "name": "appcenter-cli", "test": "appcenter --version" },
{ "name": "newman", "test": "newman --version" }
]
},
"brew": {
"common_packages": [
"aliyun-cli",
"ant",
"aria2",
"bazelisk",
"carthage",
"cmake",
"colima",
"gh",
"gnupg",
"gnu-tar",
"helm",
"kotlin",
"libpq",
"p7zip",
"packer",
"perl",
"pkg-config",
"sbt",
"subversion",
"swiftformat",
"swig",
"zstd",
"zlib",
"libxext",
"libxft",
"tcl-tk"
],
"cask_packages": [
"julia"
]
},
"gcc": {
"versions": [
"10",
"11",
"12"
]
},
"toolcache": [
{
"name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"3.7.*",
"3.8.*",
"3.9.*",
"3.10.*",
"3.11.*",
"3.12.*"
]
}
}
},
{
"name": "PyPy",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"2.7",
"3.7",
"3.8",
"3.9",
"3.10"
]
}
}
},
{
"name": "Node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"16.*",
"18.*",
"20.*"
]
}
}
},
{
"name": "Go",
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"variable_template" : "GOROOT_{0}_{1}_X64",
"versions": [
"1.20.*",
"1.21.*"
]
}
}
},
{
"name": "Ruby",
"arch": {
"x64": {
"versions": [
"3.0.*",
"3.1.*"
]
}
}
}
],
"pipx": [
{
"package": "yamllint",
"cmd": "yamllint --version"
}
],
"dotnet": {
"arch":{
"x64": {
"versions": [
"6.0",
"7.0",
"8.0"
]
}
}
},
"ruby": {
"default": "3.0",
"rubygems": [
"xcode-install",
"cocoapods",
"nomad-cli",
"xcpretty",
"bundler",
"fastlane",
"jazzy"
]
},
"go": {
"default": "1.21"
},
"node": {
"default": "18",
"nvm_versions": [
"16",
"18",
"20"
]
},
"llvm": {
"version": "15"
},
"mongodb": {
"version": "5.0"
},
"postgresql": {
"version": "14"
},
"pwsh": {
"version": "7.4"
}
}
+7 -12
View File
@@ -167,7 +167,7 @@
"ndk": { "ndk": {
"default": "25", "default": "25",
"versions": [ "versions": [
"24", "25", "26", "27" "24", "25", "26"
] ]
} }
}, },
@@ -184,6 +184,7 @@
}, },
"brew": { "brew": {
"common_packages": [ "common_packages": [
"ant",
"aria2", "aria2",
"azure-cli", "azure-cli",
"bazelisk", "bazelisk",
@@ -193,11 +194,13 @@
"gh", "gh",
"gnupg", "gnupg",
"gnu-tar", "gnu-tar",
"kotlin",
"libpq", "libpq",
"p7zip", "p7zip",
"packer", "packer",
"perl", "perl",
"pkg-config", "pkg-config",
"sbt",
"subversion", "subversion",
"swiftformat", "swiftformat",
"swig", "swig",
@@ -219,15 +222,11 @@
"vagrant", "vagrant",
"virtualbox", "virtualbox",
"parallels" "parallels"
],
"compilable_packages": [
"ant",
"kotlin",
"sbt"
] ]
}, },
"gcc": { "gcc": {
"versions": [ "versions": [
"11",
"12", "12",
"13", "13",
"14" "14"
@@ -290,8 +289,7 @@
"versions": [ "versions": [
"1.20.*", "1.20.*",
"1.21.*", "1.21.*",
"1.22.*", "1.22.*"
"1.23.*"
] ]
} }
} }
@@ -302,9 +300,7 @@
"x64": { "x64": {
"versions": [ "versions": [
"3.0.*", "3.0.*",
"3.1.*", "3.1.*"
"3.2.*",
"3.3.*"
] ]
} }
} }
@@ -343,7 +339,6 @@
}, },
"node": { "node": {
"default": "18", "default": "18",
"nvm_installer": "0.39.7",
"nvm_versions": [ "nvm_versions": [
"16", "16",
"18", "18",
+22 -35
View File
@@ -9,6 +9,7 @@
{ "link": "14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "true", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"}, { "link": "14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "true", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"},
{ "link": "14.2", "version": "14.2.0+14C18", "install_runtimes": "true", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"}, { "link": "14.2", "version": "14.2.0+14C18", "install_runtimes": "true", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"},
{ "link": "14.1", "version": "14.1.0+14B47b", "install_runtimes": "true", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"} { "link": "14.1", "version": "14.1.0+14B47b", "install_runtimes": "true", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"}
] ]
}, },
"arm64":{ "arm64":{
@@ -42,22 +43,17 @@
], ],
"addons": [], "addons": [],
"additional_tools": [ "additional_tools": [
"cmake;3.31.0" "cmake;3.22.1"
], ],
"ndk": { "ndk": {
"default": "26", "default": "26",
"versions": [ "versions": [
"26", "27" "24", "25", "26"
] ]
} }
}, },
"powershellModules": [ "powershellModules": [
{ { "name": "Az" },
"name": "Az",
"versions": [
"12.4.0"
]
},
{ "name": "Pester" }, { "name": "Pester" },
{ "name": "PSScriptAnalyzer" } { "name": "PSScriptAnalyzer" }
], ],
@@ -77,21 +73,22 @@
"p7zip", "p7zip",
"packer", "packer",
"perl", "perl",
"pkgconf", "pkg-config",
"swiftformat", "swiftformat",
"tcl-tk@8",
"zstd", "zstd",
"gmp", "gmp",
"yq", "yq",
"unxip",
"xcbeautify", "xcbeautify",
"xcodes" "xcodes"
], ],
"cask_packages": [ "cask_packages": [
"parallels" ""
] ]
}, },
"gcc": { "gcc": {
"versions": [ "versions": [
"11",
"12", "12",
"13", "13",
"14" "14"
@@ -133,15 +130,15 @@
"3.9.*", "3.9.*",
"3.10.*", "3.10.*",
"3.11.*", "3.11.*",
"3.12.*", "3.12.*"
"3.13.*"
] ]
}, },
"arm64": { "arm64": {
"versions": [ "versions": [
"3.9.*",
"3.10.*",
"3.11.*", "3.11.*",
"3.12.*", "3.12.*"
"3.13.*"
] ]
} }
} }
@@ -168,16 +165,16 @@
"arch": { "arch": {
"x64": { "x64": {
"versions": [ "versions": [
"16.*",
"18.*", "18.*",
"20.*", "20.*"
"22.*"
] ]
}, },
"arm64": { "arm64": {
"versions": [ "versions": [
"16.*",
"18.*", "18.*",
"20.*", "20.*"
"22.*"
] ]
} }
} }
@@ -190,17 +187,17 @@
"x64": { "x64": {
"variable_template" : "GOROOT_{0}_{1}_X64", "variable_template" : "GOROOT_{0}_{1}_X64",
"versions": [ "versions": [
"1.20.*",
"1.21.*", "1.21.*",
"1.22.*", "1.22.*"
"1.23.*"
] ]
}, },
"arm64": { "arm64": {
"variable_template" : "GOROOT_{0}_{1}_ARM64", "variable_template" : "GOROOT_{0}_{1}_ARM64",
"versions": [ "versions": [
"1.20.*",
"1.21.*", "1.21.*",
"1.22.*", "1.22.*"
"1.23.*"
] ]
} }
} }
@@ -211,17 +208,7 @@
"x64": { "x64": {
"versions": [ "versions": [
"3.0.*", "3.0.*",
"3.1.*", "3.1.*"
"3.2.*",
"3.3.*"
]
},
"arm64": {
"versions": [
"3.0.*",
"3.1.*",
"3.2.*",
"3.3.*"
] ]
} }
} }
@@ -234,7 +221,7 @@
"version": "15" "version": "15"
}, },
"php": { "php": {
"version": "8.4" "version": "8.3"
}, },
"mono": { "mono": {
"framework":{ "framework":{
+25 -42
View File
@@ -1,26 +1,26 @@
{ {
"xcode": { "xcode": {
"default": "15.4", "default": "15.0.1",
"x64": { "x64": {
"versions": [ "versions": [
{ "link": "16.1", "version": "16.1+16B40", "runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"}, { "link": "16.0", "version": "16.0.0-Beta.2+16A5171r", "install_runtimes": "false", "sha256": "86b4fd563d80c997887d37a528f69161f82987932b5ebe6119ad5dd548352ad3"},
{ "link": "16", "version": "16.0.0+16A242d", "symlinks": ["16.0"], "runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "4a26c3d102a55c7222fb145e0ee1503249c9c26c6e02dc64d783c8810b37b1e3"},
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}, { "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"},
{ "link": "15.3", "version": "15.3.0+15E204a", "install_runtimes": "true", "sha256": "f13f6a2e2df432c3008e394640b8549a18c285acd7fd148d6c4bac8c3a5af234"}, { "link": "15.3", "version": "15.3.0+15E204a", "install_runtimes": "true", "sha256": "f13f6a2e2df432c3008e394640b8549a18c285acd7fd148d6c4bac8c3a5af234"},
{ "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"}, { "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
{ "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "true", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"}, { "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "true", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
{ "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "true", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"} { "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "true", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"},
{ "link": "14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "true", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"}
] ]
}, },
"arm64":{ "arm64":{
"versions": [ "versions": [
{ "link": "16.1", "version": "16.1+16B40", "runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"}, { "link": "16.0", "version": "16.0.0-Beta.2+16A5171r", "install_runtimes": "true", "sha256": "86b4fd563d80c997887d37a528f69161f82987932b5ebe6119ad5dd548352ad3"},
{ "link": "16", "version": "16.0.0+16A242d", "symlinks": ["16.0"], "runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "4a26c3d102a55c7222fb145e0ee1503249c9c26c6e02dc64d783c8810b37b1e3"},
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}, { "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"},
{ "link": "15.3", "version": "15.3.0+15E204a", "install_runtimes": "true", "sha256": "f13f6a2e2df432c3008e394640b8549a18c285acd7fd148d6c4bac8c3a5af234"}, { "link": "15.3", "version": "15.3.0+15E204a", "install_runtimes": "true", "sha256": "f13f6a2e2df432c3008e394640b8549a18c285acd7fd148d6c4bac8c3a5af234"},
{ "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"}, { "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
{ "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "true", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"}, { "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "true", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
{ "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "true", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"} { "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "true", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"},
{ "link": "14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "true", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"}
] ]
} }
}, },
@@ -44,22 +44,17 @@
], ],
"addons": [], "addons": [],
"additional_tools": [ "additional_tools": [
"cmake;3.31.0" "cmake;3.22.1"
], ],
"ndk": { "ndk": {
"default": "26", "default": "26",
"versions": [ "versions": [
"26", "27" "24", "25", "26"
] ]
} }
}, },
"powershellModules": [ "powershellModules": [
{ { "name": "Az" },
"name": "Az",
"versions": [
"12.4.0"
]
},
{ "name": "Pester" }, { "name": "Pester" },
{ "name": "PSScriptAnalyzer" } { "name": "PSScriptAnalyzer" }
], ],
@@ -80,9 +75,8 @@
"p7zip", "p7zip",
"packer", "packer",
"perl", "perl",
"pkgconf", "pkg-config",
"swiftformat", "swiftformat",
"tcl-tk@8",
"zstd", "zstd",
"gmp", "gmp",
"yq", "yq",
@@ -91,11 +85,12 @@
"xcodes" "xcodes"
], ],
"cask_packages": [ "cask_packages": [
"parallels" ""
] ]
}, },
"gcc": { "gcc": {
"versions": [ "versions": [
"11",
"12", "12",
"13", "13",
"14" "14"
@@ -136,15 +131,15 @@
"3.9.*", "3.9.*",
"3.10.*", "3.10.*",
"3.11.*", "3.11.*",
"3.12.*", "3.12.*"
"3.13.*"
] ]
}, },
"arm64": { "arm64": {
"versions": [ "versions": [
"3.9.*",
"3.10.*",
"3.11.*", "3.11.*",
"3.12.*", "3.12.*"
"3.13.*"
] ]
} }
} }
@@ -157,15 +152,13 @@
"x64": { "x64": {
"versions": [ "versions": [
"18.*", "18.*",
"20.*", "20.*"
"22.*"
] ]
}, },
"arm64": { "arm64": {
"versions": [ "versions": [
"18.*", "18.*",
"20.*", "20.*"
"22.*"
] ]
} }
} }
@@ -178,17 +171,17 @@
"x64": { "x64": {
"variable_template" : "GOROOT_{0}_{1}_X64", "variable_template" : "GOROOT_{0}_{1}_X64",
"versions": [ "versions": [
"1.20.*",
"1.21.*", "1.21.*",
"1.22.*", "1.22.*"
"1.23.*"
] ]
}, },
"arm64": { "arm64": {
"variable_template" : "GOROOT_{0}_{1}_ARM64", "variable_template" : "GOROOT_{0}_{1}_ARM64",
"versions": [ "versions": [
"1.20.*",
"1.21.*", "1.21.*",
"1.22.*", "1.22.*"
"1.23.*"
] ]
} }
} }
@@ -199,17 +192,7 @@
"x64": { "x64": {
"versions": [ "versions": [
"3.0.*", "3.0.*",
"3.1.*", "3.1.*"
"3.2.*",
"3.3.*"
]
},
"arm64": {
"versions": [
"3.0.*",
"3.1.*",
"3.2.*",
"3.3.*"
] ]
} }
} }
@@ -222,7 +205,7 @@
"version": "15" "version": "15"
}, },
"php": { "php": {
"version": "8.4" "version": "8.3"
}, },
"pwsh": { "pwsh": {
"version": "7.4" "version": "7.4"
-219
View File
@@ -1,219 +0,0 @@
{
"xcode": {
"default": "16",
"x64": {
"versions": [
{ "link": "16.2_beta_3", "version": "16.2.0-Beta.3+16C5023f", "symlinks": ["16.2"], "install_runtimes": "true", "sha256": "04f3a3e3daf5d07e5ecfdf3cd7fc34fcf0a654884388d56f9f69942a9e3b1e66"},
{ "link": "16.1", "version": "16.1+16B40", "install_runtimes": "true", "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
{ "link": "16", "version": "16.0.0+16A242d", "symlinks": ["16.0"], "install_runtimes": "true", "sha256": "4a26c3d102a55c7222fb145e0ee1503249c9c26c6e02dc64d783c8810b37b1e3"},
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}
]
},
"arm64":{
"versions": [
{ "link": "16.2_beta_3", "version": "16.2.0-Beta.3+16C5023f", "symlinks": ["16.2"], "install_runtimes": "true", "sha256": "04f3a3e3daf5d07e5ecfdf3cd7fc34fcf0a654884388d56f9f69942a9e3b1e66"},
{ "link": "16.1", "version": "16.1+16B40", "install_runtimes": "true", "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
{ "link": "16", "version": "16.0.0+16A242d", "symlinks": ["16.0"], "install_runtimes": "true", "sha256": "4a26c3d102a55c7222fb145e0ee1503249c9c26c6e02dc64d783c8810b37b1e3"},
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}
]
}
},
"java": {
"x64": {
"default": "21",
"versions": [ "11", "17", "21"]
},
"arm64": {
"default": "21",
"versions": [ "11", "17", "21"]
}
},
"android": {
"cmdline-tools": "commandlinetools-mac-12266719_latest.zip",
"sdk-tools": "sdk-tools-darwin-4333796.zip",
"platform_min_version": "35",
"build_tools_min_version": "35.0.0",
"extras": [
"android;m2repository", "google;m2repository", "google;google_play_services"
],
"addons": [],
"additional_tools": [
"cmake;3.31.0"
],
"ndk": {
"default": "27",
"versions": [
"26", "27"
]
}
},
"powershellModules": [
{
"name": "Az",
"versions": [
"12.4.0"
]
},
{ "name": "Pester" },
{ "name": "PSScriptAnalyzer" }
],
"brew": {
"common_packages": [
"ant",
"aria2",
"azure-cli",
"bazelisk",
"carthage",
"cmake",
"gh",
"gnupg",
"gnu-tar",
"kotlin",
"libpq",
"libsodium",
"p7zip",
"packer",
"perl",
"pkgconf",
"swiftformat",
"zstd",
"gmp",
"yq",
"unxip",
"xcbeautify",
"xcodes"
],
"cask_packages": [
""
]
},
"gcc": {
"versions": [
"12",
"13",
"14"
]
},
"dotnet": {
"arch":{
"x64": {
"versions": [
"8.0"
]
},
"arm64": {
"versions": [
"8.0"
]
}
}
},
"ruby": {
"default": "3.3",
"rubygems": [
"cocoapods",
"bundler",
"fastlane"
]
},
"toolcache": [
{
"name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"3.9.*",
"3.10.*",
"3.11.*",
"3.12.*",
"3.13.*"
]
},
"arm64": {
"versions": [
"3.11.*",
"3.12.*",
"3.13.*"
]
}
}
},
{
"name": "Node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"18.*",
"20.*",
"22.*"
]
},
"arm64": {
"versions": [
"18.*",
"20.*",
"22.*"
]
}
}
},
{
"name": "Go",
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"variable_template" : "GOROOT_{0}_{1}_X64",
"versions": [
"1.21.*",
"1.22.*",
"1.23.*"
]
},
"arm64": {
"variable_template" : "GOROOT_{0}_{1}_ARM64",
"versions": [
"1.21.*",
"1.22.*",
"1.23.*"
]
}
}
},
{
"name": "Ruby",
"arch": {
"x64": {
"versions": [
"3.1.*",
"3.2.*",
"3.3.*"
]
},
"arm64": {
"versions": [
"3.1.*",
"3.2.*",
"3.3.*"
]
}
}
}
],
"node": {
"default": "22"
},
"llvm": {
"version": "18"
},
"php": {
"version": "8.4"
},
"pwsh": {
"version": "7.4"
}
}
+135 -135
View File
@@ -1,14 +1,13 @@
| Announcements | | Announcements |
|-| |-|
| [[Ubuntu] Breaking Change: runner user will have UID 1001 instead of 1000 for larger runners](https://github.com/actions/runner-images/issues/10936) | | [Ubuntu 24.04 is now available](https://github.com/actions/runner-images/issues/9848) |
| [[Ubuntu 20 and 22] Node.js version 16 will be removed on November 18,2024.](https://github.com/actions/runner-images/issues/10896) | | [[Ubuntu, Windows] Docker Compose v1 will be removed from images on July, 29](https://github.com/actions/runner-images/issues/9692) |
| [Ubuntu-latest workflows will use Ubuntu-24.04 image](https://github.com/actions/runner-images/issues/10636) |
*** ***
# Ubuntu 20.04 # Ubuntu 20.04
- OS Version: 20.04.6 LTS - OS Version: 20.04.6 LTS
- Kernel Version: 5.15.0-1074-azure - Kernel Version: 5.15.0-1067-azure
- Image Version: 20241124.1.0 - Image Version: 20240708.1.0
- Systemd version: 245.4-4ubuntu3.24 - Systemd version: 245.4-4ubuntu3.23
## Installed Software ## Installed Software
@@ -19,31 +18,31 @@
- Clang-tidy: 10.0.0, 11.0.0, 12.0.0 - Clang-tidy: 10.0.0, 11.0.0, 12.0.0
- Dash 0.5.10.2-6 - Dash 0.5.10.2-6
- Erlang 25.3 (Eshell 13.2) - Erlang 25.3 (Eshell 13.2)
- Erlang rebar3 3.24.0 - Erlang rebar3 3.23.0
- GNU C++: 10.5.0 - GNU C++: 10.5.0
- GNU Fortran: 10.5.0 - GNU Fortran: 10.5.0
- Julia 1.11.1 - Julia 1.10.4
- Kotlin 2.0.21-release-482 - Kotlin 2.0.0-release-341
- Mono 6.12.0.200 - Mono 6.12.0.200
- MSBuild 16.10.1.31701 (Mono 6.12.0.200) - MSBuild 16.10.1.31701 (Mono 6.12.0.200)
- Node.js 18.20.5 - Node.js 18.20.3
- Perl 5.30.0 - Perl 5.30.0
- Python 3.8.10 - Python 3.8.10
- Ruby 2.7.0p0 - Ruby 2.7.0p0
- Swift 6.0.2 - Swift 5.10.1
### Package Management ### Package Management
- cpan 1.64 - cpan 1.64
- Helm 3.16.3 - Helm 3.15.2
- Homebrew 4.4.6 - Homebrew 4.3.9
- Miniconda 24.9.2 - Miniconda 24.5.0
- Npm 10.8.2 - Npm 10.7.0
- NuGet 6.6.1.2 - NuGet 6.6.1.2
- Pip 20.0.2 - Pip 20.0.2
- Pip3 20.0.2 - Pip3 20.0.2
- Pipx 1.7.1 - Pipx 1.6.0
- RubyGems 3.1.2 - RubyGems 3.1.2
- Vcpkg (build from commit 5e5d0e1cd) - Vcpkg (build from commit 576379156)
- Yarn 1.22.22 - Yarn 1.22.22
#### Environment variables #### Environment variables
@@ -62,85 +61,86 @@ to accomplish this.
### Project Management ### Project Management
- Ant 1.10.7 - Ant 1.10.7
- Gradle 8.11.1 - Gradle 8.8
- Lerna 8.1.9 - Lerna 8.1.6
- Maven 3.8.8 - Maven 3.8.8
- Sbt 1.10.5 - Sbt 1.10.1
### Tools ### Tools
- Ansible 2.13.13 - Ansible 2.13.13
- apt-fast 1.10.0 - apt-fast 1.10.0
- AzCopy 10.27.1 - available by `azcopy` and `azcopy10` aliases - AzCopy 10.25.1 - available by `azcopy` and `azcopy10` aliases
- Bazel 7.4.1 - Bazel 7.2.1
- Bazelisk 1.24.0 - Bazelisk 1.19.0
- Bicep 0.31.92 - Bicep 0.28.1
- Buildah 1.22.3 - Buildah 1.22.3
- CMake 3.31.1 - CMake 3.30.0
- CodeQL Action Bundle 2.19.3 - CodeQL Action Bundle 2.17.6
- Docker Amazon ECR Credential Helper 0.9.0 - Docker Amazon ECR Credential Helper 0.8.0
- Docker Compose v1 1.29.2
- Docker Compose v2 2.27.1 - Docker Compose v2 2.27.1
- Docker-Buildx 0.18.0 - Docker-Buildx 0.15.1
- Docker Client 26.1.3 - Docker Client 26.1.3
- Docker Server 26.1.3 - Docker Server 26.1.3
- Fastlane 2.225.0 - Fastlane 2.221.1
- Git 2.47.0 - Git 2.45.2
- Git LFS 3.6.0 - Git LFS 3.5.1
- Git-ftp 1.6.0 - Git-ftp 1.6.0
- Haveged 1.9.1 - Haveged 1.9.1
- Heroku 9.5.0 - Heroku 8.11.5
- HHVM (HipHop VM) 4.172.1 - HHVM (HipHop VM) 4.172.1
- jq 1.6 - jq 1.6
- Kind 0.25.0 - Kind 0.23.0
- Kubectl 1.31.3 - Kubectl 1.30.2
- Kustomize 5.5.0 - Kustomize 5.4.2
- Leiningen 2.11.2 - Leiningen 2.11.2
- MediaInfo 19.09 - MediaInfo 19.09
- Mercurial 5.3.1 - Mercurial 5.3.1
- Minikube 1.34.0 - Minikube 1.33.1
- n 10.1.0 - n 9.2.3
- Newman 6.2.1 - Newman 6.1.3
- nvm 0.40.1 - nvm 0.39.7
- OpenSSL 1.1.1f-1ubuntu2.23 - OpenSSL 1.1.1f-1ubuntu2.22
- Packer 1.11.2 - Packer 1.11.1
- Parcel 2.13.0 - Parcel 2.12.0
- PhantomJS 2.1.1 2.1.1 - PhantomJS 2.1.1 2.1.1
- Podman 3.4.2 - Podman 3.4.2
- Pulumi 3.141.0 - Pulumi 3.122.0
- R 4.4.2 - R 4.4.1
- Skopeo 1.5.0 - Skopeo 1.5.0
- Sphinx Open Source Search Server 2.2.11 - Sphinx Open Source Search Server 2.2.11
- SVN 1.13.0 - SVN 1.13.0
- Terraform 1.9.8 - Terraform 1.9.1
- yamllint 1.35.1 - yamllint 1.35.1
- yq 4.44.5 - yq 4.44.2
- zstd 1.5.6 - zstd 1.5.6
### CLI Tools ### CLI Tools
- Alibaba Cloud CLI 3.0.174 - Alibaba Cloud CLI 3.0.174
- AWS CLI 2.22.4 - AWS CLI 2.17.9
- AWS CLI Session Manager Plugin 1.2.694.0 - AWS CLI Session Manager Plugin 1.2.650.0
- AWS SAM CLI 1.131.0 - AWS SAM CLI 1.120.0
- Azure CLI 2.67.0 - Azure CLI 2.61.0
- Azure CLI (azure-devops) 1.0.1 - Azure CLI (azure-devops) 1.0.1
- GitHub CLI 2.62.0 - GitHub CLI 2.52.0
- Google Cloud CLI 502.0.0 - Google Cloud CLI 483.0.0
- Netlify CLI 17.37.2 - Netlify CLI 17.33.0
- OpenShift CLI 4.15.19 - OpenShift CLI 4.15.19
- ORAS CLI 1.2.0 - ORAS CLI 1.2.0
- Vercel CLI 39.1.1 - Vercel CLI 34.3.0
### Java ### Java
| Version | Environment Variable | | Version | Environment Variable |
| ------------------- | -------------------- | | ------------------- | -------------------- |
| 8.0.432+6 | JAVA_HOME_8_X64 | | 8.0.412+8 | JAVA_HOME_8_X64 |
| 11.0.25+9 (default) | JAVA_HOME_11_X64 | | 11.0.23+9 (default) | JAVA_HOME_11_X64 |
| 17.0.13+11 | JAVA_HOME_17_X64 | | 17.0.11+9 | JAVA_HOME_17_X64 |
| 21.0.5+11 | JAVA_HOME_21_X64 | | 21.0.3+9 | JAVA_HOME_21_X64 |
### PHP Tools ### PHP Tools
- PHP: 7.4.33, 8.0.30, 8.1.31, 8.2.26, 8.3.14 - PHP: 7.4.33, 8.0.30, 8.1.29, 8.2.21, 8.3.9
- Composer 2.8.3 - Composer 2.7.7
- PHPUnit 8.5.40 - PHPUnit 8.5.38
``` ```
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled. Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
``` ```
@@ -149,31 +149,31 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
- Cabal 3.12.1.0 - Cabal 3.12.1.0
- GHC 9.10.1 - GHC 9.10.1
- GHCup 0.1.30.0 - GHCup 0.1.30.0
- Stack 3.1.1 - Stack 2.15.7
### Rust Tools ### Rust Tools
- Cargo 1.82.0 - Cargo 1.79.0
- Rust 1.82.0 - Rust 1.79.0
- Rustdoc 1.82.0 - Rustdoc 1.79.0
- Rustup 1.27.1 - Rustup 1.27.1
#### Packages #### Packages
- Bindgen 0.70.1 - Bindgen 0.69.4
- Cargo audit 0.21.0 - Cargo audit 0.20.0
- Cargo clippy 0.1.82 - Cargo clippy 0.1.79
- Cargo outdated 0.15.0 - Cargo outdated 0.15.0
- Cbindgen 0.27.0 - Cbindgen 0.26.0
- Rustfmt 1.7.1 - Rustfmt 1.7.0
### Browsers and Drivers ### Browsers and Drivers
- Google Chrome 131.0.6778.85 - Google Chrome 126.0.6478.126
- ChromeDriver 131.0.6778.85 - ChromeDriver 126.0.6478.126
- Chromium 131.0.6778.0 - Chromium 126.0.6478.0
- Microsoft Edge 131.0.2903.63 - Microsoft Edge 126.0.2592.87
- Microsoft Edge WebDriver 131.0.2903.52 - Microsoft Edge WebDriver 126.0.2592.87
- Selenium server 4.26.0 - Selenium server 4.22.0
- Mozilla Firefox 132.0.2 - Mozilla Firefox 127.0.2
- Geckodriver 0.35.0 - Geckodriver 0.34.0
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -184,15 +184,15 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar | | SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
### .NET Tools ### .NET Tools
- .NET Core SDK: 6.0.428, 7.0.410, 8.0.404 - .NET Core SDK: 6.0.423, 7.0.410, 8.0.301
- nbgv 3.6.146+392592327a - nbgv 3.6.139+a9e8765620
### Databases ### Databases
- MongoDB 5.0.30 - MongoDB 5.0.27
- sqlite3 3.31.1 - sqlite3 3.31.1
#### PostgreSQL #### PostgreSQL
- PostgreSQL 14.15 - PostgreSQL 14.12
``` ```
User: postgres User: postgres
PostgreSQL service is disabled by default. PostgreSQL service is disabled by default.
@@ -200,7 +200,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
``` ```
#### MySQL #### MySQL
- MySQL 8.0.40-0ubuntu0.20.04.1 - MySQL 8.0.37-0ubuntu0.20.04.3
``` ```
User: root User: root
Password: root Password: root
@@ -210,50 +210,50 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### MS SQL #### MS SQL
- sqlcmd 17.10.0001.1 - sqlcmd 17.10.0001.1
- SqlPackage 162.5.57.1 - SqlPackage 162.3.566.1
### Cached Tools ### Cached Tools
#### Go #### Go
- 1.21.13 - 1.20.14
- 1.22.9 - 1.21.12
- 1.23.3 - 1.22.5
#### Node.js #### Node.js
- 18.20.5 - 16.20.2
- 20.18.1 - 18.20.3
- 22.11.0 - 20.15.0
#### Python #### Python
- 3.7.17 - 3.7.17
- 3.8.18 - 3.8.18
- 3.9.20 - 3.9.19
- 3.10.15 - 3.10.14
- 3.11.10 - 3.11.9
- 3.12.7 - 3.12.4
#### PyPy #### PyPy
- 2.7.18 [PyPy 7.3.17] - 2.7.18 [PyPy 7.3.16]
- 3.6.12 [PyPy 7.3.3] - 3.6.12 [PyPy 7.3.3]
- 3.7.13 [PyPy 7.3.9] - 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11] - 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16] - 3.9.19 [PyPy 7.3.16]
- 3.10.14 [PyPy 7.3.17] - 3.10.14 [PyPy 7.3.16]
#### Ruby #### Ruby
- 3.0.7 - 3.0.7
- 3.1.6 - 3.1.6
- 3.2.6 - 3.2.4
### PowerShell Tools ### PowerShell Tools
- PowerShell 7.4.6 - PowerShell 7.4.3
#### PowerShell Modules #### PowerShell Modules
- Az: 12.1.0 - Az: 11.3.1
- MarkdownPS: 1.10 - MarkdownPS: 1.10
- Microsoft.Graph: 2.25.0 - Microsoft.Graph: 2.20.0
- Pester: 5.6.1 - Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0 - PSScriptAnalyzer: 1.22.0
### Web Servers ### Web Servers
| Name | Version | ConfigFile | ServiceStatus | ListenPort | | Name | Version | ConfigFile | ServiceStatus | ListenPort |
@@ -263,45 +263,45 @@ Use the following command as a part of your job to start the service: 'sudo syst
| nginx | 1.18.0 | /etc/nginx/nginx.conf | inactive | 80 | | nginx | 1.18.0 | /etc/nginx/nginx.conf | inactive | 80 |
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 9.0 | | Android Command Line Tools | 9.0 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 | | Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 |
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) | | Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| CMake | 3.10.2<br>3.18.1<br>3.22.1 | | CMake | 3.10.2<br>3.18.1<br>3.22.1 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default) | | NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.3.11579264 |
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
| ----------------------- | -------------------------------------------- | | ----------------------- | -------------------------------------------- |
| ANDROID_HOME | /usr/local/lib/android/sdk | | ANDROID_HOME | /usr/local/lib/android/sdk |
| ANDROID_NDK | /usr/local/lib/android/sdk/ndk/27.2.12479018 | | ANDROID_NDK | /usr/local/lib/android/sdk/ndk/25.2.9519653 |
| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk/25.2.9519653 |
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk/25.2.9519653 |
| ANDROID_SDK_ROOT | /usr/local/lib/android/sdk | | ANDROID_SDK_ROOT | /usr/local/lib/android/sdk |
### Cached Docker images ### Cached Docker images
| Repository:Tag | Digest | Created | | Repository:Tag | Digest | Created |
| -------------------- | ------------------------------------------------------------------------ | ---------- | | -------------------- | ------------------------------------------------------------------------ | ---------- |
| alpine:3.16 | sha256:452e7292acee0ee16c332324d7de05fa2c99f9994ecc9f0779c602916a672ae4 | 2024-01-27 | | alpine:3.16 | sha256:452e7292acee0ee16c332324d7de05fa2c99f9994ecc9f0779c602916a672ae4 | 2024-01-27 |
| alpine:3.17 | sha256:8fc3dacfb6d69da8d44e42390de777e48577085db99aa4e4af35f483eb08b989 | 2024-09-06 | | alpine:3.17 | sha256:a6063e988bcd597b4f1f7cfd4ec38402b02edd0c79250f00c9e14dc1e94bebbc | 2024-06-20 |
| alpine:3.18 | sha256:2995c82e8e723d9a5c8585cb8e901d1c50e3c2759031027d3bff577449435157 | 2024-09-06 | | alpine:3.18 | sha256:1875c923b73448b558132e7d4a44b815d078779ed7a73f76209c6372de95ea8d | 2024-06-20 |
| alpine:3.19 | sha256:7a85bf5dc56c949be827f84f9185161265c58f589bb8b2a6b6bb6d3076c1be21 | 2024-09-06 | | alpine:3.19 | sha256:af4785ccdbcd5cde71bfd5b93eabd34250b98651f19fe218c91de6c8d10e21c5 | 2024-06-20 |
| debian:10 | sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d8009c20154ad0f2fb0a225 | 2024-06-13 | | debian:10 | sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d8009c20154ad0f2fb0a225 | 2024-06-13 |
| debian:11 | sha256:01559430c84e6bc864bed554345d1bfbfa94ac108ab68f39915cae34604b15c3 | 2024-11-11 | | debian:11 | sha256:b6b4a479a3bc1b8dfda5544f00b72aafb230bb835a43974a147b220c38df882e | 2024-07-02 |
| debian:9 | sha256:c5c5200ff1e9c73ffbf188b4a67eb1c91531b644856b4aefe86a58d2f0cb05be | 2022-06-23 | | debian:9 | sha256:c5c5200ff1e9c73ffbf188b4a67eb1c91531b644856b4aefe86a58d2f0cb05be | 2022-06-23 |
| moby/buildkit:latest | sha256:91b72a6d6963df39567b0b7266e51822e9cc09f963af8693a0ab2abbc75f8b6a | 2024-11-22 | | moby/buildkit:latest | sha256:5d410bbb6d22b01fcaead1345936c5e0a0963eb6c3b190e38694e015467640fe | 2024-06-18 |
| node:18 | sha256:83eb05700940a88b14f21fb31cc92e9571a34b1db1a5d8781b466fc26cbb1472 | 2024-11-15 | | node:16 | sha256:f77a1aef2da8d83e45ec990f45df50f1a286c5fe8bbfb8c6e4246c6389705c0b | 2023-09-07 |
| node:18-alpine | sha256:7e43a2d633d91e8655a6c0f45d2ed987aa4930f0792f6d9dd3bffc7496e44882 | 2024-11-15 | | node:16-alpine | sha256:a1f9d027912b58a7c75be7716c97cfbc6d3099f3a97ed84aa490be9dee20e787 | 2023-08-10 |
| node:20 | sha256:f99a6bd6fb137cfc683e1ff60e7d67aa8d5fcf45a6a64c01c37b4f433a6238b6 | 2024-11-20 | | node:18 | sha256:70ae166dcb03837ebe1abbb78919a1a4bdc79cc970344d56f33b6c753f4b46cc | 2024-05-21 |
| node:20-alpine | sha256:b5b9467fe7b33aad47f1ec3f6e0646a658f85f05c18d4243024212a91f3b7554 | 2024-11-20 | | node:18-alpine | sha256:e37da457874383fa9217067867ec85fe8fe59f0bfa351ec9752a95438680056e | 2024-06-04 |
| node:22 | sha256:5c76d05034644fa8ecc9c2aa84e0a83cd981d0ef13af5455b87b9adf5b216561 | 2024-10-29 | | node:20 | sha256:93d2e801dabc677ea0b30b47d3d729fab63ecb20be7ac0ab204cc3c65731297a | 2024-06-24 |
| node:22-alpine | sha256:b64ced2e7cd0a4816699fe308ce6e8a08ccba463c757c00c14cd372e3d2c763e | 2024-10-29 | | node:20-alpine | sha256:df01469346db2bf1cfc1f7261aeab86b2960efa840fe2bd46d83ff339f463665 | 2024-06-24 |
| ubuntu:20.04 | sha256:8e5c4f0285ecbb4ead070431d29b576a530d3166df73ec44affc1cd27555141b | 2024-10-11 | | ubuntu:20.04 | sha256:0b897358ff6624825fb50d20ffb605ab0eaea77ced0adb8c6a4b756513dec6fc | 2024-06-03 |
### Installed apt packages ### Installed apt packages
| Name | Version | | Name | Version |
@@ -315,9 +315,9 @@ Use the following command as a part of your job to start the service: 'sudo syst
| brotli | 1.0.7-6ubuntu0.1 | | brotli | 1.0.7-6ubuntu0.1 |
| bzip2 | 1.0.8-2 | | bzip2 | 1.0.8-2 |
| coreutils | 8.30-3ubuntu2 | | coreutils | 8.30-3ubuntu2 |
| curl | 7.68.0-1ubuntu2.24 | | curl | 7.68.0-1ubuntu2.22 |
| dbus | 1.12.16-2ubuntu2.3 | | dbus | 1.12.16-2ubuntu2.3 |
| dnsutils | 1:9.18.28-0ubuntu0.20.04.1 | | dnsutils | 1:9.16.48-0ubuntu0.20.04.1 |
| dpkg | 1.19.7ubuntu3.2 | | dpkg | 1.19.7ubuntu3.2 |
| dpkg-dev | 1.19.7ubuntu3.2 | | dpkg-dev | 1.19.7ubuntu3.2 |
| fakeroot | 1.24-1 | | fakeroot | 1.24-1 |
@@ -330,7 +330,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| gcc | 4:9.3.0-1ubuntu2 | | gcc | 4:9.3.0-1ubuntu2 |
| gnupg2 | 2.2.19-3ubuntu2.2 | | gnupg2 | 2.2.19-3ubuntu2.2 |
| haveged | 1.9.1-6ubuntu1 | | haveged | 1.9.1-6ubuntu1 |
| imagemagick | 8:6.9.10.23+dfsg-2.1ubuntu11.10 | | imagemagick | 8:6.9.10.23+dfsg-2.1ubuntu11.9 |
| iproute2 | 5.5.0-1ubuntu1 | | iproute2 | 5.5.0-1ubuntu1 |
| iputils-ping | 3:20190709-3ubuntu1 | | iputils-ping | 3:20190709-3ubuntu1 |
| jq | 1.6-1ubuntu0.20.04.1 | | jq | 1.6-1ubuntu0.20.04.1 |
@@ -338,14 +338,14 @@ Use the following command as a part of your job to start the service: 'sudo syst
| libc++-dev | 1:10.0-50\~exp1 | | libc++-dev | 1:10.0-50\~exp1 |
| libc++abi-dev | 1:10.0-50\~exp1 | | libc++abi-dev | 1:10.0-50\~exp1 |
| libc6-dev | 2.31-0ubuntu9.16 | | libc6-dev | 2.31-0ubuntu9.16 |
| libcurl4 | 7.68.0-1ubuntu2.24 | | libcurl4 | 7.68.0-1ubuntu2.22 |
| libgbm-dev | 21.2.6-0ubuntu0.1\~20.04.2 | | libgbm-dev | 21.2.6-0ubuntu0.1\~20.04.2 |
| libgconf-2-4 | 3.2.6-6ubuntu1 | | libgconf-2-4 | 3.2.6-6ubuntu1 |
| libgsl-dev | 2.5+dfsg-6+deb10u1build0.20.04.1 | | libgsl-dev | 2.5+dfsg-6+deb10u1build0.20.04.1 |
| libgtk-3-0 | 3.24.20-0ubuntu1.2 | | libgtk-3-0 | 3.24.20-0ubuntu1.1 |
| libmagic-dev | 1:5.38-4 | | libmagic-dev | 1:5.38-4 |
| libmagickcore-dev | 8:6.9.10.23+dfsg-2.1ubuntu11.10 | | libmagickcore-dev | 8:6.9.10.23+dfsg-2.1ubuntu11.9 |
| libmagickwand-dev | 8:6.9.10.23+dfsg-2.1ubuntu11.10 | | libmagickwand-dev | 8:6.9.10.23+dfsg-2.1ubuntu11.9 |
| libsecret-1-dev | 0.20.4-0ubuntu1 | | libsecret-1-dev | 0.20.4-0ubuntu1 |
| libsqlite3-dev | 3.31.1-4ubuntu0.6 | | libsqlite3-dev | 3.31.1-4ubuntu0.6 |
| libtool | 2.4.6-14 | | libtool | 2.4.6-14 |
@@ -390,7 +390,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| upx | 3.95-2build1 | | upx | 3.95-2build1 |
| wget | 1.20.3-1ubuntu2.1 | | wget | 1.20.3-1ubuntu2.1 |
| xorriso | 1.5.2-1 | | xorriso | 1.5.2-1 |
| xvfb | 2:1.20.13-1ubuntu1\~20.04.18 | | xvfb | 2:1.20.13-1ubuntu1\~20.04.17 |
| xz-utils | 5.2.4-1ubuntu1.1 | | xz-utils | 5.2.4-1ubuntu1.1 |
| zip | 3.0-11build1 | | zip | 3.0-11build1 |
| zsync | 0.6.2-3ubuntu1 | | zsync | 0.6.2-3ubuntu1 |
+136 -136
View File
@@ -1,13 +1,12 @@
| Announcements | | Announcements |
|-| |-|
| [[Ubuntu] Breaking Change: runner user will have UID 1001 instead of 1000 for larger runners](https://github.com/actions/runner-images/issues/10936) | | [Ubuntu 24.04 is now available](https://github.com/actions/runner-images/issues/9848) |
| [[Ubuntu 20 and 22] Node.js version 16 will be removed on November 18,2024.](https://github.com/actions/runner-images/issues/10896) | | [[Ubuntu, Windows] Docker Compose v1 will be removed from images on July, 29](https://github.com/actions/runner-images/issues/9692) |
| [Ubuntu-latest workflows will use Ubuntu-24.04 image](https://github.com/actions/runner-images/issues/10636) |
*** ***
# Ubuntu 22.04 # Ubuntu 22.04
- OS Version: 22.04.5 LTS - OS Version: 22.04.4 LTS
- Kernel Version: 6.5.0-1025-azure - Kernel Version: 6.5.0-1023-azure
- Image Version: 20241124.1.0 - Image Version: 20240708.1.0
- Systemd version: 249.11-0ubuntu3.12 - Systemd version: 249.11-0ubuntu3.12
## Installed Software ## Installed Software
@@ -20,28 +19,28 @@
- Dash 0.5.11+git20210903+057cd650a4ed-3build1 - Dash 0.5.11+git20210903+057cd650a4ed-3build1
- GNU C++: 10.5.0, 11.4.0, 12.3.0 - GNU C++: 10.5.0, 11.4.0, 12.3.0
- GNU Fortran: 10.5.0, 11.4.0, 12.3.0 - GNU Fortran: 10.5.0, 11.4.0, 12.3.0
- Julia 1.11.1 - Julia 1.10.4
- Kotlin 2.0.21-release-482 - Kotlin 2.0.0-release-341
- Mono 6.12.0.200 - Mono 6.12.0.200
- MSBuild 16.10.1.31701 (Mono 6.12.0.200) - MSBuild 16.10.1.31701 (Mono 6.12.0.200)
- Node.js 18.20.5 - Node.js 18.20.3
- Perl 5.34.0 - Perl 5.34.0
- Python 3.10.12 - Python 3.10.12
- Ruby 3.0.2p107 - Ruby 3.0.2p107
- Swift 6.0.2 - Swift 5.10.1
### Package Management ### Package Management
- cpan 1.64 - cpan 1.64
- Helm 3.16.3 - Helm 3.15.2
- Homebrew 4.4.6 - Homebrew 4.3.9
- Miniconda 24.9.2 - Miniconda 24.5.0
- Npm 10.8.2 - Npm 10.7.0
- NuGet 6.6.1.2 - NuGet 6.6.1.2
- Pip 22.0.2 - Pip 22.0.2
- Pip3 22.0.2 - Pip3 22.0.2
- Pipx 1.7.1 - Pipx 1.6.0
- RubyGems 3.3.5 - RubyGems 3.3.5
- Vcpkg (build from commit 5e5d0e1cd) - Vcpkg (build from commit 576379156)
- Yarn 1.22.22 - Yarn 1.22.22
#### Environment variables #### Environment variables
@@ -60,83 +59,84 @@ to accomplish this.
### Project Management ### Project Management
- Ant 1.10.12 - Ant 1.10.12
- Gradle 8.11.1 - Gradle 8.8
- Lerna 8.1.9 - Lerna 8.1.6
- Maven 3.8.8 - Maven 3.8.8
- Sbt 1.10.5 - Sbt 1.10.1
### Tools ### Tools
- Ansible 2.17.6 - Ansible 2.17.1
- apt-fast 1.10.0 - apt-fast 1.10.0
- AzCopy 10.27.1 - available by `azcopy` and `azcopy10` aliases - AzCopy 10.25.1 - available by `azcopy` and `azcopy10` aliases
- Bazel 7.4.1 - Bazel 7.2.1
- Bazelisk 1.24.0 - Bazelisk 1.19.0
- Bicep 0.31.92 - Bicep 0.28.1
- Buildah 1.23.1 - Buildah 1.23.1
- CMake 3.31.1 - CMake 3.30.0
- CodeQL Action Bundle 2.19.3 - CodeQL Action Bundle 2.17.6
- Docker Amazon ECR Credential Helper 0.9.0 - Docker Amazon ECR Credential Helper 0.8.0
- Docker Compose v1 1.29.2
- Docker Compose v2 2.27.1 - Docker Compose v2 2.27.1
- Docker-Buildx 0.18.0 - Docker-Buildx 0.15.1
- Docker Client 26.1.3 - Docker Client 26.1.3
- Docker Server 26.1.3 - Docker Server 26.1.3
- Fastlane 2.225.0 - Fastlane 2.221.1
- Git 2.47.0 - Git 2.45.2
- Git LFS 3.6.0 - Git LFS 3.5.1
- Git-ftp 1.6.0 - Git-ftp 1.6.0
- Haveged 1.9.14 - Haveged 1.9.14
- Heroku 9.5.0 - Heroku 8.11.5
- jq 1.6 - jq 1.6
- Kind 0.25.0 - Kind 0.23.0
- Kubectl 1.31.3 - Kubectl 1.30.2
- Kustomize 5.5.0 - Kustomize 5.4.2
- Leiningen 2.11.2 - Leiningen 2.11.2
- MediaInfo 21.09 - MediaInfo 21.09
- Mercurial 6.1.1 - Mercurial 6.1.1
- Minikube 1.34.0 - Minikube 1.33.1
- n 10.1.0 - n 9.2.3
- Newman 6.2.1 - Newman 6.1.3
- nvm 0.40.1 - nvm 0.39.7
- OpenSSL 3.0.2-0ubuntu1.18 - OpenSSL 3.0.2-0ubuntu1.16
- Packer 1.11.2 - Packer 1.11.1
- Parcel 2.13.0 - Parcel 2.12.0
- Podman 3.4.4 - Podman 3.4.4
- Pulumi 3.141.0 - Pulumi 3.122.0
- R 4.4.2 - R 4.4.1
- Skopeo 1.4.1 - Skopeo 1.4.1
- Sphinx Open Source Search Server 2.2.11 - Sphinx Open Source Search Server 2.2.11
- SVN 1.14.1 - SVN 1.14.1
- Terraform 1.9.8 - Terraform 1.9.1
- yamllint 1.35.1 - yamllint 1.35.1
- yq 4.44.5 - yq 4.44.2
- zstd 1.5.6 - zstd 1.5.6
### CLI Tools ### CLI Tools
- Alibaba Cloud CLI 3.0.234 - Alibaba Cloud CLI 3.0.211
- AWS CLI 2.22.4 - AWS CLI 2.17.9
- AWS CLI Session Manager Plugin 1.2.694.0 - AWS CLI Session Manager Plugin 1.2.650.0
- AWS SAM CLI 1.131.0 - AWS SAM CLI 1.120.0
- Azure CLI 2.67.0 - Azure CLI 2.61.0
- Azure CLI (azure-devops) 1.0.1 - Azure CLI (azure-devops) 1.0.1
- GitHub CLI 2.62.0 - GitHub CLI 2.52.0
- Google Cloud CLI 502.0.0 - Google Cloud CLI 483.0.0
- Netlify CLI 17.37.2 - Netlify CLI 17.33.0
- OpenShift CLI 4.17.5 - OpenShift CLI 4.16.1
- ORAS CLI 1.2.0 - ORAS CLI 1.2.0
- Vercel CLI 39.1.1 - Vercel CLI 34.3.0
### Java ### Java
| Version | Environment Variable | | Version | Environment Variable |
| ------------------- | -------------------- | | ------------------- | -------------------- |
| 8.0.432+6 | JAVA_HOME_8_X64 | | 8.0.412+8 | JAVA_HOME_8_X64 |
| 11.0.25+9 (default) | JAVA_HOME_11_X64 | | 11.0.23+9 (default) | JAVA_HOME_11_X64 |
| 17.0.13+11 | JAVA_HOME_17_X64 | | 17.0.11+9 | JAVA_HOME_17_X64 |
| 21.0.5+11 | JAVA_HOME_21_X64 | | 21.0.3+9 | JAVA_HOME_21_X64 |
### PHP Tools ### PHP Tools
- PHP: 8.1.2 - PHP: 8.1.2
- Composer 2.8.3 - Composer 2.7.7
- PHPUnit 8.5.40 - PHPUnit 8.5.38
``` ```
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled. Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
``` ```
@@ -145,31 +145,31 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
- Cabal 3.12.1.0 - Cabal 3.12.1.0
- GHC 9.10.1 - GHC 9.10.1
- GHCup 0.1.30.0 - GHCup 0.1.30.0
- Stack 3.1.1 - Stack 2.15.7
### Rust Tools ### Rust Tools
- Cargo 1.82.0 - Cargo 1.79.0
- Rust 1.82.0 - Rust 1.79.0
- Rustdoc 1.82.0 - Rustdoc 1.79.0
- Rustup 1.27.1 - Rustup 1.27.1
#### Packages #### Packages
- Bindgen 0.70.1 - Bindgen 0.69.4
- Cargo audit 0.21.0 - Cargo audit 0.20.0
- Cargo clippy 0.1.82 - Cargo clippy 0.1.79
- Cargo outdated 0.15.0 - Cargo outdated 0.15.0
- Cbindgen 0.27.0 - Cbindgen 0.26.0
- Rustfmt 1.7.1 - Rustfmt 1.7.0
### Browsers and Drivers ### Browsers and Drivers
- Google Chrome 131.0.6778.85 - Google Chrome 126.0.6478.126
- ChromeDriver 131.0.6778.85 - ChromeDriver 126.0.6478.126
- Chromium 131.0.6778.0 - Chromium 126.0.6478.0
- Microsoft Edge 131.0.2903.63 - Microsoft Edge 126.0.2592.87
- Microsoft Edge WebDriver 131.0.2903.52 - Microsoft Edge WebDriver 126.0.2592.87
- Selenium server 4.26.0 - Selenium server 4.22.0
- Mozilla Firefox 132.0.2 - Mozilla Firefox 127.0.2
- Geckodriver 0.35.0 - Geckodriver 0.34.0
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
@@ -180,14 +180,14 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar | | SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
### .NET Tools ### .NET Tools
- .NET Core SDK: 6.0.428, 7.0.410, 8.0.404 - .NET Core SDK: 6.0.423, 7.0.410, 8.0.302
- nbgv 3.6.146+392592327a - nbgv 3.6.139+a9e8765620
### Databases ### Databases
- sqlite3 3.37.2 - sqlite3 3.37.2
#### PostgreSQL #### PostgreSQL
- PostgreSQL 14.15 - PostgreSQL 14.12
``` ```
User: postgres User: postgres
PostgreSQL service is disabled by default. PostgreSQL service is disabled by default.
@@ -195,7 +195,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
``` ```
#### MySQL #### MySQL
- MySQL 8.0.40-0ubuntu0.22.04.1 - MySQL 8.0.37-0ubuntu0.22.04.3
``` ```
User: root User: root
Password: root Password: root
@@ -205,47 +205,47 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### MS SQL #### MS SQL
- sqlcmd 17.10.0001.1 - sqlcmd 17.10.0001.1
- SqlPackage 162.5.57.1 - SqlPackage 162.3.566.1
### Cached Tools ### Cached Tools
#### Go #### Go
- 1.21.13 - 1.20.14
- 1.22.9 - 1.21.12
- 1.23.3 - 1.22.5
#### Node.js #### Node.js
- 18.20.5 - 16.20.2
- 20.18.1 - 18.20.3
- 22.11.0 - 20.15.0
#### Python #### Python
- 3.7.17 - 3.7.17
- 3.8.18 - 3.8.18
- 3.9.20 - 3.9.19
- 3.10.15 - 3.10.14
- 3.11.10 - 3.11.9
- 3.12.7 - 3.12.4
#### PyPy #### PyPy
- 3.7.13 [PyPy 7.3.9] - 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11] - 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16] - 3.9.19 [PyPy 7.3.16]
- 3.10.14 [PyPy 7.3.17] - 3.10.14 [PyPy 7.3.16]
#### Ruby #### Ruby
- 3.1.6 - 3.1.6
- 3.2.6 - 3.2.4
### PowerShell Tools ### PowerShell Tools
- PowerShell 7.4.6 - PowerShell 7.4.3
#### PowerShell Modules #### PowerShell Modules
- Az: 12.1.0 - Az: 11.3.1
- MarkdownPS: 1.10 - MarkdownPS: 1.10
- Microsoft.Graph: 2.25.0 - Microsoft.Graph: 2.20.0
- Pester: 5.6.1 - Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0 - PSScriptAnalyzer: 1.22.0
### Web Servers ### Web Servers
| Name | Version | ConfigFile | ServiceStatus | ListenPort | | Name | Version | ConfigFile | ServiceStatus | ListenPort |
@@ -254,45 +254,45 @@ Use the following command as a part of your job to start the service: 'sudo syst
| nginx | 1.18.0 | /etc/nginx/nginx.conf | inactive | 80 | | nginx | 1.18.0 | /etc/nginx/nginx.conf | inactive | 80 |
### Android ### Android
| Package Name | Version | | Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 9.0 | | Android Command Line Tools | 9.0 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 | | Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 |
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) | | Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
| Android Support Repository | 47.0.0 | | Android Support Repository | 47.0.0 |
| CMake | 3.10.2<br>3.18.1<br>3.22.1 | | CMake | 3.10.2<br>3.18.1<br>3.22.1 |
| Google Play services | 49 | | Google Play services | 49 |
| Google Repository | 58 | | Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default) | | NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.3.11579264 |
#### Environment variables #### Environment variables
| Name | Value | | Name | Value |
| ----------------------- | -------------------------------------------- | | ----------------------- | -------------------------------------------- |
| ANDROID_HOME | /usr/local/lib/android/sdk | | ANDROID_HOME | /usr/local/lib/android/sdk |
| ANDROID_NDK | /usr/local/lib/android/sdk/ndk/27.2.12479018 | | ANDROID_NDK | /usr/local/lib/android/sdk/ndk/25.2.9519653 |
| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk/25.2.9519653 |
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk/27.2.12479018 | | ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk/25.2.9519653 |
| ANDROID_SDK_ROOT | /usr/local/lib/android/sdk | | ANDROID_SDK_ROOT | /usr/local/lib/android/sdk |
### Cached Docker images ### Cached Docker images
| Repository:Tag | Digest | Created | | Repository:Tag | Digest | Created |
| -------------------- | ------------------------------------------------------------------------ | ---------- | | -------------------- | ------------------------------------------------------------------------ | ---------- |
| alpine:3.16 | sha256:452e7292acee0ee16c332324d7de05fa2c99f9994ecc9f0779c602916a672ae4 | 2024-01-27 | | alpine:3.16 | sha256:452e7292acee0ee16c332324d7de05fa2c99f9994ecc9f0779c602916a672ae4 | 2024-01-27 |
| alpine:3.17 | sha256:8fc3dacfb6d69da8d44e42390de777e48577085db99aa4e4af35f483eb08b989 | 2024-09-06 | | alpine:3.17 | sha256:a6063e988bcd597b4f1f7cfd4ec38402b02edd0c79250f00c9e14dc1e94bebbc | 2024-06-20 |
| alpine:3.18 | sha256:2995c82e8e723d9a5c8585cb8e901d1c50e3c2759031027d3bff577449435157 | 2024-09-06 | | alpine:3.18 | sha256:1875c923b73448b558132e7d4a44b815d078779ed7a73f76209c6372de95ea8d | 2024-06-20 |
| alpine:3.19 | sha256:7a85bf5dc56c949be827f84f9185161265c58f589bb8b2a6b6bb6d3076c1be21 | 2024-09-06 | | alpine:3.19 | sha256:af4785ccdbcd5cde71bfd5b93eabd34250b98651f19fe218c91de6c8d10e21c5 | 2024-06-20 |
| debian:10 | sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d8009c20154ad0f2fb0a225 | 2024-06-13 | | debian:10 | sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d8009c20154ad0f2fb0a225 | 2024-06-13 |
| debian:11 | sha256:01559430c84e6bc864bed554345d1bfbfa94ac108ab68f39915cae34604b15c3 | 2024-11-11 | | debian:11 | sha256:b6b4a479a3bc1b8dfda5544f00b72aafb230bb835a43974a147b220c38df882e | 2024-07-02 |
| moby/buildkit:latest | sha256:91b72a6d6963df39567b0b7266e51822e9cc09f963af8693a0ab2abbc75f8b6a | 2024-11-22 | | moby/buildkit:latest | sha256:5d410bbb6d22b01fcaead1345936c5e0a0963eb6c3b190e38694e015467640fe | 2024-06-18 |
| node:18 | sha256:83eb05700940a88b14f21fb31cc92e9571a34b1db1a5d8781b466fc26cbb1472 | 2024-11-15 | | node:16 | sha256:f77a1aef2da8d83e45ec990f45df50f1a286c5fe8bbfb8c6e4246c6389705c0b | 2023-09-07 |
| node:18-alpine | sha256:7e43a2d633d91e8655a6c0f45d2ed987aa4930f0792f6d9dd3bffc7496e44882 | 2024-11-15 | | node:16-alpine | sha256:a1f9d027912b58a7c75be7716c97cfbc6d3099f3a97ed84aa490be9dee20e787 | 2023-08-10 |
| node:20 | sha256:f99a6bd6fb137cfc683e1ff60e7d67aa8d5fcf45a6a64c01c37b4f433a6238b6 | 2024-11-20 | | node:18 | sha256:70ae166dcb03837ebe1abbb78919a1a4bdc79cc970344d56f33b6c753f4b46cc | 2024-05-21 |
| node:20-alpine | sha256:b5b9467fe7b33aad47f1ec3f6e0646a658f85f05c18d4243024212a91f3b7554 | 2024-11-20 | | node:18-alpine | sha256:e37da457874383fa9217067867ec85fe8fe59f0bfa351ec9752a95438680056e | 2024-06-04 |
| node:22 | sha256:5c76d05034644fa8ecc9c2aa84e0a83cd981d0ef13af5455b87b9adf5b216561 | 2024-10-29 | | node:20 | sha256:93d2e801dabc677ea0b30b47d3d729fab63ecb20be7ac0ab204cc3c65731297a | 2024-06-24 |
| node:22-alpine | sha256:b64ced2e7cd0a4816699fe308ce6e8a08ccba463c757c00c14cd372e3d2c763e | 2024-10-29 | | node:20-alpine | sha256:df01469346db2bf1cfc1f7261aeab86b2960efa840fe2bd46d83ff339f463665 | 2024-06-24 |
| ubuntu:20.04 | sha256:8e5c4f0285ecbb4ead070431d29b576a530d3166df73ec44affc1cd27555141b | 2024-10-11 | | ubuntu:20.04 | sha256:0b897358ff6624825fb50d20ffb605ab0eaea77ced0adb8c6a4b756513dec6fc | 2024-06-03 |
| ubuntu:22.04 | sha256:0e5e4a57c2499249aafc3b40fcd541e9a456aab7296681a3994d631587203f97 | 2024-09-11 | | ubuntu:22.04 | sha256:340d9b015b194dc6e2a13938944e0d016e57b9679963fdeb9ce021daac430221 | 2024-06-27 |
### Installed apt packages ### Installed apt packages
| Name | Version | | Name | Version |
@@ -306,9 +306,9 @@ Use the following command as a part of your job to start the service: 'sudo syst
| brotli | 1.0.9-2build6 | | brotli | 1.0.9-2build6 |
| bzip2 | 1.0.8-5build1 | | bzip2 | 1.0.8-5build1 |
| coreutils | 8.32-4.1ubuntu1.2 | | coreutils | 8.32-4.1ubuntu1.2 |
| curl | 7.81.0-1ubuntu1.19 | | curl | 7.81.0-1ubuntu1.16 |
| dbus | 1.12.20-2ubuntu4.1 | | dbus | 1.12.20-2ubuntu4.1 |
| dnsutils | 1:9.18.28-0ubuntu0.22.04.1 | | dnsutils | 1:9.18.24-0ubuntu0.22.04.1 |
| dpkg | 1.21.1ubuntu2.3 | | dpkg | 1.21.1ubuntu2.3 |
| dpkg-dev | 1.21.1ubuntu2.3 | | dpkg-dev | 1.21.1ubuntu2.3 |
| fakeroot | 1.28-1ubuntu1 | | fakeroot | 1.28-1ubuntu1 |
@@ -321,7 +321,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| gcc | 4:11.2.0-1ubuntu1 | | gcc | 4:11.2.0-1ubuntu1 |
| gnupg2 | 2.2.27-3ubuntu2.1 | | gnupg2 | 2.2.27-3ubuntu2.1 |
| haveged | 1.9.14-1ubuntu1 | | haveged | 1.9.14-1ubuntu1 |
| imagemagick | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.5 | | imagemagick | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.3 |
| iproute2 | 5.15.0-1ubuntu2 | | iproute2 | 5.15.0-1ubuntu2 |
| iputils-ping | 3:20211215-1 | | iputils-ping | 3:20211215-1 |
| jq | 1.6-2.1ubuntu3 | | jq | 1.6-2.1ubuntu3 |
@@ -329,17 +329,17 @@ Use the following command as a part of your job to start the service: 'sudo syst
| libc++-dev | 1:14.0-55\~exp2 | | libc++-dev | 1:14.0-55\~exp2 |
| libc++abi-dev | 1:14.0-55\~exp2 | | libc++abi-dev | 1:14.0-55\~exp2 |
| libc6-dev | 2.35-0ubuntu3.8 | | libc6-dev | 2.35-0ubuntu3.8 |
| libcurl4 | 7.81.0-1ubuntu1.19 | | libcurl4 | 7.81.0-1ubuntu1.16 |
| libgbm-dev | 23.2.1-1ubuntu3.1\~22.04.2 | | libgbm-dev | 23.2.1-1ubuntu3.1\~22.04.2 |
| libgconf-2-4 | 3.2.6-7ubuntu2 | | libgconf-2-4 | 3.2.6-7ubuntu2 |
| libgsl-dev | 2.7.1+dfsg-3 | | libgsl-dev | 2.7.1+dfsg-3 |
| libgtk-3-0 | 3.24.33-1ubuntu2.2 | | libgtk-3-0 | 3.24.33-1ubuntu2.1 |
| libmagic-dev | 1:5.41-3ubuntu0.1 | | libmagic-dev | 1:5.41-3ubuntu0.1 |
| libmagickcore-dev | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.5 | | libmagickcore-dev | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.3 |
| libmagickwand-dev | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.5 | | libmagickwand-dev | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.3 |
| libsecret-1-dev | 0.20.5-2 | | libsecret-1-dev | 0.20.5-2 |
| libsqlite3-dev | 3.37.2-2ubuntu0.3 | | libsqlite3-dev | 3.37.2-2ubuntu0.3 |
| libssl-dev | 3.0.2-0ubuntu1.18 | | libssl-dev | 3.0.2-0ubuntu1.16 |
| libtool | 2.4.6-15build2 | | libtool | 2.4.6-15build2 |
| libunwind8 | 1.3.2-2build2.1 | | libunwind8 | 1.3.2-2build2.1 |
| libxkbfile-dev | 1:1.1.0-1build3 | | libxkbfile-dev | 1:1.1.0-1build3 |
@@ -383,7 +383,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| upx | 3.96-3 | | upx | 3.96-3 |
| wget | 1.21.2-2ubuntu1.1 | | wget | 1.21.2-2ubuntu1.1 |
| xorriso | 1.5.4-2 | | xorriso | 1.5.4-2 |
| xvfb | 2:21.1.4-2ubuntu1.7\~22.04.12 | | xvfb | 2:21.1.4-2ubuntu1.7\~22.04.11 |
| xz-utils | 5.2.5-2ubuntu1 | | xz-utils | 5.2.5-2ubuntu1 |
| zip | 3.0-12build2 | | zip | 3.0-12build2 |
| zsync | 0.6.2-3ubuntu1 | | zsync | 0.6.2-3ubuntu1 |

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