[macOS] Add macOS 26 Intel; deprecate macOS 13 code (#13634)

* [macOS] Add macOS 26 Intel; deprecate macOS 13 code

* Update images/macos/toolsets/toolset-26.json

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
This commit is contained in:
Erik Bershel
2026-02-06 11:24:37 +01:00
committed by GitHub
co-authored by Copilot
parent 71f0157880
commit 087bdcd997
29 changed files with 370 additions and 1508 deletions
@@ -49,8 +49,3 @@ function Test-SimulatorInstalled {
# First run doesn't provide full data about devices
Get-XcodeInfoList | Out-Null
Write-Host "Validating and fixing Xcode simulators..."
Get-BrokenXcodeSimulatorsList | ForEach-Object {
Test-SimulatorInstalled -RuntimeId $_.RuntimeId -DeviceId $_.DeviceId -SimulatorName $_.SimulatorName -XcodeVersion $_.XcodeVersion
}
@@ -42,7 +42,7 @@ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.PerfPowerServic
# Remove Parallels Desktop
# https://github.com/actions/runner-images/issues/6105
# https://github.com/actions/runner-images/issues/10143
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64; then
brew uninstall parallels
fi
@@ -48,12 +48,7 @@ systemValuesArray=(
"'kTCCServiceSystemPolicyNetworkVolumes','com.apple.Terminal',0,2,4,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,0,'UNUSED',NULL,0,1678990068"
)
for values in "${systemValuesArray[@]}"; do
if ! is_Ventura; then
# TCC access table in Sonoma and later has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
else
configure_system_tccdb "$values"
fi
configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
done
# $HOME/Library/Application\ Support/com.apple.TCC/TCC.db
@@ -100,10 +95,5 @@ userValuesArray=(
"'kTCCServiceUbiquity','com.apple.mail',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1551941469"
)
for values in "${userValuesArray[@]}"; do
if ! is_Ventura; then
# TCC access table in Sonoma and later has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
else
configure_user_tccdb "$values"
fi
configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
done
@@ -6,7 +6,7 @@
source ~/utils/utils.sh
# Close System Preferences window because in Ventura arm64 it is opened by default on Apperance tab
# Close System Preferences window because since Ventura arm64 it is opened by default on Apperance tab
if is_Arm64; then
echo "Close System Preferences window"
osascript -e 'tell application "System Preferences" to quit'
@@ -17,7 +17,7 @@ for package in $common_packages; do
tcl-tk@8)
brew_smart_install "$package"
if is_VenturaX64 || is_SonomaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64 || is_TahoeX64; then
# 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
@@ -42,22 +42,19 @@ for package in $cask_packages; do
done
# Load "Parallels International GmbH"
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64; 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, macOS14 and macOS15
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64; 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_VenturaX64; then
osascript $HOME/utils/confirm-identified-developers-macos13.scpt $USER_PASSWORD
fi
osascript -e 'tell application "System Events" to get application processes where visible is true'
if is_SonomaX64; then
osascript $HOME/utils/confirm-identified-developers-macos14.scpt $USER_PASSWORD
fi
@@ -65,6 +62,7 @@ if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SequoiaX64; then
osascript $HOME/utils/confirm-identified-developers-macos15.scpt $USER_PASSWORD
fi
} && break
if [[ $retry -eq 0 ]]; then
@@ -78,7 +76,7 @@ if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
fi
# Validate "Parallels International GmbH" kext
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64; then
echo "Closing System Settings window if it is still opened"
killall "System Settings" || true
@@ -1,87 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-pypy.sh
## Desc: Install PyPy
################################################################################
source ~/utils/utils.sh
InstallPyPy() {
local package_url=$1
PACKAGE_TAR_NAME=$(basename $package_url)
echo "Downloading tar archive '$PACKAGE_TAR_NAME'"
archive_path=$(download_with_retry $package_url)
echo "Expand '$PACKAGE_TAR_NAME' to the /tmp folder"
tar xf $archive_path -C /tmp
# Get Python version
PACKAGE_NAME=${PACKAGE_TAR_NAME/.tar.bz2/}
MAJOR_VERSION=$(echo ${PACKAGE_NAME/pypy/} | cut -d. -f1)
PYTHON_MAJOR="python$MAJOR_VERSION"
if [[ $MAJOR_VERSION != 2 ]]; then
PYPY_MAJOR="pypy$MAJOR_VERSION"
else
PYPY_MAJOR="pypy"
fi
PACKAGE_TEMP_FOLDER="/tmp/$PACKAGE_NAME"
PYTHON_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(sys.version_info[0],sys.version_info[1],sys.version_info[2]))")
PYPY_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(*sys.pypy_version_info[0:3]))")
echo "Put '$PYPY_FULL_VERSION' to PYPY_VERSION file"
echo $PYPY_FULL_VERSION > "$PACKAGE_TEMP_FOLDER/PYPY_VERSION"
# PyPy folder structure
PYPY_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/PyPy
PYPY_TOOLCACHE_VERSION_PATH=$PYPY_TOOLCACHE_PATH/$PYTHON_FULL_VERSION
PYPY_TOOLCACHE_VERSION_ARCH_PATH=$PYPY_TOOLCACHE_VERSION_PATH/x64
echo "Check if PyPy hostedtoolcache folder exist..."
if [[ ! -d $PYPY_TOOLCACHE_PATH ]]; then
mkdir -p $PYPY_TOOLCACHE_PATH
fi
echo "Create PyPy '$PYPY_TOOLCACHE_VERSION_PATH' folder"
mkdir $PYPY_TOOLCACHE_VERSION_PATH
echo "Move PyPy $PACKAGE_TEMP_FOLDER binaries to $PYPY_TOOLCACHE_VERSION_ARCH_PATH folder"
mv $PACKAGE_TEMP_FOLDER $PYPY_TOOLCACHE_VERSION_ARCH_PATH
echo "Create additional symlinks (Required for UsePythonVersion Azure DevOps task)"
cd $PYPY_TOOLCACHE_VERSION_ARCH_PATH/bin
PYPY_FULL_VERSION=$(./$PYPY_MAJOR -c "import sys;print('{}.{}.{}'.format(*sys.pypy_version_info[0:3]))")
echo "PYPY_FULL_VERSION is $PYPY_FULL_VERSION"
echo $PYPY_FULL_VERSION > "PYPY_VERSION"
# Starting from PyPy 7.3.4 these links are already included in the package
[[ -f ./$PYTHON_MAJOR ]] || ln -s $PYPY_MAJOR $PYTHON_MAJOR
[[ -f ./python ]] || ln -s $PYTHON_MAJOR python
chmod +x ./python ./$PYTHON_MAJOR
echo "Install latest Pip"
./python -m ensurepip
./python -m pip install --ignore-installed pip
echo "Create complete file"
touch $PYPY_TOOLCACHE_VERSION_PATH/x64.complete
}
arch=$(get_arch)
versions_json_path=$(download_with_retry "https://downloads.python.org/pypy/versions.json")
toolsetVersions=$(get_toolset_value '.toolcache[] | select(.name | contains("PyPy")) | .arch.'$arch'.versions[]')
for toolsetVersion in $toolsetVersions; do
latestMajorPyPyVersion=$(cat $versions_json_path |
jq -r --arg toolsetVersion $toolsetVersion '.[]
| select((.python_version | startswith($toolsetVersion)) and .stable == true).files[]
| select(.platform == "darwin").download_url' | head -1)
if [[ -z $latestMajorPyPyVersion ]]; then
echo "Failed to get PyPy version $toolsetVersion"
exit 1
fi
InstallPyPy $latestMajorPyPyVersion
done
@@ -37,7 +37,7 @@ $languageAndRuntime.AddNodes($(Get-ClangLLVMVersions))
$languageAndRuntime.AddNodes($(Get-GccVersions))
$languageAndRuntime.AddNodes($(Get-FortranVersions))
$languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion))
if (($os.IsVentura -or $os.IsSonoma)) {
if (($os.IsSonoma)) {
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
}
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
@@ -58,15 +58,13 @@ if ((-not $os.IsArm64)) {
}
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
if (($os.IsVentura -or $os.IsSonoma)) {
if (($os.IsSonoma)) {
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
}
$packageManagement.AddToolVersion("Pip3", $(Get-Pip3Version))
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
$packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion))
if (-not $os.IsVenturaArm64) {
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
}
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
# Project Management
@@ -174,12 +172,12 @@ $android.AddTable($androidTable)
$androidEnv = $android.AddHeader("Environment variables")
$androidEnv.AddTable($(Build-AndroidEnvironmentTable))
if ($os.IsSonoma -or $os.IsVentura -or $os.IsSequoia) {
if (($os.IsSonoma -or $os.IsSequoia -or $os.IsTahoe)) {
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
$miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion))
}
if ((-not $os.IsArm64)) {
if (($os.IsSonomaX64 -or $os.IsSequoiaX64)) {
Write-Host "Adding environment variables for parallels"
@@ -1,7 +1,5 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion
function Get-ToolcacheRubyVersions {
$toolcachePath = Join-Path $env:HOME "hostedtoolcache" "Ruby"
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
@@ -12,17 +10,6 @@ function Get-ToolcachePythonVersions {
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
}
function Get-ToolcachePyPyVersions {
$toolcachePath = Join-Path $env:HOME "hostedtoolcache/PyPy/*/x64"
Get-ChildItem -Path $toolcachePath | Sort-Object { [Version] $_.Parent.Name } | ForEach-Object {
$foundVersionPath = $_.FullName
$foundVersionName = (Get-Item ($foundVersionPath -replace "x64") | Sort-Object -Property {[version]$_.name} -Descending | Select-Object -First 1).name
$arrPyPyVersion = ((& "$foundVersionPath/bin/python" -c "import sys;print(sys.version.split('\n')[1])") -split " ")
$pypyVersion = "$($arrPyPyVersion[0]) $($arrPyPyVersion[1])"
return "{0} {1}]" -f $foundVersionName, $pypyVersion
}
}
function Get-ToolcacheNodeVersions {
$toolcachePath = Join-Path $env:HOME "hostedtoolcache" "Node"
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
@@ -36,13 +23,6 @@ function Get-ToolcacheGoVersions {
function Build-ToolcacheSection {
$nodes = @()
if ($os.IsVenturaX64) {
$nodes += @(
[ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List")
)
}
$nodes += @(
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
[ToolVersionsListNode]::new("Python", $(Get-ToolcachePythonVersions), '^\d+\.\d+', "List"),
@@ -1,8 +1,6 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/../helpers/Xcode.Helpers.psm1"
$os = Get-OSVersion
function Get-XcodePaths {
$xcodePaths = Get-ChildItem -Path "/Applications" -Filter "Xcode_*.app" | Where-Object { !$_.LinkType }
return $xcodePaths | Select-Object -ExpandProperty Fullname
@@ -29,9 +29,6 @@ function Get-OSVersion {
Version = $osVersion.Version
Platform = $osVersion.Platform
IsArm64 = $processorArchitecture -eq "arm64"
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")
IsSonoma = $($osVersion.Version.Major -eq "14")
IsSonomaArm64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -eq "arm64")
IsSonomaX64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -ne "arm64")
@@ -39,6 +36,8 @@ function Get-OSVersion {
IsSequoiaArm64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -eq "arm64")
IsSequoiaX64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -ne "arm64")
IsTahoe = $($osVersion.Version.Major -eq "26")
IsTahoeArm64 = $($osVersion.Version.Major -eq "26" -and $processorArchitecture -eq "arm64")
IsTahoeX64 = $($osVersion.Version.Major -eq "26" -and $processorArchitecture -ne "arm64")
}
}
@@ -156,157 +156,3 @@ function Invoke-XCVersion {
throw "Command [$Command] has finished with non-zero exit code."
}
}
function Get-BrokenXcodeSimulatorsList {
return @(
# tvOS Simulators
@{
SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-15-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-15-2";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-15-4";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-16-0";
XcodeVersion = "14.2"
},
# watchOS-8-0 Simulators
@{
SimulatorName = "Apple Watch Series 5 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 5 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 41mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 45mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
# watchOS-8-3 Simulators
@{
SimulatorName = "Apple Watch Series 5 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 5 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 41mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 45mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
# watchOS-8-5 Simulators
@{
SimulatorName = "Apple Watch Series 5 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 5 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 41mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 45mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
# watchOS-9-0 Simulators
@{
SimulatorName = "Apple Watch SE (40mm) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-40mm-2nd-generation";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-9-0";
XcodeVersion = "14.2"
},
@{
SimulatorName = "Apple Watch SE (44mm) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-44mm-2nd-generation";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-9-0";
XcodeVersion = "14.2"
}
)
}
@@ -98,7 +98,7 @@ function Approve-XcodeLicense {
Write-Host "Approving Xcode license for '$XcodeRootPath'..."
$xcodeBuildPath = Get-XcodeToolPath -XcodeRootPath $XcodeRootPath -ToolName "xcodebuild"
if ($os.IsVentura -or $os.IsSonoma) {
if ($os.IsSonoma) {
Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept" -Timeout 15
} else {
Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept"
@@ -1,34 +0,0 @@
# This AppleScript clicks "Allow" for "System Software from developer "Parallels International GmbH"
# Steps:
# - Open System Settings -> Privacy & Security
# - Click 'Allow' for 'System Software from developer "Parallels International GmbH'
# - Enter password for runner
on run argv
set userpassword to item 1 of argv
tell application "System Settings"
activate
delay 5
end tell
tell application "System Events"
tell process "System Settings"
set frontmost to true
repeat until exists window 1
delay 2
end repeat
tell splitter group 1 of group 1 of window 1
select row 20 of outline 1 of scroll area 1 of group 1
delay 5
click UI Element 2 of group 4 of scroll area 1 of group 1 of group 2
delay 5
keystroke userpassword
delay 5
keystroke return
delay 5
end tell
end tell
end tell
end run
+8 -12
View File
@@ -49,6 +49,14 @@ is_Tahoe() {
[ "$OSTYPE" = "darwin25" ]
}
is_TahoeArm64() {
is_Tahoe && is_Arm64
}
is_TahoeX64() {
is_Tahoe && ! is_Arm64
}
is_Sequoia() {
[ "$OSTYPE" = "darwin24" ]
}
@@ -73,18 +81,6 @@ is_SonomaX64() {
is_Sonoma && ! is_Arm64
}
is_Ventura() {
[ "$OSTYPE" = "darwin22" ]
}
is_VenturaArm64() {
is_Ventura && is_Arm64
}
is_VenturaX64() {
is_Ventura && ! is_Arm64
}
get_toolset_value() {
local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json")
local query=$1
@@ -56,7 +56,7 @@ Describe "Perl" {
}
}
Describe "Tcl/Tk" -Skip:(-not ($os.IsVenturaX64 -or $os.IsSonomaX64)) {
Describe "Tcl/Tk" -Skip:($os.IsArm64) {
It "libtcl" {
Test-Path "/usr/local/lib/libtcl8.6.dylib" | Should -BeTrue
Test-Path "/usr/local/lib/libtk8.6.dylib" | Should -BeTrue
+1 -1
View File
@@ -33,7 +33,7 @@ Describe "GCC" {
}
}
Describe "vcpkg" -Skip:($os.IsVenturaArm64) {
Describe "vcpkg" {
It "vcpkg" {
"vcpkg version" | Should -ReturnZeroExitCode
}
+1 -1
View File
@@ -14,7 +14,7 @@ BeforeAll {
}
}
if ($os.IsVentura -or $os.IsSonoma) {
if ($os.IsSonoma) {
Describe "Mono" {
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
$monoToolsetVersion = @((Get-ToolsetContent).mono.framework.version)
@@ -99,49 +99,6 @@ Describe "Toolcache" {
}
}
}
Context "PyPy" -Skip:(-not $os.IsVenturaX64) {
$pypyDirectory = Join-Path $toolcacheDirectory "PyPy"
$pypyPackage = $packages | Where-Object { $_.ToolName -eq "pypy" } | Select-Object -First 1
$testCase = @{ PypyDirectory = $pypyDirectory }
It "Toolcache directory exists" -TestCases $testCase {
param ( [string] $PypyDirectory )
$PypyDirectory | Should -Exist
}
It "Toolcache directory contains at least one version of PyPy" -TestCases $testCase {
param ( [string] $PypyDirectory )
(Get-ChildItem -Path $PypyDirectory -Directory).Count | Should -BeGreaterThan 0
}
$pypyPackage.Versions | Where-Object { $_ } | ForEach-Object {
Context "$_" {
$versionDirectory = Get-ChildItem -Path $pypyDirectory -Directory -Filter "$_*" | Select-Object -First 1
$binFilename = If ($_.StartsWith("3")) { "pypy3" } else { "pypy" }
$pypyBinPath = Join-Path $versionDirectory.FullName $pypyPackage.Arch "bin" $binFilename
$testCase = @{ PypyVersion = $_; PypyBinPath = $pypyBinPath }
It "Version" -TestCases $testCase {
param (
[string] $PypyVersion,
[string] $PypyBinPath
)
$result = Get-CommandResult "$PypyBinPath --version"
$result.Output | Should -BeLike "*$PypyVersion*"
$result.ExitCode | Should -Be 0
}
It "Run test script" -TestCases $testCase {
param ( [string] $PypyBinPath )
"$PypyBinPath -c 'import sys;print(sys.version)'" | Should -ReturnZeroExitCode
}
}
}
}
Context "Node" {
$nodeDirectory = Join-Path $toolcacheDirectory "node"