diff options
-rwxr-xr-x | libcxx/utils/ci/macos-ci-setup | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/libcxx/utils/ci/macos-ci-setup b/libcxx/utils/ci/macos-ci-setup deleted file mode 100755 index fc3a6f0..0000000 --- a/libcxx/utils/ci/macos-ci-setup +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/env bash - -# This simple script can be used to set up a CI node running MacOS. -# An additional requirement that is *not* handled by this script is the -# installation of Xcode, which requires manual intervention. -# -# This script should first be run from an administrator account to install -# the dependencies necessary for running CI. It can be run without having -# to clone the LLVM repository with: -# -# $ /bin/bash -c "$(curl -fsSl https://raw.githubusercontent.com/llvm/llvm-project/main/libcxx/utils/ci/macos-ci-setup)" -# -# If you perform system updates, you should re-run the script from the -# administrator account -- this allows updating the packages used for -# CI and the BuildKite agent tags. -# -# Once the necessary dependencies have been installed, you can switch -# to a non-administrator account and run the script again, passing the -# --setup-launchd argument. That will install a Launchd agent to run the -# BuildKite agent whenever the current user is logged in. You should enable -# automatic login for that user, so that if the CI node goes down, the user -# is logged back in automatically when the node goes up again, and the -# BuildKite agent starts automatically. -# -# Alternatively, you can simply run the BuildKite agent by hand using: -# -# $ caffeinate -s buildkite-agent start --build-path /tmp/buildkite-builds - -set -e - -# Install a Launchd agent that will automatically start the BuildKite agent at login -if [[ ${1} == "--setup-launchd" ]]; then - HOMEBREW_PREFIX="$(brew --prefix)" - mkdir -p ~/Library/LaunchAgents - cat <<EOF > ~/Library/LaunchAgents/libcxx.buildkite-agent.plist -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Label</key> - <string>libcxx.buildkite-agent</string> - - <key>ProgramArguments</key> - <array> - <string>${HOMEBREW_PREFIX}/bin/buildkite-agent</string> - <string>start</string> - <string>--build-path</string> - <string>${HOME}/libcxx.buildkite-agent/builds</string> - </array> - - <key>EnvironmentVariables</key> - <dict> - <key>PATH</key> - <string>${HOMEBREW_PREFIX}/bin:/usr/bin:/bin:/usr/sbin:/sbin</string> - </dict> - - <key>RunAtLoad</key> - <true/> - - <key>KeepAlive</key> - <dict> - <key>SuccessfulExit</key> - <false/> - </dict> - - <key>ProcessType</key> - <string>Interactive</string> - - <key>ThrottleInterval</key> - <integer>30</integer> - - <key>StandardOutPath</key> - <string>${HOME}/libcxx.buildkite-agent/stdout.log</string> - - <key>StandardErrorPath</key> - <string>${HOME}/libcxx.buildkite-agent/stderr.log</string> -</dict> -</plist> -EOF - - echo "Starting BuildKite agent" - launchctl load ~/Library/LaunchAgents/libcxx.buildkite-agent.plist - -else - echo "Installing CI dependencies for macOS" - - if [[ -z "${BUILDKITE_AGENT_TOKEN}" ]]; then - echo "The BUILDKITE_AGENT_TOKEN environment variable must be set to a BuildKite Agent token when calling this script." - exit 1 - fi - - # Install Homebrew - if ! which -s brew; then - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" - fi - - # Install the required tools to run CI - brew update - for package in sphinx-doc python3 ninja cmake clang-format buildkite/buildkite/buildkite-agent; do - if brew ls --versions "${package}" >/dev/null; then - brew upgrade "${package}" - else - brew install "${package}" - fi - done - python3 -m pip install --upgrade psutil - - echo "Setting up BuildKite Agent config" - version="$(sw_vers -productVersion | sed -E 's/([0-9]+).([0-9]+).[0-9]+/\1.\2/')" - arch="$(uname -m)" - cat <<EOF > "$(brew --prefix)/etc/buildkite-agent/buildkite-agent.cfg" -token="${BUILDKITE_AGENT_TOKEN}" -tags="queue=libcxx-builders,arch=${arch},os=macos,os=macos${version}" -build-path=/tmp/buildkite-builds # Note that this is actually overwritten when starting the agent with launchd -EOF -fi |