mirror of
https://github.com/actions/runner-images.git
synced 2025-12-11 19:46:46 +00:00
80 lines
2.9 KiB
Bash
80 lines
2.9 KiB
Bash
#!/bin/bash -e -o pipefail
|
|
################################################################################
|
|
## File: configure-system.sh
|
|
## Desc: Post deployment system configuration actions
|
|
################################################################################
|
|
|
|
source ~/utils/utils.sh
|
|
|
|
# Set solid color wallpaper
|
|
osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/System/Library/Desktop Pictures/Solid Colors/Black.png"'
|
|
|
|
# Close all finder windows because they can interfere with UI tests
|
|
close_finder_window
|
|
|
|
# Disable Handoff and Continuity
|
|
defaults write com.apple.coreservices.useractivityd ActivityReceivingEnabled -bool false
|
|
defaults write com.apple.coreservices.useractivityd ActivityAdvertisingAllowed -bool false
|
|
|
|
# Disable graphic effects in System
|
|
defaults write com.apple.universalaccess reduceMotion -bool true
|
|
defaults write com.apple.universalaccess reduceTransparency -bool true
|
|
|
|
# Disable analytics daemon (requires SIP to be disabled)
|
|
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.SubmitDiagInfo.plist
|
|
|
|
# Disable notification center agent
|
|
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist
|
|
|
|
# Disable Time Machine and it's daemon
|
|
sudo tmutil disable
|
|
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.backupd.plist
|
|
|
|
# Disable Apple Push Notification Service daemon
|
|
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.apsd.plist
|
|
|
|
# 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
|
|
brew uninstall parallels
|
|
fi
|
|
|
|
# Put documentation to $HOME root
|
|
cp $HOME/image-generation/output/software-report/systeminfo.* $HOME/
|
|
|
|
# Remove fastlane cached cookie
|
|
rm -rf ~/.fastlane
|
|
|
|
# Clean up npm cache which collected during image-generation
|
|
# we have to do that here because `npm install` is run in a few different places during image-generation
|
|
npm cache clean --force
|
|
|
|
# Clean yarn cache
|
|
yarn cache clean
|
|
|
|
# Clean up temporary directories
|
|
sudo rm -rf ~/utils /tmp/*
|
|
|
|
if is_Ventura; then
|
|
# Erase all indexes and wait until the rebuilding process ends,
|
|
# for now there is no way to get status of indexing process, it takes around 3 minutes to accomplish
|
|
sudo mdutil -E /
|
|
sudo log stream | grep -q -E 'mds.*Released.*BackgroundTask' || true
|
|
echo "Indexing completed"
|
|
else
|
|
# Disable spotlight and MDS
|
|
sudo mdutil -a -i off
|
|
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
|
|
sudo mdutil -a -s | grep "Indexing enabled." && echo "Indexing is still enabled" && exit 1 || true
|
|
fi
|
|
|
|
# delete symlink for tests running
|
|
sudo rm -f /usr/local/bin/invoke_tests
|
|
|
|
# Clean Homebrew downloads
|
|
sudo rm -rf /Users/$USER/Library/Caches/Homebrew/downloads/*
|
|
|
|
# Uninstall expect used in configure-machine.sh
|
|
brew uninstall expect
|