Skip to content

Scripts and additional setups for maintaining the build agents for the @StanfordBDHG and related projects

Notifications You must be signed in to change notification settings

StanfordBDHG/ContinuousIntegration

Repository files navigation

Continuous Integration

The repository consists scripts and additional setups for maintaining the build agents for the Stanford BDHG and related projects.

Setup Instructions

The CI setup for GitHub Actions runners uses the Virtual Machine app to host a virtual machine we use as a GitHub Action runner. The repository contains the necessary steps, tools, and scripts to set up the environment.

  1. Set up a macOS machine in conformance with the Stanford device setup requirements: https://uit.stanford.edu/service/StanfordJamf/Install.
  2. Install the UTM App. Set up the application to "Open on Login" using the macOS dock context menu of the app. Ensure you set the UTM settings to never put the host machine to sleep if a VM is running.
  3. Either generate new macOS virtual machine using the app or use a preexisting UTM VM. If you use a preexisting bundle that has done all the following steps, you can skip the setup steps.
  4. Start the VM using the app and go through the setup process with the minimal possible setup, e.g., no location services, no Apple ID, and more ...
  5. Disable automatic screen saves, turn off the display, and require a passcode when the screen is locked and enable the "preserve automatic sleeping when the display is off" setting in the system: Apple Support - Set sleep and wake settings for your Mac.
  6. Enable automatic login of the user to ensure that the system is booting properly on restarts of the host Mac: How to log in automatically to a Mac user account.
  7. Download this repository from GitHub to the VM and run the installation steps by adapting the .env file and running $ sh install.sh. Optionally change the installed Xcode versions in the script. We recommend setting Safari to default to a private window on launch to ensure that any entered credentials or elements are never saved.
  8. Ensure that the GitHub runner appears on your GitHub organization or repo.
  9. To automate launching the VMs every time the host machine starts up, open the LaunchVMs app in this repo using the Apple Script Editor, modify the script, or add additional VMs. You can find a list of possible commands for the UTM App in the UTM documentation. Copy the LaunchVMs app to the Applications folder of your host VM. Add the UTM App as well as the LaunchVMs app as login items: Apple Support - Open items automatically when you log in on Mac.

Contributing

Contributions to this project are welcome. Please make sure to read the contribution guidelines and the contributor covenant code of conduct first.

License

You can find a list of contributors in the CONTRIBUTORS.md file. This project is licensed under the MIT License. See Licenses for more information.

Stanford Byers Center for Biodesign Logo Stanford Byers Center for Biodesign Logo

About

Scripts and additional setups for maintaining the build agents for the @StanfordBDHG and related projects

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published