diff --git a/.github/ISSUE_TEMPLATE/announcement.yml b/.github/ISSUE_TEMPLATE/announcement.yml
index abfb4bf40..b165eae58 100644
--- a/.github/ISSUE_TEMPLATE/announcement.yml
+++ b/.github/ISSUE_TEMPLATE/announcement.yml
@@ -39,7 +39,6 @@ body:
- label: Ubuntu 20.04
- label: Ubuntu 22.04
- label: Ubuntu 24.04
- - label: macOS 12
- label: macOS 13
- label: macOS 13 Arm64
- label: macOS 14
diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml
index 6aa187756..09990d9ce 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.yml
+++ b/.github/ISSUE_TEMPLATE/bug-report.yml
@@ -22,7 +22,6 @@ body:
- label: Ubuntu 20.04
- label: Ubuntu 22.04
- label: Ubuntu 24.04
- - label: macOS 12
- label: macOS 13
- label: macOS 13 Arm64
- label: macOS 14
diff --git a/.github/ISSUE_TEMPLATE/tool-request.yml b/.github/ISSUE_TEMPLATE/tool-request.yml
index 89a76aee0..f9bcb7553 100644
--- a/.github/ISSUE_TEMPLATE/tool-request.yml
+++ b/.github/ISSUE_TEMPLATE/tool-request.yml
@@ -60,7 +60,6 @@ body:
- label: Ubuntu 20.04
- label: Ubuntu 22.04
- label: Ubuntu 24.04
- - label: macOS 12
- label: macOS 13
- label: macOS 13 Arm64
- label: macOS 14
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 2c28c6eec..22c10f958 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -34,7 +34,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- language: [ 'python', 'ruby' ]
+ language: [ 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
diff --git a/LICENSE b/LICENSE
index 163ff1139..9a9cc50d3 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2024 GitHub
+Copyright (c) 2025 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 1a6f2afb1..ebcaeff1f 100644
--- a/README.md
+++ b/README.md
@@ -29,7 +29,6 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
| macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] |  |
| macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] |  |
| macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] |  |
-| macOS 12 deprecated | `macos-12` or `macos-12-large`| [macOS-12] |  |
| Windows Server 2025 beta | `windows-2025` | [windows-2025] |  |
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] |  |
| Windows Server 2019 | `windows-2019` | [windows-2019] |  |
@@ -45,7 +44,6 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
[windows-2025]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
[windows-2022]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
-[macOS-12]: https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
[macOS-13]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-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
diff --git a/docs/create-image-and-azure-resources.md b/docs/create-image-and-azure-resources.md
index 14336728f..291789d31 100644
--- a/docs/create-image-and-azure-resources.md
+++ b/docs/create-image-and-azure-resources.md
@@ -98,7 +98,7 @@ Finally, run the `GenerateResourcesAndImage` function, setting the mandatory arg
- `SubscriptionId` - your Azure Subscription ID;
- `ResourceGroupName` - the name of the resource group that will be created within your subscription (e.g., "imagegen-test");
- `AzureLocation` - the location where resources will be created (e.g., "East US");
-- `ImageType` - the type of image to build (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Ubuntu2004", "Ubuntu2204").
+- `ImageType` - the type of image to build (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Windows2025", "Ubuntu2004", "Ubuntu2204", "Ubuntu2404").
This function automatically creates all required Azure resources and initiates the Packer image generation for the selected image type.
diff --git a/helpers/GenerateResourcesAndImage.ps1 b/helpers/GenerateResourcesAndImage.ps1
index 58e9698f8..adda6effb 100644
--- a/helpers/GenerateResourcesAndImage.ps1
+++ b/helpers/GenerateResourcesAndImage.ps1
@@ -3,10 +3,11 @@ $ErrorActionPreference = 'Stop'
enum ImageType {
Windows2019 = 1
Windows2022 = 2
- Ubuntu2004 = 3
- Ubuntu2204 = 4
- Ubuntu2404 = 5
- UbuntuMinimal = 6
+ Windows2025 = 3
+ Ubuntu2004 = 4
+ Ubuntu2204 = 5
+ Ubuntu2404 = 6
+ UbuntuMinimal = 7
}
Function Get-PackerTemplatePath {
@@ -25,6 +26,9 @@ Function Get-PackerTemplatePath {
([ImageType]::Windows2022) {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2022.pkr.hcl"
}
+ ([ImageType]::Windows2025) {
+ $relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2025.pkr.hcl"
+ }
([ImageType]::Ubuntu2004) {
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-20.04.pkr.hcl"
}
@@ -81,7 +85,7 @@ Function GenerateResourcesAndImage {
.PARAMETER ResourceGroupName
The name of the resource group to create the Azure resources in.
.PARAMETER ImageType
- The type of image to generate. Valid values are: Windows2019, Windows2022, Ubuntu2004, Ubuntu2204, UbuntuMinimal.
+ The type of image to generate. Valid values are: Windows2019, Windows2022, Windows2025, Ubuntu2004, Ubuntu2204, Ubuntu2404, UbuntuMinimal.
.PARAMETER ManagedImageName
The name of the managed image to create. The default is "Runner-Image-{{ImageType}}".
.PARAMETER AzureLocation
diff --git a/images.CI/linux-and-win/build-image.ps1 b/images.CI/linux-and-win/build-image.ps1
index f1c4ce607..081783032 100644
--- a/images.CI/linux-and-win/build-image.ps1
+++ b/images.CI/linux-and-win/build-image.ps1
@@ -11,7 +11,8 @@ param(
[String] [Parameter (Mandatory=$false)] $VirtualNetworkName,
[String] [Parameter (Mandatory=$false)] $VirtualNetworkRG,
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet,
- [String] [Parameter (Mandatory=$false)] $AllowedInboundIpAddresses = "[]"
+ [String] [Parameter (Mandatory=$false)] $AllowedInboundIpAddresses = "[]",
+ [hashtable] [Parameter (Mandatory=$False)] $Tags = @{}
)
if (-not (Test-Path $TemplatePath))
@@ -33,6 +34,8 @@ $SensitiveData = @(
': ->'
)
+$azure_tags = ($Tags.GetEnumerator() | ForEach-Object { "{0}={1}" -f $_.Key, $_.Value }) -join ","
+
Write-Host "Show Packer Version"
packer --version
@@ -56,6 +59,7 @@ packer build -var "client_id=$ClientId" `
-var "virtual_network_resource_group_name=$VirtualNetworkRG" `
-var "virtual_network_subnet_name=$VirtualNetworkSubnet" `
-var "allowed_inbound_ip_addresses=$($AllowedInboundIpAddresses)" `
+ -var "azure_tags={$azure_tags}" `
-color=false `
$TemplatePath `
| Where-Object {
diff --git a/images.CI/macos/anka/Service.Helpers.psm1 b/images.CI/macos/anka/Service.Helpers.psm1
index f8368b26f..cabf0f9a2 100644
--- a/images.CI/macos/anka/Service.Helpers.psm1
+++ b/images.CI/macos/anka/Service.Helpers.psm1
@@ -110,9 +110,7 @@ function Get-MacOSIPSWInstaller {
[bool] $BetaSearch = $false
)
- if ($MacOSVersion -eq [version] "12.0") {
- $MacOSName = "macOS Monterey"
- } elseif ($MacOSVersion -eq [version] "13.0") {
+ if ($MacOSVersion -eq [version] "13.0") {
$MacOSName = "macOS Ventura"
} elseif ($MacOSVersion -eq [version] "14.0") {
$MacOSName = "macOS Sonoma"
diff --git a/images/macos/assets/xamarin-selector/select-xamarin-sdk-v2.sh b/images/macos/assets/xamarin-selector/select-xamarin-sdk-v2.sh
deleted file mode 100644
index 153b52e88..000000000
--- a/images/macos/assets/xamarin-selector/select-xamarin-sdk-v2.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash -e -o pipefail
-
-# Select any Xamarin SDK versions as the default ones independently by specifying only those versions that need to be changed.
-# Examples:
-# 1. Change all versions: $VM_ASSETS/select-xamarin-sdkv-v2.sh --mono=6.12 --ios=14.8 --android=10.2 --mac=7.8
-# 2. Change default Mono and iOS only: $VM_ASSETS/select-xamarin-sdkv-v2.sh --mono=6.12 --ios=14.8
-# 3. Change default Android only: $VM_ASSETS/select-xamarin-sdkv-v2.sh --android=11.1
-
-get_framework_path() {
- case $1 in
- --mono) echo '/Library/Frameworks/Mono.framework/Versions' ;;
- --ios) echo '/Library/Frameworks/Xamarin.iOS.framework/Versions' ;;
- --android) echo '/Library/Frameworks/Xamarin.Android.framework/Versions' ;;
- --mac) echo '/Library/Frameworks/Xamarin.Mac.framework/Versions' ;;
- *) ;;
- esac
-}
-
-change_framework_version() {
- local framework=$1
- local version=$2
-
- echo "Select $framework $version"
-
- local countDigit=$(echo "${version}" | grep -o "\." | grep -c "\.")
-
- if [[ countDigit -gt 1 ]]; then
- echo "[WARNING] It is not recommended to specify the exact framework version because your build can be broken with the next patch update. Consider using "major.minor" only format."
- fi
-
- local framework_path=$(get_framework_path "$framework")
-
- if [ -d "${framework_path}/${version}" ]; then
- sudo rm -f ${framework_path}/Current
- sudo ln -s "${framework_path}/${version}" "${framework_path}/Current"
- else
- echo "Invalid framework version ${framework_path}/${version}"
- exit 1
- fi
-}
-
-for arg in "$@"; do
- key=$(echo $arg | cut -f1 -d=)
- value=$(echo $arg | cut -f2 -d=)
-
- case $key in
- --mono | --ios | --android | --mac) change_framework_version $key $value ;;
- *)
- echo "Invalid parameter <${key}>"
- exit 1
- ;;
- esac
-done
diff --git a/images/macos/assets/xamarin-selector/select-xamarin-sdk.sh b/images/macos/assets/xamarin-selector/select-xamarin-sdk.sh
deleted file mode 100644
index 014075ce0..000000000
--- a/images/macos/assets/xamarin-selector/select-xamarin-sdk.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash -e -o pipefail
-if [ -z "$1" ]; then
- echo "No Xamarin SDK specified."
- exit 0
-fi
-
-XAMARIN_SDK=$1
-
-echo "Set Xamarin SDK to ${XAMARIN_SDK}"
-FOLDERS_LIST=(
- '/Library/Frameworks/Mono.framework/Versions'
- '/Library/Frameworks/Xamarin.iOS.framework/Versions'
- '/Library/Frameworks/Xamarin.Android.framework/Versions'
- '/Library/Frameworks/Xamarin.Mac.framework/Versions'
- )
-
-for FOLDER in "${FOLDERS_LIST[@]}"
-do
- echo "Set Current folder for ${FOLDER}"
- sudo rm -f ${FOLDER}/Current
- sudo ln -s ${FOLDER}/${XAMARIN_SDK} ${FOLDER}/Current
-done
diff --git a/images/macos/macos-12-Readme.md b/images/macos/macos-12-Readme.md
deleted file mode 100644
index 86e0b715a..000000000
--- a/images/macos/macos-12-Readme.md
+++ /dev/null
@@ -1,378 +0,0 @@
-| Announcements |
-|-|
-| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
-| [[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 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
-- OS Version: macOS 12.7.6 (21H1320)
-- Kernel Version: Darwin 21.6.0
-- Image Version: 20240926.174
-
-## Installed Software
-
-### 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
-- Bash 3.2.57(1)-release
-- Clang/LLVM 14.0.0
-- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/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) - 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) - available by `gfortran-14` alias
-- Julia 1.10.5
-- Kotlin 2.0.20-release-360
-- Go 1.21.13
-- Mono 6.12.0.188
-- Node.js 18.20.4
-- MSBuild 16.10.1.51301 (Mono 6.12.0.188)
-- NVM 0.39.7
-- NVM - Cached node versions: 16.20.2, 18.20.4, 20.17.0
-- Perl 5.38.2
-- PHP 8.3.11
-- Python 2.7.18
-- Python3 3.12.6
-- R 4.4.1
-- Ruby 3.0.7p220
-
-### Package Management
-- Bundler 2.5.20
-- Carthage 0.40.0
-- CocoaPods 1.15.2
-- Composer 2.7.9
-- Homebrew 4.3.24
-- Miniconda 24.7.1
-- NPM 10.7.0
-- NuGet 6.3.1.1
-- Pip 20.3.4 (python 2.7)
-- Pip3 24.2 (python 3.12)
-- Pipx 1.7.1
-- RubyGems 3.5.20
-- Vcpkg 2024 (build from commit 3d8959985)
-- Yarn 1.22.22
-
-#### Environment variables
-| Name | Value |
-| ----------------------- | ---------------------- |
-| CONDA | /usr/local/miniconda |
-| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
-
-### Project Management
-- Apache Ant 1.10.15
-- Apache Maven 3.9.9
-- Gradle 8.10.2
-- Sbt 1.10.2
-
-### Utilities
-- 7-Zip 17.05
-- aria2 1.37.0
-- azcopy 10.26.0
-- bazel 7.3.1
-- bazelisk 1.21.0
-- bsdtar 3.5.1 - available by 'tar' alias
-- Curl 8.10.1
-- Git 2.46.2
-- Git LFS 3.5.1
-- GitHub CLI 2.57.0
-- GNU Tar 1.35 - available by 'gtar' alias
-- GNU Wget 1.24.5
-- gpg (GnuPG) 2.4.5
-- ImageMagick 7.1.1-38
-- jq 1.7.1
-- mongo 5.0.29
-- mongod 5.0.29
-- OpenSSL 1.1.1w 11 Sep 2023
-- Packer 1.9.4
-- pkg-config 0.29.2
-- PostgreSQL 14.13 (Homebrew)
-- psql (PostgreSQL) 14.13 (Homebrew)
-- Sox 14.4.2
-- Subversion (SVN) 1.14.3
-- Switchaudio-osx 1.2.2
-- Vagrant 2.4.1
-- VirtualBox 6.1.38r153438
-- yq 4.44.3
-- zstd 1.5.6
-
-### Tools
-- App Center CLI 3.0.1
-- AWS CLI 2.17.59
-- AWS SAM CLI 1.124.0
-- AWS Session Manager CLI 1.2.650.0
-- Azure CLI 2.64.0
-- Azure CLI (azure-devops) 1.0.1
-- Bicep CLI 0.30.23
-- Cabal 3.10.3.0
-- Cmake 3.30.3
-- CodeQL Action Bundle 2.19.0
-- Colima 0.7.5
-- Fastlane 2.222.0
-- GHC 9.10.1
-- GHCup 0.1.30.0
-- Jazzy 0.15.2
-- Stack 3.1.1
-- SwiftFormat 0.54.5
-- Swig 4.2.1
-- Xcbeautify 1.6.0
-- Xcode Command Line Tools 14.2.0.0.1.1668646533
-- Xcodes 1.5.0
-
-### Linters
-- SwiftLint 0.53.0
-- Yamllint 1.35.1
-
-### Browsers
-- Safari 17.6 (17618.3.11.11.7)
-- SafariDriver 17.6 (17618.3.11.11.7)
-- Google Chrome 129.0.6668.71
-- Google Chrome for Testing 129.0.6668.70
-- ChromeDriver 129.0.6668.70
-- Microsoft Edge 129.0.2792.52
-- Microsoft Edge WebDriver 129.0.2792.46
-- Mozilla Firefox 130.0.1
-- geckodriver 0.35.0
-- Selenium server 4.25.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 |
-| --------------------- | -------------------- |
-| 8.0.422+5.1 (default) | JAVA_HOME_8_X64 |
-| 11.0.24+8 | JAVA_HOME_11_X64 |
-| 17.0.12+7 | JAVA_HOME_17_X64 |
-| 21.0.4+7.0 | JAVA_HOME_21_X64 |
-
-### Cached Tools
-
-#### PyPy
-- 2.7.18 [PyPy 7.3.17]
-- 3.7.13 [PyPy 7.3.9]
-- 3.8.16 [PyPy 7.3.11]
-- 3.9.19 [PyPy 7.3.16]
-- 3.10.14 [PyPy 7.3.17]
-
-#### Ruby
-- 3.0.7
-- 3.1.6
-- 3.2.5
-- 3.3.5
-
-#### Python
-- 3.7.17
-- 3.8.18
-- 3.9.20
-- 3.10.15
-- 3.11.9
-- 3.12.6
-
-#### Node.js
-- 16.20.2
-- 18.20.4
-- 20.17.0
-
-#### Go
-- 1.20.14
-- 1.21.13
-- 1.22.7
-- 1.23.1
-
-### Rust Tools
-- Cargo 1.81.0
-- Rust 1.81.0
-- Rustdoc 1.81.0
-- Rustup 1.27.1
-
-#### Packages
-- Bindgen 0.70.1
-- Cargo-audit 0.20.1
-- Cargo-outdated 0.15.0
-- Cbindgen 0.27.0
-- Clippy 0.1.81
-- Rustfmt 1.7.1-stable
-
-### PowerShell Tools
-- PowerShell 7.4.5
-
-#### PowerShell Modules
-- Az: 12.3.0
-- MarkdownPS: 1.10
-- Pester: 5.6.1
-- PSScriptAnalyzer: 1.22.0
-
-### Web Servers
-| Name | Version | ConfigFile | ServiceStatus | ListenPort |
-| ----- | ------- | ------------------------------- | ------------- | ---------- |
-| httpd | 2.4.62 | /usr/local/etc/httpd/httpd.conf | none | 80 |
-| nginx | 1.27.1 | /usr/local/etc/nginx/nginx.conf | none | 80 |
-
-### Xamarin
-
-#### Visual Studio for Mac
-| Version | Build | Path |
-| -------------- | ----------- | ------------------------------------ |
-| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
-| 2022 (default) | 17.6.14.413 | /Applications/Visual Studio.app |
-
-##### Notes
-```
-To use Visual Studio 2019 by default rename the app:
-mv "/Applications/Visual Studio.app" "/Applications/Visual Studio 2022.app"
-mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
-```
-
-#### Xamarin bundles
-| symlink | Xamarin.Mono | Xamarin.iOS | Xamarin.Mac | Xamarin.Android |
-| ----------------- | ------------ | ----------- | ----------- | --------------- |
-| 6_12_25 | 6.12 | 16.4 | 9.3 | 13.2 |
-| 6_12_24 | 6.12 | 16.2 | 9.1 | 13.2 |
-| 6_12_23 | 6.12 | 16.2 | 9.1 | 13.1 |
-| 6_12_22 | 6.12 | 16.1 | 9.0 | 13.1 |
-| 6_12_21 (default) | 6.12 | 16.0 | 8.12 | 13.1 |
-| 6_12_20 | 6.12 | 16.0 | 8.12 | 13.0 |
-| 6_12_19 | 6.12 | 15.12 | 8.12 | 13.0 |
-| 6_12_18 | 6.12 | 15.10 | 8.10 | 12.3 |
-| 6_12_17 | 6.12 | 15.10 | 8.10 | 12.2 |
-| 6_12_16 | 6.12 | 15.8 | 8.8 | 12.2 |
-| 6_12_15 | 6.12 | 15.8 | 8.8 | 12.1 |
-| 6_12_14 | 6.12 | 15.8 | 8.8 | 12.0 |
-| 6_12_13 | 6.12 | 15.6 | 8.6 | 12.0 |
-| 6_12_12 | 6.12 | 15.4 | 8.4 | 12.0 |
-| 6_12_11 | 6.12 | 15.2 | 8.2 | 12.0 |
-| 6_12_10 | 6.12 | 15.0 | 7.14 | 11.3 |
-
-#### Unit Test Framework
-- NUnit 3.6.1
-
-### Xcode
-| Version | Build | Path |
-| -------------- | -------- | ------------------------------ |
-| 14.2 (default) | 14C18 | /Applications/Xcode_14.2.app |
-| 14.1 | 14B47b | /Applications/Xcode_14.1.app |
-| 14.0.1 | 14A400 | /Applications/Xcode_14.0.1.app |
-| 13.4.1 | 13F100 | /Applications/Xcode_13.4.1.app |
-| 13.3.1 | 13E500a | /Applications/Xcode_13.3.1.app |
-| 13.2.1 | 13C100 | /Applications/Xcode_13.2.1.app |
-| 13.1 | 13A1030d | /Applications/Xcode_13.1.app |
-
-#### Xcode Support Tools
-- xcpretty 0.3.0
-- xcversion 2.8.1
-
-#### Installed SDKs
-| SDK | SDK Name | Xcode Version |
-| ----------------------- | -------------------- | ---------------------- |
-| macOS 12.0 | macosx12.0 | 13.1 |
-| macOS 12.1 | macosx12.1 | 13.2.1 |
-| macOS 12.3 | macosx12.3 | 13.3.1, 13.4.1, 14.0.1 |
-| macOS 13.0 | macosx13.0 | 14.1 |
-| macOS 13.1 | macosx13.1 | 14.2 |
-| iOS 15.0 | iphoneos15.0 | 13.1 |
-| iOS 15.2 | iphoneos15.2 | 13.2.1 |
-| iOS 15.4 | iphoneos15.4 | 13.3.1 |
-| iOS 15.5 | iphoneos15.5 | 13.4.1 |
-| iOS 16.0 | iphoneos16.0 | 14.0.1 |
-| iOS 16.1 | iphoneos16.1 | 14.1 |
-| iOS 16.2 | iphoneos16.2 | 14.2 |
-| Simulator - iOS 15.0 | iphonesimulator15.0 | 13.1 |
-| Simulator - iOS 15.2 | iphonesimulator15.2 | 13.2.1 |
-| Simulator - iOS 15.4 | iphonesimulator15.4 | 13.3.1 |
-| Simulator - iOS 15.5 | iphonesimulator15.5 | 13.4.1 |
-| Simulator - iOS 16.0 | iphonesimulator16.0 | 14.0.1 |
-| Simulator - iOS 16.1 | iphonesimulator16.1 | 14.1 |
-| Simulator - iOS 16.2 | iphonesimulator16.2 | 14.2 |
-| tvOS 15.0 | appletvos15.0 | 13.1 |
-| tvOS 15.2 | appletvos15.2 | 13.2.1 |
-| tvOS 15.4 | appletvos15.4 | 13.3.1, 13.4.1 |
-| tvOS 16.0 | appletvos16.0 | 14.0.1 |
-| tvOS 16.1 | appletvos16.1 | 14.1, 14.2 |
-| Simulator - tvOS 15.0 | appletvsimulator15.0 | 13.1 |
-| Simulator - tvOS 15.2 | appletvsimulator15.2 | 13.2.1 |
-| Simulator - tvOS 15.4 | appletvsimulator15.4 | 13.3.1, 13.4.1 |
-| Simulator - tvOS 16.0 | appletvsimulator16.0 | 14.0.1 |
-| Simulator - tvOS 16.1 | appletvsimulator16.1 | 14.1, 14.2 |
-| watchOS 8.0 | watchos8.0 | 13.1 |
-| watchOS 8.3 | watchos8.3 | 13.2.1 |
-| watchOS 8.5 | watchos8.5 | 13.3.1, 13.4.1 |
-| watchOS 9.0 | watchos9.0 | 14.0.1 |
-| watchOS 9.1 | watchos9.1 | 14.1, 14.2 |
-| Simulator - watchOS 8.0 | watchsimulator8.0 | 13.1 |
-| Simulator - watchOS 8.3 | watchsimulator8.3 | 13.2.1 |
-| Simulator - watchOS 8.5 | watchsimulator8.5 | 13.3.1, 13.4.1 |
-| Simulator - watchOS 9.0 | watchsimulator9.0 | 14.0.1 |
-| Simulator - watchOS 9.1 | watchsimulator9.1 | 14.1, 14.2 |
-| DriverKit 21.0.1 | driverkit21.0.1 | 13.1 |
-| DriverKit 21.2 | driverkit21.2 | 13.2.1 |
-| DriverKit 21.4 | driverkit21.4 | 13.3.1, 13.4.1, 14.0.1 |
-| DriverKit 22.1 | driverkit22.1 | 14.1 |
-| DriverKit 22.2 | driverkit22.2 | 14.2 |
-
-#### Installed Simulators
-| OS | Simulators |
-| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| iOS 15.0 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 13
iPhone 13 mini
iPhone 13 Pro
iPhone 13 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (9th generation)
iPad Air (4th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (3rd generation)
iPad Pro (12.9-inch) (5th generation)
iPad Pro (9.7-inch) |
-| iOS 15.2 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 13
iPhone 13 mini
iPhone 13 Pro
iPhone 13 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPad (9th generation)
iPad Air (4th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (3rd generation)
iPad Pro (12.9-inch) (5th generation)
iPad Pro (9.7-inch) |
-| iOS 15.4 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 13
iPhone 13 mini
iPhone 13 Pro
iPhone 13 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPhone SE (3rd generation)
iPad (9th generation)
iPad Air (4th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (3rd generation)
iPad Pro (12.9-inch) (5th generation)
iPad Pro (9.7-inch) |
-| iOS 15.5 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 13
iPhone 13 mini
iPhone 13 Pro
iPhone 13 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPhone SE (3rd generation)
iPad (9th generation)
iPad Air (4th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (3rd generation)
iPad Pro (12.9-inch) (5th generation)
iPad Pro (9.7-inch) |
-| iOS 16.0 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 13
iPhone 13 mini
iPhone 13 Pro
iPhone 13 Pro Max
iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPhone SE (3rd generation)
iPad (9th generation)
iPad Air (4th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (3rd generation)
iPad Pro (12.9-inch) (5th generation)
iPad Pro (9.7-inch) |
-| iOS 16.1 | iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 13
iPhone 13 mini
iPhone 13 Pro
iPhone 13 Pro Max
iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPhone SE (3rd generation)
iPad (10th generation)
iPad (9th generation)
iPad Air (4th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (3rd generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (5th generation)
iPad Pro (12.9-inch) (6th generation)
iPad Pro (9.7-inch) |
-| iOS 16.2 | iPod touch (7th generation)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12
iPhone 12 mini
iPhone 12 Pro
iPhone 12 Pro Max
iPhone 13
iPhone 13 mini
iPhone 13 Pro
iPhone 13 Pro Max
iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone 8
iPhone 8 Plus
iPhone SE (2nd generation)
iPhone SE (3rd generation)
iPad (10th generation)
iPad (9th generation)
iPad Air (4th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (3rd generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (5th generation)
iPad Pro (12.9-inch) (6th generation)
iPad Pro (9.7-inch) |
-| tvOS 15.0 | Apple TV
Apple TV 4K (2nd generation)
Apple TV 4K (at 1080p) (2nd generation) |
-| tvOS 15.2 | Apple TV
Apple TV 4K (2nd generation)
Apple TV 4K (at 1080p) (2nd generation) |
-| tvOS 15.4 | Apple TV
Apple TV 4K (2nd generation)
Apple TV 4K (at 1080p) (2nd generation) |
-| tvOS 16.0 | Apple TV
Apple TV 4K (2nd generation)
Apple TV 4K (at 1080p) (2nd generation) |
-| tvOS 16.1 | Apple TV
Apple TV 4K (2nd generation)
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p)
Apple TV 4K (at 1080p) (2nd generation) |
-| watchOS 8.0 | Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm
Apple Watch Series 7 - 41mm
Apple Watch Series 7 - 45mm |
-| watchOS 8.3 | Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm
Apple Watch Series 7 - 41mm
Apple Watch Series 7 - 45mm |
-| watchOS 8.5 | Apple Watch Series 5 - 40mm
Apple Watch Series 5 - 44mm
Apple Watch Series 6 - 40mm
Apple Watch Series 6 - 44mm
Apple Watch Series 7 - 41mm
Apple Watch Series 7 - 45mm |
-| watchOS 9.0 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Ultra (49mm) |
-| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Ultra (49mm) |
-
-### Android
-| Package Name | Version |
-| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Android Command Line Tools | 8.0 |
-| Android Emulator | 35.1.21 |
-| Android SDK Build-tools | 35.0.0
34.0.0
33.0.0 33.0.1 33.0.2 33.0.3
32.0.0
31.0.0 |
-| Android SDK Platforms | android-35 (rev 1)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3)
android-32 (rev 1)
android-31 (rev 1) |
-| Android SDK Platform-Tools | 35.0.2 |
-| Android Support Repository | 47.0.0 |
-| CMake | 3.18.1
3.22.1 |
-| Google Play services | 49 |
-| Google Repository | 58 |
-| NDK | 24.0.8215888
25.2.9519653 (default)
26.3.11579264
27.1.12297006 |
-
-#### Environment variables
-| Name | Value |
-| ----------------------- | --------------------------------------------------- |
-| ANDROID_HOME | /Users/runner/Library/Android/sdk |
-| 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_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.1.12297006 |
-| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
-| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
-
-### Miscellaneous
-- libXext 1.3.6
-- libXft 2.3.8
-- Tcl/Tk 8.6.15
-- Zlib 1.3.1
-
-#### Environment variables
-| Name | Value |
-| ----------------- | ----------------------------------------------------------------------------------------- |
-| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.0.1-55659/ParallelsDesktop-20.0.1-55659.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.
-```
-
diff --git a/images/macos/macos-13-Readme.md b/images/macos/macos-13-Readme.md
index 8e276f6ce..0a54e2711 100644
--- a/images/macos/macos-13-Readme.md
+++ b/images/macos/macos-13-Readme.md
@@ -1,18 +1,18 @@
| Announcements |
|-|
-| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
+| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
| [[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 by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
***
# macOS 13
- OS Version: macOS 13.7.2 (22H313)
- Kernel Version: Darwin 22.6.0
-- Image Version: 20250106.546
+- Image Version: 20250120.597
## Installed Software
### 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, 8.0.405, 9.0.102
- Bash 3.2.57(1)-release
- Clang/LLVM 14.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
@@ -25,8 +25,8 @@
- Kotlin 2.1.0-release-394
- Mono 6.12.0.188
- Node.js 20.18.1
-- Perl 5.40.0
-- PHP 8.4.2
+- Perl 5.40.1
+- PHP 8.4.3
- Python3 3.13.1
- Ruby 3.0.7p220
@@ -35,13 +35,13 @@
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.8.4
-- Homebrew 4.4.14
+- Homebrew 4.4.16
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 24.3.1 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.23
-- Vcpkg 2024 (build from commit 65be70199)
+- Vcpkg 2025 (build from commit cf035d991)
- Yarn 1.22.22
### Project Management
@@ -53,13 +53,13 @@
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.27.1
-- bazel 8.0.0
+- bazel 8.0.1
- bazelisk 1.25.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.11.1
-- Git 2.47.1
-- Git LFS 3.6.0
-- GitHub CLI 2.64.0
+- Git 2.48.1
+- Git LFS 3.6.1
+- GitHub CLI 2.65.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.7
@@ -68,18 +68,18 @@
- Packer 1.11.2
- pkgconf 2.3.0
- Unxip 3.1
-- yq 4.44.6
+- yq 4.45.1
- zstd 1.5.6
### Tools
-- AWS CLI 2.22.28
+- AWS CLI 2.23.2
- AWS SAM CLI 1.132.0
- AWS Session Manager CLI 1.2.694.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.32.4
-- Cmake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- Cmake 3.31.4
+- CodeQL Action Bundle 2.20.1
- Fastlane 2.226.0
- SwiftFormat 0.55.4
- Xcbeautify 2.17.0
@@ -87,17 +87,17 @@
- Xcodes 1.6.0
### Linters
-- SwiftLint 0.57.1
+- SwiftLint 0.58.2
### Browsers
- Safari 18.2 (18620.1.16.111.6)
- SafariDriver 18.2 (18620.1.16.111.6)
-- Google Chrome 131.0.6778.205
-- Google Chrome for Testing 131.0.6778.204
-- ChromeDriver 131.0.6778.204
-- Microsoft Edge 131.0.2903.112
-- Microsoft Edge WebDriver 131.0.2903.112
-- Mozilla Firefox 133.0.3
+- Google Chrome 132.0.6834.84
+- Google Chrome for Testing 132.0.6834.83
+- ChromeDriver 132.0.6834.83
+- Microsoft Edge 132.0.2957.115
+- Microsoft Edge WebDriver 132.0.2957.115
+- Mozilla Firefox 134.0.1
- geckodriver 0.35.0
- Selenium server 4.27.0
@@ -129,7 +129,8 @@
- 3.0.7
- 3.1.6
- 3.2.6
-- 3.3.6
+- 3.3.7
+- 3.4.1
#### Python
- 3.8.18
@@ -142,7 +143,7 @@
#### Node.js
- 18.20.5
- 20.18.1
-- 22.12.0
+- 22.13.0
#### Go
- 1.21.13
@@ -150,13 +151,13 @@
- 1.23.4
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
-- Clippy 0.1.83
+- Clippy 0.1.84
- Rustfmt 1.8.0-stable
### PowerShell Tools
@@ -164,7 +165,7 @@
#### PowerShell Modules
- Az: 12.4.0
-- Pester: 5.6.1
+- Pester: 5.7.1
- PSScriptAnalyzer: 1.23.0
### Xcode
@@ -211,8 +212,8 @@
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
-| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| visionOS 1.0 | xros1.0 | 15.2 |
+| Simulator - visionOS 1.0 | xrsimulator1.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 tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
@@ -243,8 +244,8 @@
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
-| Android Emulator | 35.2.10 |
-| Android SDK Build-tools | 35.0.0
34.0.0
33.0.2 33.0.3 |
+| Android Emulator | 35.3.11 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0
33.0.2 33.0.3 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
@@ -269,7 +270,7 @@
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
-| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.1.3-55743/ParallelsDesktop-20.1.3-55743.dmg |
+| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.2.0-55872/ParallelsDesktop-20.2.0-55872.dmg |
##### Notes
```
diff --git a/images/macos/macos-13-arm64-Readme.md b/images/macos/macos-13-arm64-Readme.md
index 547dd1442..10563eb1a 100644
--- a/images/macos/macos-13-arm64-Readme.md
+++ b/images/macos/macos-13-arm64-Readme.md
@@ -1,18 +1,18 @@
| Announcements |
|-|
-| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
+| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
| [[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 by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
***
# macOS 13
- OS Version: macOS 13.7.2 (22H313)
- Kernel Version: Darwin 22.6.0
-- Image Version: 20241216.537
+- Image Version: 20250127.672
## Installed Software
### 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, 8.0.405, 9.0.102
- Bash 3.2.57(1)-release
- Clang/LLVM 14.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
@@ -24,8 +24,8 @@
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.1.0-release-394
- Mono 6.12.0.188
-- Node.js 20.18.1
-- Perl 5.40.0
+- Node.js 20.18.2
+- Perl 5.40.1
- Python3 3.13.1
- Ruby 3.0.7p220
@@ -33,7 +33,7 @@
- Bundler 2.5.23
- Carthage 0.40.0
- CocoaPods 1.16.2
-- Homebrew 4.4.11
+- Homebrew 4.4.17
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 24.3.1 (python 3.13)
@@ -44,42 +44,42 @@
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
-- Gradle 8.11.1
+- Gradle 8.12.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.27.1
-- bazel 8.0.0
+- bazel 8.0.1
- bazelisk 1.25.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
-- Git 2.47.1
-- Git LFS 3.6.0
-- GitHub CLI 2.63.2
+- Git 2.48.1
+- Git LFS 3.6.1
+- GitHub CLI 2.65.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
-- gpg (GnuPG) 2.4.6
+- gpg (GnuPG) 2.4.7
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
-- Packer 1.11.2
+- Packer 1.12.0
- pkgconf 2.3.0
- Unxip 3.1
-- yq 4.44.6
+- yq 4.45.1
- zstd 1.5.6
### Tools
-- AWS CLI 2.22.17
+- AWS CLI 2.23.6
- AWS SAM CLI 1.132.0
- AWS Session Manager CLI 1.2.694.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure CLI (azure-devops) 1.0.1
-- Bicep CLI 0.32.4
-- Cmake 3.31.2
-- CodeQL Action Bundle 2.20.0
+- Bicep CLI 0.33.13
+- Cmake 3.31.5
+- CodeQL Action Bundle 2.20.1
- Fastlane 2.226.0
-- SwiftFormat 0.55.3
-- Xcbeautify 2.16.0
+- SwiftFormat 0.55.5
+- Xcbeautify 2.23.0
- Xcode Command Line Tools 14.3.1.0.1.1683849156
- Xcodes 1.6.0
@@ -88,10 +88,10 @@
### Browsers
- Safari 18.2 (18620.1.16.111.6)
- SafariDriver 18.2 (18620.1.16.111.6)
-- Google Chrome 131.0.6778.140
-- Google Chrome for Testing 131.0.6778.108
-- ChromeDriver 131.0.6778.108
-- Selenium server 4.27.0
+- Google Chrome 132.0.6834.111
+- Google Chrome for Testing 132.0.6834.110
+- ChromeDriver 132.0.6834.110
+- Selenium server 4.28.0
#### Environment variables
| Name | Value |
@@ -101,11 +101,11 @@
| GECKOWEBDRIVER | |
### Java
-| Version | Environment Variable |
-| -------------------- | -------------------- |
-| 11.0.25+9 | JAVA_HOME_11_arm64 |
-| 17.0.13+11 (default) | JAVA_HOME_17_arm64 |
-| 21.0.5+11.0 | JAVA_HOME_21_arm64 |
+| Version | Environment Variable |
+| ------------------- | -------------------- |
+| 11.0.26+4 | JAVA_HOME_11_arm64 |
+| 17.0.14+7 (default) | JAVA_HOME_17_arm64 |
+| 21.0.6+7.0 | JAVA_HOME_21_arm64 |
### Cached Tools
@@ -113,7 +113,8 @@
- 3.0.7
- 3.1.6
- 3.2.6
-- 3.3.6
+- 3.3.7
+- 3.4.1
#### Python
- 3.11.9
@@ -121,31 +122,31 @@
- 3.13.1
#### Node.js
-- 18.20.5
-- 20.18.1
-- 22.12.0
+- 18.20.6
+- 20.18.2
+- 22.13.1
#### Go
- 1.21.13
-- 1.22.10
-- 1.23.4
+- 1.22.11
+- 1.23.5
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
-- Clippy 0.1.83
+- Clippy 0.1.84
- Rustfmt 1.8.0-stable
### PowerShell Tools
-- PowerShell 7.4.6
+- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.4.0
-- Pester: 5.6.1
+- Pester: 5.7.1
- PSScriptAnalyzer: 1.23.0
### Xcode
@@ -192,8 +193,8 @@
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
-| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| visionOS 1.0 | xros1.0 | 15.2 |
+| Simulator - visionOS 1.0 | xrsimulator1.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 tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
@@ -225,9 +226,9 @@
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
-| Android Emulator | 35.2.10 |
-| Android SDK Build-tools | 35.0.0
34.0.0
33.0.2 33.0.3 |
-| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 1)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3) |
+| Android Emulator | 35.3.11 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0
33.0.2 33.0.3 |
+| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.0 |
diff --git a/images/macos/macos-14-Readme.md b/images/macos/macos-14-Readme.md
index ec87770dc..2f8262b88 100644
--- a/images/macos/macos-14-Readme.md
+++ b/images/macos/macos-14-Readme.md
@@ -1,18 +1,17 @@
| Announcements |
|-|
-| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
-| [[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 by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
+| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
***
# macOS 14
- OS Version: macOS 14.7.2 (23H311)
- Kernel Version: Darwin 23.6.0
-- Image Version: 20250106.587
+- Image Version: 20250127.727
## Installed Software
### 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, 8.0.405, 9.0.102
- Bash 3.2.57(1)-release
- Clang/LLVM 15.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
@@ -24,9 +23,9 @@
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.1.0-release-394
- Mono 6.12.0.188
-- Node.js 20.18.1
-- Perl 5.40.0
-- PHP 8.4.2
+- Node.js 20.18.2
+- Perl 5.40.1
+- PHP 8.4.3
- Python3 3.13.1
- Ruby 3.0.7p220
@@ -34,11 +33,11 @@
- Bundler 2.5.23
- Carthage 0.40.0
- CocoaPods 1.16.2
-- Composer 2.8.4
-- Homebrew 4.4.15
+- Composer 2.8.5
+- Homebrew 4.4.17
- NPM 10.8.2
- NuGet 6.3.1.1
-- Pip3 24.3.1 (python 3.13)
+- Pip3 25.0 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.23
- Yarn 1.22.22
@@ -46,59 +45,59 @@
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
-- Gradle 8.12
+- Gradle 8.12.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.27.1
-- bazel 8.0.0
+- bazel 8.0.1
- bazelisk 1.25.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.11.1
-- Git 2.47.1
-- Git LFS 3.6.0
-- GitHub CLI 2.64.0
+- Git 2.48.1
+- Git LFS 3.6.1
+- GitHub CLI 2.65.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.7
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
-- Packer 1.11.2
+- Packer 1.12.0
- pkgconf 2.3.0
- Unxip 3.1
-- yq 4.44.6
+- yq 4.45.1
- zstd 1.5.6
### Tools
-- AWS CLI 2.22.28
+- AWS CLI 2.23.6
- AWS SAM CLI 1.132.0
- AWS Session Manager CLI 1.2.694.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure CLI (azure-devops) 1.0.1
-- Bicep CLI 0.32.4
-- Cmake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- Bicep CLI 0.33.13
+- Cmake 3.31.5
+- CodeQL Action Bundle 2.20.1
- Fastlane 2.226.0
-- SwiftFormat 0.55.4
-- Xcbeautify 2.17.0
+- SwiftFormat 0.55.5
+- Xcbeautify 2.23.0
- Xcode Command Line Tools 16.2.0.0.1.1733547573
- Xcodes 1.6.0
### Linters
-- SwiftLint 0.57.1
+- SwiftLint 0.58.2
### Browsers
- Safari 18.2 (19620.1.16.111.6)
- SafariDriver 18.2 (19620.1.16.111.6)
-- Google Chrome 131.0.6778.205
-- Google Chrome for Testing 131.0.6778.204
-- ChromeDriver 131.0.6778.204
-- Microsoft Edge 131.0.2903.112
-- Microsoft Edge WebDriver 131.0.2903.112
-- Mozilla Firefox 133.0.3
+- Google Chrome 132.0.6834.111
+- Google Chrome for Testing 132.0.6834.110
+- ChromeDriver 132.0.6834.110
+- Microsoft Edge 132.0.2957.127
+- Microsoft Edge WebDriver 132.0.2957.127
+- Mozilla Firefox 134.0.2
- geckodriver 0.35.0
-- Selenium server 4.27.0
+- Selenium server 4.28.0
#### Environment variables
| Name | Value |
@@ -108,12 +107,12 @@
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java
-| Version | Environment Variable |
-| --------------------- | -------------------- |
-| 8.0.432+6 | JAVA_HOME_8_X64 |
-| 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 |
+| Version | Environment Variable |
+| -------------------- | -------------------- |
+| 8.0.442+6 | JAVA_HOME_8_X64 |
+| 11.0.26+4 | JAVA_HOME_11_X64 |
+| 17.0.14+7 | JAVA_HOME_17_X64 |
+| 21.0.6+7.0 (default) | JAVA_HOME_21_X64 |
### Cached Tools
@@ -121,7 +120,8 @@
- 3.0.7
- 3.1.6
- 3.2.6
-- 3.3.6
+- 3.3.7
+- 3.4.1
#### Python
- 3.9.21
@@ -131,31 +131,31 @@
- 3.13.1
#### Node.js
-- 18.20.5
-- 20.18.1
-- 22.12.0
+- 18.20.6
+- 20.18.2
+- 22.13.1
#### Go
- 1.21.13
-- 1.22.10
-- 1.23.4
+- 1.22.11
+- 1.23.5
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
-- Clippy 0.1.83
+- Clippy 0.1.84
- Rustfmt 1.8.0-stable
### PowerShell Tools
-- PowerShell 7.4.6
+- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.4.0
-- Pester: 5.6.1
+- Pester: 5.7.1
- PSScriptAnalyzer: 1.23.0
### Xcode
@@ -216,14 +216,14 @@
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| visionOS 1.0 | xros1.0 | 15.2 |
-| visionOS 1.1 | xros1.1 | 15.3 |
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
-| visionOS 1.2 | xros1.2 | 15.4 |
+| visionOS 1.1 | xros1.1 | 15.3 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
-| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
+| visionOS 1.2 | xros1.2 | 15.4 |
| visionOS 2.1 | xros2.1 | 16.1 |
-| visionOS 2.2 | xros2.2 | 16.2 |
+| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
+| visionOS 2.2 | xros2.2 | 16.2 |
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
| DriverKit 23.4 | driverkit23.4 | 15.3 |
@@ -232,30 +232,33 @@
| DriverKit 24.2 | driverkit24.2 | 16.2 |
#### Installed Simulators
-| OS | Simulators |
-| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| iOS 17.0 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) |
-| iOS 17.2 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) |
-| iOS 17.4 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| iOS 17.5 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| iOS 18.1 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| tvOS 17.0 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 17.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 17.4 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 17.5 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 18.1 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
+| OS | Simulators |
+| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| iOS 17.0 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) |
+| iOS 17.2 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) |
+| iOS 17.4 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| iOS 17.5 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| iOS 18.1 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| iOS 18.2 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| tvOS 17.0 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 17.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 17.4 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 17.5 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 18.1 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 18.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
### Android
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
-| Android Emulator | 35.2.10 |
-| Android SDK Build-tools | 35.0.0
34.0.0
33.0.2 33.0.3 |
+| Android Emulator | 35.3.11 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0
33.0.2 33.0.3 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
@@ -280,7 +283,7 @@
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
-| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.1.3-55743/ParallelsDesktop-20.1.3-55743.dmg |
+| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.2.0-55872/ParallelsDesktop-20.2.0-55872.dmg |
##### Notes
```
diff --git a/images/macos/macos-14-arm64-Readme.md b/images/macos/macos-14-arm64-Readme.md
index 924c4ab31..9bebe8219 100644
--- a/images/macos/macos-14-arm64-Readme.md
+++ b/images/macos/macos-14-arm64-Readme.md
@@ -1,18 +1,18 @@
| Announcements |
|-|
-| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
+| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
| [[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 by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
***
# macOS 14
- OS Version: macOS 14.7.2 (23H311)
- Kernel Version: Darwin 23.6.0
-- Image Version: 20250106.725
+- Image Version: 20250120.774
## Installed Software
### 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, 8.0.405, 9.0.102
- Bash 3.2.57(1)-release
- Clang/LLVM 15.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
@@ -25,7 +25,7 @@
- Kotlin 2.1.0-release-394
- Mono 6.12.0.188
- Node.js 20.18.1
-- Perl 5.40.0
+- Perl 5.40.1
- Python3 3.13.1
- Ruby 3.0.7p220
@@ -33,7 +33,7 @@
- Bundler 2.5.23
- Carthage 0.40.0
- CocoaPods 1.16.2
-- Homebrew 4.4.14
+- Homebrew 4.4.16
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 24.3.1 (python 3.13)
@@ -50,13 +50,13 @@
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.27.1
-- bazel 8.0.0
+- bazel 8.0.1
- bazelisk 1.25.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
-- Git 2.47.1
-- Git LFS 3.6.0
-- GitHub CLI 2.64.0
+- Git 2.48.1
+- Git LFS 3.6.1
+- GitHub CLI 2.65.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.7
@@ -65,18 +65,18 @@
- Packer 1.11.2
- pkgconf 2.3.0
- Unxip 3.1
-- yq 4.44.6
+- yq 4.45.1
- zstd 1.5.6
### Tools
-- AWS CLI 2.22.28
+- AWS CLI 2.23.2
- AWS SAM CLI 1.132.0
- AWS Session Manager CLI 1.2.694.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.32.4
-- Cmake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- Cmake 3.31.4
+- CodeQL Action Bundle 2.20.1
- Fastlane 2.226.0
- SwiftFormat 0.55.4
- Xcbeautify 2.17.0
@@ -88,9 +88,9 @@
### Browsers
- Safari 18.2 (19620.1.16.111.6)
- SafariDriver 18.2 (19620.1.16.111.6)
-- Google Chrome 131.0.6778.205
-- Google Chrome for Testing 131.0.6778.204
-- ChromeDriver 131.0.6778.204
+- Google Chrome 132.0.6834.84
+- Google Chrome for Testing 132.0.6834.83
+- ChromeDriver 132.0.6834.83
- Selenium server 4.27.0
#### Environment variables
@@ -113,7 +113,8 @@
- 3.0.7
- 3.1.6
- 3.2.6
-- 3.3.6
+- 3.3.7
+- 3.4.1
#### Python
- 3.11.9
@@ -123,7 +124,7 @@
#### Node.js
- 18.20.5
- 20.18.1
-- 22.12.0
+- 22.13.0
#### Go
- 1.21.13
@@ -131,13 +132,13 @@
- 1.23.4
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
-- Clippy 0.1.83
+- Clippy 0.1.84
- Rustfmt 1.8.0-stable
### PowerShell Tools
@@ -145,7 +146,7 @@
#### PowerShell Modules
- Az: 12.4.0
-- Pester: 5.6.1
+- Pester: 5.7.1
- PSScriptAnalyzer: 1.23.0
### Xcode
@@ -208,8 +209,8 @@
| visionOS 1.0 | xros1.0 | 15.2 |
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
| visionOS 1.1 | xros1.1 | 15.3 |
-| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| visionOS 1.2 | xros1.2 | 15.4 |
+| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| visionOS 2.1 | xros2.1 | 16.1 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
@@ -247,8 +248,8 @@
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
-| Android Emulator | 35.2.10 |
-| Android SDK Build-tools | 35.0.0
34.0.0
33.0.2 33.0.3 |
+| Android Emulator | 35.3.11 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0
33.0.2 33.0.3 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
diff --git a/images/macos/macos-15-Readme.md b/images/macos/macos-15-Readme.md
index 7f54aff80..f4985f3e2 100644
--- a/images/macos/macos-15-Readme.md
+++ b/images/macos/macos-15-Readme.md
@@ -1,18 +1,18 @@
| Announcements |
|-|
-| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
+| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
| [[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 by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
| [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.2 (24C101)
- Kernel Version: Darwin 24.2.0
-- Image Version: 20250106.547
+- Image Version: 20250120.591
## Installed Software
### Language and Runtime
-- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.404
+- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.405, 9.0.102
- 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`
@@ -23,22 +23,22 @@
- 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.1.0-release-394
-- Node.js 22.12.0
-- Perl 5.40.0
-- PHP 8.4.2
+- Node.js 22.13.0
+- Perl 5.40.1
+- PHP 8.4.3
- Python3 3.13.1
-- Ruby 3.3.6
+- Ruby 3.3.7
### Package Management
-- Bundler 2.6.2
+- Bundler 2.6.3
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.8.4
-- Homebrew 4.4.14
-- NPM 10.9.0
+- Homebrew 4.4.16
+- NPM 10.9.2
- Pip3 24.3.1 (python 3.13)
- Pipx 1.7.1
-- RubyGems 3.6.2
+- RubyGems 3.6.3
- Yarn 1.22.22
### Project Management
@@ -50,13 +50,13 @@
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.27.1
-- bazel 8.0.0
+- bazel 8.0.1
- bazelisk 1.25.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.11.1
-- Git 2.47.1
-- Git LFS 3.6.0
-- GitHub CLI 2.64.0
+- Git 2.48.1
+- Git LFS 3.6.1
+- GitHub CLI 2.65.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.7
@@ -65,18 +65,18 @@
- Packer 1.11.2
- pkgconf 2.3.0
- Unxip 3.1
-- yq 4.44.6
+- yq 4.45.1
- zstd 1.5.6
### Tools
-- AWS CLI 2.22.28
+- AWS CLI 2.23.2
- AWS SAM CLI 1.132.0
- AWS Session Manager CLI 1.2.694.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.32.4
-- Cmake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- Cmake 3.31.4
+- CodeQL Action Bundle 2.20.1
- Fastlane 2.226.0
- SwiftFormat 0.55.4
- Xcbeautify 2.17.0
@@ -84,17 +84,17 @@
- Xcodes 1.6.0
### Linters
-- SwiftLint 0.57.1
+- SwiftLint 0.58.2
### Browsers
- Safari 18.2 (20620.1.16.11.8)
- SafariDriver 18.2 (20620.1.16.11.8)
-- Google Chrome 131.0.6778.205
-- Google Chrome for Testing 131.0.6778.204
-- ChromeDriver 131.0.6778.204
-- Microsoft Edge 131.0.2903.112
-- Microsoft Edge WebDriver 131.0.2903.112
-- Mozilla Firefox 133.0.3
+- Google Chrome 132.0.6834.84
+- Google Chrome for Testing 132.0.6834.83
+- ChromeDriver 132.0.6834.83
+- Microsoft Edge 132.0.2957.115
+- Microsoft Edge WebDriver 132.0.2957.115
+- Mozilla Firefox 134.0.1
- geckodriver 0.35.0
- Selenium server 4.27.0
@@ -117,7 +117,8 @@
#### Ruby
- 3.1.6
- 3.2.6
-- 3.3.6
+- 3.3.7
+- 3.4.1
#### Python
- 3.9.21
@@ -129,7 +130,7 @@
#### Node.js
- 18.20.5
- 20.18.1
-- 22.12.0
+- 22.13.0
#### Go
- 1.21.13
@@ -137,13 +138,13 @@
- 1.23.4
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
-- Clippy 0.1.83
+- Clippy 0.1.84
- Rustfmt 1.8.0-stable
### PowerShell Tools
@@ -151,7 +152,7 @@
#### PowerShell Modules
- Az: 12.4.0
-- Pester: 5.6.1
+- Pester: 5.7.1
- PSScriptAnalyzer: 1.23.0
### Xcode
@@ -199,35 +200,35 @@
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| visionOS 2.1 | xros2.1 | 16.1 |
-| visionOS 2.2 | xros2.2 | 16.2 |
| 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
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| iOS 18.0 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| iOS 18.1 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| iOS 18.2 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| tvOS 17.5 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 18.0 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 18.1 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 18.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
+| OS | Simulators |
+| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| iOS 17.5 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| iOS 18.0 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| iOS 18.1 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| iOS 18.2 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| tvOS 17.5 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 18.0 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 18.1 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 18.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
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 Emulator | 35.3.11 |
+| Android SDK Build-tools | 35.0.0 35.0.1 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
diff --git a/images/macos/macos-15-arm64-Readme.md b/images/macos/macos-15-arm64-Readme.md
index bfdc17cd0..07fb9fe34 100644
--- a/images/macos/macos-15-arm64-Readme.md
+++ b/images/macos/macos-15-arm64-Readme.md
@@ -1,18 +1,18 @@
| Announcements |
|-|
-| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
+| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
| [[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 by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
| [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.2 (24C101)
- Kernel Version: Darwin 24.2.0
-- Image Version: 20250106.544
+- Image Version: 20250127.616
## Installed Software
### Language and Runtime
-- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.404
+- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.405, 9.0.102
- 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`
@@ -23,61 +23,61 @@
- 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.1.0-release-394
-- Node.js 22.12.0
-- Perl 5.40.0
+- Node.js 22.13.1
+- Perl 5.40.1
- Python3 3.13.1
-- Ruby 3.3.6
+- Ruby 3.3.7
### Package Management
-- Bundler 2.6.2
+- Bundler 2.6.3
- Carthage 0.40.0
- CocoaPods 1.16.2
-- Homebrew 4.4.14
-- NPM 10.9.0
+- Homebrew 4.4.17
+- NPM 10.9.2
- Pip3 24.3.1 (python 3.13)
- Pipx 1.7.1
-- RubyGems 3.6.2
+- RubyGems 3.6.3
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
-- Gradle 8.12
+- Gradle 8.12.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.27.1
-- bazel 8.0.0
+- bazel 8.0.1
- bazelisk 1.25.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
-- Git 2.47.1
-- Git LFS 3.6.0
-- GitHub CLI 2.64.0
+- Git 2.48.1
+- Git LFS 3.6.1
+- GitHub CLI 2.65.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.7
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
-- Packer 1.11.2
+- Packer 1.12.0
- pkgconf 2.3.0
- Unxip 3.1
-- yq 4.44.6
+- yq 4.45.1
- zstd 1.5.6
### Tools
-- AWS CLI 2.22.28
+- AWS CLI 2.23.6
- AWS SAM CLI 1.132.0
- AWS Session Manager CLI 1.2.694.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure CLI (azure-devops) 1.0.1
-- Bicep CLI 0.32.4
-- Cmake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- Bicep CLI 0.33.13
+- Cmake 3.31.5
+- CodeQL Action Bundle 2.20.1
- Fastlane 2.226.0
-- SwiftFormat 0.55.4
-- Xcbeautify 2.17.0
+- SwiftFormat 0.55.5
+- Xcbeautify 2.23.0
- Xcode Command Line Tools 16.2.0.0.1.1733547573
- Xcodes 1.6.0
@@ -86,10 +86,10 @@
### Browsers
- Safari 18.2 (20620.1.16.11.8)
- SafariDriver 18.2 (20620.1.16.11.8)
-- Google Chrome 131.0.6778.205
-- Google Chrome for Testing 131.0.6778.204
-- ChromeDriver 131.0.6778.204
-- Selenium server 4.27.0
+- Google Chrome 132.0.6834.111
+- Google Chrome for Testing 132.0.6834.110
+- ChromeDriver 132.0.6834.110
+- Selenium server 4.28.0
#### Environment variables
| Name | Value |
@@ -99,18 +99,19 @@
| 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 |
+| Version | Environment Variable |
+| -------------------- | -------------------- |
+| 11.0.26+4 | JAVA_HOME_11_arm64 |
+| 17.0.14+7 | JAVA_HOME_17_arm64 |
+| 21.0.6+7.0 (default) | JAVA_HOME_21_arm64 |
### Cached Tools
#### Ruby
- 3.1.6
- 3.2.6
-- 3.3.6
+- 3.3.7
+- 3.4.1
#### Python
- 3.11.9
@@ -118,31 +119,31 @@
- 3.13.1
#### Node.js
-- 18.20.5
-- 20.18.1
-- 22.12.0
+- 18.20.6
+- 20.18.2
+- 22.13.1
#### Go
- 1.21.13
-- 1.22.10
-- 1.23.4
+- 1.22.11
+- 1.23.5
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
-- Clippy 0.1.83
+- Clippy 0.1.84
- Rustfmt 1.8.0-stable
### PowerShell Tools
-- PowerShell 7.4.6
+- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.4.0
-- Pester: 5.6.1
+- Pester: 5.7.1
- PSScriptAnalyzer: 1.23.0
### Xcode
@@ -184,45 +185,45 @@
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
-| visionOS 1.2 | xros1.2 | 15.4 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
-| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
+| 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 |
+| Simulator - visionOS 2.2 | xrsimulator2.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
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| iOS 18.0 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| iOS 18.1 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| iOS 18.2 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
-| tvOS 17.5 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 18.0 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 18.1 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| tvOS 18.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
-| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
-| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
-| visionOS 1.2 | Apple Vision Pro |
-| visionOS 2.0 | Apple Vision Pro |
-| visionOS 2.1 | Apple Vision Pro |
-| visionOS 2.2 | Apple Vision Pro |
+| OS | Simulators |
+| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| iOS 17.5 | iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| iOS 18.0 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (6th generation)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| iOS 18.1 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| iOS 18.2 | iPhone 16
iPhone 16 Plus
iPhone 16 Pro
iPhone 16 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air 11-inch (M2)
iPad Air 13-inch (M2)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 13-inch (M4) |
+| tvOS 17.5 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 18.0 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 18.1 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| tvOS 18.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) |
+| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
+| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 10 (42mm)
Apple Watch Series 10 (46mm)
Apple Watch Ultra 2 (49mm) |
+| visionOS 1.2 | Apple Vision Pro |
+| 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 Emulator | 35.3.11 |
+| Android SDK Build-tools | 35.0.0 35.0.1 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
diff --git a/images/macos/scripts/build/Install-Xcode.ps1 b/images/macos/scripts/build/Install-Xcode.ps1
index 3552741ae..1ac234788 100644
--- a/images/macos/scripts/build/Install-Xcode.ps1
+++ b/images/macos/scripts/build/Install-Xcode.ps1
@@ -33,17 +33,7 @@ Write-Host "Configuring Xcode versions..."
$xcodeVersions | ForEach-Object {
Write-Host "Configuring Xcode $($_.link) ..."
Invoke-XcodeRunFirstLaunch -Version $_.link
-
- if ($_.install_runtimes -eq 'true') {
- # Additional simulator runtimes are included by default for Xcode < 14
- Install-AdditionalSimulatorRuntimes -Version $_.link
- }
-
- ForEach($runtime in $_.runtimes) {
- Write-Host "Installing Additional runtimes for Xcode '$runtime' ..."
- $xcodebuildPath = Get-XcodeToolPath -Version $_.link -ToolName 'xcodebuild'
- Invoke-ValidateCommand "sudo $xcodebuildPath -downloadPlatform $runtime" | Out-Null
- }
+ Install-AdditionalSimulatorRuntimes -Version $_.link -Runtimes $_.install_runtimes
}
Invoke-XcodeRunFirstLaunch -Version $defaultXcode
diff --git a/images/macos/scripts/build/configure-max-files-limitation.sh b/images/macos/scripts/build/configure-max-files-limitation.sh
deleted file mode 100644
index 49e5fc0c5..000000000
--- a/images/macos/scripts/build/configure-max-files-limitation.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: configure-max-files-limitation.sh
-## Desc: Configure max files limitation
-################################################################################
-
-Launch_Daemons="/Library/LaunchDaemons"
-
-# EOF in quotes to disable variable expansion
-echo "Creating limit.maxfiles.plist"
-cat > ${Launch_Daemons}/limit.maxfiles.plist << EOF
-
-
-
-
- Label
- limit.maxfiles
- Program
- /Users/runner/limit-maxfiles.sh
- RunAtLoad
-
- ServiceIPC
-
-
-
-EOF
-
-# Creating script for applying workaround https://developer.apple.com/forums/thread/735798
-
-cat > /Users/runner/limit-maxfiles.sh << EOF
-#!/bin/bash
-sudo launchctl limit maxfiles 256 unlimited
-sudo launchctl limit maxfiles 65536 524288
-EOF
-
-echo "limit.maxfiles.sh permissions changing"
-chmod +x /Users/runner/limit-maxfiles.sh
-
-echo "limit.maxfiles.plist permissions changing"
-chown root:wheel "${Launch_Daemons}/limit.maxfiles.plist"
-chmod 0644 ${Launch_Daemons}/limit.maxfiles.plist
-
-echo "Done, limit.maxfiles has been updated"
diff --git a/images/macos/scripts/build/configure-network-interface-detection.sh b/images/macos/scripts/build/configure-network-interface-detection.sh
deleted file mode 100644
index 1a09bc2c6..000000000
--- a/images/macos/scripts/build/configure-network-interface-detection.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: configure-network-interface-detection.sh
-## Desc: add a Daemon to re-detect the attached network interfaces after vm is booted.
-## Maintainer: @timsutton
-## script was taken from https://github.com/timsutton/osx-vm-templates/blob/master/scripts/add-network-interface-detection.sh
-################################################################################
-
-PLIST=/Library/LaunchDaemons/sonoma.detectnewhardware.plist
-cat < ${PLIST}
-
-
-
-
- Label
- sonoma.detectnewhardware
- ProgramArguments
-
- /usr/sbin/networksetup
- -detectnewhardware
-
- RunAtLoad
-
-
-
-EOF
-
-# These should be already set as follows, but since they're required
-# in order to load properly, we set them explicitly.
-/bin/chmod 644 ${PLIST}
-/usr/sbin/chown root:wheel ${PLIST}
-
-: '
-The MIT License (MIT)
-Copyright (c) 2013-2017 Timothy Sutton
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-'
diff --git a/images/macos/scripts/build/configure-screensaver.sh b/images/macos/scripts/build/configure-screensaver.sh
deleted file mode 100644
index 687302880..000000000
--- a/images/macos/scripts/build/configure-screensaver.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: configure-screensaver.sh
-## Desc: Configure screensaver
-################################################################################
-
-# set screensaver idleTime to 0, to prevent turning screensaver on
-macUUID=$(ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-62)
-
-rm -rf /Users/$USERNAME/Library/Preferences/com.apple.screensaver.$macUUID.plist
-rm -rf /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist
-rm -rf /Users/$USERNAME/Library/Preferences/com.apple.screensaver.plist
-rm -rf /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.plist
-
-defaults write /Users/$USERNAME/Library/Preferences/com.apple.screensaver.$macUUID.plist idleTime -string 0
-defaults write /Users/$USERNAME/Library/Preferences/com.apple.screensaver.$macUUID.plist CleanExit "YES"
-defaults write /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist idleTime -string 0
-defaults write /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist CleanExit "YES"
-defaults write /Users/$USERNAME/Library/Preferences/com.apple.screensaver.plist idleTime -string 0
-defaults write /Users/$USERNAME/Library/Preferences/com.apple.screensaver.plist CleanExit "YES"
-defaults write /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.plist idleTime -string 0
-defaults write /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.plist CleanExit "YES"
-
-chown -R $USERNAME:staff /Users/$USERNAME/Library/Preferences/ByHost/
-chown -R $USERNAME:staff /Users/$USERNAME/Library/Preferences/
-
-killall cfprefsd
-
-# Set values to 0, to prevent sleep at all
-pmset -a displaysleep 0 sleep 0 disksleep 0
diff --git a/images/macos/scripts/build/configure-system.sh b/images/macos/scripts/build/configure-system.sh
index 23fd09f9e..62fdb5bfc 100644
--- a/images/macos/scripts/build/configure-system.sh
+++ b/images/macos/scripts/build/configure-system.sh
@@ -12,20 +12,13 @@ close_finder_window
# Remove Parallels Desktop
# https://github.com/actions/runner-images/issues/6105
# https://github.com/actions/runner-images/issues/10143
-if is_Monterey || is_SonomaX64 || is_VenturaX64; then
+if is_SonomaX64 || is_VenturaX64; then
brew uninstall parallels
fi
# Put documentation to $HOME root
cp $HOME/image-generation/output/software-report/systeminfo.* $HOME/
-# Put build vm assets (xamarin-selector) scripts to proper directory
-if is_Monterey || is_Sonoma || is_Ventura; then
- mkdir -p /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 {} \;
-fi
-
# Remove fastlane cached cookie
rm -rf ~/.fastlane
diff --git a/images/macos/scripts/build/configure-tccdb-macos.sh b/images/macos/scripts/build/configure-tccdb-macos.sh
index b9063d038..da05b6c65 100644
--- a/images/macos/scripts/build/configure-tccdb-macos.sh
+++ b/images/macos/scripts/build/configure-tccdb-macos.sh
@@ -19,6 +19,7 @@ systemValuesArray=(
"'kTCCServiceAccessibility','com.apple.Terminal',0,2,0,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,NULL,'UNUSED',NULL,0,1591180502"
"'kTCCServiceAccessibility','/bin/bash',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1583997993"
"'kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
+ "'kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1736467200"
"'kTCCServiceScreenCapture','/bin/bash',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1599831148"
"'kTCCServiceScreenCapture','com.devexpress.testcafe-browser-tools',0,2,3,1,X'fade0c0000000068000000010000000700000007000000080000001443fa4ca5141baeda21aeca1f50894673b440d4690000000800000014f8afcf6e69791b283e55bd0b03e39e422745770e0000000800000014bf4fc1aed64c871a49fc6bc9dd3878ce5d4d17c6',NULL,0,'UNUSED',NULL,0,1687952810"
"'kTCCServicePostEvent','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1644565949"
@@ -54,6 +55,7 @@ userValuesArray=(
"'kTCCServiceAppleEvents','/bin/bash',1,2,0,1,NULL,NULL,0,'com.apple.finder',NULL,NULL,1592919552"
"'kTCCServiceMicrophone','com.apple.CoreSimulator.SimulatorTrampoline',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576347152"
"'kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
+ "'kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1736467200"
"'kTCCServiceUbiquity','/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd',1,2,5,1,NULL,NULL,NULL,'UNUSED',NULL,0,1619461750"
"'kTCCServiceUbiquity','com.apple.PassKitCore',0,2,5,1,NULL,NULL,NULL,'UNUSED',NULL,0,1619516250"
"'kTCCServiceAppleEvents','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1629294900"
diff --git a/images/macos/scripts/build/configure-xcode-simulators.rb b/images/macos/scripts/build/configure-xcode-simulators.rb
deleted file mode 100644
index a585acc55..000000000
--- a/images/macos/scripts/build/configure-xcode-simulators.rb
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/env ruby
-################################################################################
-## File: configure-xcode-simulators.rb
-## Desc: List all simulators, find duplicate type and delete them.
-## Maintainer: @vlas-voloshin
-## script was taken from https://gist.github.com/vlas-voloshin/f9982128200345cd3fb7
-################################################################################
-
-class SimDevice
-
- attr_accessor :runtime
- attr_accessor :name
- attr_accessor :identifier
- attr_accessor :timestamp
-
- def initialize(runtime, name, identifier, timestamp)
- @runtime = runtime
- @name = name
- @identifier = identifier
- @timestamp = timestamp
- end
-
- def to_s
- return "#{@name} - #{@runtime} (#{@identifier}) [#{@timestamp}]"
- end
-
- def equivalent_to_device(device)
- return @runtime == device.runtime && @name == device.name
- end
-
- end
-
- # Executes a shell command and returns the result from stdout
- def execute_simctl_command(command)
- return %x[xcrun simctl #{command}]
- end
-
- # Retrieves the creation date/time of simulator with specified identifier
- def simulator_creation_date(identifier)
- directory = Dir.home() + "/Library/Developer/CoreSimulator/Devices/" + identifier
- if (Dir.exists?(directory))
- if (File::Stat.method_defined?(:birthtime))
- return File.stat(directory).birthtime
- else
- return File.stat(directory).ctime
- end
- else
- # Simulator directory is not yet created - treat it as if it was created right now (happens with new iOS 9 sims)
- return Time.now
- end
- end
-
- # Deletes specified simulator
- def delete_device(device)
- execute_simctl_command("delete #{device.identifier}")
- end
-
- puts("Searching for simulators...")
-
- # Retrieve the list of existing simulators
- devices = []
- runtime = ""
- execute_simctl_command("list devices").lines.each do |line|
- case line[0]
- when '='
- # First header, skip it
- when '-'
- # Runtime header
- runtime = line.scan(/-- (.+?) --/).flatten[0]
- else
- name_and_identifier = line.scan(/\s+(.+?) \(([\w\d]+-[\w\d]+-[\w\d-]+)\)/)[0]
- name = name_and_identifier[0]
- identifier = name_and_identifier[1]
- timestamp = simulator_creation_date(identifier)
- device = SimDevice.new(runtime, name, identifier, timestamp)
- devices.push(device)
- end
- end
-
- # Sort the simulators by their creation timestamp, ascending
- devices = devices.sort { |a, b| a.timestamp <=> b.timestamp }
-
- duplicates = {}
- # Enumerate all devices except for the last one
- for i in 0..devices.count-2
- device = devices[i]
- # Enumerate all devices *after* this one (created *later*)
- for j in i+1..devices.count-1
- potential_duplicate = devices[j]
- if potential_duplicate.equivalent_to_device(device)
- duplicates[potential_duplicate] = device
- # Break out of the inner loop if a duplicate is found - if another duplicate exists,
- # it will be found when this one is reached in the outer loop
- break
- end
- end
- end
-
- if duplicates.count == 0
- puts("You don't have duplicate simulators!")
- exit()
- end
-
- puts("Looks like you have #{duplicates.count} duplicate simulator#{duplicates.count > 1 ? "s" : ""}:")
- duplicates.each_pair do |duplicate, original|
- puts
- puts("#{duplicate}")
- puts("--- duplicate of ---")
- puts("#{original}")
- end
- puts
-
- puts("Each duplicate was determined as the one created later than the 'original'.")
-
- puts("Deleting...")
- duplicates.each_key do |duplicate|
- delete_device(duplicate)
- end
-
- puts("Done!")
-
-=begin
-MIT License
-
-Copyright (c) 2015-2019 Vlas Voloshin
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-=end
diff --git a/images/macos/scripts/build/install-apache.sh b/images/macos/scripts/build/install-apache.sh
deleted file mode 100644
index b87345eea..000000000
--- a/images/macos/scripts/build/install-apache.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: install-apache.sh
-## Desc: Install Apache HTTP Server
-################################################################################
-
-source ~/utils/utils.sh
-
-brew_smart_install httpd
-sudo sed -Ei '' 's/Listen .*/Listen 80/' $(brew --prefix)/etc/httpd/httpd.conf
-
-invoke_tests "WebServers" "Apache"
diff --git a/images/macos/scripts/build/install-common-utils.sh b/images/macos/scripts/build/install-common-utils.sh
index 9f9013538..bdab996d1 100644
--- a/images/macos/scripts/build/install-common-utils.sh
+++ b/images/macos/scripts/build/install-common-utils.sh
@@ -6,29 +6,20 @@
source ~/utils/utils.sh
-# Monterey needs future review:
-# 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.
common_packages=$(get_toolset_value '.brew.common_packages[]')
for package in $common_packages; do
echo "Installing $package..."
- if is_Monterey && [[ $package == "xcbeautify" ]]; then
- # Pin the version on Monterey as 2.0.x requires Xcode >=15.0 which is not available on OS12
- xcbeautify_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-core/d3653e83f9c029a3fddb828ac804b07ac32f7b3b/Formula/x/xcbeautify.rb")
- brew install "$xcbeautify_path"
+ if [[ $package == "packer" ]]; then
+ # Packer has been deprecated in Homebrew. Use tap to install Packer.
+ brew install hashicorp/tap/packer
else
- if [[ $package == "packer" ]]; then
- # Packer has been deprecated in Homebrew. Use tap to install Packer.
- brew install hashicorp/tap/packer
+ if (is_VenturaX64 || is_SonomaX64) && [[ $package == "tcl-tk@8" ]]; then
+ brew_smart_install "$package"
+ # Fix for https://github.com/actions/runner-images/issues/11074
+ ln -sf $(brew --prefix tcl-tk@8)/lib/libtcl8.6.dylib /usr/local/lib/libtcl8.6.dylib
+ ln -sf $(brew --prefix tcl-tk@8)/lib/libtk8.6.dylib /usr/local/lib/libtk8.6.dylib
else
- if (is_VenturaX64 || is_SonomaX64) && [[ $package == "tcl-tk@8" ]]; then
- brew_smart_install "$package"
- # Fix for https://github.com/actions/runner-images/issues/11074
- ln -sf $(brew --prefix tcl-tk@8)/lib/libtcl8.6.dylib /usr/local/lib/libtcl8.6.dylib
- ln -sf $(brew --prefix tcl-tk@8)/lib/libtk8.6.dylib /usr/local/lib/libtk8.6.dylib
- else
- brew_smart_install "$package"
- fi
+ brew_smart_install "$package"
fi
fi
done
@@ -36,37 +27,26 @@ done
cask_packages=$(get_toolset_value '.brew.cask_packages[]')
for package in $cask_packages; do
echo "Installing $package..."
- if is_Monterey && [[ $package == "virtualbox" ]]; then
- # Do not update VirtualBox on macOS 12 due to the issue with VMs in gurumediation state which blocks Vagrant on macOS: https://github.com/actions/runner-images/issues/8730
- # macOS host: Dropped all kernel extensions. VirtualBox relies fully on the hypervisor and vmnet frameworks provided by Apple now.
- virtualbox_cask_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-cask/aa3c55951fc9d687acce43e5c0338f42c1ddff7b/Casks/virtualbox.rb")
- brew install $virtualbox_cask_path
+ if is_Arm64 && [[ $package == "parallels" ]]; then
+ echo "Parallels installation is skipped for arm64 architecture"
else
- if is_Arm64 && [[ $package == "parallels" ]]; then
- echo "Parallels installation is skipped for arm64 architecture"
- else
- brew install --cask $package
- fi
+ brew install --cask $package
fi
done
# Load "Parallels International GmbH"
-if is_Monterey || is_SonomaX64 || is_VenturaX64; then
+if is_SonomaX64 || is_VenturaX64; then
sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true
fi
# Execute AppleScript to change security preferences for macOS12, macOS13 and macOS14
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
-if is_Monterey || is_SonomaX64 || is_VenturaX64; then
+if is_SonomaX64 || is_VenturaX64; then
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'
- if is_Monterey; then
- osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
- fi
-
if is_VenturaX64; then
osascript $HOME/utils/confirm-identified-developers-macos13.scpt $USER_PASSWORD
fi
@@ -87,17 +67,10 @@ if is_Monterey || is_SonomaX64 || is_VenturaX64; then
fi
# Validate "Parallels International GmbH" kext
-if is_Monterey || is_SonomaX64 || is_VenturaX64; then
+if is_SonomaX64 || is_VenturaX64; then
- if is_Monterey; then
- 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 "Closing System Settings window if it is still opened"
+ killall "System Settings" || true
echo "Checking parallels kexts"
dbName="/var/db/SystemPolicyConfiguration/KextPolicy"
diff --git a/images/macos/scripts/build/install-compilable-brew-packages.sh b/images/macos/scripts/build/install-compilable-brew-packages.sh
deleted file mode 100644
index b0f22c5df..000000000
--- a/images/macos/scripts/build/install-compilable-brew-packages.sh
+++ /dev/null
@@ -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"
diff --git a/images/macos/scripts/build/install-golang.sh b/images/macos/scripts/build/install-golang.sh
deleted file mode 100644
index 7a28868ed..000000000
--- a/images/macos/scripts/build/install-golang.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: install-golang.sh
-## Desc: Install Go
-################################################################################
-
-source ~/utils/utils.sh
-
-default_go_version=$(get_toolset_value '.go.default')
-echo "Installing Go..."
-brew_smart_install "go@${default_go_version}"
-
-# Create symlinks to preserve backward compatibility. Symlinks are not created when non-latest go is being installed
-ln -sf $(brew --prefix go@${default_go_version})/bin/* /usr/local/bin/
-
-invoke_tests "Common" "Go"
diff --git a/images/macos/scripts/build/install-haskell.sh b/images/macos/scripts/build/install-haskell.sh
deleted file mode 100644
index d88bf616e..000000000
--- a/images/macos/scripts/build/install-haskell.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: install-haskell.sh
-## Desc: Install Haskell
-################################################################################
-
-source ~/utils/utils.sh
-
-curl --proto '=https' --tlsv1.2 -fsSL https://get-ghcup.haskell.org | bash
-export PATH="$HOME/.ghcup/bin:$PATH"
-echo 'export PATH="$PATH:$HOME/.ghcup/bin"' >> $HOME/.bashrc
-
-# ghcup output looks like this "ghc 8.6.4 base-4.12.0.0 hls-powered", need to take all the first versions only(8.6.4 in that case) and avoid pre-release ones
-availableVersions=$(ghcup list -t ghc -r | grep -v "prerelease" | awk '{print $2}')
-
-# Install 3 latest major versions(For instance 8.6.5, 8.8.4, 8.10.2)
-minorMajorVersions=$(echo "$availableVersions" | cut -d"." -f 1,2 | uniq | tail -n3)
-for majorMinorVersion in $minorMajorVersions; do
- fullVersion=$(echo "$availableVersions" | grep "$majorMinorVersion." | tail -n1)
- echo "install ghc version $fullVersion..."
- ghcup install $fullVersion
- ghcup set $fullVersion
-done
-
-echo "install cabal..."
-ghcup install-cabal
-
-echo "Updating stack..."
-ghcup install stack latest
-
-invoke_tests "Haskell"
diff --git a/images/macos/scripts/build/install-miniconda.sh b/images/macos/scripts/build/install-miniconda.sh
deleted file mode 100644
index 7d9ea2fe1..000000000
--- a/images/macos/scripts/build/install-miniconda.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: install-miniconda.sh
-## Desc: Install Miniconda
-################################################################################
-
-source ~/utils/utils.sh
-
-miniconda_installer_path=$(download_with_retry "https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh")
-chmod +x $miniconda_installer_path
-sudo $miniconda_installer_path -b -p /usr/local/miniconda
-
-# Chmod with full permissions recursively to avoid permissions restrictions
-sudo chmod -R 777 /usr/local/miniconda
-
-sudo ln -s /usr/local/miniconda/bin/conda /usr/local/bin/conda
-
-if [[ -d $HOME/.conda ]]; then
- sudo chown -R $USER $HOME/.conda
-fi
-
-echo "export CONDA=/usr/local/miniconda" >> $HOME/.bashrc
-
-invoke_tests "Common" "Miniconda"
diff --git a/images/macos/scripts/build/install-mongodb.sh b/images/macos/scripts/build/install-mongodb.sh
deleted file mode 100644
index c603d3892..000000000
--- a/images/macos/scripts/build/install-mongodb.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: install-mongodb.sh
-## Desc: Install MongoDB
-################################################################################
-
-source ~/utils/utils.sh
-
-# MongoDB object-value database
-# Install latest release version of MongoDB Community Edition
-# https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x
-toolsetVersion=$(get_toolset_value '.mongodb.version')
-
-brew tap mongodb/brew
-versionToInstall=$(brew search --formulae /mongodb-community@$toolsetVersion/ | awk -F'/' '{print $3}' | tail -1)
-echo "Installing mongodb $versionToInstall"
-brew_smart_install $versionToInstall
-
-if ! which mongo ; then
- brew link $versionToInstall
-fi
-
-invoke_tests "Databases" "MongoDB"
diff --git a/images/macos/scripts/build/install-mono.sh b/images/macos/scripts/build/install-mono.sh
index 3ac147f0a..41bdd2d30 100644
--- a/images/macos/scripts/build/install-mono.sh
+++ b/images/macos/scripts/build/install-mono.sh
@@ -47,5 +47,5 @@ sudo mv $nunit3_console_wrapper "${MONO_VERSIONS_PATH}/${mono_version}/Commands/
echo "Creating short symlink '${mono_version_short}'..."
sudo ln -s ${MONO_VERSIONS_PATH}/${mono_version} ${MONO_VERSIONS_PATH}/${mono_version_short}
-# Invoke tests for Xamarin and Mono
-invoke_tests "Xamarin" "Mono"
+# Invoke tests and Mono
+invoke_tests "Mono"
diff --git a/images/macos/scripts/build/install-node.sh b/images/macos/scripts/build/install-node.sh
index 9e8a084b0..85b30368d 100644
--- a/images/macos/scripts/build/install-node.sh
+++ b/images/macos/scripts/build/install-node.sh
@@ -16,12 +16,4 @@ echo Installing yarn...
yarn_installer_path=$(download_with_retry "https://yarnpkg.com/install.sh")
bash $yarn_installer_path
-if is_Monterey; then
- npm_global_packages=$(get_toolset_value '.npm.global_packages[].name')
- for module in ${npm_global_packages[@]}; do
- echo "Install $module"
- npm install -g $module
-done
-fi
-
invoke_tests "Node" "Node.js"
diff --git a/images/macos/scripts/build/install-pipx-packages.sh b/images/macos/scripts/build/install-pipx-packages.sh
deleted file mode 100644
index 0b4a8f90f..000000000
--- a/images/macos/scripts/build/install-pipx-packages.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: install-pipx-packages.sh
-## Desc: Install Pipx Packages
-################################################################################
-
-source ~/utils/utils.sh
-
-export PATH="$PATH:/opt/pipx_bin"
-
-pipx_packages=$(get_toolset_value '.pipx[].package')
-
-for package in $pipx_packages; do
- echo "Install $package into default python"
- pipx install $package
-done
-
-invoke_tests "PipxPackages"
diff --git a/images/macos/scripts/build/install-python.sh b/images/macos/scripts/build/install-python.sh
index 426cc4351..084f88b89 100644
--- a/images/macos/scripts/build/install-python.sh
+++ b/images/macos/scripts/build/install-python.sh
@@ -8,30 +8,6 @@ source ~/utils/utils.sh
echo "Installing Python Tooling"
-if is_Monterey; then
- 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_sha256="c570f38b05dd8b112ad21b418cdf51a9816d62f9f44746452739d421be24d50c"
- use_checksum_comparison $python2_pkg $python2_pkg_sha256
-
- choice_changes_xml=$(mktemp /tmp/python2_choice_changes.xml.XXXXXX)
- sudo installer -showChoiceChangesXML -pkg $python2_pkg -target / | tee $choice_changes_xml > /dev/null
-
- # To avoid symlink conflicts, remove tools installation in /usr/local/bin using installer choices
- xmllint --shell $choice_changes_xml < $(find $(brew --repository) -name swiftlint.rb)
- HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install swiftlint
-else
- brew_smart_install "swiftlint"
-fi
+brew_smart_install "swiftlint"
invoke_tests "Linters" "SwiftLint"
diff --git a/images/macos/scripts/build/install-visualstudio.sh b/images/macos/scripts/build/install-visualstudio.sh
deleted file mode 100644
index e4fa7a35a..000000000
--- a/images/macos/scripts/build/install-visualstudio.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: install-visualstudio.sh
-## Desc: Install Visual Studio
-################################################################################
-
-source ~/utils/utils.sh
-source ~/utils/xamarin-utils.sh
-
-install_vsmac() {
- local vsmac_version=$1
- local vsmac_default=$2
- if [[ $vsmac_version == "2019" ]]; then
- vsmac_download_url=$(curl -fsSL "https://aka.ms/manifest/stable" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
- elif [[ $vsmac_version == "2022" ]]; then
- vsmac_download_url=$(curl -fsSL "https://aka.ms/manifest/stable-2022" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
- elif [[ $vsmac_version == "preview" ]]; then
- vsmac_download_url=$(curl -fsSL "https://aka.ms/manifest/preview" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
- else
- vsmac_download_url=$(buildVSMacDownloadUrl $vsmac_version)
- fi
-
- echo "Installing Visual Studio ${vsmac_version} for Mac"
- TMPMOUNT=$(/usr/bin/mktemp -d /tmp/visualstudio.XXXX)
- mkdir -p "$TMPMOUNT/downloads"
-
- vsmac_installer=$(download_with_retry $vsmac_download_url "$TMPMOUNT/downloads/${vsmac_download_url##*/}")
-
- echo "Mounting Visual Studio..."
- hdiutil attach $vsmac_installer -mountpoint $TMPMOUNT
-
- echo "Moving Visual Studio to /Applications/..."
- pushd $TMPMOUNT
- tar cf - "./Visual Studio.app" | tar xf - -C /Applications/
-
- if [[ $vsmac_version != $vsmac_default ]]; then
- mv "/Applications/Visual Studio.app" "/Applications/Visual Studio ${vsmac_version}.app"
- fi
-
- popd
- sudo hdiutil detach $TMPMOUNT
- sudo rm -rf $TMPMOUNT
-}
-
-vsmac_versions=($(get_toolset_value '.xamarin.vsmac.versions[]'))
-default_vsmac_version=$(get_toolset_value '.xamarin.vsmac.default')
-
-for version in ${vsmac_versions[@]}; do
- install_vsmac $version $default_vsmac_version
-done
-
-invoke_tests "Common" "VSMac"
diff --git a/images/macos/scripts/build/install-xamarin.sh b/images/macos/scripts/build/install-xamarin.sh
deleted file mode 100644
index faa0b70df..000000000
--- a/images/macos/scripts/build/install-xamarin.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/bash -e -o pipefail
-################################################################################
-## File: install-xamarin.sh
-## Desc: Install Xamarin
-################################################################################
-
-source ~/utils/utils.sh
-source ~/utils/xamarin-utils.sh
-
-mono_versions=($(get_toolset_value '.xamarin."mono_versions" | reverse | .[]'))
-xamarin_ios_versions=($(get_toolset_value '.xamarin."ios_versions" | reverse | .[]'))
-xamarin_mac_versions=($(get_toolset_value '.xamarin."mac_versions" | reverse | .[]'))
-xamarin_android_versions=($(get_toolset_value '.xamarin."android_versions" | reverse | .[]'))
-latest_sdk_symlink=$(get_toolset_value '.xamarin.bundles[0].symlink')
-current_sdk_symlink=$(get_toolset_value '.xamarin."bundle_default"')
-default_xcode_version=$(get_toolset_value '.xcode.default')
-
-if [[ $current_sdk_symlink == "latest" ]]; then
- current_sdk_symlink=$latest_sdk_symlink
-fi
-
-MONO_VERSIONS_PATH="/Library/Frameworks/Mono.framework/Versions"
-IOS_VERSIONS_PATH="/Library/Frameworks/Xamarin.iOS.framework/Versions"
-ANDROID_VERSIONS_PATH="/Library/Frameworks/Xamarin.Android.framework/Versions"
-MAC_VERSIONS_PATH="/Library/Frameworks/Xamarin.Mac.framework/Versions"
-
-TMPMOUNT=$(/usr/bin/mktemp -d /tmp/visualstudio.XXXX)
-TMPMOUNT_FRAMEWORKS=$TMPMOUNT/frameworks
-createBackupFolders
-
-pushd $TMPMOUNT
-
-# Download NUnit console
-downloadNUnitConsole
-
-# Install Mono sdks
-for version in ${mono_versions[@]}; do installMono $version; done
-sudo mv -v $TMPMOUNT_FRAMEWORKS/mono/* $MONO_VERSIONS_PATH/
-
-# Install Xamarin.iOS sdks
-for version in ${xamarin_ios_versions[@]}; do installXamarinIOS $version; done
-sudo mv -v $TMPMOUNT_FRAMEWORKS/ios/* $IOS_VERSIONS_PATH/
-
-# Install Xamarin.Mac sdks
-for version in ${xamarin_mac_versions[@]}; do installXamarinMac $version; done
-sudo mv -v $TMPMOUNT_FRAMEWORKS/mac/* $MAC_VERSIONS_PATH/
-
-# Install Xamarin.Android sdks
-for version in ${xamarin_android_versions[@]}; do installXamarinAndroid $version; done
-sudo mv -v $TMPMOUNT_FRAMEWORKS/android/* $ANDROID_VERSIONS_PATH/
-
-
-# Create bundles
-bundles_count=$(get_toolset_value '.xamarin.bundles | length')
-for ((bundle_index=0; bundle_index /dev/null 2>&1 || true"
- $nodejsVersion = Run-Command "${nvmInitCommand} && nvm --version"
- return $nodejsVersion
-}
-
-function Get-PipVersion {
- param (
- [Parameter(Mandatory)][ValidateRange(2, 3)]
- [int] $Version
- )
-
- $command = If ($Version -eq 2) { "/Library/Frameworks/Python.framework/Versions/2.7/bin/pip --version" } Else { "pip3 --version" }
+function Get-Pip3Version {
+ $command = "pip3 --version"
$commandOutput = Run-Command $command
$versionPart1 = $commandOutput | Take-Part -Part 1
$versionPart2 = $commandOutput | Take-Part -Part 4
@@ -140,14 +94,6 @@ function Get-PipxVersion {
return $pipxVersion
}
-function Get-NVMNodeVersionList {
- $nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
- $nvmInitCommand = ". ${nvmPath} > /dev/null 2>&1 || true"
- $nodejsVersionsRaw = Run-Command "${nvmInitCommand} && nvm ls"
- $nodeVersions = $nodejsVersionsRaw | ForEach-Object { $_.TrimStart(" ").TrimEnd(" *") } | Where-Object { $_.StartsWith("v") }
- return $nodeVersions | ForEach-Object { $_.TrimStart("v") }
-}
-
function Build-OSInfoSection {
param (
[string] $ImageName
@@ -173,12 +119,6 @@ function Get-MonoVersion {
return $monoVersion
}
-function Get-MSBuildVersion {
- $msbuildVersion = Run-Command "msbuild -version" | Select-Object -Last 1
- $monoVersion = Get-MonoVersion
- return "$msbuildVersion (Mono $monoVersion)"
-}
-
function Get-NodeVersion {
$nodeVersion = Run-Command "node --version"
return $nodeVersion.TrimStart("v")
@@ -189,11 +129,6 @@ function Get-PerlVersion {
return $version
}
-function Get-PythonVersion {
- $pythonVersion = Run-Command "/Library/Frameworks/Python.framework/Versions/2.7/bin/python --version"
- return ($pythonVersion -replace "^Python").Trim()
-}
-
function Get-Python3Version {
$python3Version = Run-Command "python3 --version"
return ($python3Version -replace "^Python").Trim()
@@ -209,11 +144,6 @@ function Get-PHPVersion {
return ($PHPVersion -replace "^PHP").Trim()
}
-function Get-JuliaVersion {
- $juliaVersion = Run-Command "julia --version" | Take-Part -Part 0,2
- return ($juliaVersion -replace "^Julia").Trim()
-}
-
function Get-BundlerVersion {
$bundlerVersion = Run-Command "bundle --version"
return ($bundlerVersion -replace "^Bundler version").Trim()
@@ -249,11 +179,6 @@ function Get-NuGetVersion {
return $nugetVersion
}
-function Get-CondaVersion {
- $condaVersion = Run-Command "conda --version"
- return ($condaVersion -replace "^conda").Trim()
-}
-
function Get-RubyGemsVersion {
$rubyGemsVersion = Run-Command "gem --version"
return $rubyGemsVersion
@@ -305,11 +230,6 @@ function Get-WgetVersion {
return $wgetVersion
}
-function Get-SVNVersion {
- $svnVersion = Run-Command "svn --version --quiet"
- return $svnVersion
-}
-
function Get-PackerVersion {
# Packer 1.7.1 has a bug and outputs version to stderr instead of stdout https://github.com/hashicorp/packer/issues/10855
$result = Run-Command "packer --version"
@@ -332,16 +252,6 @@ function Get-GPGVersion {
return ($gpgVersion.Line -replace "^gpg \(GnuPG\)").Trim()
}
-function Get-PostgresClientVersion {
- $postgresClientVersion = Run-Command "psql --version"
- return ($postgresClientVersion -replace "^psql \(PostgreSQL\)").Trim()
-}
-
-function Get-PostgresServerVersion {
- $postgresServerVersion = Run-Command "pg_config --version"
- return ($postgresServerVersion -replace "^PostgreSQL").Trim()
-}
-
function Get-Aria2Version {
$aria2Version = Run-Command "aria2c --version" | Select-Object -First 1 | Take-Part -Part 2
return $aria2Version
@@ -367,16 +277,6 @@ function Get-BazeliskVersion {
return ($bazeliskVersion -replace "^bazelisk").Trim()
}
-function Get-MongoVersion {
- $mongo = Run-Command "mongo --version" | Select-String "MongoDB shell version" | Take-Part -Part 3
- return $mongo.TrimStart("v").Trim()
-}
-
-function Get-MongodVersion {
- $mongod = Run-Command "mongod --version" | Select-String "db version " | Take-Part -Part 2
- return $mongod.TrimStart("v").Trim()
-}
-
function Get-7zipVersion {
$7zip = Run-Command "7z i" | Select-String "7-Zip" | Take-Part -Part 0,2
return ($7zip -replace "^7-Zip").Trim()
@@ -392,16 +292,6 @@ function Get-BsdtarVersion {
return "$bsdtar - available by 'tar' alias"
}
-function Get-VirtualBoxVersion {
- $virtualBox = Run-Command "vboxmanage -v"
- return $virtualBox
-}
-
-function Get-VagrantVersion {
- $vagrant = Run-Command "vagrant -v"
- return ($vagrant -replace "^Vagrant").Trim()
-}
-
function Get-ParallelVersion {
$parallelVersion = Run-Command "parallel --version" | Select-String "GNU parallel" | Select-Object -First 1
return ($parallelVersion -replace "^GNU parallel").Trim()
@@ -417,11 +307,6 @@ function Get-CmakeVersion {
return $cmakeVersion
}
-function Get-AppCenterCLIVersion {
- $appcenterCLIVersion = Run-Command "appcenter --version" | Take-Part -Part 2
- return $appcenterCLIVersion
-}
-
function Get-AzureCLIVersion {
$azureCLIVersion = (az version | ConvertFrom-Json).'azure-cli'
return $azureCLIVersion
@@ -447,46 +332,11 @@ function Get-AWSSessionManagerCLIVersion {
return $awsSessionManagerVersion
}
-function Get-GHCupVersion {
- $ghcUpVersion = (Run-Command "ghcup --version" | Take-Part -Part 5).Replace('v','')
- return $ghcUpVersion
-}
-
-function Get-GHCVersion {
- $ghcVersion = Run-Command "ghc --version" | Take-Part -Part 7
- return $ghcVersion
-}
-
-function Get-CabalVersion {
- $cabalVersion = Run-Command "cabal --version" | Take-Part -Part 3
- return $cabalVersion
-}
-
-function Get-SwitchAudioOsxVersion {
- $switchAudioVersion = Get-BrewPackageVersion -CommandName "SwitchAudioSource"
- return $switchAudioVersion
-}
-
-function Get-SoxVersion {
- $soxVersion = Get-BrewPackageVersion -CommandName "sox"
- return $soxVersion
-}
-
-function Get-StackVersion {
- $stackVersion = Run-Command "stack --version" | Take-Part -Part 1 | ForEach-Object {$_.replace(",","")}
- return $stackVersion
-}
-
function Get-SwiftFormatVersion {
$swiftFormatVersion = Run-Command "swiftformat --version"
return $swiftFormatVersion
}
-function Get-YamllintVersion {
- $yamllintVersion = Run-Command "yamllint --version"
- return ($yamllintVersion -replace "^Yamllint").Trim()
-}
-
function Get-SwiftLintVersion {
$swiftlintVersion = Run-Command "swiftlint version"
return $swiftlintVersion
@@ -497,11 +347,6 @@ function Get-PowershellVersion {
return ($powershellVersion -replace "^PowerShell").Trim()
}
-function Get-SwigVersion {
- $swigVersion = Run-Command "swig -version" | Select-Object -First 2 | Take-Part -Part 2
- return $swigVersion
-}
-
function Get-BicepVersion {
$bicepVersion = Run-Command "bicep --version" | Take-Part -Part 3
return $bicepVersion
@@ -512,31 +357,6 @@ function Get-KotlinVersion {
return $kotlinVersion
}
-function Get-SbtVersion {
- $sbtVersion = Run-Command "sbt -version" | Take-Part -Part 3
- return $sbtVersion
-}
-
-function Get-JazzyVersion {
- $jazzyVersion = Run-Command "jazzy --version" | Take-Part -Part 2
- return $jazzyVersion
-}
-
-function Get-ZlibVersion {
- $zlibVersion = (Run-Command "brew info --json zlib" | ConvertFrom-Json).installed.version
- return $zlibVersion
-}
-
-function Get-LibXftVersion {
- $libXftVersion = (Run-Command "brew info --json libxft" | ConvertFrom-Json).installed.version
- return $libXftVersion
-}
-
-function Get-LibXextVersion {
- $libXextVersion = (Run-Command "brew info --json libxext" | ConvertFrom-Json).installed.version
- return $libXextVersion
-}
-
function Get-TclTkVersion {
$tcltkVersion = (Run-Command "brew info --json tcl-tk@8" | ConvertFrom-Json).installed.version
return $tcltkVersion
@@ -548,35 +368,6 @@ function Get-YqVersion {
return ($Matches[0])
}
-function Get-ImageMagickVersion {
- $imagemagickVersion = Run-Command "magick --version" | Select-Object -First 1 | Take-Part -Part 1,2
- return ($imagemagickVersion -replace "^ImageMagick").Trim()
-}
-
-function Build-PackageManagementEnvironmentTable {
- $node = [HeaderNode]::new("Environment variables")
-
- $table = @(
- @{
- "Name" = "CONDA"
- "Value" = $env:CONDA
- },
- @{
- "Name" = "VCPKG_INSTALLATION_ROOT"
- "Value" = $env:VCPKG_INSTALLATION_ROOT
- }
- ) | ForEach-Object {
- [PSCustomObject] @{
- "Name" = $_.Name
- "Value" = $_.Value
- }
- }
-
- $node.AddTable($table)
-
- return $node
-}
-
function Build-MiscellaneousEnvironmentTable {
return @(
@{
@@ -591,7 +382,6 @@ function Build-MiscellaneousEnvironmentTable {
}
}
-
function Get-CodeQLBundleVersion {
$CodeQLVersionWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*"
$CodeQLVersionPath = Get-ChildItem $CodeQLVersionWildcard | Select-Object -First 1 -Expand FullName
@@ -600,11 +390,6 @@ function Get-CodeQLBundleVersion {
return $CodeQLVersion
}
-function Get-ColimaVersion {
- $colimaVersion = Run-Command "colima version" | Select-String "colima version" | Take-Part -Part 2
- return $colimaVersion
-}
-
function Get-PKGConfVersion {
$pkgconfVersion = Run-Command "pkgconf --version"
return $pkgconfVersion
diff --git a/images/macos/scripts/docs-gen/SoftwareReport.WebServers.psm1 b/images/macos/scripts/docs-gen/SoftwareReport.WebServers.psm1
deleted file mode 100644
index 795882682..000000000
--- a/images/macos/scripts/docs-gen/SoftwareReport.WebServers.psm1
+++ /dev/null
@@ -1,36 +0,0 @@
-function Get-ApacheVersion {
- $name = "httpd"
- $port = 80
- $version = brew list $name --versions | Take-Part -Part 1
- $serviceStatus = (brew services list) -match $name | Take-Part -Part 1
- $configFile = "$(brew --prefix)/etc/httpd/httpd.conf"
- return [PsCustomObject]@{
- "Name" = $name
- "Version" = $version
- "ConfigFile" = $configFile
- "ServiceStatus" = $serviceStatus
- "ListenPort" = $port
- }
-}
-
-function Get-NginxVersion {
- $name = "nginx"
- $port = 80
- $version = brew list $name --versions | Take-Part -Part 1
- $serviceStatus = (brew services list) -match $name | Take-Part -Part 1
- $configFile = "$(brew --prefix)/etc/nginx/nginx.conf"
- return [PsCustomObject]@{
- "Name" = $name
- "Version" = $version
- "ConfigFile" = $configFile
- "ServiceStatus" = $serviceStatus
- "ListenPort" = $port
- }
-}
-
-function Build-WebServersSection {
- return @(
- (Get-ApacheVersion),
- (Get-NginxVersion)
- )
-}
diff --git a/images/macos/scripts/docs-gen/SoftwareReport.Xamarin.psm1 b/images/macos/scripts/docs-gen/SoftwareReport.Xamarin.psm1
deleted file mode 100644
index 5275c323a..000000000
--- a/images/macos/scripts/docs-gen/SoftwareReport.Xamarin.psm1
+++ /dev/null
@@ -1,48 +0,0 @@
-Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
-
-function Build-VSMacTable {
- $vsMacVersions = (Get-ToolsetContent).xamarin.vsmac.versions
- $defaultVSMacVersion = (Get-ToolsetContent).xamarin.vsmac.default
-
- return $vsMacVersions | ForEach-Object {
- $isDefault = $_ -eq $defaultVSMacVersion
- $vsPath = "/Applications/Visual Studio $_.app"
- if ($isDefault) {
- $vsPath = "/Applications/Visual Studio.app"
- }
-
- $plistPath = "$vsPath/Contents/Info.plist"
- $build = Run-Command "/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' '$plistPath'"
- $defaultPostfix = $isDefault ? " (default)" : ""
-
- [PSCustomObject] @{
- "Version" = $_ + $defaultPostfix
- "Build" = $build
- "Path" = $vsPath
- }
- }
-}
-
-function Get-NUnitVersion {
- $version = Run-Command "nunit3-console --version" | Select-Object -First 1 | Take-Part -Part 3
- return $version
-}
-
-function Build-XamarinTable {
- $xamarinBundles = (Get-ToolsetContent).xamarin.bundles
- $defaultSymlink = (Get-ToolsetContent).xamarin.bundle_default
- if ($defaultSymlink -eq "latest") {
- $defaultSymlink = $xamarinBundles[0].symlink
- }
-
- return $xamarinBundles | ForEach-Object {
- $defaultPostfix = ($_.symlink -eq $defaultSymlink ) ? " (default)" : ""
- [PSCustomObject] @{
- "symlink" = $_.symlink + $defaultPostfix
- "Xamarin.Mono" = $_.mono
- "Xamarin.iOS" = $_.ios
- "Xamarin.Mac" = $_.mac
- "Xamarin.Android" = $_.android
- }
- }
-}
diff --git a/images/macos/scripts/docs-gen/SoftwareReport.Xcode.psm1 b/images/macos/scripts/docs-gen/SoftwareReport.Xcode.psm1
index b3f918676..54035e8ce 100644
--- a/images/macos/scripts/docs-gen/SoftwareReport.Xcode.psm1
+++ b/images/macos/scripts/docs-gen/SoftwareReport.Xcode.psm1
@@ -72,6 +72,8 @@ function Get-XcodePlatformOrder {
"Simulator - tvOS" { 5 }
"watchOS" { 6 }
"Simulator - watchOS" { 7 }
+ "visionOS" { 8 }
+ "Simulator - visionOS" { 9 }
Default { 100 }
}
}
@@ -237,22 +239,3 @@ function Build-XcodeSimulatorsTable {
return [System.Version]::Parse($sdkNameParts[-1])
}
}
-
-function Build-XcodeSupportToolsSection {
- $toolNodes = @()
-
- $xcpretty = Run-Command "xcpretty --version"
- $xcversion = Run-Command "xcversion --version" | Select-String "^[0-9]"
-
- $toolNodes += [ToolVersionNode]::new("xcpretty", $xcpretty)
- if ($os.IsMonterey) {
- $toolNodes += [ToolVersionNode]::new("xcversion", $xcversion)
- }
-
- $nomadOutput = Run-Command "gem list nomad-cli"
- $nomadCLI = [regex]::matches($nomadOutput, "(\d+.){2}\d+").Value
- $nomadShenzhenOutput = Run-Command "ipa -version"
- $nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value
-
- return $toolNodes
-}
diff --git a/images/macos/scripts/helpers/Common.Helpers.psm1 b/images/macos/scripts/helpers/Common.Helpers.psm1
index 359f5974e..ec65b7c98 100644
--- a/images/macos/scripts/helpers/Common.Helpers.psm1
+++ b/images/macos/scripts/helpers/Common.Helpers.psm1
@@ -29,7 +29,6 @@ function Get-OSVersion {
Version = $osVersion.Version
Platform = $osVersion.Platform
IsArm64 = $processorArchitecture -eq "arm64"
- IsMonterey = $osVersion.Version.Major -eq "12"
IsVentura = $($osVersion.Version.Major -eq "13")
IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64")
IsVenturaX64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -ne "arm64")
diff --git a/images/macos/scripts/helpers/Xcode.Installer.psm1 b/images/macos/scripts/helpers/Xcode.Installer.psm1
index bbca20b89..39e012725 100644
--- a/images/macos/scripts/helpers/Xcode.Installer.psm1
+++ b/images/macos/scripts/helpers/Xcode.Installer.psm1
@@ -165,10 +165,6 @@ function Invoke-XcodeRunFirstLaunch {
[string] $Version
)
- if ($Version.StartsWith("8") -or $Version.StartsWith("9")) {
- return
- }
-
Write-Host "Running 'runFirstLaunch' for Xcode $Version..."
$xcodeRootPath = Get-XcodeToolPath -Version $Version -ToolName "xcodebuild"
Invoke-ValidateCommand "sudo $xcodeRootPath -runFirstLaunch"
@@ -177,12 +173,36 @@ function Invoke-XcodeRunFirstLaunch {
function Install-AdditionalSimulatorRuntimes {
param (
[Parameter(Mandatory)]
- [string] $Version
+ [string] $Version,
+ [Parameter(Mandatory)]
+ [array] $Runtimes
)
Write-Host "Installing Simulator Runtimes for Xcode $Version ..."
- $xcodebuildPath = Get-XcodeToolPath -Version $Version -ToolName "xcodebuild"
- Invoke-ValidateCommand "$xcodebuildPath -downloadAllPlatforms" | Out-Null
+ $xcodebuildPath = Get-XcodeToolPath -Version $Version -ToolName 'xcodebuild'
+ $validRuntimes = @("iOS", "watchOS", "tvOS", "visionOS")
+ # Install all runtimes / skip all runtimes installation
+ if ($Runtimes.Count -eq 1) {
+ if ($Runtimes[0] -eq "true") {
+ Write-Host "Installing all runtimes for Xcode $Version ..."
+ Invoke-ValidateCommand "sudo $xcodebuildPath -downloadAllPlatforms" | Out-Null
+ return
+ } elseif ($Runtimes[0] -eq "false") {
+ Write-Host "Skipping runtimes installation for Xcode $Version ..."
+ return
+ }
+ }
+
+ # Validate and install specified runtimes
+ $invalidRuntimes = $Runtimes | Where-Object { $_ -notin $validRuntimes }
+ if ($invalidRuntimes) {
+ throw "Error: Invalid runtimes detected: $($invalidRuntimes -join ', '). Valid values are: $validRuntimes."
+ }
+
+ foreach ($runtime in $Runtimes) {
+ Write-Host "Installing runtime $runtime ..."
+ Invoke-ValidateCommand "sudo $xcodebuildPath -downloadPlatform $runtime" | Out-Null
+ }
}
function Build-XcodeSymlinks {
diff --git a/images/macos/scripts/helpers/confirm-identified-developers.scpt b/images/macos/scripts/helpers/confirm-identified-developers.scpt
deleted file mode 100644
index 31a650d76..000000000
--- a/images/macos/scripts/helpers/confirm-identified-developers.scpt
+++ /dev/null
@@ -1,49 +0,0 @@
-# This AppleScript confirms developers in security preferences via macOS UI.
-# It uses after VirtualBox installation to add 'Oracle Inc' as identified developer.
-# Steps:
-# - Close security preferences pop-up (it can be open after VirtualBox installation)
-# - Open System Preferences -> Security & Privacy -> General
-# - Unlock security preferences with user password (button 'Click the lock to make changes')
-# - Click 'Allow' or 'Details…' button to confirm developers
-# - Click 'Not now' button on restarting pop-up
-# - Close System Preferences
-
-on run argv
- set userpassword to item 1 of argv
- set secpane to "Security & Privacy"
-
- activate application "System Preferences"
- delay 5
-
- tell application "System Events"
- tell process "System Preferences"
- set frontmost to true
- delay 2
- click menu item secpane of menu "View" of menu bar 1
- delay 5
- click button 1 of window 1
- delay 5
- keystroke userpassword
- delay 5
- keystroke return
- delay 5
- click radio button "General" of tab group 1 of window 1
- delay 5
- if exists of UI element "Details…" of tab group 1 of window 1 then
- click button "Details…" of tab group 1 of window 1
- delay 5
- keystroke return
- delay 5
- keystroke return
- delay 5
- end if
- if exists of UI element "Allow" of tab group 1 of window 1 then
- click button "Allow" of tab group 1 of window 1
- delay 5
- keystroke return
- delay 5
- end if
- click button 5 of window 1
- end tell
- end tell
-end run
\ No newline at end of file
diff --git a/images/macos/scripts/helpers/utils.sh b/images/macos/scripts/helpers/utils.sh
index 6dbb23102..df45ad58f 100644
--- a/images/macos/scripts/helpers/utils.sh
+++ b/images/macos/scripts/helpers/utils.sh
@@ -81,10 +81,6 @@ is_VenturaX64() {
is_Ventura && ! is_Arm64
}
-is_Monterey() {
- [ "$OSTYPE" = "darwin21" ]
-}
-
get_toolset_value() {
local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json")
local query=$1
diff --git a/images/macos/scripts/helpers/xamarin-utils.sh b/images/macos/scripts/helpers/xamarin-utils.sh
deleted file mode 100644
index 20e3b9dc8..000000000
--- a/images/macos/scripts/helpers/xamarin-utils.sh
+++ /dev/null
@@ -1,215 +0,0 @@
-#!/bin/bash -e -o pipefail
-
-source ~/utils/utils.sh
-
-# Xamarin can clean their SDKs while updating to newer versions,
-# so we should be able to detect it during image generation
-
-buildVSMacDownloadUrl() {
- echo "https://dl.xamarin.com/VsMac/VisualStudioForMac-${1}.dmg"
-}
-
-buildMonoDownloadUrl() {
- echo "https://dl.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-${1}.macos10.xamarin.universal.pkg"
-}
-
-buildXamariniIOSDownloadUrl() {
- echo "https://dl.xamarin.com/MonoTouch/Mac/xamarin.ios-${1}.pkg"
-}
-
-buildXamarinMacDownloadUrl() {
- echo "https://dl.xamarin.com/XamarinforMac/Mac/xamarin.mac-${1}.pkg"
-}
-
-buildXamarinAndroidDownloadUrl() {
- echo "https://dl.xamarin.com/MonoforAndroid/Mac/xamarin.android-${1}.pkg"
-}
-
-installMono() {
- local VERSION=$1
-
- echo "Installing Mono ${VERSION}..."
- local MONO_FOLDER_NAME=$(echo $VERSION | cut -d. -f 1,2,3)
- local SHORT_VERSION=$(echo $VERSION | cut -d. -f 1,2)
- local PKG_URL=$(buildMonoDownloadUrl $VERSION)
-
- sudo installer -pkg "$(download_with_retry "$PKG_URL")" -target /
-
- echo "Installing nunit3-console for Mono "$VERSION
- installNunitConsole $MONO_FOLDER_NAME
-
- echo "Creating short symlink '${SHORT_VERSION}'"
- sudo ln -s ${MONO_VERSIONS_PATH}/${MONO_FOLDER_NAME} ${MONO_VERSIONS_PATH}/${SHORT_VERSION}
-
- echo "Move to backup folder"
- sudo mv -v $MONO_VERSIONS_PATH/* $TMPMOUNT_FRAMEWORKS/mono/
-}
-
-installXamarinIOS() {
- local VERSION=$1
-
- echo "Installing Xamarin.iOS ${VERSION}..."
- local SHORT_VERSION=$(echo $VERSION | cut -d. -f 1,2)
- local PKG_URL=$(buildXamariniIOSDownloadUrl $VERSION)
-
- sudo installer -pkg "$(download_with_retry "$PKG_URL")" -target /
-
- echo "Creating short symlink '${SHORT_VERSION}'"
- sudo ln -s ${IOS_VERSIONS_PATH}/${VERSION} ${IOS_VERSIONS_PATH}/${SHORT_VERSION}
-
- echo "Move to backup folder"
- sudo mv -v $IOS_VERSIONS_PATH/* $TMPMOUNT_FRAMEWORKS/ios/
-}
-
-installXamarinMac() {
- local VERSION=$1
-
- echo "Installing Xamarin.Mac ${VERSION}..."
- local SHORT_VERSION=$(echo $VERSION | cut -d. -f 1,2)
- local PKG_URL=$(buildXamarinMacDownloadUrl $VERSION)
-
- sudo installer -pkg "$(download_with_retry "$PKG_URL")" -target /
-
- echo "Creating short symlink '${SHORT_VERSION}'"
- sudo ln -s ${MAC_VERSIONS_PATH}/${VERSION} ${MAC_VERSIONS_PATH}/${SHORT_VERSION}
-
- echo "Move to backup folder"
- sudo mv -v $MAC_VERSIONS_PATH/* $TMPMOUNT_FRAMEWORKS/mac/
-}
-
-installXamarinAndroid() {
- local VERSION=$1
-
- echo "Installing Xamarin.Android ${VERSION}..."
- local SHORT_VERSION=$(echo $VERSION | cut -d. -f 1,2)
- local PKG_URL=$(buildXamarinAndroidDownloadUrl $VERSION)
-
- sudo installer -pkg "$(download_with_retry "$PKG_URL")" -target /
-
- if [ "$VERSION" == "9.4.1.0" ]; then
- # Fix symlinks for broken Xamarin.Android
- fixXamarinAndroidSymlinksInLibDir $VERSION
- fi
-
- echo "Creating short symlink '${SHORT_VERSION}'"
- sudo ln -s ${ANDROID_VERSIONS_PATH}/${VERSION} ${ANDROID_VERSIONS_PATH}/${SHORT_VERSION}
-
- echo "Move to backup folder"
- sudo mv -v $ANDROID_VERSIONS_PATH/* $TMPMOUNT_FRAMEWORKS/android/
-}
-
-createBundle() {
- local SYMLINK=$1
- local MONO_SDK=$2
- local IOS_SDK=$3
- local MAC_SDK=$4
- local ANDROID_SDK=$5
-
- echo "Creating bundle '$SYMLINK' (Mono $MONO_SDK; iOS $IOS_SDK; Mac $MAC_SDK; Android $ANDROID_SDK"
- deleteSymlink ${SYMLINK}
- sudo ln -s ${MONO_VERSIONS_PATH}/${MONO_SDK} ${MONO_VERSIONS_PATH}/${SYMLINK}
- sudo ln -s ${IOS_VERSIONS_PATH}/${IOS_SDK} ${IOS_VERSIONS_PATH}/${SYMLINK}
- sudo ln -s ${MAC_VERSIONS_PATH}/${MAC_SDK} ${MAC_VERSIONS_PATH}/${SYMLINK}
- sudo ln -s ${ANDROID_VERSIONS_PATH}/${ANDROID_SDK} ${ANDROID_VERSIONS_PATH}/${SYMLINK}
-}
-
-createBundleLink() {
- local SOURCE=$1
- local TARGET=$2
- echo "Creating bundle symlink '$SOURCE' -> '$TARGET'"
- deleteSymlink ${TARGET}
- sudo ln -s ${MONO_VERSIONS_PATH}/$SOURCE ${MONO_VERSIONS_PATH}/$TARGET
- sudo ln -s ${IOS_VERSIONS_PATH}/$SOURCE ${IOS_VERSIONS_PATH}/$TARGET
- sudo ln -s ${MAC_VERSIONS_PATH}/$SOURCE ${MAC_VERSIONS_PATH}/$TARGET
- sudo ln -s ${ANDROID_VERSIONS_PATH}/$SOURCE ${ANDROID_VERSIONS_PATH}/$TARGET
-}
-
-# https://github.com/xamarin/xamarin-android/issues/3457
-# Recreate missing symlinks in lib for new Xamarin.Android package
-# Symlink path /Library/Frameworks/Xamarin.Android.framework/Libraries
-# xbuild -> xamarin.android/xbuild
-# xbuild-frameworks -> xamarin.android/xbuild-frameworks
-fixXamarinAndroidSymlinksInLibDir() {
- local XAMARIN_ANDROID_VERSION=$1
- local XAMARIN_ANDROID_LIB_PATH="${ANDROID_VERSIONS_PATH}/${XAMARIN_ANDROID_VERSION}/lib"
-
- if [ -d "${XAMARIN_ANDROID_LIB_PATH}" ]; then
- pushd "${XAMARIN_ANDROID_LIB_PATH}" > /dev/null
-
- local XAMARIN_ANDROID_XBUILD_DIR="${XAMARIN_ANDROID_LIB_PATH}/xbuild"
- if [ ! -d "${XAMARIN_ANDROID_XBUILD_DIR}" ]; then
- echo "${XAMARIN_ANDROID_XBUILD_DIR}"
- sudo ln -sf xamarin.android/xbuild xbuild
- fi
-
- local XAMARIN_ANDROID_XBUILD_FRAMEWORKS_DIR="${XAMARIN_ANDROID_LIB_PATH}/xbuild-frameworks"
- if [ ! -d "${XAMARIN_ANDROID_XBUILD_FRAMEWORKS_DIR}" ]; then
- echo "${XAMARIN_ANDROID_XBUILD_FRAMEWORKS_DIR}"
- sudo ln -sf xamarin.android/xbuild-frameworks xbuild-frameworks
- fi
-
- popd > /dev/null
- fi
-}
-
-installNunitConsole() {
- local MONO_VERSION=$1
- local TMP_WRAPPER_PATH=$(mktemp)
-
- cat < "$TMP_WRAPPER_PATH"
-#!/bin/bash -e -o pipefail
-exec /Library/Frameworks/Mono.framework/Versions/${MONO_VERSION}/bin/mono --debug \$MONO_OPTIONS $NUNIT3_PATH/nunit3-console.exe "\$@"
-EOF
- sudo chmod +x $TMP_WRAPPER_PATH
- sudo mv "$TMP_WRAPPER_PATH" "${MONO_VERSIONS_PATH}/${MONO_VERSION}/Commands/nunit3-console"
-}
-
-downloadNUnitConsole() {
- echo "Downloading NUnit 3..."
- local NUNIT3_VERSION='3.6.1'
- local NUNIT3_LOCATION="https://github.com/nunit/nunit-console/releases/download/${NUNIT3_VERSION}/NUnit.Console-${NUNIT3_VERSION}.zip"
- local NUNIT3_PATH="/Library/Developer/nunit/${NUNIT3_VERSION}"
-
- NUNIT3_ARCHIVE=$(download_with_retry $NUNIT3_LOCATION)
-
- echo "Installing NUnit 3..."
- sudo mkdir -p $NUNIT3_PATH
- sudo unzip "$NUNIT3_ARCHIVE" -d $NUNIT3_PATH
-}
-
-createUWPShim() {
- echo "Creating UWP Shim to hack UWP build failure..."
- cat < ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets
-
-
-
-
-EOF
-
- local UWPTARGET_PATH=/Library/Frameworks/Mono.framework/External/xbuild/Microsoft/WindowsXaml
-
- sudo mkdir -p $UWPTARGET_PATH/v11.0/
- sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v11.0/
- sudo mkdir -p $UWPTARGET_PATH/v12.0/
- sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v12.0/
- sudo mkdir -p $UWPTARGET_PATH/v14.0/
- sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v14.0/
- sudo mkdir -p $UWPTARGET_PATH/v15.0/
- sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v15.0/
- sudo mkdir -p $UWPTARGET_PATH/v16.0/
- sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v16.0/
-}
-
-createBackupFolders() {
- mkdir -p $TMPMOUNT_FRAMEWORKS/mono
- mkdir -p $TMPMOUNT_FRAMEWORKS/ios
- mkdir -p $TMPMOUNT_FRAMEWORKS/mac
- mkdir -p $TMPMOUNT_FRAMEWORKS/android
-}
-
-deleteSymlink() {
- sudo rm -f ${MONO_VERSIONS_PATH}/${1}
- sudo rm -f ${IOS_VERSIONS_PATH}/${1}
- sudo rm -f ${MAC_VERSIONS_PATH}/${1}
- sudo rm -f ${ANDROID_VERSIONS_PATH}/${1}
-}
diff --git a/images/macos/scripts/tests/Android.Tests.ps1 b/images/macos/scripts/tests/Android.Tests.ps1
index 654a05e37..766dfd8a7 100644
--- a/images/macos/scripts/tests/Android.Tests.ps1
+++ b/images/macos/scripts/tests/Android.Tests.ps1
@@ -57,14 +57,6 @@ Describe "Android" {
Sdkmanager = "$env:ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager"
}
)
- if ($os.IsMonterey) {
- $testCases += @(
- @{
- PackageName = "SDK tools"
- Sdkmanager = "$env:ANDROID_HOME/tools/bin/sdkmanager"
- }
- )
- }
It "Sdkmanager from is available" -TestCases $testCases {
"$Sdkmanager --version" | Should -ReturnZeroExitCode
diff --git a/images/macos/scripts/tests/BasicTools.Tests.ps1 b/images/macos/scripts/tests/BasicTools.Tests.ps1
index 53942da4d..fd7613134 100644
--- a/images/macos/scripts/tests/BasicTools.Tests.ps1
+++ b/images/macos/scripts/tests/BasicTools.Tests.ps1
@@ -26,12 +26,6 @@ Describe "cmake" {
}
}
-Describe "Subversion" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Subversion" {
- "svn --version" | Should -ReturnZeroExitCode
- }
-}
-
Describe "SwiftFormat" {
It "SwiftFormat" {
"swiftformat --version" | Should -ReturnZeroExitCode
@@ -87,7 +81,7 @@ Describe "7-Zip" {
}
}
-Describe "Apache Ant" -Skip:($os.IsMonterey) {
+Describe "Apache Ant" {
It "Apache Ant" {
"ant -version" | Should -ReturnZeroExitCode
}
@@ -111,12 +105,6 @@ Describe "bazel" {
}
}
-Describe "Julia" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Julia" {
- "julia --version" | Should -ReturnZeroExitCode
- }
-}
-
Describe "jq" {
It "jq" {
"jq --version" | Should -ReturnZeroExitCode
@@ -135,31 +123,13 @@ Describe "wget" {
}
}
-Describe "vagrant" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "vagrant" {
- "vagrant --version" | Should -ReturnZeroExitCode
- }
-}
-
-Describe "virtualbox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "virtualbox" {
- "vboxmanage -v" | Should -ReturnZeroExitCode
- }
-}
-
-Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "R" {
- "R --version" | Should -ReturnZeroExitCode
- }
-}
-
Describe "Homebrew" {
It "Homebrew" {
"brew --version" | Should -ReturnZeroExitCode
}
}
-Describe "Kotlin" -Skip:($os.IsMonterey) {
+Describe "Kotlin" {
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlinc-js")
It " is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
@@ -173,12 +143,6 @@ Describe "yq" {
}
}
-Describe "imagemagick" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "imagemagick" {
- "magick -version" | Should -ReturnZeroExitCode
- }
-}
-
Describe "pkgconf" {
It "pkgconf" {
"pkgconf --version" | Should -ReturnZeroExitCode
diff --git a/images/macos/scripts/tests/Common.Tests.ps1 b/images/macos/scripts/tests/Common.Tests.ps1
index 4d6ebf8e2..8e6be12f5 100644
--- a/images/macos/scripts/tests/Common.Tests.ps1
+++ b/images/macos/scripts/tests/Common.Tests.ps1
@@ -58,77 +58,18 @@ Describe "AzCopy" {
}
}
-Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Conda" {
- [System.Environment]::GetEnvironmentVariable("CONDA") | Should -Not -BeNullOrEmpty
- $condaBinPath = Join-Path $env:CONDA "bin" "conda"
- "$condaBinPath --version" | Should -ReturnZeroExitCode
- }
-}
-
-Describe "Stack" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Stack" {
- "stack --version" | Should -ReturnZeroExitCode
- }
-}
-
Describe "CocoaPods" {
It "CocoaPods" {
"pod --version" | Should -ReturnZeroExitCode
}
}
-Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- $vsMacVersions = (Get-ToolsetContent).xamarin.vsmac.versions
- $defaultVSMacVersion = (Get-ToolsetContent).xamarin.vsmac.default
-
- $testCases = $vsMacVersions | ForEach-Object {
- $vsPath = "/Applications/Visual Studio $_.app"
- if ($_ -eq $defaultVSMacVersion) {
- $vsPath = "/Applications/Visual Studio.app"
- }
-
- @{ vsversion = $_ ; vspath = $vsPath }
- }
-
- It "Visual Studio for Mac is installed" -TestCases $testCases {
- $vstoolPath = Join-Path $vsPath "Contents/MacOS/vstool"
- $vsPath | Should -Exist
- $vstoolPath | Should -Exist
- }
-
- It "Visual Studio $defaultVSMacVersion for Mac is default" {
- $vsPath = "/Applications/Visual Studio.app"
- $vstoolPath = Join-Path $vsPath "Contents/MacOS/vstool"
- $vsPath | Should -Exist
- $vstoolPath | Should -Exist
- }
-}
-
-Describe "Swig" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Swig" {
- "swig -version" | Should -ReturnZeroExitCode
- }
-}
-
Describe "Bicep" {
It "Bicep" {
"bicep --version" | Should -ReturnZeroExitCode
}
}
-Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Go" {
- "go version" | Should -ReturnZeroExitCode
- }
-}
-
-Describe "VirtualBox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Check kext kernel modules" {
- kextstat | Out-String | Should -Match "org.virtualbox.kext"
- }
-}
-
Describe "CodeQL Bundle" {
It "Is installed" {
$CodeQLVersionWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*"
@@ -141,28 +82,6 @@ Describe "CodeQL Bundle" {
}
}
-Describe "Colima" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Colima" {
- "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 " 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
diff --git a/images/macos/scripts/tests/Haskell.Tests.ps1 b/images/macos/scripts/tests/Haskell.Tests.ps1
deleted file mode 100644
index c4ff72992..000000000
--- a/images/macos/scripts/tests/Haskell.Tests.ps1
+++ /dev/null
@@ -1,30 +0,0 @@
-Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
-
-$os = Get-OSVersion
-
-Describe "Haskell" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- Context "GHCup" {
- It "GHCup" {
- "ghcup --version" | Should -ReturnZeroExitCode
- }
- }
- Context "GHC" {
- It "GHC" {
- "ghc --version" | Should -ReturnZeroExitCode
- }
- }
- Context "Cabal" {
- It "Cabal" {
- "cabal --version" | Should -ReturnZeroExitCode
- }
- }
- Context "Stack" {
- It "Stack" {
- "stack --version" | Should -ReturnZeroExitCode
- }
-
- It "Stack hook is not installed" {
- "$HOME/.stack/hooks/ghc-install.sh" | Should -Not -Exist
- }
- }
-}
diff --git a/images/macos/scripts/tests/Mono.Tests.ps1 b/images/macos/scripts/tests/Mono.Tests.ps1
new file mode 100644
index 000000000..5d2822306
--- /dev/null
+++ b/images/macos/scripts/tests/Mono.Tests.ps1
@@ -0,0 +1,74 @@
+Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
+Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
+
+$os = Get-OSVersion
+
+BeforeAll {
+ function Get-ShortSymlink {
+ param (
+ [string] $Version
+ )
+
+ $versionParts = $Version.Split(".")
+ return [String]::Join(".", $versionParts[0..1])
+ }
+}
+
+Describe "Mono" -Skip:($os.IsSequoia) {
+ $MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
+ $monoToolsetVersion = @((Get-ToolsetContent).mono.framework.version)
+ $versionFolderPath = Join-Path $MONO_VERSIONS_PATH ([System.Version]::Parse($monoToolsetVersion).ToString(3))
+ $testCase = @{ MonoVersion = $monoToolsetVersion; VersionFolderPath = $versionFolderPath; MonoVersionsPath = $MONO_VERSIONS_PATH }
+
+ It "is installed" -TestCases $testCase {
+ param ( [string] $VersionFolderPath )
+
+ $monoBinPath = Join-Path $VersionFolderPath "bin" "mono"
+ $VersionFolderPath | Should -Exist
+ $monoBinPath | Should -Exist
+ }
+
+ It "is available via short link" -TestCases $testCase {
+ param (
+ [string] $MonoVersion,
+ [string] $MonoVersionsPath,
+ [string] $VersionFolderPath
+ )
+
+ $shortSymlink = Get-ShortSymlink $MonoVersion # only 'major.minor'
+ $shortSymlinkFolderPath = Join-Path $MonoVersionsPath $shortSymlink
+ if ($shortSymlink -eq "4.8") { return } # Skip this test for Mono 4.8 because it doesn't contain VERSION file
+ $shortVersionPath = Join-Path $shortSymlinkFolderPath "VERSION"
+ $fullVersionPath = Join-Path $VersionFolderPath "VERSION"
+ Confirm-IdenticalFileContent -File1 $shortVersionPath -File2 $fullVersionPath
+ }
+
+ It "NUnit console is installed" -TestCases $testCase {
+ param ( [string] $VersionFolderPath )
+
+ $nunitPath = Join-Path $VersionFolderPath "Commands" "nunit3-console"
+ $nunitPath | Should -Exist
+ }
+
+ It "Nuget is installed" -TestCases $testCase {
+ param ( [string] $VersionFolderPath )
+
+ $nugetBinaryPath = Join-Path $VersionFolderPath "lib" "mono" "nuget" "nuget.exe"
+ $nugetBinaryWrapperPath = Join-Path $VersionFolderPath "bin" "nuget"
+ $nugetCommandPath = Join-Path $VersionFolderPath "Commands" "nuget"
+ $nugetBinaryPath | Should -Exist
+ $nugetCommandPath | Should -Exist
+ $nugetBinaryWrapperPath | Should -Exist
+ }
+
+ It "Nuget is valid" -TestCases $testCase {
+ param ( [string] $VersionFolderPath )
+
+ $nugetBinaryWrapperPath = Join-Path $VersionFolderPath "bin" "nuget"
+ "$nugetBinaryWrapperPath" | Should -ReturnZeroExitCode
+ }
+
+ It "MSBuild is available" {
+ "msbuild -version" | Should -ReturnZeroExitCode
+ }
+}
diff --git a/images/macos/scripts/tests/PipxPackages.Tests.ps1 b/images/macos/scripts/tests/PipxPackages.Tests.ps1
deleted file mode 100644
index 8a7cb0dcb..000000000
--- a/images/macos/scripts/tests/PipxPackages.Tests.ps1
+++ /dev/null
@@ -1,12 +0,0 @@
-
-Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
-
-$os = Get-OSVersion
-
-Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- $pipxToolset = (Get-ToolsetContent).pipx
- $testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} }
- It "" -TestCases $testCases {
- "$cmd" | Should -ReturnZeroExitCode
- }
-}
diff --git a/images/macos/scripts/tests/Toolset.Tests.ps1 b/images/macos/scripts/tests/Toolset.Tests.ps1
index f2aa3cd7a..b4afae7e0 100644
--- a/images/macos/scripts/tests/Toolset.Tests.ps1
+++ b/images/macos/scripts/tests/Toolset.Tests.ps1
@@ -6,11 +6,6 @@ function Get-ShortVersion([System.Version] $Version) {
return [System.Version]::Parse($Version).ToString(2)
}
-function Invoke-BashUtilsFunction([string] $FunctionName, [string]$parameter) {
- $xamarinUtilsPath = "$PSScriptRoot/../provision/utils/xamarin-utils.sh"
- return Invoke-Expression "bash -c `"source $xamarinUtilsPath && $FunctionName $parameter`""
-}
-
Describe "Toolset JSON validation" {
$toolsets | ForEach-Object {
It "$($_.Name) is valid" {
@@ -33,109 +28,5 @@ $toolsets | ForEach-Object {
$toolset.xcode.versions | Should -Contain $toolset.xcode.default
}
}
-
- Context "VSMac" {
- $vsmacVersion = $toolset.xamarin.vsmac
-
- It "Version '$vsmacVersion' is available and can be downloaded" {
- $vsmacUrl = Invoke-BashUtilsFunction("buildVSMacDownloadUrl", $vsmacVersion)
- Confirm-UrlAvailability $vsmacUrl
- }
- }
-
- Context "Mono" {
- $sdkVersions = $toolset.xamarin.mono_versions
-
- $sdkVersions | ForEach-Object {
- It "Version '$_' is available and can be downloaded" {
- $sdkUrl = Invoke-BashUtilsFunction("buildMonoDownloadUrl", $_)
- Confirm-UrlAvailability $sdkUrl
- }
- }
-
- It "Version list doesn't contain versions with the same major/minor version" {
- $versions = $sdkVersions | ForEach-Object { Get-ShortVersion $_ }
- Confirm-ArrayWithoutDuplicates $versions -Because "It doesn't allow to install more than one version with the same major/minor"
- }
- }
-
- Context "Xamarin.iOS" {
- $sdkVersions = $toolset.xamarin.ios_versions
-
- $sdkVersions | ForEach-Object {
- It "Version '$_' is available and can be downloaded" {
- $sdkUrl = Invoke-BashUtilsFunction("buildXamariniIOSDownloadUrl", $_)
- Confirm-UrlAvailability $sdkUrl
- }
- }
-
- It "Version list doesn't contain versions with the same major/minor version" {
- $versions = $sdkVersions | ForEach-Object { Get-ShortVersion $_ }
- Confirm-ArrayWithoutDuplicates $versions -Because "It doesn't allow to install more than one version with the same major/minor"
- }
- }
-
- Context "Xamarin.Mac" {
- $sdkVersions = $toolset.xamarin.mac_versions
-
- $sdkVersions | ForEach-Object {
- It "Version '$_' is available and can be downloaded" {
- $sdkUrl = Invoke-BashUtilsFunction("buildXamarinMacDownloadUrl", $_)
- Confirm-UrlAvailability $sdkUrl
- }
- }
-
- It "Version list doesn't contain versions with the same major/minor version" {
- $versions = $sdkVersions | ForEach-Object { Get-ShortVersion $_ }
- Confirm-ArrayWithoutDuplicates $versions -Because "It doesn't allow to install more than one version with the same major/minor"
- }
- }
-
- Context "Xamarin.Android" {
- $sdkVersions = $toolset.xamarin.android_versions
-
- $sdkVersions | ForEach-Object {
- It "Version '$_' is available and can be downloaded" {
- $sdkUrl = Invoke-BashUtilsFunction("buildXamarinAndroidDownloadUrl", $_)
- Confirm-UrlAvailability $sdkUrl
- }
- }
-
- It "Version list doesn't contain versions with the same major/minor version" {
- $versions = $sdkVersions | ForEach-Object { $_.Replace("-", ".") } | ForEach-Object { Get-ShortVersion $_ }
- Confirm-ArrayWithoutDuplicates $versions -Because "It doesn't allow to install more than one version with the same major/minor"
- }
- }
-
- Context "Xamarin bundles" {
- $monoVersions = $toolset.xamarin.mono_versions | ForEach-Object { Get-ShortVersion $_ }
- $iOSVersions = $toolset.xamarin.ios_versions | ForEach-Object { Get-ShortVersion $_ }
- $macVersions = $toolset.xamarin.mac_versions | ForEach-Object { Get-ShortVersion $_ }
- # Old Xamarin.Android version looks like "9.0.0-18" that doesn't support by System.Version
- $androidVersions = $toolset.xamarin.android_versions | ForEach-Object { Get-ShortVersion $_.Replace("-", ".") }
- $bundles = $toolset.xamarin.bundles
-
- $bundles | ForEach-Object {
- It "'$($_.symlink)' is valid" {
- $monoVersions | Should -Contain $_.mono
- $iOSVersions | Should -Contain $_.ios
- $macVersions | Should -Contain $_.mac
- $androidVersions | Should -Contain $_.android
- }
- }
-
- It "Each bundle has unique symlink" {
- $symlinks = $bundles | ForEach-Object { $_.symlink }
- Confirm-ArrayWithoutDuplicates $symlinks -Because "Bundle symlinks should be unique"
- }
-
- It "Current bundle is valid" {
- $currentBundleSymlink = $toolset.xamarin.bundle_default
- if ($currentBundleSymlink -ne "latest") {
- $bundleSymlinks = $bundles | ForEach-Object { $_.symlink }
- $bundleSymlinks | Should -Contain $currentBundleSymlink -Because "Current bundle should be installed"
- }
- }
- }
}
}
diff --git a/images/macos/scripts/tests/WebServers.Tests.ps1 b/images/macos/scripts/tests/WebServers.Tests.ps1
deleted file mode 100644
index 303fa3842..000000000
--- a/images/macos/scripts/tests/WebServers.Tests.ps1
+++ /dev/null
@@ -1,25 +0,0 @@
-Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
-
-$os = Get-OSVersion
-
-Describe "Apache" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Apache CLI" {
- "httpd -v" | Should -ReturnZeroExitCode
- }
-
- It "Apache Service" {
- $service = brew services list --json | ConvertFrom-Json | Where-Object { $_.name -eq "httpd" }
- $service.status | Should -Match "(stopped|none)"
- }
-}
-
-Describe "Nginx" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Nginx CLI" {
- "nginx -v" | Should -ReturnZeroExitCode
- }
-
- It "Nginx Service" {
- $service = brew services list --json | ConvertFrom-Json | Where-Object { $_.name -eq "nginx" }
- $service.status | Should -Match "(stopped|none)"
- }
-}
diff --git a/images/macos/scripts/tests/Xamarin.Tests.ps1 b/images/macos/scripts/tests/Xamarin.Tests.ps1
deleted file mode 100644
index a09f87f13..000000000
--- a/images/macos/scripts/tests/Xamarin.Tests.ps1
+++ /dev/null
@@ -1,317 +0,0 @@
-Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
-Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
-
-$os = Get-OSVersion
-
-if ($os.IsVentura -or $os.IsSonoma) {
- $MONO_VERSIONS = @((Get-ToolsetContent).mono.framework.version)
- $XAMARIN_IOS_VERSIONS = @()
- $XAMARIN_MAC_VERSIONS = @()
- $XAMARIN_ANDROID_VERSIONS = @()
-} elseif ($os.IsMonterey) {
- $MONO_VERSIONS = (Get-ToolsetContent).xamarin.mono_versions
- $XAMARIN_IOS_VERSIONS = (Get-ToolsetContent).xamarin.ios_versions
- $XAMARIN_MAC_VERSIONS = (Get-ToolsetContent).xamarin.mac_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 {
- function Get-ShortSymlink {
- param (
- [string] $Version
- )
-
- $versionParts = $Version.Split(".")
- return [String]::Join(".", $versionParts[0..1])
- }
-}
-
-Describe "Mono" -Skip:($os.IsSequoia) {
- $MONO_VERSIONS | ForEach-Object {
- Context "$_" {
- $MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
- $versionFolderPath = Join-Path $MONO_VERSIONS_PATH ([System.Version]::Parse($_).ToString(3))
- $testCase = @{ MonoVersion = $_; VersionFolderPath = $versionFolderPath; MonoVersionsPath = $MONO_VERSIONS_PATH }
-
- It "is installed" -TestCases $testCase {
- param ( [string] $VersionFolderPath )
-
- $monoBinPath = Join-Path $VersionFolderPath "bin" "mono"
- $VersionFolderPath | Should -Exist
- $monoBinPath | Should -Exist
- }
-
- It "is available via short link" -TestCases $testCase {
- param (
- [string] $MonoVersion,
- [string] $MonoVersionsPath,
- [string] $VersionFolderPath
- )
-
- $shortSymlink = Get-ShortSymlink $MonoVersion # only 'major.minor'
- $shortSymlinkFolderPath = Join-Path $MonoVersionsPath $shortSymlink
- if ($shortSymlink -eq "4.8") { return } # Skip this test for Mono 4.8 because it doesn't contain VERSION file
- $shortVersionPath = Join-Path $shortSymlinkFolderPath "VERSION"
- $fullVersionPath = Join-Path $VersionFolderPath "VERSION"
-
- Confirm-IdenticalFileContent -File1 $shortVersionPath -File2 $fullVersionPath
- }
-
- It "NUnit console is installed" -TestCases $testCase {
- param ( [string] $VersionFolderPath )
-
- $nunitPath = Join-Path $VersionFolderPath "Commands" "nunit3-console"
- $nunitPath | Should -Exist
- }
-
- It "Nuget is installed" -TestCases $testCase {
- param ( [string] $VersionFolderPath )
-
- $nugetBinaryPath = Join-Path $VersionFolderPath "lib" "mono" "nuget" "nuget.exe"
- $nugetBinaryWrapperPath = Join-Path $VersionFolderPath "bin" "nuget"
- $nugetCommandPath = Join-Path $VersionFolderPath "Commands" "nuget"
-
- $nugetBinaryPath | Should -Exist
- $nugetCommandPath | Should -Exist
- $nugetBinaryWrapperPath | Should -Exist
- }
-
- It "Nuget is valid" -TestCases $testCase {
- param ( [string] $VersionFolderPath )
-
- $nugetBinaryWrapperPath = Join-Path $VersionFolderPath "bin" "nuget"
- "$nugetBinaryWrapperPath" | Should -ReturnZeroExitCode
- }
- }
- }
-
- It "MSBuild is available" {
- "msbuild -version" | Should -ReturnZeroExitCode
- }
-}
-
-Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- $XAMARIN_IOS_VERSIONS | ForEach-Object {
- Context "$_" {
- $XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
- $versionFolderPath = Join-Path $XAMARIN_IOS_VERSIONS_PATH $_
- $testCase = @{ XamarinIosVersion = $_; VersionFolderPath = $versionFolderPath; IosVersionsPath = $XAMARIN_IOS_VERSIONS_PATH }
-
- It "is installed" -TestCases $testCase {
- param ( [string] $VersionFolderPath )
-
- $xamarinBinPath = Join-Path $VersionFolderPath "bin"
- $VersionFolderPath | Should -Exist
- $xamarinBinPath | Should -Exist
- }
-
- It "is available via short link" -TestCases $testCase {
- param (
- [string] $XamarinIosVersion,
- [string] $IosVersionsPath,
- [string] $VersionFolderPath
- )
-
- $shortSymlink = Get-ShortSymlink $XamarinIosVersion # only 'major.minor'
- $shortSymlinkFolderPath = Join-Path $IosVersionsPath $shortSymlink
- $shortVersionPath = Join-Path $shortSymlinkFolderPath "VERSION"
- $fullVersionPath = Join-Path $VersionFolderPath "VERSION"
-
- Confirm-IdenticalFileContent -File1 $shortVersionPath -File2 $fullVersionPath
- }
- }
- }
-}
-
-Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- $XAMARIN_MAC_VERSIONS | ForEach-Object {
- Context "$_" {
- $XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions"
- $versionFolderPath = Join-Path $XAMARIN_MAC_VERSIONS_PATH $_
- $testCase = @{ XamarinMacVersion = $_; VersionFolderPath = $versionFolderPath; MacVersionsPath = $XAMARIN_MAC_VERSIONS_PATH }
-
- It "is installed" -TestCases $testCase {
- param ( [string] $VersionFolderPath )
-
- $xamarinBinPath = Join-Path $VersionFolderPath "bin"
- $VersionFolderPath | Should -Exist
- $xamarinBinPath | Should -Exist
- }
-
- It "is available via short link" -TestCases $testCase {
- param (
- [string] $XamarinMacVersion,
- [string] $MacVersionsPath,
- [string] $VersionFolderPath
- )
-
- $shortSymlink = Get-ShortSymlink $XamarinMacVersion # only 'major.minor'
- $shortSymlinkFolderPath = Join-Path $MacVersionsPath $shortSymlink
- $shortVersionPath = Join-Path $shortSymlinkFolderPath "VERSION"
- $fullVersionPath = Join-Path $VersionFolderPath "VERSION"
-
- Confirm-IdenticalFileContent -File1 $shortVersionPath -File2 $fullVersionPath
- }
- }
- }
-}
-
-Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- $XAMARIN_ANDROID_VERSIONS | ForEach-Object {
- Context "$_" {
- $XAMARIN_ANDROID_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions"
- $versionFolderPath = Join-Path $XAMARIN_ANDROID_VERSIONS_PATH $_
- $testCase = @{ XamarinAndroidVersion = $_; VersionFolderPath = $versionFolderPath; AndroidVersionsPath = $XAMARIN_ANDROID_VERSIONS_PATH }
-
- It "is installed" -TestCases $testCase {
- param ( [string] $VersionFolderPath )
-
- $xamarinLibPath = Join-Path $VersionFolderPath "lib"
- $xamarinLibPath | Should -Exist
- }
-
- It "is available via short link" -TestCases $testCase {
- param (
- [string] $XamarinAndroidVersion,
- [string] $AndroidVersionsPath,
- [string] $VersionFolderPath
- )
-
- $shortSymlink = Get-ShortSymlink $XamarinAndroidVersion # only 'major.minor'
- $shortSymlinkFolderPath = Join-Path $AndroidVersionsPath $shortSymlink
- $shortVersionPath = Join-Path $shortSymlinkFolderPath "VERSION"
- $fullVersionPath = Join-Path $VersionFolderPath "VERSION"
-
- Confirm-IdenticalFileContent -File1 $shortVersionPath -File2 $fullVersionPath
- }
-
- It "has correct symlinks" -TestCases $testCase {
- param ( [string] $VersionFolderPath )
-
- $xamarinLibPath = Join-Path $VersionFolderPath "lib"
- Join-Path $xamarinLibPath "xbuild" | Should -Exist
- Join-Path $xamarinLibPath "xbuild-frameworks" | Should -Exist
- }
- }
- }
-}
-
-Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- BeforeAll {
- $MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
- $XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
- $XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions"
- $XAMARIN_ANDROID_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions"
- }
-
- If ($XAMARIN_BUNDLES.Count -eq 0) { return } # Skip this test if there are no bundles
-
- [array]$XAMARIN_BUNDLES = (Get-ToolsetContent).xamarin.bundles
- $XAMARIN_DEFAULT_BUNDLE = (Get-ToolsetContent).xamarin.bundle_default
- If ($XAMARIN_DEFAULT_BUNDLE -eq "latest") { $XAMARIN_DEFAULT_BUNDLE = $XAMARIN_BUNDLES[0].symlink }
-
- $currentBundle = [PSCustomObject] @{
- symlink = "Current"
- mono = $XAMARIN_DEFAULT_BUNDLE
- ios = $XAMARIN_DEFAULT_BUNDLE
- mac = $XAMARIN_DEFAULT_BUNDLE
- android = $XAMARIN_DEFAULT_BUNDLE
- }
-
- $latestBundle = [PSCustomObject] @{
- symlink = "Latest"
- mono = $XAMARIN_BUNDLES[0].mono
- ios = $XAMARIN_BUNDLES[0].ios
- mac = $XAMARIN_BUNDLES[0].mac
- android = $XAMARIN_BUNDLES[0].android
- }
-
- $bundles = $XAMARIN_BUNDLES + $currentBundle + $latestBundle
- $allBundles = $bundles | ForEach-Object { @{BundleSymlink = $_.symlink; BundleMono = $_.mono; BundleIos = $_.ios; BundleMac = $_.mac; BundleAndroid = $_.android } }
-
- It "Mono symlink exists" -TestCases $allBundles {
- param ( [string] $BundleSymlink )
-
- (Join-Path $MONO_VERSIONS_PATH $BundleSymlink) | Should -Exist
- }
-
- It "Mono symlink points to the correct version" -TestCases $allBundles {
- param (
- [string] $BundleSymlink,
- [string] $BundleMono
- )
-
- if ($BundleMono -eq "4.8") { return } # Skip this test for Mono 4.8 because it doesn't contain VERSION file
- $sourceVersionPath = Join-Path $MONO_VERSIONS_PATH $BundleMono "VERSION"
- $targetVersionPath = Join-Path $MONO_VERSIONS_PATH $BundleSymlink "VERSION"
-
- Confirm-IdenticalFileContent -File1 $targetVersionPath -File2 $sourceVersionPath
- }
-
- It "iOS symlink exists" -TestCases $allBundles {
- param ( [string] $BundleSymlink )
-
- (Join-Path $XAMARIN_IOS_VERSIONS_PATH $BundleSymlink) | Should -Exist
- }
-
- It "iOS symlink points to the correct version" -TestCases $allBundles {
- param (
- [string] $BundleSymlink,
- [string] $BundleIos
- )
-
- $sourceVersionPath = Join-Path $XAMARIN_IOS_VERSIONS_PATH $BundleIos "VERSION"
- $targetVersionPath = Join-Path $XAMARIN_IOS_VERSIONS_PATH $BundleSymlink "VERSION"
-
- Confirm-IdenticalFileContent -File1 $targetVersionPath -File2 $sourceVersionPath
- }
-
- It "Mac symlink exists" -TestCases $allBundles {
- param ( [string] $BundleSymlink )
-
- (Join-Path $XAMARIN_MAC_VERSIONS_PATH $BundleSymlink) | Should -Exist
- }
-
- It "Mac symlink points to the correct version" -TestCases $allBundles {
- param (
- [string] $BundleSymlink,
- [string] $BundleMac
- )
-
- $sourceVersionPath = Join-Path $XAMARIN_MAC_VERSIONS_PATH $BundleMac "VERSION"
- $targetVersionPath = Join-Path $XAMARIN_MAC_VERSIONS_PATH $BundleSymlink "VERSION"
-
- Confirm-IdenticalFileContent -File1 $targetVersionPath -File2 $sourceVersionPath
- }
-
- It "Xamarin.Android symlink exists" -TestCases $allBundles {
- param ( [string] $BundleSymlink )
-
- (Join-Path $XAMARIN_ANDROID_VERSIONS_PATH $BundleSymlink) | Should -Exist
- }
-
- It "Android symlink points to the correct version" -TestCases $allBundles {
- param (
- [string] $BundleSymlink,
- [string] $BundleAndroid
- )
-
- $sourceVersionPath = Join-Path $XAMARIN_ANDROID_VERSIONS_PATH $BundleAndroid "VERSION"
- $targetVersionPath = Join-Path $XAMARIN_ANDROID_VERSIONS_PATH $BundleSymlink "VERSION"
-
- Confirm-IdenticalFileContent -File1 $targetVersionPath -File2 $sourceVersionPath
- }
-}
-
-Describe "Nuget" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
- It "Nuget config contains nuget.org feed" {
- Get-Content $env:HOME/.config/NuGet/NuGet.Config | Out-String | Should -Match "nuget.org"
- }
-}
diff --git a/images/macos/scripts/tests/Xcode.Tests.ps1 b/images/macos/scripts/tests/Xcode.Tests.ps1
index 4489b9ab3..f56fe806d 100644
--- a/images/macos/scripts/tests/Xcode.Tests.ps1
+++ b/images/macos/scripts/tests/Xcode.Tests.ps1
@@ -122,20 +122,3 @@ Describe "Xcode simulators" {
Switch-Xcode -Version $defaultXcode
}
}
-
-Describe "Xcode Simulators Naming" -Skip:(-not $os.IsMonterey) {
- $testCases = Get-BrokenXcodeSimulatorsList
- It "Simulator ' []'" -TestCases $testCases {
- $simctlPath = Get-XcodeToolPath -Version $XcodeVersion -ToolName "simctl"
- [string]$rawDevicesInfo = Invoke-Expression "$simctlPath list devices --json"
- $jsonDevicesInfo = ($rawDevicesInfo | ConvertFrom-Json).devices
-
- $foundSimulators = $jsonDevicesInfo.$RuntimeId | Where-Object { $_.deviceTypeIdentifier -eq $DeviceId }
- $foundSimulators | Should -HaveCount 1
- $foundSimulators[0].name | Should -Be $SimulatorName
-
- $foundSimulators = $jsonDevicesInfo.$RuntimeId | Where-Object { $_.name -eq $SimulatorName }
- $foundSimulators | Should -HaveCount 1
- $foundSimulators[0].deviceTypeIdentifier | Should -Be $DeviceId
- }
-}
diff --git a/images/macos/templates/macOS-12.anka.pkr.hcl b/images/macos/templates/macOS-12.anka.pkr.hcl
deleted file mode 100644
index 398623bbd..000000000
--- a/images/macos/templates/macOS-12.anka.pkr.hcl
+++ /dev/null
@@ -1,315 +0,0 @@
-packer {
- required_plugins {
- veertu-anka = {
- version = ">= v3.2.0"
- source = "github.com/veertuinc/veertu-anka"
- }
- }
-}
-
-locals {
- image_folder = "/Users/${var.vm_username}/image-generation"
-}
-
-variable "builder_type" {
- 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" {
- type = string
-}
-
-variable "vm_username" {
- type = string
- sensitive = true
-}
-
-variable "vm_password" {
- type = string
- sensitive = true
-}
-
-variable "github_api_pat" {
- type = string
- sensitive = true
- default = ""
-}
-
-variable "xcode_install_storage_url" {
- type = string
- sensitive = true
-}
-
-variable "xcode_install_sas" {
- type = string
- sensitive = true
-}
-
-variable "vcpu_count" {
- type = string
- default = "6"
-}
-
-variable "ram_size" {
- type = string
- default = "24G"
-}
-
-variable "image_os" {
- type = string
- default = "macos12"
-}
-
-source "veertu-anka-vm-clone" "template" {
- vm_name = "${var.build_id}"
- source_vm_name = "${var.source_vm_name}"
- source_vm_tag = "${var.source_vm_tag}"
- vcpu_count = "${var.vcpu_count}"
- ram_size = "${var.ram_size}"
- stop_vm = "true"
-}
-
-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 {
- sources = ["source.${var.builder_type}.template"]
-
- provisioner "shell" {
- inline = ["mkdir ${local.image_folder}"]
- }
-
- provisioner "file" {
- destination = "${local.image_folder}/"
- sources = [
- "${path.root}/../assets/xamarin-selector",
- "${path.root}/../scripts/tests",
- "${path.root}/../scripts/docs-gen",
- "${path.root}/../scripts/helpers"
- ]
- }
-
- provisioner "file" {
- destination = "${local.image_folder}/docs-gen/"
- source = "${path.root}/../../../helpers/software-report-base"
- }
-
- provisioner "file" {
- destination = "${local.image_folder}/add-certificate.swift"
- source = "${path.root}/../assets/add-certificate.swift"
- }
-
- provisioner "file" {
- destination = ".bashrc"
- source = "${path.root}/../assets/bashrc"
- }
-
- provisioner "file" {
- destination = ".bash_profile"
- source = "${path.root}/../assets/bashprofile"
- }
-
- provisioner "shell" {
- inline = [ "mkdir ~/bootstrap" ]
- }
-
- provisioner "file" {
- destination = "bootstrap"
- source = "${path.root}/../assets/bootstrap-provisioner/"
- }
-
- provisioner "file" {
- destination = "${local.image_folder}/toolset.json"
- source = "${path.root}/../toolsets/toolset-12.json"
- }
- provisioner "shell" {
- execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
- inline = [
- "mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
- "mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
- "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/utils.sh ~/utils",
- "mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
- ]
- }
- provisioner "shell" {
- execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
- scripts = [
- "${path.root}/../scripts/build/install-xcode-clt.sh",
- "${path.root}/../scripts/build/install-homebrew.sh"
- ]
- }
-
- provisioner "shell" {
- environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
- execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
- 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-auto-updates.sh",
- "${path.root}/../scripts/build/configure-screensaver.sh",
- "${path.root}/../scripts/build/configure-ntpconf.sh",
- "${path.root}/../scripts/build/configure-max-files-limitation.sh",
- "${path.root}/../scripts/build/configure-shell.sh"
- ]
- }
-
- provisioner "shell" {
- 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 }}"
- scripts = [
- "${path.root}/../scripts/build/configure-preimagedata.sh",
- "${path.root}/../scripts/build/configure-ssh.sh",
- "${path.root}/../scripts/build/configure-machine.sh"
- ]
- }
-
- provisioner "shell" {
- execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
- expect_disconnect = true
- inline = ["echo 'Reboot VM'", "shutdown -r now"]
- }
-
- provisioner "shell" {
- 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 }}"
- pause_before = "30s"
- scripts = [
- "${path.root}/../scripts/build/configure-windows.sh",
- "${path.root}/../scripts/build/install-powershell.sh",
- "${path.root}/../scripts/build/install-dotnet.sh",
- "${path.root}/../scripts/build/install-python.sh",
- "${path.root}/../scripts/build/install-azcopy.sh",
- "${path.root}/../scripts/build/install-openssl.sh",
- "${path.root}/../scripts/build/install-ruby.sh",
- "${path.root}/../scripts/build/install-rubygems.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-common-utils.sh"
- ]
- }
-
- 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}"]
- execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
- script = "${path.root}/../scripts/build/Install-Xcode.ps1"
- }
-
- provisioner "shell" {
- execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
- expect_disconnect = true
- inline = ["echo 'Reboot VM'", "shutdown -r now"]
- }
-
- provisioner "shell" {
- environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
- execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
- scripts = [
- "${path.root}/../scripts/build/install-actions-cache.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-php.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-haskell.sh",
- "${path.root}/../scripts/build/install-cocoapods.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-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-codeql-bundle.sh",
- "${path.root}/../scripts/build/install-compilable-brew-packages.sh"
- ]
- }
-
- provisioner "shell" {
- environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
- execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
- scripts = [
- "${path.root}/../scripts/build/Install-Toolset.ps1",
- "${path.root}/../scripts/build/Configure-Toolset.ps1"
- ]
- }
-
- provisioner "shell" {
- execute_command = "source $HOME/.bash_profile; ruby {{ .Path }}"
- script = "${path.root}/../scripts/build/configure-xcode-simulators.rb"
- }
-
- provisioner "shell" {
- execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
- script = "${path.root}/../scripts/build/Update-XcodeSimulators.ps1"
- }
-
- provisioner "shell" {
- environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
- execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
- 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}/tests/RunAll-Tests.ps1\""
- ]
- }
-
- provisioner "file" {
- destination = "${path.root}/../../image-output/"
- direction = "download"
- source = "${local.image_folder}/output/"
- }
-
- provisioner "shell" {
- execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
- scripts = [
- "${path.root}/../scripts/build/configure-hostname.sh",
- "${path.root}/../scripts/build/configure-system.sh"
- ]
- }
-}
diff --git a/images/macos/templates/macOS-13.anka.pkr.hcl b/images/macos/templates/macOS-13.anka.pkr.hcl
index 25789a533..f764115fd 100644
--- a/images/macos/templates/macOS-13.anka.pkr.hcl
+++ b/images/macos/templates/macOS-13.anka.pkr.hcl
@@ -111,7 +111,6 @@ build {
provisioner "file" {
destination = "${local.image_folder}/"
sources = [
- "${path.root}/../assets/xamarin-selector",
"${path.root}/../scripts/tests",
"${path.root}/../scripts/docs-gen",
"${path.root}/../scripts/helpers"
@@ -156,12 +155,10 @@ build {
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
inline = [
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
- "mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
"mkdir ~/utils",
"mv ${local.image_folder}/helpers/confirm-identified-developers-macos13.scpt ~/utils",
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils",
- "mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
]
}
diff --git a/images/macos/templates/macOS-13.arm64.anka.pkr.hcl b/images/macos/templates/macOS-13.arm64.anka.pkr.hcl
index 7e03aa8fe..e4f4e38cd 100644
--- a/images/macos/templates/macOS-13.arm64.anka.pkr.hcl
+++ b/images/macos/templates/macOS-13.arm64.anka.pkr.hcl
@@ -112,7 +112,6 @@ build {
provisioner "file" {
destination = "${local.image_folder}/"
sources = [
- "${path.root}/../assets/xamarin-selector",
"${path.root}/../scripts/tests",
"${path.root}/../scripts/docs-gen",
"${path.root}/../scripts/helpers"
@@ -157,12 +156,9 @@ build {
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
inline = [
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
- "mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
"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/utils.sh ~/utils",
- "mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
]
}
diff --git a/images/macos/templates/macOS-14.anka.pkr.hcl b/images/macos/templates/macOS-14.anka.pkr.hcl
index a29cd926b..04ad479d3 100644
--- a/images/macos/templates/macOS-14.anka.pkr.hcl
+++ b/images/macos/templates/macOS-14.anka.pkr.hcl
@@ -111,7 +111,6 @@ build {
provisioner "file" {
destination = "${local.image_folder}/"
sources = [
- "${path.root}/../assets/xamarin-selector",
"${path.root}/../scripts/tests",
"${path.root}/../scripts/docs-gen",
"${path.root}/../scripts/helpers"
@@ -156,12 +155,10 @@ build {
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
inline = [
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
- "mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
"mkdir ~/utils",
"mv ${local.image_folder}/helpers/confirm-identified-developers-macos14.scpt ~/utils",
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils",
- "mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
]
}
diff --git a/images/macos/templates/macOS-14.arm64.anka.pkr.hcl b/images/macos/templates/macOS-14.arm64.anka.pkr.hcl
index be90e1015..e61c239f0 100644
--- a/images/macos/templates/macOS-14.arm64.anka.pkr.hcl
+++ b/images/macos/templates/macOS-14.arm64.anka.pkr.hcl
@@ -112,7 +112,6 @@ build {
provisioner "file" {
destination = "${local.image_folder}/"
sources = [
- "${path.root}/../assets/xamarin-selector",
"${path.root}/../scripts/tests",
"${path.root}/../scripts/docs-gen",
"${path.root}/../scripts/helpers"
@@ -157,12 +156,9 @@ build {
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
inline = [
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
- "mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
"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/utils.sh ~/utils",
- "mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
]
}
diff --git a/images/macos/toolsets/Readme.md b/images/macos/toolsets/Readme.md
index 7eb63cabc..3714d9178 100644
--- a/images/macos/toolsets/Readme.md
+++ b/images/macos/toolsets/Readme.md
@@ -6,19 +6,19 @@
- `link` property points to the place where Xcode will be located on image. `/Applications/Xcode_.app`
- `version` points to Xcode version that will be downloaded and installed
- `symlinks` describes the list of aliases where symlinks will be created to
- - `install_runtimes` is boolean function to control over the related simulator runtimes
+ - `install_runtimes` is an array or boolean function to control over the related simulator runtimes, set of possible values: [ `iOS`, `watchOS`, `visionOS`, `tvOS` ], use `true` if you want to install all runtimes, use `false` if you want to skip runtimes installation
- `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)
**Example:** `"11.2"`
**Note:**
-- If `version` is specified with spaces, it is considered as exact Xcode name like `12.1.1 Release Candidate`.
-- If `version` doesn't contain spaces, the latest version will be resolved with the following priority:
- - stable version like `12.1`
- - release candidate version like `12.1 Release Candidate N` (the latest N will be chosen)
- - GM version like `12.1 GM Seed N` (the latest N will be chosen)
- - beta version like `12.1 beta N` (the latest N will be chosen)
+- `version` is specified with `+` or `-`, exact Xcode name should be like `16.2.0-Beta.3+16C5023f` or `16.2_Release_Candidate+16C5031c` and will be matching `.xip` file name.
+- `link` is specified with `_` and doesn't contain spaces, example: `16.2_Release_Candidate` or `16.1`; pattern description:
+ - DOWNLOAD_URL="https://download.developer.apple.com/Developer_Tools/$SOURCE_FILE_LOCATION/$SOURCE_FILE_NAME.$FILE_EXTENSION"
+ - SOURCE_FILE_NAME: "Xcode_$link"
+ - SOURCE_FILE_LOCATION: "Xcode_$link"
+ - FILE_EXTENSION: xip
**Example:**
@@ -29,62 +29,6 @@
]
```
-## Xamarin
-
-- `vsmac` - version of Visual Studio For Mac to install.
- **Example:** `"8.3.11.1"`
-
-- `mono_versions` - the array of Mono versions to install.
- **Example:** `[ "6.4.0.208", "6.0.0.334" ]`
-
-- `ios_versions` - the array of Xamarin iOS versions to install.
- **Example:** `[ "13.6.0.12", "13.4.0.2", "13.2.0.47" ]`
-
-- `mac_versions` - the array of Xamarin iOS versions to install.
- **Example:** `[ "6.6.0.12", "6.4.0.2", "6.2.0.47" ]`
-
-- `android_versions` - the array of Xamarin iOS versions to install.
- **Example:** `[ "10.0.6.2", "9.4.1.0" ]`
-
-**Note:** More than one version of SDK with the same major.minor version should not be installed. It applies to `mono_versions`, `ios_versions`, `mac_versions`, `android_versions` fields.
-For example, if Mono `6.4.0.100` is installed and Mono `6.4.1.2` was released recently, we should not install both, just update `6.4.0.100` -> `6.4.1.2`. Only major and minor version changes can break backward compatibility so it is safe.
-
-- `bundle_default` - the symlink of the bundle that will be set as default on the image.
-This bundle will be set as `Current`.
- **Example:** `"5_12_0"` (set bundle with symlink `5_12_0` as default)
- **Example:** `"latest"` (set latest bundle as default)
-
-- `bundles` - the array of objects that describe bundles that will be created on image after sdk installation.
-The first bundle in the list will be as `Latest`.
-
- Each object should contain the following fields:
- - `symlink` - unique id of the bundle (usually looks like "__")
- - `mono` - version of Mono that will be set in this bundle. Only two numbers (`major.minor`) should be specified.
- - `ios` - version of Xamarin.iOS that will be set in this bundle. Only two numbers (`major.minor`) should be specified.
- - `mac` - version of Xamarin.Mac that will be set in this bundle. Only two numbers (`major.minor`) should be specified.
- - `android` - version of Xamarin.Android that will be set in this bundle. Only two numbers (`major.minor`) should be specified.
-
-**Example:**
-
-```json
- [
- {
- "symlink": "6_4_2",
- "mono": "6.4",
- "ios": "13.6",
- "mac": "6.6",
- "android": "10.0"
- },
- {
- "symlink": "6_4_1",
- "mono": "6.4",
- "ios": "13.4",
- "mac": "6.4",
- "android": "10.0"
- }
- ]
-```
-
## Android
- `platform-list` - the array of android platforms to install.
@@ -96,7 +40,7 @@ The first bundle in the list will be as `Latest`.
- `extras` - the array of android extra items to install.
**Example:** `[ "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager" ]`
-- `addons` - the array of android addons to install.
+- `addons` - the array of android add-ons to install.
**Example:** `[ "addon-google_apis-google-24", "addon-google_apis-google-23" ]`
## Toolset JSON validation
diff --git a/images/macos/toolsets/toolset-12.json b/images/macos/toolsets/toolset-12.json
deleted file mode 100644
index e63383d7a..000000000
--- a/images/macos/toolsets/toolset-12.json
+++ /dev/null
@@ -1,368 +0,0 @@
-{
- "xcode": {
- "default": "14.2",
- "x64": {
- "versions": [
- { "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.0.1", "version": "14.0.1+14A400", "symlinks": ["14.0"], "install_runtimes": "true", "sha256": "EDB4DDCE02F92338E3D10B011FC86CD26520E3238585F06F3C182880DDD3B2AF" },
- { "link": "13.4.1", "version": "13.4.1+13F100", "symlinks": ["13.4"], "sha256": "A1E0DBD6D5A96C4A6D3D63600B58486759AA836C2D9F7E8FA6D7DA4C7399638B" },
- { "link": "13.3.1", "version": "13.3.1+13E500a", "symlinks": ["13.3"], "sha256": "D10B4644DB84BA43F7B18CE94FB3CA1ACD255D39781F4AF8FC88BD8581E08F97" },
- { "link": "13.2.1", "version": "13.2.1+13C100", "symlinks": ["13.2"], "sha256": "D3BFCC6225D531587490C0DFC0926C80B7D50D17671DC8F25868F965F5D65F9D" },
- { "link": "13.1", "version": "13.1.0+13A1030d", "sha256": "4EFDEEA0EEEDA1957BB394128CCCD1DAAC3CB0A3D074224E0FAB90855CCA09C4" }
- ]
- }
- },
- "xamarin": {
- "vsmac": {
- "default": "2022",
- "versions": [ "2019", "2022" ]
- },
- "mono_versions": [
- "6.12.0.188"
- ],
- "ios_versions": [
- "16.4.0.23", "16.2.0.5", "16.1.1.27", "16.0.0.72", "15.12.0.2", "15.10.0.5", "15.8.0.3", "15.6.0.3", "15.4.0.0", "15.2.0.17", "15.0.0.6"
- ],
- "mac_versions": [
- "9.3.0.23", "9.1.0.5", "9.0.0.27", "8.12.0.2", "8.10.0.5", "8.8.0.3", "8.6.0.3", "8.4.0.0", "8.2.0.17", "7.14.0.27"
- ],
- "android_versions": [
- "13.2.2.0", "13.1.0.1", "13.0.0.0", "12.3.3.3", "12.2.8.3", "12.1.0.2", "12.0.0.3", "11.3.0.4"
- ],
- "bundle_default": "6_12_21",
- "bundles": [
- {
- "symlink": "6_12_25",
- "mono":"6.12",
- "ios": "16.4",
- "mac": "9.3",
- "android": "13.2"
- },
- {
- "symlink": "6_12_24",
- "mono":"6.12",
- "ios": "16.2",
- "mac": "9.1",
- "android": "13.2"
- },
- {
- "symlink": "6_12_23",
- "mono":"6.12",
- "ios": "16.2",
- "mac": "9.1",
- "android": "13.1"
- },
- {
- "symlink": "6_12_22",
- "mono":"6.12",
- "ios": "16.1",
- "mac": "9.0",
- "android": "13.1"
- },
- {
- "symlink": "6_12_21",
- "mono":"6.12",
- "ios": "16.0",
- "mac": "8.12",
- "android": "13.1"
- },
- {
- "symlink": "6_12_20",
- "mono":"6.12",
- "ios": "16.0",
- "mac": "8.12",
- "android": "13.0"
- },
- {
- "symlink": "6_12_19",
- "mono":"6.12",
- "ios": "15.12",
- "mac": "8.12",
- "android": "13.0"
- },
- {
- "symlink": "6_12_18",
- "mono":"6.12",
- "ios": "15.10",
- "mac": "8.10",
- "android": "12.3"
- },
- {
- "symlink": "6_12_17",
- "mono":"6.12",
- "ios": "15.10",
- "mac": "8.10",
- "android": "12.2"
- },
- {
- "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"
- }
- ]
- },
- "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.18.1",
- "cmake;3.22.1"
- ],
- "ndk": {
- "default": "25",
- "versions": [
- "24", "25", "26", "27"
- ]
- }
- },
- "powershellModules": [
- { "name": "Az" },
- { "name": "MarkdownPS" },
- { "name": "Pester" },
- { "name": "PSScriptAnalyzer" }
- ],
- "npm": {
- "global_packages": [
- { "name": "appcenter-cli", "test": "appcenter --version" }
- ]
- },
- "brew": {
- "common_packages": [
- "aria2",
- "azure-cli",
- "bazelisk",
- "carthage",
- "cmake",
- "colima",
- "gh",
- "gnupg",
- "gnu-tar",
- "libpq",
- "p7zip",
- "packer",
- "perl",
- "pkg-config",
- "subversion",
- "swiftformat",
- "swig",
- "zstd",
- "gmp",
- "zlib",
- "libxext",
- "libxft",
- "tcl-tk",
- "r",
- "yq",
- "imagemagick",
- "unxip",
- "xcbeautify",
- "xcodes"
- ],
- "cask_packages": [
- "julia",
- "vagrant",
- "virtualbox",
- "parallels"
- ],
- "compilable_packages": [
- "ant",
- "kotlin",
- "sbt"
- ]
- },
- "gcc": {
- "versions": [
- "12",
- "13",
- "14"
- ]
- },
- "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.*",
- "1.22.*",
- "1.23.*"
- ]
- }
- }
- },
- {
- "name": "Ruby",
- "arch": {
- "x64": {
- "versions": [
- "3.0.*",
- "3.1.*",
- "3.2.*",
- "3.3.*"
- ]
- }
- }
- }
- ],
- "pipx": [
- {
- "package": "yamllint",
- "cmd": "yamllint --version"
- }
- ],
- "dotnet": {
- "arch":{
- "x64": {
- "versions": [
- "6.0",
- "7.0",
- "8.0"
- ]
- }
- }
- },
- "ruby": {
- "default": "3.0",
- "rubygems": [
- "xcode-install",
- "cocoapods",
- "xcpretty",
- "bundler",
- "fastlane",
- "jazzy"
- ]
- },
- "go": {
- "default": "1.21"
- },
- "node": {
- "default": "18",
- "nvm_installer": "0.39.7",
- "nvm_versions": [
- "16",
- "18",
- "20"
- ]
- },
- "llvm": {
- "version": "15"
- },
- "php": {
- "version": "8.3"
- },
- "mongodb": {
- "version": "5.0"
- },
- "postgresql": {
- "version": "14"
- },
- "pwsh": {
- "version": "7.4"
- }
-}
diff --git a/images/macos/toolsets/toolset-14.json b/images/macos/toolsets/toolset-14.json
index 262e33d8d..ecda55bc7 100644
--- a/images/macos/toolsets/toolset-14.json
+++ b/images/macos/toolsets/toolset-14.json
@@ -4,7 +4,7 @@
"x64": {
"versions": [
{ "link": "16.2", "version": "16.2+16C5032a", "install_runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de"},
- { "link": "16.1", "version": "16.1+16B40", "runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
+ { "link": "16.1", "version": "16.1+16B40", "install_runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
{ "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.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
@@ -15,7 +15,7 @@
"arm64":{
"versions": [
{ "link": "16.2", "version": "16.2+16C5032a", "install_runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de"},
- { "link": "16.1", "version": "16.1+16B40", "runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
+ { "link": "16.1", "version": "16.1+16B40", "install_runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
{ "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.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
diff --git a/images/ubuntu/Ubuntu2004-Readme.md b/images/ubuntu/Ubuntu2004-Readme.md
index 97caeb2d1..4f13e934e 100644
--- a/images/ubuntu/Ubuntu2004-Readme.md
+++ b/images/ubuntu/Ubuntu2004-Readme.md
@@ -1,13 +1,7 @@
-| Announcements |
-|-|
-| [[Windows & Ubuntu] Breaking change : Maven 3.8.* version will be updated to Maven 3.9.* from January 17,2025](https://github.com/actions/runner-images/issues/11093) |
-| [[Ubuntu] Breaking Change: runner user will have UID 1001 instead of 1000 for larger runners](https://github.com/actions/runner-images/issues/10936) |
-| [Ubuntu-latest workflows will use Ubuntu-24.04 image](https://github.com/actions/runner-images/issues/10636) |
-***
# Ubuntu 20.04
- OS Version: 20.04.6 LTS
-- Kernel Version: 5.15.0-1074-azure
-- Image Version: 20250105.1.0
+- Kernel Version: 5.15.0-1078-azure
+- Image Version: 20250126.1.0
- Systemd version: 245.4-4ubuntu3.24
## Installed Software
@@ -22,11 +16,11 @@
- Erlang rebar3 3.24.0
- GNU C++: 10.5.0
- GNU Fortran: 10.5.0
-- Julia 1.11.2
+- Julia 1.11.3
- Kotlin 2.1.0-release-394
- Mono 6.12.0.200
- MSBuild 16.10.1.31701 (Mono 6.12.0.200)
-- Node.js 18.20.5
+- Node.js 18.20.6
- Perl 5.30.0
- Python 3.8.10
- Ruby 2.7.0p0
@@ -34,8 +28,8 @@
### Package Management
- cpan 1.64
-- Helm 3.16.4
-- Homebrew 4.4.14
+- Helm 3.17.0
+- Homebrew 4.4.17
- Miniconda 24.11.1
- Npm 10.8.2
- NuGet 6.6.1.2
@@ -43,7 +37,7 @@
- Pip3 20.0.2
- Pipx 1.7.1
- RubyGems 3.1.2
-- Vcpkg (build from commit 65be70199)
+- Vcpkg (build from commit 57c08a322)
- Yarn 1.22.22
#### Environment variables
@@ -62,37 +56,37 @@ to accomplish this.
### Project Management
- Ant 1.10.7
-- Gradle 8.12
+- Gradle 8.12.1
- Lerna 8.1.9
-- Maven 3.8.8
+- Maven 3.9.9
- Sbt 1.10.7
### Tools
- Ansible 2.13.13
- apt-fast 1.10.0
- AzCopy 10.27.1 - available by `azcopy` and `azcopy10` aliases
-- Bazel 8.0.0
+- Bazel 8.0.1
- Bazelisk 1.25.0
-- Bicep 0.32.4
+- Bicep 0.33.13
- Buildah 1.22.3
-- CMake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- CMake 3.31.5
+- CodeQL Action Bundle 2.20.1
- Docker Amazon ECR Credential Helper 0.9.0
- Docker Compose v2 2.27.1
-- Docker-Buildx 0.19.3
+- Docker-Buildx 0.20.1
- Docker Client 26.1.3
- Docker Server 26.1.3
- Fastlane 2.226.0
-- Git 2.47.1
-- Git LFS 3.6.0
+- Git 2.48.1
+- Git LFS 3.6.1
- Git-ftp 1.6.0
- Haveged 1.9.1
-- Heroku 10.0.0
+- Heroku 10.0.2
- HHVM (HipHop VM) 4.172.1
- jq 1.6
- Kind 0.26.0
-- Kubectl 1.32.0
-- Kustomize 5.5.0
+- Kubectl 1.32.1
+- Kustomize 5.6.0
- Leiningen 2.11.2
- MediaInfo 19.09
- Mercurial 5.3.1
@@ -101,45 +95,45 @@ to accomplish this.
- Newman 6.2.1
- nvm 0.40.1
- OpenSSL 1.1.1f-1ubuntu2.23
-- Packer 1.11.2
+- Packer 1.12.0
- Parcel 2.13.3
- PhantomJS 2.1.1 2.1.1
- Podman 3.4.2
-- Pulumi 3.144.1
+- Pulumi 3.147.0
- R 4.4.2
- Skopeo 1.5.0
- Sphinx Open Source Search Server 2.2.11
- SVN 1.13.0
-- Terraform 1.10.3
+- Terraform 1.10.5
- yamllint 1.35.1
-- yq 4.44.6
+- yq 4.45.1
- zstd 1.5.6
### CLI Tools
- Alibaba Cloud CLI 3.0.174
-- AWS CLI 2.22.28
+- AWS CLI 2.23.6
- AWS CLI Session Manager Plugin 1.2.694.0
- AWS SAM CLI 1.132.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure CLI (azure-devops) 1.0.1
-- GitHub CLI 2.64.0
-- Google Cloud CLI 504.0.1
-- Netlify CLI 17.38.1
+- GitHub CLI 2.65.0
+- Google Cloud CLI 507.0.0
+- Netlify CLI 18.0.2
- OpenShift CLI 4.15.19
- ORAS CLI 1.2.2
-- Vercel CLI 39.2.5
+- Vercel CLI 39.3.0
### Java
| Version | Environment Variable |
| ------------------- | -------------------- |
-| 8.0.432+6 | JAVA_HOME_8_X64 |
-| 11.0.25+9 (default) | JAVA_HOME_11_X64 |
-| 17.0.13+11 | JAVA_HOME_17_X64 |
-| 21.0.5+11 | JAVA_HOME_21_X64 |
+| 8.0.442+6 | JAVA_HOME_8_X64 |
+| 11.0.26+4 (default) | JAVA_HOME_11_X64 |
+| 17.0.14+7 | JAVA_HOME_17_X64 |
+| 21.0.6+7 | JAVA_HOME_21_X64 |
### PHP Tools
-- PHP: 7.4.33, 8.0.30, 8.1.31, 8.2.27, 8.3.15
-- Composer 2.8.4
+- PHP: 7.4.33, 8.0.30, 8.1.31, 8.2.27, 8.3.16
+- Composer 2.8.5
- PHPUnit 8.5.41
```
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
@@ -152,27 +146,27 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
- Stack 3.3.1
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
- Bindgen 0.71.1
-- Cargo audit 0.21.0
-- Cargo clippy 0.1.83
+- Cargo audit 0.21.1
+- Cargo clippy 0.1.84
- Cargo outdated 0.16.0
-- Cbindgen 0.27.0
+- Cbindgen 0.28.0
- Rustfmt 1.8.0
### Browsers and Drivers
-- Google Chrome 131.0.6778.204
-- ChromeDriver 131.0.6778.204
-- Chromium 131.0.6778.0
-- Microsoft Edge 131.0.2903.112
-- Microsoft Edge WebDriver 131.0.2903.112
-- Selenium server 4.27.0
-- Mozilla Firefox 133.0.3
+- Google Chrome 132.0.6834.110
+- ChromeDriver 132.0.6834.110
+- Chromium 132.0.6834.0
+- Microsoft Edge 132.0.2957.127
+- Microsoft Edge WebDriver 132.0.2957.127
+- Selenium server 4.28.1
+- Mozilla Firefox 134.0.2
- Geckodriver 0.35.0
#### Environment variables
@@ -184,8 +178,8 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
### .NET Tools
-- .NET Core SDK: 6.0.428, 7.0.410, 8.0.404
-- nbgv 3.7.112+63bbe780b0
+- .NET Core SDK: 6.0.428, 8.0.405, 9.0.102
+- nbgv 3.7.115+d31f50f4d1
### Databases
- MongoDB 5.0.30
@@ -216,13 +210,13 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### Go
- 1.21.13
-- 1.22.10
-- 1.23.4
+- 1.22.11
+- 1.23.5
#### Node.js
-- 18.20.5
-- 20.18.1
-- 22.12.0
+- 18.20.6
+- 20.18.2
+- 22.13.1
#### Python
- 3.8.18
@@ -230,6 +224,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
- 3.10.16
- 3.11.11
- 3.12.8
+- 3.13.1
#### PyPy
- 2.7.18 [PyPy 7.3.17]
@@ -243,15 +238,16 @@ Use the following command as a part of your job to start the service: 'sudo syst
- 3.0.7
- 3.1.6
- 3.2.6
+- 3.3.7
### PowerShell Tools
-- PowerShell 7.4.6
+- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.1.0
- MarkdownPS: 1.10
- Microsoft.Graph: 2.25.0
-- Pester: 5.6.1
+- Pester: 5.7.1
- PSScriptAnalyzer: 1.23.0
### Web Servers
@@ -265,7 +261,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 9.0 |
-| Android SDK Build-tools | 35.0.0
34.0.0
33.0.0 33.0.1 33.0.2 33.0.3
32.0.0
31.0.0 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0
33.0.0 33.0.1 33.0.2 33.0.3
32.0.0
31.0.0 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3)
android-32 (rev 1)
android-31 (rev 1) |
| Android Support Repository | 47.0.0 |
| CMake | 3.10.2
3.18.1
3.22.1 |
@@ -288,18 +284,18 @@ Use the following command as a part of your job to start the service: 'sudo syst
| -------------------- | ------------------------------------------------------------------------ | ---------- |
| alpine:3.16 | sha256:452e7292acee0ee16c332324d7de05fa2c99f9994ecc9f0779c602916a672ae4 | 2024-01-27 |
| alpine:3.17 | sha256:8fc3dacfb6d69da8d44e42390de777e48577085db99aa4e4af35f483eb08b989 | 2024-09-06 |
-| alpine:3.18 | sha256:2995c82e8e723d9a5c8585cb8e901d1c50e3c2759031027d3bff577449435157 | 2024-09-06 |
-| alpine:3.19 | sha256:7a85bf5dc56c949be827f84f9185161265c58f589bb8b2a6b6bb6d3076c1be21 | 2024-09-06 |
+| alpine:3.18 | sha256:dd60c75fba961ecc5e918961c713f3c42dd5665171c58f9b2ef5aafe081ad5a0 | 2025-01-08 |
+| alpine:3.19 | sha256:6380aa6b04faa579332d4c9d1f65bd7093012ba6e01d9bbcd5e2d8a4f9fae38f | 2025-01-08 |
| debian:10 | sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d8009c20154ad0f2fb0a225 | 2024-06-13 |
-| debian:11 | sha256:21b74d95871e8676a0cf47df9caebb1021b2af60b9a6e4777ce92f92f98e3a90 | 2024-12-23 |
+| debian:11 | sha256:e5bfb7364038fd100c2faebdd674145bd1bc758a57f3c67023cced99d0eff0f7 | 2025-01-13 |
| debian:9 | sha256:c5c5200ff1e9c73ffbf188b4a67eb1c91531b644856b4aefe86a58d2f0cb05be | 2022-06-23 |
-| moby/buildkit:latest | sha256:86c0ad9d1137c186e9d455912167df20e530bdf7f7c19de802e892bb8ca16552 | 2024-12-16 |
-| node:18 | sha256:7f31a1eb14c61719b8bb0eaa029310cc33851f71d3578cc422b390f8096977c5 | 2024-11-15 |
-| node:18-alpine | sha256:6eb9c3d9bd191bd2cc6ce7ec3d5ec4c2127616140c8586af96a6bec8f28689d1 | 2024-12-05 |
-| node:20 | sha256:d17aaa2a2fd82e09bd6a6da7cc4a79741340d2a3e39d172d1b30f295b1a850ff | 2024-11-20 |
-| node:20-alpine | sha256:426f843809ae05f324883afceebaa2b9cab9cb697097dbb1a2a7a41c5701de72 | 2024-12-05 |
-| node:22 | sha256:0e910f435308c36ea60b4cfd7b80208044d77a074d16b768a81901ce938a62dc | 2024-12-03 |
-| node:22-alpine | sha256:6e80991f69cc7722c561e5d14d5e72ab47c0d6b6cfb3ae50fb9cf9a7b30fdf97 | 2024-12-05 |
+| moby/buildkit:latest | sha256:14aa1b4dd92ea0a4cd03a54d0c6079046ea98cd0c0ae6176bdd7036ba370cbbe | 2025-01-20 |
+| node:18 | sha256:720eeea325b3da50e108ba34dde0fd69feeb3c59485199c5e22b0ea49a792aa5 | 2025-01-22 |
+| node:18-alpine | sha256:974afb6cbc0314dc6502b14243b8a39fbb2d04d975e9059dd066be3e274fbb25 | 2025-01-22 |
+| node:20 | sha256:bc3d86568d9a9e062cdf7036367f6e2ce201925e2912758bcd3b0e2657875a63 | 2025-01-22 |
+| node:20-alpine | sha256:2cd2a6f4cb37cf8a007d5f1e9aef090ade6b62974c7a274098c390599e8c72b4 | 2025-01-22 |
+| node:22 | sha256:ae2f3d4cc65d251352eca01ba668824f651a2ee4d2a37e2efb22649521a483fd | 2025-01-22 |
+| node:22-alpine | sha256:e2b39f7b64281324929257d0f8004fb6cb4bf0fdfb9aa8cedb235a766aec31da | 2025-01-22 |
| ubuntu:20.04 | sha256:8e5c4f0285ecbb4ead070431d29b576a530d3166df73ec44affc1cd27555141b | 2024-10-11 |
### Installed apt packages
@@ -316,7 +312,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| coreutils | 8.30-3ubuntu2 |
| curl | 7.68.0-1ubuntu2.25 |
| dbus | 1.12.16-2ubuntu2.3 |
-| dnsutils | 1:9.18.28-0ubuntu0.20.04.1 |
+| dnsutils | 1:9.18.30-0ubuntu0.20.04.1 |
| dpkg | 1.19.7ubuntu3.2 |
| dpkg-dev | 1.19.7ubuntu3.2 |
| fakeroot | 1.24-1 |
@@ -370,7 +366,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| pollinate | 4.33-3ubuntu1.20.04.1 |
| python-is-python3 | 3.8.2-4 |
| rpm | 4.14.2.1+dfsg1-1build2 |
-| rsync | 3.1.3-8ubuntu0.7 |
+| rsync | 3.1.3-8ubuntu0.9 |
| shellcheck | 0.7.0-2build2 |
| sphinxsearch | 2.2.11-2ubuntu2 |
| sqlite3 | 3.31.1-4ubuntu0.6 |
@@ -394,4 +390,3 @@ Use the following command as a part of your job to start the service: 'sudo syst
| xz-utils | 5.2.4-1ubuntu1.1 |
| zip | 3.0-11build1 |
| zsync | 0.6.2-3ubuntu1 |
-
diff --git a/images/ubuntu/Ubuntu2204-Readme.md b/images/ubuntu/Ubuntu2204-Readme.md
index 842a636e8..38d468321 100644
--- a/images/ubuntu/Ubuntu2204-Readme.md
+++ b/images/ubuntu/Ubuntu2204-Readme.md
@@ -1,13 +1,7 @@
-| Announcements |
-|-|
-| [[Windows & Ubuntu] Breaking change : Maven 3.8.* version will be updated to Maven 3.9.* from January 10,2025](https://github.com/actions/runner-images/issues/11093) |
-| [[Ubuntu] Breaking Change: runner user will have UID 1001 instead of 1000 for larger runners](https://github.com/actions/runner-images/issues/10936) |
-| [Ubuntu-latest workflows will use Ubuntu-24.04 image](https://github.com/actions/runner-images/issues/10636) |
-***
# Ubuntu 22.04
- OS Version: 22.04.5 LTS
- Kernel Version: 6.5.0-1025-azure
-- Image Version: 20250105.1.0
+- Image Version: 20250126.1.0
- Systemd version: 249.11-0ubuntu3.12
## Installed Software
@@ -20,11 +14,11 @@
- Dash 0.5.11+git20210903+057cd650a4ed-3build1
- GNU C++: 10.5.0, 11.4.0, 12.3.0
- GNU Fortran: 10.5.0, 11.4.0, 12.3.0
-- Julia 1.11.2
+- Julia 1.11.3
- Kotlin 2.1.0-release-394
- Mono 6.12.0.200
- MSBuild 16.10.1.31701 (Mono 6.12.0.200)
-- Node.js 18.20.5
+- Node.js 18.20.6
- Perl 5.34.0
- Python 3.10.12
- Ruby 3.0.2p107
@@ -32,8 +26,8 @@
### Package Management
- cpan 1.64
-- Helm 3.16.4
-- Homebrew 4.4.14
+- Helm 3.17.0
+- Homebrew 4.4.17
- Miniconda 24.11.1
- Npm 10.8.2
- NuGet 6.6.1.2
@@ -41,7 +35,7 @@
- Pip3 22.0.2
- Pipx 1.7.1
- RubyGems 3.3.5
-- Vcpkg (build from commit 65be70199)
+- Vcpkg (build from commit 57c08a322)
- Yarn 1.22.22
#### Environment variables
@@ -60,36 +54,36 @@ to accomplish this.
### Project Management
- Ant 1.10.12
-- Gradle 8.12
+- Gradle 8.12.1
- Lerna 8.1.9
-- Maven 3.8.8
+- Maven 3.9.9
- Sbt 1.10.7
### Tools
- Ansible 2.17.7
- apt-fast 1.10.0
- AzCopy 10.27.1 - available by `azcopy` and `azcopy10` aliases
-- Bazel 8.0.0
+- Bazel 8.0.1
- Bazelisk 1.25.0
-- Bicep 0.32.4
+- Bicep 0.33.13
- Buildah 1.23.1
-- CMake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- CMake 3.31.5
+- CodeQL Action Bundle 2.20.1
- Docker Amazon ECR Credential Helper 0.9.0
- Docker Compose v2 2.27.1
-- Docker-Buildx 0.19.3
+- Docker-Buildx 0.20.1
- Docker Client 26.1.3
- Docker Server 26.1.3
- Fastlane 2.226.0
-- Git 2.47.1
-- Git LFS 3.6.0
+- Git 2.48.1
+- Git LFS 3.6.1
- Git-ftp 1.6.0
- Haveged 1.9.14
-- Heroku 10.0.0
+- Heroku 10.0.2
- jq 1.6
- Kind 0.26.0
-- Kubectl 1.32.0
-- Kustomize 5.5.0
+- Kubectl 1.32.1
+- Kustomize 5.6.0
- Leiningen 2.11.2
- MediaInfo 21.09
- Mercurial 6.1.1
@@ -98,44 +92,44 @@ to accomplish this.
- Newman 6.2.1
- nvm 0.40.1
- OpenSSL 3.0.2-0ubuntu1.18
-- Packer 1.11.2
+- Packer 1.12.0
- Parcel 2.13.3
- Podman 3.4.4
-- Pulumi 3.144.1
+- Pulumi 3.147.0
- R 4.4.2
- Skopeo 1.4.1
- Sphinx Open Source Search Server 2.2.11
- SVN 1.14.1
-- Terraform 1.10.3
+- Terraform 1.10.5
- yamllint 1.35.1
-- yq 4.44.6
+- yq 4.45.1
- zstd 1.5.6
### CLI Tools
-- Alibaba Cloud CLI 3.0.244
-- AWS CLI 2.22.28
+- Alibaba Cloud CLI 3.0.250
+- AWS CLI 2.23.6
- AWS CLI Session Manager Plugin 1.2.694.0
- AWS SAM CLI 1.132.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure CLI (azure-devops) 1.0.1
-- GitHub CLI 2.64.0
-- Google Cloud CLI 504.0.1
-- Netlify CLI 17.38.1
-- OpenShift CLI 4.17.10
+- GitHub CLI 2.65.0
+- Google Cloud CLI 507.0.0
+- Netlify CLI 18.0.2
+- OpenShift CLI 4.17.12
- ORAS CLI 1.2.2
-- Vercel CLI 39.2.5
+- Vercel CLI 39.3.0
### Java
| Version | Environment Variable |
| ------------------- | -------------------- |
-| 8.0.432+6 | JAVA_HOME_8_X64 |
-| 11.0.25+9 (default) | JAVA_HOME_11_X64 |
-| 17.0.13+11 | JAVA_HOME_17_X64 |
-| 21.0.5+11 | JAVA_HOME_21_X64 |
+| 8.0.442+6 | JAVA_HOME_8_X64 |
+| 11.0.26+4 (default) | JAVA_HOME_11_X64 |
+| 17.0.14+7 | JAVA_HOME_17_X64 |
+| 21.0.6+7 | JAVA_HOME_21_X64 |
### PHP Tools
- PHP: 8.1.2
-- Composer 2.8.4
+- Composer 2.8.5
- PHPUnit 8.5.41
```
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
@@ -148,27 +142,27 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
- Stack 3.3.1
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
- Bindgen 0.71.1
-- Cargo audit 0.21.0
-- Cargo clippy 0.1.83
+- Cargo audit 0.21.1
+- Cargo clippy 0.1.84
- Cargo outdated 0.16.0
-- Cbindgen 0.27.0
+- Cbindgen 0.28.0
- Rustfmt 1.8.0
### Browsers and Drivers
-- Google Chrome 131.0.6778.204
-- ChromeDriver 131.0.6778.204
-- Chromium 131.0.6778.0
-- Microsoft Edge 131.0.2903.112
-- Microsoft Edge WebDriver 131.0.2903.112
-- Selenium server 4.27.0
-- Mozilla Firefox 133.0.3
+- Google Chrome 132.0.6834.110
+- ChromeDriver 132.0.6834.110
+- Chromium 132.0.6834.0
+- Microsoft Edge 132.0.2957.127
+- Microsoft Edge WebDriver 132.0.2957.127
+- Selenium server 4.28.1
+- Mozilla Firefox 134.0.2
- Geckodriver 0.35.0
#### Environment variables
@@ -180,8 +174,8 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
### .NET Tools
-- .NET Core SDK: 6.0.428, 7.0.410, 8.0.404
-- nbgv 3.7.112+63bbe780b0
+- .NET Core SDK: 6.0.428, 8.0.405, 9.0.102
+- nbgv 3.7.115+d31f50f4d1
### Databases
- sqlite3 3.37.2
@@ -211,13 +205,13 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### Go
- 1.21.13
-- 1.22.10
-- 1.23.4
+- 1.22.11
+- 1.23.5
#### Node.js
-- 18.20.5
-- 20.18.1
-- 22.12.0
+- 18.20.6
+- 20.18.2
+- 22.13.1
#### Python
- 3.8.18
@@ -225,6 +219,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
- 3.10.16
- 3.11.11
- 3.12.8
+- 3.13.1
#### PyPy
- 3.7.13 [PyPy 7.3.9]
@@ -235,15 +230,16 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### Ruby
- 3.1.6
- 3.2.6
+- 3.3.7
### PowerShell Tools
-- PowerShell 7.4.6
+- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.1.0
- MarkdownPS: 1.10
- Microsoft.Graph: 2.25.0
-- Pester: 5.6.1
+- Pester: 5.7.1
- PSScriptAnalyzer: 1.23.0
### Web Servers
@@ -256,7 +252,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 9.0 |
-| Android SDK Build-tools | 35.0.0
34.0.0
33.0.0 33.0.1 33.0.2 33.0.3
32.0.0
31.0.0 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0
33.0.0 33.0.1 33.0.2 33.0.3
32.0.0
31.0.0 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3)
android-32 (rev 1)
android-31 (rev 1) |
| Android Support Repository | 47.0.0 |
| CMake | 3.10.2
3.18.1
3.22.1 |
@@ -279,17 +275,17 @@ Use the following command as a part of your job to start the service: 'sudo syst
| -------------------- | ------------------------------------------------------------------------ | ---------- |
| alpine:3.16 | sha256:452e7292acee0ee16c332324d7de05fa2c99f9994ecc9f0779c602916a672ae4 | 2024-01-27 |
| alpine:3.17 | sha256:8fc3dacfb6d69da8d44e42390de777e48577085db99aa4e4af35f483eb08b989 | 2024-09-06 |
-| alpine:3.18 | sha256:2995c82e8e723d9a5c8585cb8e901d1c50e3c2759031027d3bff577449435157 | 2024-09-06 |
-| alpine:3.19 | sha256:7a85bf5dc56c949be827f84f9185161265c58f589bb8b2a6b6bb6d3076c1be21 | 2024-09-06 |
+| alpine:3.18 | sha256:dd60c75fba961ecc5e918961c713f3c42dd5665171c58f9b2ef5aafe081ad5a0 | 2025-01-08 |
+| alpine:3.19 | sha256:6380aa6b04faa579332d4c9d1f65bd7093012ba6e01d9bbcd5e2d8a4f9fae38f | 2025-01-08 |
| debian:10 | sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d8009c20154ad0f2fb0a225 | 2024-06-13 |
-| debian:11 | sha256:21b74d95871e8676a0cf47df9caebb1021b2af60b9a6e4777ce92f92f98e3a90 | 2024-12-23 |
-| moby/buildkit:latest | sha256:86c0ad9d1137c186e9d455912167df20e530bdf7f7c19de802e892bb8ca16552 | 2024-12-16 |
-| node:18 | sha256:7f31a1eb14c61719b8bb0eaa029310cc33851f71d3578cc422b390f8096977c5 | 2024-11-15 |
-| node:18-alpine | sha256:6eb9c3d9bd191bd2cc6ce7ec3d5ec4c2127616140c8586af96a6bec8f28689d1 | 2024-12-05 |
-| node:20 | sha256:d17aaa2a2fd82e09bd6a6da7cc4a79741340d2a3e39d172d1b30f295b1a850ff | 2024-11-20 |
-| node:20-alpine | sha256:426f843809ae05f324883afceebaa2b9cab9cb697097dbb1a2a7a41c5701de72 | 2024-12-05 |
-| node:22 | sha256:0e910f435308c36ea60b4cfd7b80208044d77a074d16b768a81901ce938a62dc | 2024-12-03 |
-| node:22-alpine | sha256:6e80991f69cc7722c561e5d14d5e72ab47c0d6b6cfb3ae50fb9cf9a7b30fdf97 | 2024-12-05 |
+| debian:11 | sha256:e5bfb7364038fd100c2faebdd674145bd1bc758a57f3c67023cced99d0eff0f7 | 2025-01-13 |
+| moby/buildkit:latest | sha256:14aa1b4dd92ea0a4cd03a54d0c6079046ea98cd0c0ae6176bdd7036ba370cbbe | 2025-01-20 |
+| node:18 | sha256:720eeea325b3da50e108ba34dde0fd69feeb3c59485199c5e22b0ea49a792aa5 | 2025-01-22 |
+| node:18-alpine | sha256:974afb6cbc0314dc6502b14243b8a39fbb2d04d975e9059dd066be3e274fbb25 | 2025-01-22 |
+| node:20 | sha256:bc3d86568d9a9e062cdf7036367f6e2ce201925e2912758bcd3b0e2657875a63 | 2025-01-22 |
+| node:20-alpine | sha256:2cd2a6f4cb37cf8a007d5f1e9aef090ade6b62974c7a274098c390599e8c72b4 | 2025-01-22 |
+| node:22 | sha256:ae2f3d4cc65d251352eca01ba668824f651a2ee4d2a37e2efb22649521a483fd | 2025-01-22 |
+| node:22-alpine | sha256:e2b39f7b64281324929257d0f8004fb6cb4bf0fdfb9aa8cedb235a766aec31da | 2025-01-22 |
| ubuntu:20.04 | sha256:8e5c4f0285ecbb4ead070431d29b576a530d3166df73ec44affc1cd27555141b | 2024-10-11 |
| ubuntu:22.04 | sha256:0e5e4a57c2499249aafc3b40fcd541e9a456aab7296681a3994d631587203f97 | 2024-09-11 |
@@ -307,7 +303,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| coreutils | 8.32-4.1ubuntu1.2 |
| curl | 7.81.0-1ubuntu1.20 |
| dbus | 1.12.20-2ubuntu4.1 |
-| dnsutils | 1:9.18.28-0ubuntu0.22.04.1 |
+| dnsutils | 1:9.18.30-0ubuntu0.22.04.1 |
| dpkg | 1.21.1ubuntu2.3 |
| dpkg-dev | 1.21.1ubuntu2.3 |
| fakeroot | 1.28-1ubuntu1 |
@@ -363,7 +359,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| pollinate | 4.33-3ubuntu2 |
| python-is-python3 | 3.9.2-2 |
| rpm | 4.17.0+dfsg1-4build1 |
-| rsync | 3.2.7-0ubuntu0.22.04.2 |
+| rsync | 3.2.7-0ubuntu0.22.04.4 |
| shellcheck | 0.8.0-2 |
| sphinxsearch | 2.2.11-8 |
| sqlite3 | 3.37.2-2ubuntu0.3 |
@@ -387,4 +383,3 @@ Use the following command as a part of your job to start the service: 'sudo syst
| xz-utils | 5.2.5-2ubuntu1 |
| zip | 3.0-12build2 |
| zsync | 0.6.2-3ubuntu1 |
-
diff --git a/images/ubuntu/Ubuntu2404-Readme.md b/images/ubuntu/Ubuntu2404-Readme.md
index 62109824c..e88f5abe1 100644
--- a/images/ubuntu/Ubuntu2404-Readme.md
+++ b/images/ubuntu/Ubuntu2404-Readme.md
@@ -1,13 +1,7 @@
-| Announcements |
-|-|
-| [[Windows & Ubuntu] Breaking change : Maven 3.8.* version will be updated to Maven 3.9.* from January 10,2025](https://github.com/actions/runner-images/issues/11093) |
-| [[Ubuntu] Breaking Change: runner user will have UID 1001 instead of 1000 for larger runners](https://github.com/actions/runner-images/issues/10936) |
-| [Ubuntu-latest workflows will use Ubuntu-24.04 image](https://github.com/actions/runner-images/issues/10636) |
-***
# Ubuntu 24.04
- OS Version: 24.04.1 LTS
-- Kernel Version: 6.8.0-1017-azure
-- Image Version: 20250105.1.0
+- Kernel Version: 6.8.0-1020-azure
+- Image Version: 20250126.1.0
- Systemd version: 255.4-1ubuntu8.4
## Installed Software
@@ -20,9 +14,9 @@
- Dash 0.5.12-6ubuntu5
- GNU C++: 12.3.0, 13.3.0, 14.2.0
- GNU Fortran: 12.3.0, 13.3.0, 14.2.0
-- Julia 1.11.2
+- Julia 1.11.3
- Kotlin 2.1.0-release-394
-- Node.js 20.18.1
+- Node.js 20.18.2
- Perl 5.38.2
- Python 3.12.3
- Ruby 3.2.3
@@ -30,15 +24,15 @@
### Package Management
- cpan 1.64
-- Helm 3.16.4
-- Homebrew 4.4.14
+- Helm 3.17.0
+- Homebrew 4.4.17
- Miniconda 24.11.1
- Npm 10.8.2
- Pip 24.0
- Pip3 24.0
- Pipx 1.7.1
- RubyGems 3.4.20
-- Vcpkg (build from commit 65be70199)
+- Vcpkg (build from commit 57c08a322)
- Yarn 1.22.22
#### Environment variables
@@ -57,33 +51,33 @@ to accomplish this.
### Project Management
- Ant 1.10.14
-- Gradle 8.12
+- Gradle 8.12.1
- Lerna 8.1.9
-- Maven 3.8.8
+- Maven 3.9.9
### Tools
- Ansible 2.18.1
- AzCopy 10.27.1 - available by `azcopy` and `azcopy10` aliases
-- Bazel 8.0.0
+- Bazel 8.0.1
- Bazelisk 1.25.0
-- Bicep 0.32.4
+- Bicep 0.33.13
- Buildah 1.33.7
-- CMake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- CMake 3.31.5
+- CodeQL Action Bundle 2.20.1
- Docker Amazon ECR Credential Helper 0.9.0
- Docker Compose v2 2.27.1
-- Docker-Buildx 0.19.3
+- Docker-Buildx 0.20.1
- Docker Client 26.1.3
- Docker Server 26.1.3
- Fastlane 2.226.0
-- Git 2.47.1
-- Git LFS 3.6.0
+- Git 2.48.1
+- Git LFS 3.6.1
- Git-ftp 1.6.0
- Haveged 1.9.14
- jq 1.7
- Kind 0.26.0
-- Kubectl 1.32.0
-- Kustomize 5.5.0
+- Kubectl 1.32.1
+- Kustomize 5.6.0
- MediaInfo 24.01
- Mercurial 6.7.2
- Minikube 1.34.0
@@ -91,36 +85,36 @@ to accomplish this.
- Newman 6.2.1
- nvm 0.40.1
- OpenSSL 3.0.13-0ubuntu3.4
-- Packer 1.11.2
+- Packer 1.12.0
- Parcel 2.13.3
- Podman 4.9.3
-- Pulumi 3.144.1
+- Pulumi 3.147.0
- Skopeo 1.13.3
- Sphinx Open Source Search Server 2.2.11
- yamllint 1.35.1
-- yq 4.44.6
+- yq 4.45.1
- zstd 1.5.6
### CLI Tools
-- AWS CLI 2.22.28
+- AWS CLI 2.23.6
- AWS CLI Session Manager Plugin 1.2.694.0
- AWS SAM CLI 1.132.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure CLI (azure-devops) 1.0.1
-- GitHub CLI 2.64.0
-- Google Cloud CLI 504.0.1
+- GitHub CLI 2.65.0
+- Google Cloud CLI 507.0.0
### Java
-| Version | Environment Variable |
-| -------------------- | -------------------- |
-| 8.0.432+6 | JAVA_HOME_8_X64 |
-| 11.0.25+9 | JAVA_HOME_11_X64 |
-| 17.0.13+11 (default) | JAVA_HOME_17_X64 |
-| 21.0.5+11 | JAVA_HOME_21_X64 |
+| Version | Environment Variable |
+| ------------------- | -------------------- |
+| 8.0.442+6 | JAVA_HOME_8_X64 |
+| 11.0.26+4 | JAVA_HOME_11_X64 |
+| 17.0.14+7 (default) | JAVA_HOME_17_X64 |
+| 21.0.6+7 | JAVA_HOME_21_X64 |
### PHP Tools
- PHP: 8.3.6
-- Composer 2.8.4
+- Composer 2.8.5
- PHPUnit 8.5.41
```
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
@@ -133,22 +127,22 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
- Stack 3.3.1
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
- Rustfmt 1.8.0
### Browsers and Drivers
-- Google Chrome 131.0.6778.204
-- ChromeDriver 131.0.6778.204
-- Chromium 131.0.6778.0
-- Microsoft Edge 131.0.2903.112
-- Microsoft Edge WebDriver 131.0.2903.112
-- Selenium server 4.27.0
-- Mozilla Firefox 133.0.3
+- Google Chrome 132.0.6834.110
+- ChromeDriver 132.0.6834.110
+- Chromium 132.0.6834.0
+- Microsoft Edge 132.0.2957.127
+- Microsoft Edge WebDriver 132.0.2957.127
+- Selenium server 4.28.1
+- Mozilla Firefox 134.0.2
- Geckodriver 0.35.0
#### Environment variables
@@ -160,8 +154,8 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
### .NET Tools
-- .NET Core SDK: 8.0.111
-- nbgv 3.7.112+63bbe780b0
+- .NET Core SDK: 8.0.112
+- nbgv 3.7.115+d31f50f4d1
### Databases
- sqlite3 3.45.1
@@ -187,31 +181,36 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### Go
- 1.21.13
-- 1.22.10
-- 1.23.4
+- 1.22.11
+- 1.23.5
#### Node.js
-- 18.20.5
-- 20.18.1
-- 22.12.0
+- 18.20.6
+- 20.18.2
+- 22.13.1
#### Python
- 3.9.21
- 3.10.16
- 3.11.11
- 3.12.8
+- 3.13.1
#### PyPy
- 3.9.19 [PyPy 7.3.16]
- 3.10.14 [PyPy 7.3.17]
+#### Ruby
+- 3.2.6
+- 3.3.7
+
### PowerShell Tools
-- PowerShell 7.4.6
+- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.1.0
- Microsoft.Graph: 2.25.0
-- Pester: 5.6.1
+- Pester: 5.7.1
- PSScriptAnalyzer: 1.23.0
### Web Servers
@@ -224,7 +223,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 12.0 |
-| Android SDK Build-tools | 35.0.0
34.0.0 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1) |
| Android Support Repository | 47.0.0 |
| Google Play services | 49 |
@@ -255,7 +254,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| coreutils | 9.4-3ubuntu6 |
| curl | 8.5.0-2ubuntu10.6 |
| dbus | 1.14.10-4ubuntu4.1 |
-| dnsutils | 1:9.18.28-0ubuntu0.24.04.1 |
+| dnsutils | 1:9.18.30-0ubuntu0.24.04.1 |
| dpkg | 1.22.6ubuntu6.1 |
| dpkg-dev | 1.22.6ubuntu6.1 |
| fakeroot | 1.33-1 |
@@ -271,6 +270,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| iproute2 | 6.1.0-1ubuntu6 |
| iputils-ping | 3:20240117-1build1 |
| jq | 1.7.1-3build1 |
+| libsqlite3-dev | 3.45.1-1ubuntu2 |
| libssl-dev | 3.0.13-0ubuntu3.4 |
| libtool | 2.4.7-7build1 |
| libyaml-dev | 0.2.5-1build1 |
@@ -292,7 +292,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| pollinate | 4.33-3.1ubuntu1 |
| python-is-python3 | 3.11.4-1 |
| rpm | 4.18.2+dfsg-2.1build2 |
-| rsync | 3.2.7-1ubuntu1 |
+| rsync | 3.2.7-1ubuntu1.2 |
| shellcheck | 0.9.0-1 |
| sphinxsearch | 2.2.11-8build1 |
| sqlite3 | 3.45.1-1ubuntu2 |
@@ -315,4 +315,3 @@ Use the following command as a part of your job to start the service: 'sudo syst
| xz-utils | 5.6.1+really5.4.5-1build0.1 |
| zip | 3.0-13ubuntu0.1 |
| zsync | 0.6.2-5build1 |
-
diff --git a/images/ubuntu/scripts/build/cleanup.sh b/images/ubuntu/scripts/build/cleanup.sh
index 100fdcbbf..17c7ccc3f 100644
--- a/images/ubuntu/scripts/build/cleanup.sh
+++ b/images/ubuntu/scripts/build/cleanup.sh
@@ -19,13 +19,6 @@ if command -v journalctl; then
journalctl --vacuum-time=1s
fi
-# remove redundant folders from azcli
-if [[ -z "${AZURE_CONFIG_DIR}" ]]; then
- rm -rf $AZURE_CONFIG_DIR/logs
- rm -rf $AZURE_CONFIG_DIR/commands
- rm -rf $AZURE_CONFIG_DIR/telemetry
-fi
-
# delete all .gz and rotated file
find /var/log -type f -regex ".*\.gz$" -delete
find /var/log -type f -regex ".*\.[0-9]$" -delete
diff --git a/images/ubuntu/scripts/build/install-azure-cli.sh b/images/ubuntu/scripts/build/install-azure-cli.sh
index ff279492d..0004f7bde 100644
--- a/images/ubuntu/scripts/build/install-azure-cli.sh
+++ b/images/ubuntu/scripts/build/install-azure-cli.sh
@@ -4,40 +4,12 @@
## Desc: Install Azure CLI (az)
################################################################################
-# Source the helpers for use with the script
-source $HELPER_SCRIPTS/etc-environment.sh
-
-# AZURE_CONFIG_DIR shell variable defines where the CLI configuration file for managing behavior are stored
-# https://learn.microsoft.com/en-us/cli/azure/azure-cli-configuration#cli-configuration-file
-# This path SHOULD be different from the installation directory /opt/az/
-export AZURE_CONFIG_DIR="/opt/az-config"
-mkdir -p $AZURE_CONFIG_DIR
-set_etc_environment_variable "AZURE_CONFIG_DIR" "${AZURE_CONFIG_DIR}"
-
-# AZURE_EXTENSION_DIR shell variable defines where modules are installed
-# https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
-# This path SHOULD be different from the installation directory /opt/az/
-export AZURE_EXTENSION_DIR="/opt/az-extension"
-mkdir -p $AZURE_EXTENSION_DIR
-set_etc_environment_variable "AZURE_EXTENSION_DIR" "${AZURE_EXTENSION_DIR}"
-
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
curl -fsSL https://aka.ms/InstallAzureCLIDeb | sudo bash
echo "azure-cli https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt" >> $HELPER_SCRIPTS/apt-sources.txt
-# Remove Azure CLI repository (instructions taken from https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt#uninstall-azure-cli)
-rm -f /etc/apt/sources.list.d/azure-cli.sources
-
-echo "Warmup 'az'"
-az --help > /dev/null
-if [ $? -ne 0 ]; then
- echo "Command 'az --help' failed"
- exit 1
-fi
-
-# Hand over the ownership of the directories and files to the non-root user
-chown -R "$SUDO_USER:$SUDO_USER" $AZURE_CONFIG_DIR
-chown -R "$SUDO_USER:$SUDO_USER" $AZURE_EXTENSION_DIR
+rm -f /etc/apt/sources.list.d/azure-cli.list
+rm -f /etc/apt/sources.list.d/azure-cli.list.save
invoke_tests "CLI.Tools" "Azure CLI"
diff --git a/images/ubuntu/scripts/build/install-azure-devops-cli.sh b/images/ubuntu/scripts/build/install-azure-devops-cli.sh
index 98e1318a9..81948ac95 100644
--- a/images/ubuntu/scripts/build/install-azure-devops-cli.sh
+++ b/images/ubuntu/scripts/build/install-azure-devops-cli.sh
@@ -4,6 +4,14 @@
## Desc: Install Azure DevOps CLI (az devops)
################################################################################
+# Source the helpers for use with the script
+source $HELPER_SCRIPTS/etc-environment.sh
+
+# AZURE_EXTENSION_DIR shell variable defines where modules are installed
+# https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
+export AZURE_EXTENSION_DIR=/opt/az/azcliextensions
+set_etc_environment_variable "AZURE_EXTENSION_DIR" "${AZURE_EXTENSION_DIR}"
+
# install azure devops Cli extension
az extension add -n azure-devops
diff --git a/images/ubuntu/scripts/build/install-kubernetes-tools.sh b/images/ubuntu/scripts/build/install-kubernetes-tools.sh
index 90f68fedc..42c484a0d 100644
--- a/images/ubuntu/scripts/build/install-kubernetes-tools.sh
+++ b/images/ubuntu/scripts/build/install-kubernetes-tools.sh
@@ -30,11 +30,12 @@ rm -f /etc/apt/sources.list.d/kubernetes.list
# Install Helm
curl -fsSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
+# Temporarily pinning the version
# Download minikube
-curl -fsSL -O https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
+curl -fsSL -O https://storage.googleapis.com/minikube/releases/v1.34.0/minikube-linux-amd64
# Supply chain security - minikube
-minikube_hash=$(get_checksum_from_github_release "kubernetes/minikube" "linux-amd64" "latest" "SHA256")
+minikube_hash=$(get_checksum_from_github_release "kubernetes/minikube" "linux-amd64" "1.34.0" "SHA256")
use_checksum_comparison "minikube-linux-amd64" "${minikube_hash}"
# Install minikube
diff --git a/images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1 b/images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1
index 1174e7b62..962262335 100644
--- a/images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1
+++ b/images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1
@@ -251,9 +251,8 @@ $cachedTools.AddToolVersionsList("Go", $(Get-ToolcacheGoVersions), "^\d+\.\d+")
$cachedTools.AddToolVersionsList("Node.js", $(Get-ToolcacheNodeVersions), "^\d+")
$cachedTools.AddToolVersionsList("Python", $(Get-ToolcachePythonVersions), "^\d+\.\d+")
$cachedTools.AddToolVersionsList("PyPy", $(Get-ToolcachePyPyVersions), "^\d+\.\d+")
-if (-not $(Test-IsUbuntu24)) {
- $cachedTools.AddToolVersionsList("Ruby", $(Get-ToolcacheRubyVersions), "^\d+\.\d+")
-}
+$cachedTools.AddToolVersionsList("Ruby", $(Get-ToolcacheRubyVersions), "^\d+\.\d+")
+
# PowerShell Tools
$powerShellTools = $installedSoftware.AddHeader("PowerShell Tools")
diff --git a/images/ubuntu/scripts/helpers/etc-environment.sh b/images/ubuntu/scripts/helpers/etc-environment.sh
index 6ffafd01c..7a235b784 100644
--- a/images/ubuntu/scripts/helpers/etc-environment.sh
+++ b/images/ubuntu/scripts/helpers/etc-environment.sh
@@ -5,7 +5,7 @@
################################################################################
# NB: sed expression use '%' as a delimiter in order to simplify handling
-# values containg slashes (i.e. directory path)
+# values containing slashes (i.e. directory path)
# The values containing '%' will break the functions
get_etc_environment_variable() {
diff --git a/images/ubuntu/toolsets/toolset-2004.json b/images/ubuntu/toolsets/toolset-2004.json
index 07885f4aa..047044b6b 100644
--- a/images/ubuntu/toolsets/toolset-2004.json
+++ b/images/ubuntu/toolsets/toolset-2004.json
@@ -11,7 +11,8 @@
"3.9.*",
"3.10.*",
"3.11.*",
- "3.12.*"
+ "3.12.*",
+ "3.13.*"
]
},
{
@@ -57,7 +58,8 @@
"versions": [
"3.0.*",
"3.1.*",
- "3.2.*"
+ "3.2.*",
+ "3.3.*"
]
},
{
@@ -268,11 +270,13 @@
"dotnet": {
"aptPackages": [
"dotnet-sdk-6.0",
- "dotnet-sdk-8.0"
+ "dotnet-sdk-8.0",
+ "dotnet-sdk-9.0"
],
"versions": [
"6.0",
- "8.0"
+ "8.0",
+ "9.0"
],
"tools": [
{ "name": "nbgv", "test": "nbgv --version", "getversion" : "nbgv --version" }
diff --git a/images/ubuntu/toolsets/toolset-2204.json b/images/ubuntu/toolsets/toolset-2204.json
index 8c5b9090a..ea12307a7 100644
--- a/images/ubuntu/toolsets/toolset-2204.json
+++ b/images/ubuntu/toolsets/toolset-2204.json
@@ -11,7 +11,8 @@
"3.9.*",
"3.10.*",
"3.11.*",
- "3.12.*"
+ "3.12.*",
+ "3.13.*"
]
},
{
@@ -54,7 +55,8 @@
"arch": "x64",
"versions": [
"3.1.*",
- "3.2.*"
+ "3.2.*",
+ "3.3.*"
]
},
{
@@ -267,11 +269,13 @@
"dotnet": {
"aptPackages": [
"dotnet-sdk-6.0",
- "dotnet-sdk-8.0"
+ "dotnet-sdk-8.0",
+ "dotnet-sdk-9.0"
],
"versions": [
"6.0",
- "8.0"
+ "8.0",
+ "9.0"
],
"tools": [
{ "name": "nbgv", "test": "nbgv --version", "getversion" : "nbgv --version" }
diff --git a/images/ubuntu/toolsets/toolset-2404.json b/images/ubuntu/toolsets/toolset-2404.json
index cf732f67c..856cb5eab 100644
--- a/images/ubuntu/toolsets/toolset-2404.json
+++ b/images/ubuntu/toolsets/toolset-2404.json
@@ -10,7 +10,8 @@
"3.9.*",
"3.10.*",
"3.11.*",
- "3.12.*"
+ "3.12.*",
+ "3.13.*"
]
},
{
@@ -50,7 +51,8 @@
"platform_version": "24.04",
"arch": "x64",
"versions": [
- "3.2.*"
+ "3.2.*",
+ "3.3.*"
]
},
{
diff --git a/images/windows/Windows2019-Readme.md b/images/windows/Windows2019-Readme.md
index 44fecb99e..f59aafd6b 100644
--- a/images/windows/Windows2019-Readme.md
+++ b/images/windows/Windows2019-Readme.md
@@ -1,15 +1,13 @@
| Announcements |
|-|
+| [[Windows] Removal of Azure and Azure Powershell module from windows images from Febraury 14](https://github.com/actions/runner-images/issues/11483) |
| [[Windows ] Breaking change : PHP 8.3.* version will be updated to PHP 8.4.* from January 31,2025](https://github.com/actions/runner-images/issues/11256) |
| [Windows Server 2025 is now available](https://github.com/actions/runner-images/issues/11228) |
-| [[Windows] Breaking change : Docker Engine Version 26.* will be updated to Docker Engine Version 27.* from January 17,2025](https://github.com/actions/runner-images/issues/11104) |
-| [[Windows & Ubuntu] Breaking change : Maven 3.8.* version will be updated to Maven 3.9.* from January 17,2025](https://github.com/actions/runner-images/issues/11093) |
-| [[Windows & Ubuntu] .NET 7.x will be removed from the images on January 17,2025](https://github.com/actions/runner-images/issues/10894) |
-| [[Windows & Ubuntu] Python 3.7.x will be removed from January 10 ,2025](https://github.com/actions/runner-images/issues/10893) |
+| [[Windows] Breaking change : Docker Engine Version 26.* will be updated to Docker Engine Version 27.* from February 07,2025](https://github.com/actions/runner-images/issues/11104) |
***
# Windows Server 2019
-- OS Version: 10.0.17763 Build 6659
-- Image Version: 20250105.1.0
+- OS Version: 10.0.17763 Build 6775
+- Image Version: 20250127.1.0
## Windows features
- Windows Subsystem for Linux (WSLv1): Enabled
@@ -20,25 +18,25 @@
- Bash 5.2.37(1)-release
- Go 1.21.13
- Julia 1.10.5
-- Kotlin 2.1.0
+- Kotlin 2.1.10
- LLVM 18.1.8
-- Node 18.20.5
+- Node 18.20.6
- Perl 5.32.1
-- PHP 8.3.15
+- PHP 8.4.3
- Python 3.9.13
- Ruby 3.0.7p220
### Package Management
- Chocolatey 2.4.1
-- Composer 2.8.4
-- Helm 3.16.3
+- Composer 2.8.5
+- Helm 3.16.4
- Miniconda 24.11.1 (pre-installed on the image but not added to PATH)
- NPM 10.8.2
-- NuGet 6.12.1.1
-- pip 24.3.1 (python 3.9)
+- NuGet 6.12.2.1
+- pip 25.0 (python 3.9)
- Pipx 1.7.1
- RubyGems 3.2.33
-- Vcpkg (build from commit 65be70199)
+- Vcpkg (build from commit f3a67b0c4)
- Yarn 1.22.22
#### Environment variables
@@ -50,31 +48,31 @@
### Project Management
- Ant 1.10.14
- Gradle 8.12
-- Maven 3.8.7
+- Maven 3.9.9
- sbt 1.10.7
### Tools
- 7zip 24.09
- aria2 1.37.0
- azcopy 10.27.1
-- Bazel 8.0.0
+- Bazel 8.0.1
- Bazelisk 1.25.0
-- Bicep 0.32.4
+- Bicep 0.33.13
- Cabal 3.14.1.1
-- CMake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- CMake 3.31.4
+- CodeQL Action Bundle 2.20.1
- Docker 26.1.3
- Docker Compose v2 2.27.1
- Docker-wincred 0.8.2
- ghc 9.12.1
-- Git 2.47.1.windows.1
-- Git LFS 3.6.0
-- Google Cloud CLI 504.0.1
+- Git 2.47.1.windows.2
+- Git LFS 3.6.1
+- Google Cloud CLI 507.0.0
- ImageMagick 7.1.1-43
-- InnoSetup 6.3.3
+- InnoSetup 6.4.0
- jq 1.7.1
- Kind 0.26.0
-- Kubectl 1.32.0
+- Kubectl 1.32.1
- Mercurial 5.0
- gcc 8.1.0
- gdb 8.1
@@ -84,7 +82,7 @@
- OpenSSL 1.1.1w
- Packer 1.11.2
- Parcel 2.13.3
-- Pulumi 3.144.1
+- Pulumi 3.147.0
- R 4.4.2
- Service Fabric SDK 9.1.1436.9590
- Stack 3.3.1
@@ -97,38 +95,38 @@
- zstd 1.5.6
### CLI Tools
-- Alibaba Cloud CLI 3.0.244
-- AWS CLI 2.22.28
+- Alibaba Cloud CLI 3.0.250
+- AWS CLI 2.23.6
- AWS SAM CLI 1.132.0
- AWS Session Manager CLI 1.2.694.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure DevOps CLI extension 1.0.1
- Cloud Foundry CLI 8.9.0
-- GitHub CLI 2.64.0
+- GitHub CLI 2.65.0
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
- bindgen 0.71.1
-- cargo-audit 0.21.0
+- cargo-audit 0.21.1
- cargo-outdated 0.16.0
-- cbindgen 0.27.0
-- Clippy 0.1.83
+- cbindgen 0.28.0
+- Clippy 0.1.84
- Rustfmt 1.8.0
### Browsers and Drivers
-- Google Chrome 131.0.6778.205
-- Chrome Driver 131.0.6778.204
-- Microsoft Edge 131.0.2903.112
-- Microsoft Edge Driver 131.0.2903.112
-- Mozilla Firefox 133.0.3
+- Google Chrome 132.0.6834.111
+- Chrome Driver 132.0.6834.110
+- Microsoft Edge 132.0.2957.127
+- Microsoft Edge Driver 132.0.2957.127
+- Mozilla Firefox 134.0.2
- Gecko Driver 0.35.0
- IE Driver 4.14.0.0
-- Selenium server 4.27.0
+- Selenium server 4.28.0
#### Environment variables
| Name | Value |
@@ -141,10 +139,10 @@
### Java
| Version | Environment Variable |
| ------------------- | -------------------- |
-| 8.0.432+6 (default) | JAVA_HOME_8_X64 |
-| 11.0.25+9 | JAVA_HOME_11_X64 |
-| 17.0.13+11 | JAVA_HOME_17_X64 |
-| 21.0.5+11.0 | JAVA_HOME_21_X64 |
+| 8.0.442+6 (default) | JAVA_HOME_8_X64 |
+| 11.0.26+4 | JAVA_HOME_11_X64 |
+| 17.0.14+7 | JAVA_HOME_17_X64 |
+| 21.0.6+7.0 | JAVA_HOME_21_X64 |
### Shells
| Name | Target |
@@ -171,14 +169,14 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
#### Go
- 1.20.14
- 1.21.13
-- 1.22.10
-- 1.23.4
+- 1.22.11
+- 1.23.5
#### Node.js
- 16.20.2
-- 18.20.5
-- 20.18.1
-- 22.12.0
+- 18.20.6
+- 20.18.2
+- 22.13.1
#### Python
- 3.8.10
@@ -186,6 +184,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 3.10.11
- 3.11.9
- 3.12.8
+- 3.13.1
#### PyPy
- 2.7.18 [PyPy 7.3.17]
@@ -199,6 +198,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 3.0.7
- 3.1.6
- 3.2.6
+- 3.3.7
### Databases
@@ -206,7 +206,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Property | Value |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| ServiceName | postgresql-x64-14 |
-| Version | 14.12 |
+| Version | 14.15 |
| ServiceStatus | Stopped |
| ServiceStartType | Disabled |
| EnvironmentVariables | PGBIN=C:\Program Files\PostgreSQL\14\bin
PGDATA=C:\Program Files\PostgreSQL\14\data
PGROOT=C:\Program Files\PostgreSQL\14 |
@@ -235,12 +235,12 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
### Visual Studio Enterprise 2019
| Name | Version | Path |
| ----------------------------- | --------------- | -------------------------------------------------------------- |
-| Visual Studio Enterprise 2019 | 16.11.35425.106 | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise |
+| Visual Studio Enterprise 2019 | 16.11.35706.149 | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise |
#### Workloads, components and extensions
| Package | Version |
| ------------------------------------------------------------------------- | --------------- |
-| Component.Android.NDK.R16B | 16.11.35425.106 |
+| Component.Android.NDK.R16B | 16.11.35704.18 |
| Component.Android.SDK25.Private | 16.0.28625.61 |
| Component.Android.SDK30 | 16.10.31205.252 |
| Component.Ant | 1.9.3.8 |
@@ -497,27 +497,27 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 10.0.22621.0
### .NET Core Tools
-- .NET Core SDK: 6.0.136, 6.0.203, 6.0.321, 6.0.428, 7.0.120, 7.0.203, 7.0.317, 7.0.410, 8.0.111, 8.0.206, 8.0.307, 8.0.404, 9.0.101
+- .NET Core SDK: 6.0.136, 6.0.203, 6.0.321, 6.0.428, 8.0.112, 8.0.206, 8.0.308, 8.0.405, 9.0.102
- .NET Framework: 4.7.2, 4.8
-- Microsoft.AspNetCore.App: 6.0.5, 6.0.26, 6.0.36, 7.0.5, 7.0.20, 8.0.6, 8.0.11, 9.0.0
-- Microsoft.NETCore.App: 6.0.5, 6.0.26, 6.0.36, 7.0.5, 7.0.20, 8.0.6, 8.0.11, 9.0.0
-- Microsoft.WindowsDesktop.App: 6.0.5, 6.0.26, 6.0.36, 7.0.5, 7.0.20, 8.0.6, 8.0.11, 9.0.0
-- nbgv 3.7.112+63bbe780b0
+- Microsoft.AspNetCore.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.12, 9.0.1
+- Microsoft.NETCore.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.12, 9.0.1
+- Microsoft.WindowsDesktop.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.12, 9.0.1
+- nbgv 3.7.115+d31f50f4d1
### PowerShell Tools
-- PowerShell 7.4.6
+- PowerShell 7.4.7
#### Powershell Modules
- Az: 12.1.0
-- Azure: 2.1.0 (Default), 5.3.0
-- AzureRM: 2.1.0 (Default), 6.13.1
-- Azure (Cached): 3.8.0.zip, 4.2.1.zip, 5.1.1.zip
-- AzureRM (Cached): 3.8.0.zip, 4.2.1.zip, 5.1.1.zip, 6.7.0.zip
-- AWSPowershell: 4.1.729
+- Azure: 5.3.0
+- AzureRM: 6.13.1
+- Azure (Cached): 5.1.1.zip
+- AzureRM (Cached): 6.7.0.zip
+- AWSPowershell: 4.1.743
- DockerMsftProvider: 1.0.0.8
- MarkdownPS: 1.10
- Microsoft.Graph: 2.25.0
-- Pester: 3.4.0, 5.6.1
+- Pester: 3.4.0, 5.7.1
- PowerShellGet: 1.0.0.1, 2.2.5
- PSScriptAnalyzer: 1.23.0
- PSWindowsUpdate: 2.2.1.5
@@ -533,8 +533,8 @@ All other versions are saved but not installed.
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 8.0 |
-| Android Emulator | 35.2.10 |
-| Android SDK Build-tools | 35.0.0
34.0.0
33.0.0 33.0.1 33.0.2 33.0.3
32.0.0
31.0.0
30.0.2 |
+| Android Emulator | 35.3.11 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0
33.0.0 33.0.1 33.0.2 33.0.3
32.0.0
31.0.0
30.0.2 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3)
android-32 (rev 1)
android-31 (rev 1)
android-30 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
@@ -557,9 +557,9 @@ All other versions are saved but not installed.
### Cached Docker images
| Repository:Tag | Digest | Created |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ---------- |
-| mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 | sha256:1fa02716b8fb36dc4d0f24d0afcfe29301b1e67b176a2fa0624c5463ee302296 | 2024-12-10 |
-| mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 | sha256:ee07f32af7ffae810146282e5bfa37fa319fb483e551e03b3a5b63c3f2130d3e | 2024-12-10 |
-| mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 | sha256:f1a2e331287782ecc403dfd56717fbd32fdae9486ffaacaab8cb1798ee214e6d | 2024-12-10 |
-| mcr.microsoft.com/windows/nanoserver:1809 | sha256:579994616649b876dd2e4009dae4af92f6e53561045230b8cdd53b3baf2f99d0 | 2024-12-05 |
-| mcr.microsoft.com/windows/servercore:ltsc2019 | sha256:0cb5fd75c08e7246afc6cc16bfe769d91af54fdb72ca58df150ebf5e3a2972ad | 2024-12-05 |
+| mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 | sha256:a2d8245de6d6992c05b615df01bfdf903ff6f9799ee797076ae3113a907350af | 2025-01-14 |
+| mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 | sha256:afbf97e3682b2e0460152a5e57502373acf2f2264bc80bba7c4959a72c25fd36 | 2025-01-14 |
+| mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 | sha256:ee59ff9393e277bc86a68cd47df9f81a6519c1c7c6afa025a18e2082a68ceccb | 2025-01-14 |
+| mcr.microsoft.com/windows/nanoserver:1809 | sha256:d96a6c2108e1449c872cc2b224a9b3444fa1415b4d6947280aba2d2bb3bd0025 | 2025-01-09 |
+| mcr.microsoft.com/windows/servercore:ltsc2019 | sha256:fb07dd14e84db4b84909be0a989597c31e28e199e7f47964fce763623d68e5d9 | 2025-01-09 |
diff --git a/images/windows/Windows2022-Readme.md b/images/windows/Windows2022-Readme.md
index fb43fb4dd..069f2c8d6 100644
--- a/images/windows/Windows2022-Readme.md
+++ b/images/windows/Windows2022-Readme.md
@@ -1,15 +1,13 @@
| Announcements |
|-|
+| [[Windows] Removal of Azure and Azure Powershell module from windows images from Febraury 14](https://github.com/actions/runner-images/issues/11483) |
| [[Windows ] Breaking change : PHP 8.3.* version will be updated to PHP 8.4.* from January 31,2025](https://github.com/actions/runner-images/issues/11256) |
| [Windows Server 2025 is now available](https://github.com/actions/runner-images/issues/11228) |
-| [[Windows] Breaking change : Docker Engine Version 26.* will be updated to Docker Engine Version 27.* from January 17,2025](https://github.com/actions/runner-images/issues/11104) |
-| [[Windows & Ubuntu] Breaking change : Maven 3.8.* version will be updated to Maven 3.9.* from January 17,2025](https://github.com/actions/runner-images/issues/11093) |
-| [[Windows & Ubuntu] .NET 7.x will be removed from the images on January 17,2025](https://github.com/actions/runner-images/issues/10894) |
-| [[Windows & Ubuntu] Python 3.7.x will be removed from January 10 ,2025](https://github.com/actions/runner-images/issues/10893) |
+| [[Windows] Breaking change : Docker Engine Version 26.* will be updated to Docker Engine Version 27.* from February 07,2025](https://github.com/actions/runner-images/issues/11104) |
***
# Windows Server 2022
-- OS Version: 10.0.20348 Build 2966
-- Image Version: 20250105.1.0
+- OS Version: 10.0.20348 Build 3091
+- Image Version: 20250127.1.0
## Windows features
- Windows Subsystem for Linux (WSLv1): Enabled
@@ -20,25 +18,25 @@
- Bash 5.2.37(1)-release
- Go 1.21.13
- Julia 1.10.5
-- Kotlin 2.1.0
+- Kotlin 2.1.10
- LLVM 18.1.8
-- Node 18.20.5
+- Node 18.20.6
- Perl 5.32.1
-- PHP 8.3.15
+- PHP 8.4.3
- Python 3.9.13
- Ruby 3.0.7p220
### Package Management
- Chocolatey 2.4.1
-- Composer 2.8.4
-- Helm 3.16.3
+- Composer 2.8.5
+- Helm 3.16.4
- Miniconda 24.11.1 (pre-installed on the image but not added to PATH)
- NPM 10.8.2
-- NuGet 6.12.1.1
-- pip 24.3.1 (python 3.9)
+- NuGet 6.12.2.1
+- pip 25.0 (python 3.9)
- Pipx 1.7.1
- RubyGems 3.2.33
-- Vcpkg (build from commit 65be70199)
+- Vcpkg (build from commit f3a67b0c4)
- Yarn 1.22.22
#### Environment variables
@@ -50,30 +48,30 @@
### Project Management
- Ant 1.10.14
- Gradle 8.12
-- Maven 3.8.7
+- Maven 3.9.9
- sbt 1.10.7
### Tools
- 7zip 24.09
- aria2 1.37.0
- azcopy 10.27.1
-- Bazel 8.0.0
+- Bazel 8.0.1
- Bazelisk 1.25.0
-- Bicep 0.32.4
+- Bicep 0.33.13
- Cabal 3.14.1.1
-- CMake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- CMake 3.31.4
+- CodeQL Action Bundle 2.20.1
- Docker 26.1.3
- Docker Compose v2 2.27.1
- Docker-wincred 0.8.2
- ghc 9.12.1
-- Git 2.47.1.windows.1
-- Git LFS 3.6.0
+- Git 2.47.1.windows.2
+- Git LFS 3.6.1
- ImageMagick 7.1.1-43
-- InnoSetup 6.3.3
+- InnoSetup 6.4.0
- jq 1.7.1
- Kind 0.26.0
-- Kubectl 1.32.0
+- Kubectl 1.32.1
- Mercurial 5.0
- gcc 12.2.0
- gdb 11.2
@@ -82,7 +80,7 @@
- NSIS 3.10
- OpenSSL 1.1.1w
- Packer 1.11.2
-- Pulumi 3.144.1
+- Pulumi 3.147.0
- R 4.4.2
- Service Fabric SDK 9.1.1436.9590
- Stack 3.3.1
@@ -95,37 +93,37 @@
- zstd 1.5.6
### CLI Tools
-- Alibaba Cloud CLI 3.0.244
-- AWS CLI 2.22.28
+- Alibaba Cloud CLI 3.0.250
+- AWS CLI 2.23.6
- AWS SAM CLI 1.132.0
- AWS Session Manager CLI 1.2.694.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure DevOps CLI extension 1.0.1
-- GitHub CLI 2.64.0
+- GitHub CLI 2.65.0
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
- bindgen 0.71.1
-- cargo-audit 0.21.0
+- cargo-audit 0.21.1
- cargo-outdated 0.16.0
-- cbindgen 0.27.0
-- Clippy 0.1.83
+- cbindgen 0.28.0
+- Clippy 0.1.84
- Rustfmt 1.8.0
### Browsers and Drivers
-- Google Chrome 131.0.6778.205
-- Chrome Driver 131.0.6778.204
-- Microsoft Edge 131.0.2903.112
-- Microsoft Edge Driver 131.0.2903.112
-- Mozilla Firefox 133.0.3
+- Google Chrome 132.0.6834.111
+- Chrome Driver 132.0.6834.110
+- Microsoft Edge 132.0.2957.127
+- Microsoft Edge Driver 132.0.2957.127
+- Mozilla Firefox 134.0.2
- Gecko Driver 0.35.0
- IE Driver 4.14.0.0
-- Selenium server 4.27.0
+- Selenium server 4.28.0
#### Environment variables
| Name | Value |
@@ -138,10 +136,10 @@
### Java
| Version | Environment Variable |
| ------------------- | -------------------- |
-| 8.0.432+6 (default) | JAVA_HOME_8_X64 |
-| 11.0.25+9 | JAVA_HOME_11_X64 |
-| 17.0.13+11 | JAVA_HOME_17_X64 |
-| 21.0.5+11.0 | JAVA_HOME_21_X64 |
+| 8.0.442+6 (default) | JAVA_HOME_8_X64 |
+| 11.0.26+4 | JAVA_HOME_11_X64 |
+| 17.0.14+7 | JAVA_HOME_17_X64 |
+| 21.0.6+7.0 | JAVA_HOME_21_X64 |
### Shells
| Name | Target |
@@ -165,14 +163,14 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
#### Go
- 1.20.14
- 1.21.13
-- 1.22.10
-- 1.23.4
+- 1.22.11
+- 1.23.5
#### Node.js
- 16.20.2
-- 18.20.5
-- 20.18.1
-- 22.12.0
+- 18.20.6
+- 20.18.2
+- 22.13.1
#### Python
- 3.8.10
@@ -180,6 +178,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 3.10.11
- 3.11.9
- 3.12.8
+- 3.13.1
#### PyPy
- 2.7.18 [PyPy 7.3.17]
@@ -192,6 +191,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 3.0.7
- 3.1.6
- 3.2.6
+- 3.3.7
### Databases
@@ -199,7 +199,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Property | Value |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| ServiceName | postgresql-x64-14 |
-| Version | 14.12 |
+| Version | 14.15 |
| ServiceStatus | Stopped |
| ServiceStartType | Disabled |
| EnvironmentVariables | PGBIN=C:\Program Files\PostgreSQL\14\bin
PGDATA=C:\Program Files\PostgreSQL\14\data
PGROOT=C:\Program Files\PostgreSQL\14 |
@@ -215,7 +215,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
### Database tools
- Azure CosmosDb Emulator 2.14.21.0
- DacFx 162.5.57.1
-- MySQL 8.0.40.0
+- MySQL 8.0.41.0
- SQL OLEDB Driver 18.7.4.0
- SQLPS 1.0
@@ -228,7 +228,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
### Visual Studio Enterprise 2022
| Name | Version | Path |
| ----------------------------- | --------------- | -------------------------------------------------------- |
-| Visual Studio Enterprise 2022 | 17.12.35527.113 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise |
+| Visual Studio Enterprise 2022 | 17.12.35707.178 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise |
#### Workloads, components and extensions
| Package | Version |
@@ -254,7 +254,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Component.Unreal | 17.12.35410.122 |
| Component.Unreal.Android | 17.12.35410.122 |
| Component.Unreal.Ide | 17.12.35410.122 |
-| Component.VisualStudio.GitHub.Copilot | 17.12.35527.66 |
+| Component.VisualStudio.GitHub.Copilot | 17.12.35707.178 |
| Component.VSInstallerProjects2022 | 2.0.1 |
| Component.WixToolset.VisualStudioExtension.Dev17 | 1.0.0.22 |
| Component.WixToolset.VisualStudioExtension.Schemas3 | 1.0.0.22 |
@@ -262,9 +262,9 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Component.Xamarin.RemotedSimulator | 17.12.35410.122 |
| ios | 18.1.9163.0 |
| maccatalyst | 18.1.9163.0 |
-| maui.blazor | 9.0.0.11787 |
-| maui.core | 9.0.0.11787 |
-| maui.windows | 9.0.0.11787 |
+| maui.blazor | 9.0.14.12048 |
+| maui.core | 9.0.14.12048 |
+| maui.windows | 9.0.14.12048 |
| Microsoft.Component.Azure.DataLake.Tools | 17.12.35410.122 |
| Microsoft.Component.ClickOnce | 17.12.35410.122 |
| Microsoft.Component.CodeAnalysis.SDK | 17.12.35410.122 |
@@ -289,22 +289,21 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.Net.ComponentGroup.4.8.DeveloperTools | 17.12.35410.122 |
| Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 17.12.35410.122 |
| Microsoft.Net.ComponentGroup.TargetingPacks.Common | 17.12.35410.122 |
-| microsoft.net.runtime.android | 9.0.24.52809 |
-| microsoft.net.runtime.android.aot | 9.0.24.52809 |
-| microsoft.net.runtime.android.aot.net8 | 9.0.24.52809 |
-| microsoft.net.runtime.android.net8 | 9.0.24.52809 |
-| microsoft.net.runtime.ios | 9.0.24.52809 |
-| microsoft.net.runtime.ios.net8 | 9.0.24.52809 |
-| microsoft.net.runtime.maccatalyst | 9.0.24.52809 |
-| microsoft.net.runtime.maccatalyst.net8 | 9.0.24.52809 |
-| microsoft.net.runtime.mono.tooling | 9.0.24.52809 |
-| microsoft.net.runtime.mono.tooling.net8 | 9.0.24.52809 |
-| microsoft.net.sdk.emscripten | 9.0.11.2802 |
+| microsoft.net.runtime.android | 9.0.124.61010 |
+| microsoft.net.runtime.android.aot | 9.0.124.61010 |
+| microsoft.net.runtime.android.aot.net8 | 9.0.124.61010 |
+| microsoft.net.runtime.android.net8 | 9.0.124.61010 |
+| microsoft.net.runtime.ios | 9.0.124.61010 |
+| microsoft.net.runtime.ios.net8 | 9.0.124.61010 |
+| microsoft.net.runtime.maccatalyst | 9.0.124.61010 |
+| microsoft.net.runtime.maccatalyst.net8 | 9.0.124.61010 |
+| microsoft.net.runtime.mono.tooling | 9.0.124.61010 |
+| microsoft.net.runtime.mono.tooling.net8 | 9.0.124.61010 |
+| microsoft.net.sdk.emscripten | 9.0.11.10403 |
| Microsoft.NetCore.Component.DevelopmentTools | 17.12.35410.122 |
-| Microsoft.NetCore.Component.Runtime.6.0 | 17.12.35504.99 |
-| Microsoft.NetCore.Component.Runtime.8.0 | 17.12.35504.99 |
-| Microsoft.NetCore.Component.Runtime.9.0 | 17.12.35527.66 |
-| Microsoft.NetCore.Component.SDK | 17.12.35527.66 |
+| Microsoft.NetCore.Component.Runtime.8.0 | 17.12.35707.178 |
+| Microsoft.NetCore.Component.Runtime.9.0 | 17.12.35707.178 |
+| Microsoft.NetCore.Component.SDK | 17.12.35707.178 |
| Microsoft.NetCore.Component.Web | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.AppInsights.Tools | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.AspNet | 17.12.35410.122 |
@@ -415,7 +414,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Component.Windows11SDK.22621 | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.Windows11SDK.26100 | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.Windows11Sdk.WindowsPerformanceToolkit | 17.12.35410.122 |
-| Microsoft.VisualStudio.Component.WindowsAppSdkSupport.CSharp | 17.12.35410.122 |
+| Microsoft.VisualStudio.Component.WindowsAppSdkSupport.CSharp | 17.12.35707.178 |
| Microsoft.VisualStudio.Component.Workflow | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.WslDebugging | 17.12.35410.122 |
| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native | 17.12.35410.122 |
@@ -461,11 +460,11 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Workload.Python | 17.12.35410.122 |
| Microsoft.VisualStudio.Workload.Universal | 17.12.35410.122 |
| Microsoft.VisualStudio.Workload.VisualStudioExtension | 17.12.35410.122 |
-| runtimes.ios | 9.0.24.52809 |
-| runtimes.ios.net8 | 9.0.24.52809 |
-| runtimes.maccatalyst | 9.0.24.52809 |
-| runtimes.maccatalyst.net8 | 9.0.24.52809 |
-| wasm.tools | 9.0.24.52809 |
+| runtimes.ios | 9.0.124.61010 |
+| runtimes.ios.net8 | 9.0.124.61010 |
+| runtimes.maccatalyst | 9.0.124.61010 |
+| runtimes.maccatalyst.net8 | 9.0.124.61010 |
+| wasm.tools | 9.0.124.61010 |
| ProBITools.MicrosoftAnalysisServicesModelingProjects2022 | 3.0.4 |
| ProBITools.MicrosoftReportProjectsforVisualStudio2022 | 3.0.1 |
| SSIS.MicrosoftDataToolsIntegrationServices | 1.5 |
@@ -496,27 +495,27 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 10.0.26100.0
### .NET Core Tools
-- .NET Core SDK: 6.0.136, 6.0.203, 6.0.321, 6.0.428, 7.0.120, 7.0.203, 7.0.317, 7.0.410, 8.0.111, 8.0.206, 8.0.307, 8.0.404, 9.0.101
+- .NET Core SDK: 6.0.136, 6.0.203, 6.0.321, 6.0.428, 8.0.112, 8.0.206, 8.0.308, 8.0.405, 9.0.102
- .NET Framework: 4.7.2, 4.8, 4.8.1
-- Microsoft.AspNetCore.App: 6.0.5, 6.0.26, 6.0.35, 6.0.36, 7.0.5, 7.0.20, 8.0.6, 8.0.11, 9.0.0
-- Microsoft.NETCore.App: 6.0.5, 6.0.26, 6.0.35, 6.0.36, 7.0.5, 7.0.20, 8.0.6, 8.0.11, 9.0.0
-- Microsoft.WindowsDesktop.App: 6.0.5, 6.0.26, 6.0.36, 7.0.5, 7.0.20, 8.0.6, 8.0.11, 9.0.0
-- nbgv 3.7.112+63bbe780b0
+- Microsoft.AspNetCore.App: 6.0.5, 6.0.26, 6.0.36, 6.0.37, 8.0.6, 8.0.12, 9.0.1
+- Microsoft.NETCore.App: 6.0.5, 6.0.26, 6.0.36, 6.0.37, 8.0.6, 8.0.12, 9.0.1
+- Microsoft.WindowsDesktop.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.12, 9.0.1
+- nbgv 3.7.115+d31f50f4d1
### PowerShell Tools
-- PowerShell 7.4.6
+- PowerShell 7.4.7
#### Powershell Modules
- Az: 12.1.0
-- Azure: 2.1.0 (Default), 5.3.0
-- AzureRM: 2.1.0 (Default), 6.13.1
-- Azure (Cached): 3.8.0.zip, 4.2.1.zip, 5.1.1.zip
-- AzureRM (Cached): 3.8.0.zip, 4.2.1.zip, 5.1.1.zip, 6.7.0.zip
-- AWSPowershell: 4.1.729
+- Azure: 5.3.0
+- AzureRM: 6.13.1
+- Azure (Cached): 5.1.1.zip
+- AzureRM (Cached): 6.7.0.zip
+- AWSPowershell: 4.1.743
- DockerMsftProvider: 1.0.0.8
- MarkdownPS: 1.10
- Microsoft.Graph: 2.25.0
-- Pester: 3.4.0, 5.6.1
+- Pester: 3.4.0, 5.7.1
- PowerShellGet: 1.0.0.1, 2.2.5
- PSScriptAnalyzer: 1.23.0
- PSWindowsUpdate: 2.2.1.5
@@ -532,8 +531,8 @@ All other versions are saved but not installed.
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 8.0 |
-| Android Emulator | 35.2.10 |
-| Android SDK Build-tools | 35.0.0
34.0.0
33.0.0 33.0.1 33.0.2 33.0.3
32.0.0
31.0.0 |
+| Android Emulator | 35.3.11 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0
33.0.0 33.0.1 33.0.2 33.0.3
32.0.0
31.0.0 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3)
android-32 (rev 1)
android-31 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
@@ -555,9 +554,9 @@ All other versions are saved but not installed.
### Cached Docker images
| Repository:Tag | Digest | Created |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ---------- |
-| mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2022 | sha256:c49042631c866daf7ce7337cff2e8c881c8b15e3be6abfed03e0b22b685d4b49 | 2024-12-10 |
-| mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2022 | sha256:81845776459f460d3e50bc4e3fcb0db08f9f36722f5314c4281da3951cbb2fd4 | 2024-12-10 |
-| mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022 | sha256:5dfdecd584d2f7c6852e4e807b6bb308da8f8350a0131ddef3cb0a0e6237523c | 2024-12-10 |
-| mcr.microsoft.com/windows/nanoserver:ltsc2022 | sha256:eb59dfa1056e41b65cb12b679280e29f10d64e2b569b877710e227a77fef223f | 2024-12-05 |
-| mcr.microsoft.com/windows/servercore:ltsc2022 | sha256:cd409960f9b87fcc02e1c236fea3852e1323ffb16d9522bf693330ebf878f5c0 | 2024-12-05 |
+| mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2022 | sha256:84079c734ab5aec702409ef7967ec47af9468c56ff4046882239cabacda78097 | 2025-01-14 |
+| mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2022 | sha256:a2ca87058709f998d60ab5a49bd05db18005363b3368d0061bb48f99ee1658d5 | 2025-01-14 |
+| mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022 | sha256:142e06b06dd9922d1e259c83cc057997a3ae71164ef7589bb3a2aa4f8690b9d8 | 2025-01-14 |
+| mcr.microsoft.com/windows/nanoserver:ltsc2022 | sha256:55474b390b2d25e98450356b381d6dc422e15fb79808970f724c0f34df0b217e | 2025-01-12 |
+| mcr.microsoft.com/windows/servercore:ltsc2022 | sha256:a7faef3c463f53996b00abff1cad6e979c75230bf9a55fdce77fe99c764971a5 | 2025-01-12 |
diff --git a/images/windows/Windows2025-Readme.md b/images/windows/Windows2025-Readme.md
index e5d6456a6..9c1f6bfc9 100644
--- a/images/windows/Windows2025-Readme.md
+++ b/images/windows/Windows2025-Readme.md
@@ -2,14 +2,13 @@
|-|
| [[Windows ] Breaking change : PHP 8.3.* version will be updated to PHP 8.4.* from January 31,2025](https://github.com/actions/runner-images/issues/11256) |
| [Windows Server 2025 is now available](https://github.com/actions/runner-images/issues/11228) |
-| [[Windows] Breaking change : Docker Engine Version 26.* will be updated to Docker Engine Version 27.* from January 17,2025](https://github.com/actions/runner-images/issues/11104) |
+| [[Windows] Breaking change : Docker Engine Version 26.* will be updated to Docker Engine Version 27.* from February 07,2025](https://github.com/actions/runner-images/issues/11104) |
| [[Windows & Ubuntu] Breaking change : Maven 3.8.* version will be updated to Maven 3.9.* from January 17,2025](https://github.com/actions/runner-images/issues/11093) |
| [[Windows & Ubuntu] .NET 7.x will be removed from the images on January 17,2025](https://github.com/actions/runner-images/issues/10894) |
-| [[Windows & Ubuntu] Python 3.7.x will be removed from January 10 ,2025](https://github.com/actions/runner-images/issues/10893) |
***
# Windows Server 2025
-- OS Version: 10.0.26100 Build 2605
-- Image Version: 20250105.1.0
+- OS Version: 10.0.26100 Build 2894
+- Image Version: 20250120.2.0
## Windows features
- Windows Subsystem for Linux (WSLv1): Enabled
@@ -23,23 +22,23 @@
- Julia 1.10.5
- Kotlin 2.1.0
- LLVM 19.1.5
-- Node 22.12.0
+- Node 22.13.0
- Perl 5.40.0
-- PHP 8.3.15
+- PHP 8.3.16
- Python 3.9.13
-- Ruby 3.3.6
+- Ruby 3.3.7
### Package Management
- Chocolatey 2.4.1
- Composer 2.8.4
-- Helm 3.16.3
+- Helm 3.16.4
- Miniconda 24.11.1 (pre-installed on the image but not added to PATH)
-- NPM 10.9.0
-- NuGet 6.12.1.1
+- NPM 10.9.2
+- NuGet 6.12.2.1
- pip 24.3.1 (python 3.9)
- Pipx 1.7.1
- RubyGems 3.5.22
-- Vcpkg (build from commit 65be70199)
+- Vcpkg (build from commit cf035d991)
- Yarn 1.22.22
#### Environment variables
@@ -58,29 +57,29 @@
- 7zip 24.09
- aria2 1.37.0
- azcopy 10.27.1
-- Bazel 8.0.0
+- Bazel 8.0.1
- Bazelisk 1.25.0
- Bicep 0.32.4
- Cabal 3.14.1.1
-- CMake 3.31.3
-- CodeQL Action Bundle 2.20.0
+- CMake 3.31.4
+- CodeQL Action Bundle 2.20.1
- Docker 26.1.3
- Docker Compose v2 2.27.1
- Docker-wincred 0.8.2
- ghc 9.12.1
-- Git 2.47.1.windows.1
-- Git LFS 3.6.0
+- Git 2.47.1.windows.2
+- Git LFS 3.6.1
- ImageMagick 7.1.1-43
- jq 1.7.1
- Kind 0.26.0
-- Kubectl 1.32.0
+- Kubectl 1.32.1
- gcc 14.2.0
- gdb 14.2
-- GNU Binutils 2.42
+- GNU Binutils 2.43
- Newman 6.2.1
- OpenSSL 3.4.0
- Packer 1.11.2
-- Pulumi 3.144.1
+- Pulumi 3.146.0
- R 4.4.2
- Service Fabric SDK 10.1.2493.9590
- Stack 3.3.1
@@ -92,32 +91,32 @@
- zstd 1.5.6
### CLI Tools
-- AWS CLI 2.22.28
+- AWS CLI 2.23.2
- AWS SAM CLI 1.132.0
- AWS Session Manager CLI 1.2.694.0
-- Azure CLI 2.67.0
+- Azure CLI 2.68.0
- Azure DevOps CLI extension 1.0.1
-- GitHub CLI 2.64.0
+- GitHub CLI 2.65.0
### Rust Tools
-- Cargo 1.83.0
-- Rust 1.83.0
-- Rustdoc 1.83.0
+- Cargo 1.84.0
+- Rust 1.84.0
+- Rustdoc 1.84.0
- Rustup 1.27.1
#### Packages
-- Clippy 0.1.83
+- Clippy 0.1.84
- Rustfmt 1.8.0
### Browsers and Drivers
-- Google Chrome 131.0.6778.205
-- Chrome Driver 131.0.6778.204
-- Microsoft Edge 131.0.2903.112
-- Microsoft Edge Driver 131.0.2903.112
-- Mozilla Firefox 133.0.3
+- Google Chrome 132.0.6834.84
+- Chrome Driver 132.0.6834.83
+- Microsoft Edge 132.0.2957.115
+- Microsoft Edge Driver 132.0.2957.115
+- Mozilla Firefox 134.0.1
- Gecko Driver 0.35.0
- IE Driver 4.14.0.0
-- Selenium server 4.27.0
+- Selenium server 4.28.0
#### Environment variables
| Name | Value |
@@ -162,7 +161,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
#### Node.js
- 18.20.5
- 20.18.1
-- 22.12.0
+- 22.13.0
#### Python
- 3.9.13
@@ -178,7 +177,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
#### Ruby
- 3.1.6
- 3.2.6
-- 3.3.6
+- 3.3.7
### Databases
@@ -205,7 +204,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- MySQL 8.0.40.0
- SQL OLEDB Driver 18.7.4.0
- SQLPS 1.0
-- MongoDB Shell (mongosh) 2.3.7
+- MongoDB Shell (mongosh) 2.3.8
### Web Servers
| Name | Version | ConfigFile | ServiceName | ServiceStatus | ListenPort |
@@ -216,7 +215,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
### Visual Studio Enterprise 2022
| Name | Version | Path |
| ----------------------------- | --------------- | -------------------------------------------------------- |
-| Visual Studio Enterprise 2022 | 17.12.35527.113 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise |
+| Visual Studio Enterprise 2022 | 17.12.35707.178 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise |
#### Workloads, components and extensions
| Package | Version |
@@ -240,16 +239,16 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Component.OpenJDK | 17.12.35410.122 |
| Component.UnityEngine.x64 | 17.12.35410.122 |
| Component.Unreal.Ide | 17.12.35410.122 |
-| Component.VisualStudio.GitHub.Copilot | 17.12.35527.66 |
+| Component.VisualStudio.GitHub.Copilot | 17.12.35707.178 |
| Component.VSInstallerProjects2022 | 2.0.1 |
| Component.WixToolset.VisualStudioExtension.Dev17 | 1.0.0.22 |
| Component.WixToolset.VisualStudioExtension.Schemas3 | 1.0.0.22 |
| Component.Xamarin.RemotedSimulator | 17.12.35410.122 |
| ios | 18.1.9163.0 |
| maccatalyst | 18.1.9163.0 |
-| maui.blazor | 9.0.0.11787 |
-| maui.core | 9.0.0.11787 |
-| maui.windows | 9.0.0.11787 |
+| maui.blazor | 9.0.14.12048 |
+| maui.core | 9.0.14.12048 |
+| maui.windows | 9.0.14.12048 |
| Microsoft.Component.Azure.DataLake.Tools | 17.12.35410.122 |
| Microsoft.Component.ClickOnce | 17.12.35410.122 |
| Microsoft.Component.CodeAnalysis.SDK | 17.12.35410.122 |
@@ -273,22 +272,21 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.Net.ComponentGroup.4.8.DeveloperTools | 17.12.35410.122 |
| Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 17.12.35410.122 |
| Microsoft.Net.ComponentGroup.TargetingPacks.Common | 17.12.35410.122 |
-| microsoft.net.runtime.android | 9.0.24.52809 |
-| microsoft.net.runtime.android.aot | 9.0.24.52809 |
-| microsoft.net.runtime.android.aot.net8 | 9.0.24.52809 |
-| microsoft.net.runtime.android.net8 | 9.0.24.52809 |
-| microsoft.net.runtime.ios | 9.0.24.52809 |
-| microsoft.net.runtime.ios.net8 | 9.0.24.52809 |
-| microsoft.net.runtime.maccatalyst | 9.0.24.52809 |
-| microsoft.net.runtime.maccatalyst.net8 | 9.0.24.52809 |
-| microsoft.net.runtime.mono.tooling | 9.0.24.52809 |
-| microsoft.net.runtime.mono.tooling.net8 | 9.0.24.52809 |
-| microsoft.net.sdk.emscripten | 9.0.11.2802 |
+| microsoft.net.runtime.android | 9.0.124.61010 |
+| microsoft.net.runtime.android.aot | 9.0.124.61010 |
+| microsoft.net.runtime.android.aot.net8 | 9.0.124.61010 |
+| microsoft.net.runtime.android.net8 | 9.0.124.61010 |
+| microsoft.net.runtime.ios | 9.0.124.61010 |
+| microsoft.net.runtime.ios.net8 | 9.0.124.61010 |
+| microsoft.net.runtime.maccatalyst | 9.0.124.61010 |
+| microsoft.net.runtime.maccatalyst.net8 | 9.0.124.61010 |
+| microsoft.net.runtime.mono.tooling | 9.0.124.61010 |
+| microsoft.net.runtime.mono.tooling.net8 | 9.0.124.61010 |
+| microsoft.net.sdk.emscripten | 9.0.11.10403 |
| Microsoft.NetCore.Component.DevelopmentTools | 17.12.35410.122 |
-| Microsoft.NetCore.Component.Runtime.6.0 | 17.12.35504.99 |
-| Microsoft.NetCore.Component.Runtime.8.0 | 17.12.35504.99 |
-| Microsoft.NetCore.Component.Runtime.9.0 | 17.12.35527.66 |
-| Microsoft.NetCore.Component.SDK | 17.12.35527.66 |
+| Microsoft.NetCore.Component.Runtime.8.0 | 17.12.35707.178 |
+| Microsoft.NetCore.Component.Runtime.9.0 | 17.12.35707.178 |
+| Microsoft.NetCore.Component.SDK | 17.12.35707.178 |
| Microsoft.NetCore.Component.Web | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.AppInsights.Tools | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.AspNet | 17.12.35410.122 |
@@ -396,7 +394,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Component.Windows11SDK.22621 | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.Windows11SDK.26100 | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.Windows11Sdk.WindowsPerformanceToolkit | 17.12.35410.122 |
-| Microsoft.VisualStudio.Component.WindowsAppSdkSupport.CSharp | 17.12.35410.122 |
+| Microsoft.VisualStudio.Component.WindowsAppSdkSupport.CSharp | 17.12.35707.178 |
| Microsoft.VisualStudio.Component.Workflow | 17.12.35410.122 |
| Microsoft.VisualStudio.Component.WslDebugging | 17.12.35410.122 |
| Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native | 17.12.35410.122 |
@@ -442,11 +440,11 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Workload.Python | 17.12.35410.122 |
| Microsoft.VisualStudio.Workload.Universal | 17.12.35410.122 |
| Microsoft.VisualStudio.Workload.VisualStudioExtension | 17.12.35410.122 |
-| runtimes.ios | 9.0.24.52809 |
-| runtimes.ios.net8 | 9.0.24.52809 |
-| runtimes.maccatalyst | 9.0.24.52809 |
-| runtimes.maccatalyst.net8 | 9.0.24.52809 |
-| wasm.tools | 9.0.24.52809 |
+| runtimes.ios | 9.0.124.61010 |
+| runtimes.ios.net8 | 9.0.124.61010 |
+| runtimes.maccatalyst | 9.0.124.61010 |
+| runtimes.maccatalyst.net8 | 9.0.124.61010 |
+| wasm.tools | 9.0.124.61010 |
| ProBITools.MicrosoftAnalysisServicesModelingProjects2022 | 3.0.4 |
| ProBITools.MicrosoftReportProjectsforVisualStudio2022 | 3.0.1 |
| SSIS.MicrosoftDataToolsIntegrationServices | 1.5 |
@@ -472,23 +470,23 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 10.0.26100.0
### .NET Core Tools
-- .NET Core SDK: 8.0.111, 8.0.206, 8.0.307, 8.0.404, 9.0.101
+- .NET Core SDK: 8.0.112, 8.0.206, 8.0.308, 8.0.405, 9.0.102
- .NET Framework: 4.8, 4.8.1
-- Microsoft.AspNetCore.App: 6.0.36, 8.0.6, 8.0.11, 9.0.0
-- Microsoft.NETCore.App: 6.0.36, 8.0.6, 8.0.11, 9.0.0
-- Microsoft.WindowsDesktop.App: 6.0.36, 8.0.6, 8.0.11, 9.0.0
-- nbgv 3.7.112+63bbe780b0
+- Microsoft.AspNetCore.App: 8.0.6, 8.0.12, 9.0.1
+- Microsoft.NETCore.App: 8.0.6, 8.0.12, 9.0.1
+- Microsoft.WindowsDesktop.App: 8.0.6, 8.0.12, 9.0.1
+- nbgv 3.7.115+d31f50f4d1
### PowerShell Tools
- PowerShell 7.4.6
#### Powershell Modules
- Az: 12.4.0
-- AWSPowershell: 4.1.729
+- AWSPowershell: 4.1.739
- DockerMsftProvider: 1.0.0.8
- MarkdownPS: 1.10
- Microsoft.Graph: 2.25.0
-- Pester: 3.4.0, 5.6.1
+- Pester: 3.4.0, 5.7.1
- PowerShellGet: 1.0.0.1, 2.2.5
- PSScriptAnalyzer: 1.23.0
- PSWindowsUpdate: 2.2.1.5
@@ -499,8 +497,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
-| Android Emulator | 35.2.10 |
-| Android SDK Build-tools | 35.0.0
34.0.0 |
+| Android Emulator | 35.3.11 |
+| Android SDK Build-tools | 35.0.0 35.0.1
34.0.0 |
| Android SDK Platforms | android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
diff --git a/images/windows/scripts/build/Install-EdgeDriver.ps1 b/images/windows/scripts/build/Install-EdgeDriver.ps1
index 6d10d6e5d..e8f07b7de 100644
--- a/images/windows/scripts/build/Install-EdgeDriver.ps1
+++ b/images/windows/scripts/build/Install-EdgeDriver.ps1
@@ -27,7 +27,7 @@ Write-Host "Expand Microsoft Edge WebDriver archive..."
Expand-7ZipArchive -Path $archivePath -DestinationPath $edgeDriverPath
#Validate the EdgeDriver signature
-$signatureThumbprint = "0BD8C56733FDCC06F8CB919FF5A200E39B1ACF71"
+$signatureThumbprint = "7920AC8FB05E0FFFE21E8FF4B4F03093BA6AC16E"
Test-FileSignature -Path "$edgeDriverPath\msedgedriver.exe" -ExpectedThumbprint $signatureThumbprint
Write-Host "Setting the environment variables..."
diff --git a/images/windows/scripts/build/Install-PostgreSQL.ps1 b/images/windows/scripts/build/Install-PostgreSQL.ps1
index 2bad88580..bb5369a65 100644
--- a/images/windows/scripts/build/Install-PostgreSQL.ps1
+++ b/images/windows/scripts/build/Install-PostgreSQL.ps1
@@ -58,13 +58,24 @@ if ($null -ne ($toolsetVersion | Select-String -Pattern '\d+\.\d+\.\d+')) {
} while (!$response)
}
+if ((Get-ToolsetContent).postgresql.installVcRedist) {
+ # Postgres 14 requires the vs 17 redistributable
+ $vs17RedistUrl = "https://aka.ms/vs/17/release/vc_redist.x64.exe"
+ Install-Binary `
+ -Url $vs17RedistUrl `
+ -InstallArgs @("/install", "/quiet", "/norestart") `
+ -ExpectedSignature (Get-ToolsetContent).postgresql.vcRedistSignature
+}
+
# Return the previous value of ErrorAction and invoke Install-Binary function
$ErrorActionPreference = $errorActionOldValue
$installerArgs = @("--install_runtimes 0", "--superpassword root", "--enable_acledit 1", "--unattendedmodeui none", "--mode unattended")
+
Install-Binary `
-Url $installerUrl `
-InstallArgs $installerArgs `
- -ExpectedSignature (Get-ToolsetContent).postgresql.signature
+ -ExpectedSignature (Get-ToolsetContent).postgresql.signature `
+ -InstallerLogPath "$env:TEMP\**\install-postgresql.log"
# Get Path to pg_ctl.exe
$pgPath = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").PathName
diff --git a/images/windows/scripts/helpers/InstallHelpers.ps1 b/images/windows/scripts/helpers/InstallHelpers.ps1
index 67faade1d..219d30cdd 100644
--- a/images/windows/scripts/helpers/InstallHelpers.ps1
+++ b/images/windows/scripts/helpers/InstallHelpers.ps1
@@ -30,6 +30,10 @@ function Install-Binary {
.PARAMETER ExpectedSHA512Sum
The expected SHA512 sum of the binary. If specified, the binary's SHA512 sum is checked before installation.
+ .PARAMETER InstallerLogPath
+ The path to the log file which is produced when the installation fails. This can be used for debugging purposes.
+ This is only displayed when the installation fails.
+
.EXAMPLE
Install-Binary -Url "https://go.microsoft.com/fwlink/p/?linkid=2083338" -Type EXE -InstallArgs ("/features", "+", "/quiet") -ExpectedSignature "A5C7D5B7C838D5F89DDBEDB85B2C566B4CDA881F"
#>
@@ -46,7 +50,8 @@ function Install-Binary {
[String[]] $ExtraInstallArgs,
[String[]] $ExpectedSignature,
[String] $ExpectedSHA256Sum,
- [String] $ExpectedSHA512Sum
+ [String] $ExpectedSHA512Sum,
+ [String] $InstallerLogPath
)
if ($PSCmdlet.ParameterSetName -eq "LocalPath") {
@@ -122,6 +127,15 @@ function Install-Binary {
} else {
Write-Host "Installation process returned unexpected exit code: $exitCode"
Write-Host "Time elapsed: $installCompleteTime seconds"
+
+ if ($InstallerLogPath) {
+ Write-Host "Searching for logs maching $InstallerLogPath pattern"
+ Get-ChildItem -Recurse -Path $InstallerLogPath | ForEach-Object {
+ Write-Output "Found Installer Log: $InstallerLogPath"
+ Write-Output "File content:"
+ Get-Content -Path $_.FullName
+ }
+ }
exit $exitCode
}
} catch {
@@ -438,13 +452,15 @@ function Get-WindowsUpdateStates {
19 {
$state = "Installed"
$title = $event.Properties[0].Value
- $completedUpdates[$title] = ""
+ $completedUpdates[$title] = $state
break
}
20 {
$state = "Failed"
$title = $event.Properties[1].Value
- $completedUpdates[$title] = ""
+ if (-not $completedUpdates.ContainsKey($title)) {
+ $completedUpdates[$title] = $state
+ }
break
}
43 {
@@ -454,8 +470,13 @@ function Get-WindowsUpdateStates {
}
}
- # Skip update started event if it was already completed
- if ( $state -eq "Running" -and $completedUpdates.ContainsKey($title) ) {
+ # Skip Running update event if it was already completed
+ if ( ($state -eq "Running") -and $completedUpdates.ContainsKey($title) ) {
+ continue
+ }
+
+ # Skip Failed update event if it was already successfully installed
+ if ( ($state -eq "Failed") -and $completedUpdates[$title] -eq "Installed" ) {
continue
}
diff --git a/images/windows/toolsets/toolset-2019.json b/images/windows/toolsets/toolset-2019.json
index 23f80a2dc..d547586c2 100644
--- a/images/windows/toolsets/toolset-2019.json
+++ b/images/windows/toolsets/toolset-2019.json
@@ -7,7 +7,8 @@
"versions": [
"3.0",
"3.1",
- "3.2"
+ "3.2",
+ "3.3"
],
"default": "3.0"
},
@@ -21,7 +22,8 @@
"3.9.*",
"3.10.*",
"3.11.*",
- "3.12.*"
+ "3.12.*",
+ "3.13.*"
],
"default": "3.9.*"
},
@@ -35,7 +37,8 @@
"3.9.*",
"3.10.*",
"3.11.*",
- "3.12.*"
+ "3.12.*",
+ "3.13.*"
]
},
{
@@ -93,29 +96,22 @@
{
"name": "azurerm",
"versions": [
- "2.1.0",
"6.13.1"
],
"zip_versions": [
- "3.8.0",
- "4.2.1",
- "5.1.1",
"6.7.0"
],
- "default": "2.1.0"
+ "default": "6.13.1"
},
{
"name": "azure",
"versions": [
- "2.1.0",
"5.3.0"
],
"zip_versions": [
- "3.8.0",
- "4.2.1",
"5.1.1"
],
- "default": "2.1.0"
+ "default": "5.3.0"
},
{
"name": "az",
@@ -247,8 +243,8 @@
"subversion" : "16",
"edition" : "Enterprise",
"channel": "release",
- "signature": ["F9A7CF9FBE13BAC767F4781061332DA6E8B4E0EE",
- "245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D"
+ "signature": [
+ "8F985BE8FD256085C90A95D3C74580511A1DB975"
],
"workloads": [
"Component.Dotfuscator",
@@ -419,8 +415,8 @@
"choco": {
"common_packages": [
{ "name": "7zip.install" },
- { "name": "aria2" },
{ "name": "azcopy10" },
+ { "name": "aria2" },
{ "name": "Bicep" },
{ "name": "gitversion.portable"},
{ "name": "innosetup" },
@@ -463,19 +459,16 @@
"version": "3.10"
},
"php": {
- "version": "8.3"
+ "version": "8.4"
},
"llvm": {
"version": "18"
},
"postgresql": {
- "version": "14.12.1",
"signature": "698BA51AA27CC31282AACA5055E4B9190BC6C0E9",
- "pinnedDetails": {
- "link": "https://github.com/EnterpriseDB/edb-installers/issues/196#issuecomment-2489021239",
- "reason": "this was pinned due to a downstream issue with the installer",
- "review-at": "2023-12-31"
- }
+ "version": "14",
+ "vcRedistSignature": "245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D",
+ "installVcRedist": true
},
"kotlin": {
"version": "latest"
diff --git a/images/windows/toolsets/toolset-2022.json b/images/windows/toolsets/toolset-2022.json
index 8f2b34269..5ab5d6e85 100644
--- a/images/windows/toolsets/toolset-2022.json
+++ b/images/windows/toolsets/toolset-2022.json
@@ -7,7 +7,8 @@
"versions": [
"3.0",
"3.1",
- "3.2"
+ "3.2",
+ "3.3"
],
"default": "3.0"
},
@@ -21,7 +22,8 @@
"3.9.*",
"3.10.*",
"3.11.*",
- "3.12.*"
+ "3.12.*",
+ "3.13.*"
],
"default": "3.9.*"
},
@@ -35,7 +37,8 @@
"3.9.*",
"3.10.*",
"3.11.*",
- "3.12.*"
+ "3.12.*",
+ "3.13.*"
]
},
{
@@ -92,29 +95,22 @@
{
"name": "azurerm",
"versions": [
- "2.1.0",
"6.13.1"
],
"zip_versions": [
- "3.8.0",
- "4.2.1",
- "5.1.1",
"6.7.0"
],
- "default": "2.1.0"
+ "default": "6.13.1"
},
{
"name": "azure",
"versions": [
- "2.1.0",
"5.3.0"
],
"zip_versions": [
- "3.8.0",
- "4.2.1",
"5.1.1"
],
- "default": "2.1.0"
+ "default": "5.3.0"
},
{
"name": "az",
@@ -376,17 +372,13 @@
"version": "18"
},
"php": {
- "version": "8.3"
+ "version": "8.4"
},
"postgresql": {
- "version": "14.12.1",
"signature": "698BA51AA27CC31282AACA5055E4B9190BC6C0E9",
- "pinnedDetails": {
- "link": "https://github.com/actions/runner-images-internal/pull/6702",
- "reason": "Meaningful reason must be added at next update.",
- "review-at": "2025-06-01",
- "type": "preexisting-pinned-version-without-reason"
- }
+ "version": "14",
+ "vcRedistSignature": "245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D",
+ "installVcRedist": true
},
"kotlin": {
"version": "latest"
diff --git a/images/windows/toolsets/toolset-2025.json b/images/windows/toolsets/toolset-2025.json
index 2a413f891..22e3b5ef5 100644
--- a/images/windows/toolsets/toolset-2025.json
+++ b/images/windows/toolsets/toolset-2025.json
@@ -314,7 +314,7 @@
"version": "19"
},
"php": {
- "version": "8.3"
+ "version": "8.4"
},
"postgresql": {
"version": "17",