[macOS] Add parallels to macOS 15 images. (#11749)

---------

Co-authored-by: sureshe456 <160699174+sureshe456@users.noreply.github.com>
Co-authored-by: Erik Bershel <110455084+erik-bershel@users.noreply.github.com>
This commit is contained in:
susmitamane
2025-03-11 20:56:27 +05:30
committed by GitHub
parent ea2cbb444d
commit ab54edda7e
6 changed files with 49 additions and 8 deletions

View File

@@ -12,7 +12,7 @@ close_finder_window
# Remove Parallels Desktop # Remove Parallels Desktop
# https://github.com/actions/runner-images/issues/6105 # https://github.com/actions/runner-images/issues/6105
# https://github.com/actions/runner-images/issues/10143 # https://github.com/actions/runner-images/issues/10143
if is_SonomaX64 || is_VenturaX64; then if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
brew uninstall parallels brew uninstall parallels
fi fi

View File

@@ -35,13 +35,13 @@ for package in $cask_packages; do
done done
# Load "Parallels International GmbH" # Load "Parallels International GmbH"
if is_SonomaX64 || is_VenturaX64; then if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true
fi fi
# Execute AppleScript to change security preferences for macOS12, macOS13 and macOS14 # Execute AppleScript to change security preferences for macOS12, macOS13, macOS14 and macOS15
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now # System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
if is_SonomaX64 || is_VenturaX64; then if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
for retry in {4..0}; do for retry in {4..0}; do
echo "Executing AppleScript to change security preferences. Retries left: $retry" echo "Executing AppleScript to change security preferences. Retries left: $retry"
{ {
@@ -54,6 +54,9 @@ if is_SonomaX64 || is_VenturaX64; then
if is_SonomaX64; then if is_SonomaX64; then
osascript $HOME/utils/confirm-identified-developers-macos14.scpt $USER_PASSWORD osascript $HOME/utils/confirm-identified-developers-macos14.scpt $USER_PASSWORD
fi fi
if is_SequoiaX64; then
osascript $HOME/utils/confirm-identified-developers-macos15.scpt $USER_PASSWORD
fi
} && break } && break
if [[ $retry -eq 0 ]]; then if [[ $retry -eq 0 ]]; then
@@ -67,7 +70,7 @@ if is_SonomaX64 || is_VenturaX64; then
fi fi
# Validate "Parallels International GmbH" kext # Validate "Parallels International GmbH" kext
if is_SonomaX64 || is_VenturaX64; then if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
echo "Closing System Settings window if it is still opened" echo "Closing System Settings window if it is still opened"
killall "System Settings" || true killall "System Settings" || true

View File

@@ -174,12 +174,15 @@ $android.AddTable($androidTable)
$androidEnv = $android.AddHeader("Environment variables") $androidEnv = $android.AddHeader("Environment variables")
$androidEnv.AddTable($(Build-AndroidEnvironmentTable)) $androidEnv.AddTable($(Build-AndroidEnvironmentTable))
if ($os.IsSonoma -or $os.IsVentura) { if ($os.IsSonoma -or $os.IsVentura -or $os.IsSequoiaX64) {
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous") $miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
}
if ($os.IsSonoma -or $os.IsVentura) {
$miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion)) $miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion))
} }
if ($os.IsSonomaX64 -or $os.IsVenturaX64) { if ($os.IsSonomaX64 -or $os.IsVenturaX64 -or $os.IsSequoiaX64) {
Write-Host "Adding environment variables for parallels" Write-Host "Adding environment variables for parallels"

View File

@@ -0,0 +1,34 @@
# 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 27 of outline 1 of scroll area 1 of group 1
delay 5
click UI element 1 of row 27 of outline 1 of scroll area 1 of group 1
delay 5
keystroke userpassword
delay 5
keystroke return
delay 5
end tell
end tell
end tell
end run

View File

@@ -156,6 +156,7 @@ build {
inline = [ inline = [
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report", "mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
"mkdir ~/utils", "mkdir ~/utils",
"mv ${local.image_folder}/helpers/confirm-identified-developers-macos15.scpt ~/utils",
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils", "mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils" "mv ${local.image_folder}/helpers/utils.sh ~/utils"
] ]

View File

@@ -85,7 +85,7 @@
"xcodes" "xcodes"
], ],
"cask_packages": [ "cask_packages": [
"" "parallels"
] ]
}, },
"gcc": { "gcc": {