[llvm] Use StringRef::{starts,ends}_with (NFC)
[llvm-project.git] / libcxx / utils / ci / run-buildbot-container
blob7c00b88097f17b80c55765d41c84911e6423f438
1 #!/usr/bin/env bash
3 # This script starts a shell in a container running the libc++ build bot Docker
4 # image. That image emulates the environment used by libc++'s Linux builders on
5 # BuildKite.
7 # Once you're inside the shell, you can run the various build jobs with the
8 # `run-buildbot` script.
10 # This script must be run from within the LLVM monorepo. Furthermore, the
11 # monorepo will be mounted as `/llvm` inside the container. Be careful, the
12 # state in `/llvm` is shared between the container and the host machine, which
13 # is useful for editing files on the host machine and re-running the build bot
14 # in the container.
16 # If you are on Linux you will likely not be able to write to the mount because
17 # the user in the container doesn't have permissions to do so.
18 # If you need to do this, give that user permission to do so after running
19 # the container or add this flag to run the container as your local user IDs:
20 # --user $(id -u):$(id -g)
22 set -e
24 MONOREPO_ROOT="$(git rev-parse --show-toplevel)"
25 if [[ ! -d "${MONOREPO_ROOT}/libcxx/utils/ci" ]]; then
26 echo "Was unable to find the root of the LLVM monorepo; are you running from within the monorepo?"
27 exit 1
29 docker pull ghcr.io/libcxx/libcxx-builder
30 docker run -it --volume "${MONOREPO_ROOT}:/llvm" --workdir "/llvm" --cap-add=SYS_PTRACE ghcr.io/libcxx/libcxx-builder \
31 bash -c 'git config --global --add safe.directory /llvm ; exec bash'