daml/infra/macos/scripts
Edward Newman be4f85d165
Fix launchd killing VMWare process at end of script execution (#6006)
* Fix alunchd killing VMWare process at end of script execution

* Fix alunchd killing VMWare process at end of script execution

CHANGELOG_BEGIN
Fix issue with MacOS Catalina Launchd killing VMWare instance on rebuild (AbandonProcessGrop)
CHANGELOG_END
2020-05-18 10:54:15 -04:00
..
com.digitalasset.macos-builder-crontab.plist Fix launchd killing VMWare process at end of script execution (#6006) 2020-05-18 10:54:15 -04:00
README.md Fix launchd killing VMWare process at end of script execution (#6006) 2020-05-18 10:54:15 -04:00
rebuild-crontask.sh Updates to support VMWare variant of Hypervisor for MacOS Build Nodes (#5940) 2020-05-12 09:36:40 -04:00
run-agent.sh Updates to support VMWare variant of Hypervisor for MacOS Build Nodes (#5940) 2020-05-12 09:36:40 -04:00

Example scripts

This directory contains some helper scripts. These assume a physical machine with a "builder" account configured.

com.digitalasset.macos-builder-crontab.plist

Example script for Launchctl scheduled rebuild of MacOS nodes. Run via

launctl load com.digitalasset.macos-builder-crontab.plist

and unload via

launctl unload com.digitalasset.macos-builder-crontab.plist

NOTE: AbandonProcessGroup key is requied for VMWare or the started vmx process is sent a SIGTERM signal by launchd, causing node to halt and not be left running at end of script. Different behaviour to VirtualBox.

rebuild-crontask.sh

Script called by launchctl job to force destroy and rebuild a VSTS node. Needs a PAT token with job access rights to check no active jobs on node being rebuilt.

run-agent.sh

Helper script to build a node. Called from the above script. Needs a PAT token for agent installation.

Other Catalina Topics

  • Disable Energy Saver settings in System Preferences to stop devices going into sleep mode
  • Delete GarageBand, iMovie, KeyNote, Pages, Sheets to save space and avoid annoying Update notification
  • May need to download Catalina installer on new release to ensure latest patched version
  • Consider creating SSH key pair and distribute public key to other nodes in authorized_keys to distrbute files more easily