[libc++] Add a script to setup CI on macOS nodes
authorLouis Dionne <ldionne@apple.com>
Tue, 6 Oct 2020 18:13:55 +0000 (14:13 -0400)
committerLouis Dionne <ldionne@apple.com>
Tue, 6 Oct 2020 19:34:09 +0000 (15:34 -0400)
libcxx/utils/ci/macos-ci-setup [new file with mode: 0755]

diff --git a/libcxx/utils/ci/macos-ci-setup b/libcxx/utils/ci/macos-ci-setup
new file mode 100755 (executable)
index 0000000..d6e9c8a
--- /dev/null
@@ -0,0 +1,27 @@
+#!/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.
+
+source secrets.env
+
+# Install Homebrew
+/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
+
+# Install the required tools to run CI
+brew install sphinx-doc python3 buildkite-agent ninja cmake
+
+CFG_DIR="$(brew --prefix)/etc/buildkite-agent"
+
+# Setup the CONDUIT_TOKEN in the BuildKite Agent, and install the Phabricator
+# Python module to allow reporting results back to Phabricator.
+mv "${CFG_DIR}/hooks/environment.sample" "${CFG_DIR}/hooks/environment"
+echo "export CONDUIT_TOKEN=${CONDUIT_TOKEN}" >> "${CFG_DIR}/hooks/environment"
+pip3 install --user phabricator
+
+# Setup the tags of the agent
+echo 'tags="queue=libcxx-macos-builders"' >> "${CFG_DIR}/buildkite-agent.cfg"
+
+# Setup the BuildKite Agent token
+sed -i '' "s/xxx/${BUILDKITE_AGENT_TOKEN}/g" "${CFG_DIR}/buildkite-agent.cfg"