[libcxx-commits] [libcxx] r363722 - Reconfigure docker builders to be more modular.
Eric Fiselier via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jun 18 12:31:39 PDT 2019
Author: ericwf
Date: Tue Jun 18 12:31:38 2019
New Revision: 363722
URL: http://llvm.org/viewvc/llvm-project?rev=363722&view=rev
Log:
Reconfigure docker builders to be more modular.
And other various cleanups to the configuration.
Added:
libcxx/trunk/utils/docker/debian9/Dockerfile.base
libcxx/trunk/utils/docker/debian9/Dockerfile.buildbot
libcxx/trunk/utils/docker/debian9/Dockerfile.clang
libcxx/trunk/utils/docker/debian9/Dockerfile.compiler_zoo
libcxx/trunk/utils/docker/debian9/Dockerfile.gcc
libcxx/trunk/utils/docker/scripts/docker_update_bot.sh (with props)
Removed:
libcxx/trunk/utils/docker/debian9/Dockerfile
libcxx/trunk/utils/docker/scripts/checkout_git.sh
libcxx/trunk/utils/docker/scripts/run_buildbot_new.sh
Modified:
libcxx/trunk/utils/docker/docker-compose.yml
libcxx/trunk/utils/docker/scripts/docker_start_buildbots.sh
libcxx/trunk/utils/docker/scripts/run_buildbot.sh
Removed: libcxx/trunk/utils/docker/debian9/Dockerfile
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/debian9/Dockerfile?rev=363721&view=auto
==============================================================================
--- libcxx/trunk/utils/docker/debian9/Dockerfile (original)
+++ libcxx/trunk/utils/docker/debian9/Dockerfile (removed)
@@ -1,205 +0,0 @@
-#===- libcxx/utils/docker/debian9/Dockerfile --------------------------------------------------===//
-#
-# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-#
-#===-------------------------------------------------------------------------------------------===//
-
-# Setup the base builder image with the packages we'll need to build GCC and Clang from source.
-FROM launcher.gcr.io/google/debian9:latest AS builder-base
-LABEL maintainer "libc++ Developers"
-
-RUN apt-get update && \
- apt-get install -y --no-install-recommends \
- ca-certificates \
- gnupg \
- build-essential \
- wget \
- subversion \
- unzip \
- automake \
- python \
- cmake \
- ninja-build \
- curl \
- git \
- gcc-multilib \
- g++-multilib \
- libc6-dev \
- bison \
- flex \
- libtool \
- autoconf \
- binutils-dev \
- binutils-gold \
- software-properties-common \
- gnupg \
- apt-transport-https \
- sudo \
- systemd \
- sysvinit-utils \
- systemd-sysv && \
- update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20 && \
- update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10 && \
- rm -rf /var/lib/apt/lists/*
-
-
-# Build GCC versions
-FROM builder-base as gcc-48-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_gcc_version.sh /tmp/build_gcc_version.sh
-RUN /tmp/build_gcc_version.sh --install /opt/gcc-4.8.5 --branch gcc-4_8_5-release \
- --cherry-pick ec1cc0263f156f70693a62cf17b254a0029f4852
-
-FROM builder-base as gcc-49-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_gcc_version.sh /tmp/build_gcc_version.sh
-RUN /tmp/build_gcc_version.sh --install /opt/gcc-4.9.4 --branch gcc-4_9_4-release
-
-FROM builder-base as gcc-5-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_gcc_version.sh /tmp/build_gcc_version.sh
-RUN /tmp/build_gcc_version.sh --install /opt/gcc-5 --branch gcc-5_5_0-release
-
-FROM builder-base as gcc-6-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_gcc_version.sh /tmp/build_gcc_version.sh
-RUN /tmp/build_gcc_version.sh --install /opt/gcc-6 --branch gcc-6_5_0-release
-
-FROM builder-base as gcc-7-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_gcc_version.sh /tmp/build_gcc_version.sh
-RUN /tmp/build_gcc_version.sh --install /opt/gcc-7 --branch gcc-7_4_0-release
-
-FROM builder-base as gcc-8-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_gcc_version.sh /tmp/build_gcc_version.sh
-RUN /tmp/build_gcc_version.sh --install /opt/gcc-8 --branch gcc-8_2_0-release
-
-FROM builder-base as gcc-tot-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_gcc_version.sh /tmp/build_gcc_version.sh
-RUN /tmp/build_gcc_version.sh --install /opt/gcc-tot --branch master
-
-# Build additional LLVM versions
-FROM builder-base as llvm-36-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-3.6 --branch release/3.6.x
-
-FROM builder-base as llvm-37-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-3.7 --branch release/3.7.x
-
-FROM builder-base as llvm-38-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-3.8 --branch release/3.8.x
-
-FROM builder-base as llvm-39-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-3.9 --branch release/3.9.x
-
-FROM builder-base as llvm-4-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-4.0 --branch release/4.x
-
-FROM builder-base as llvm-5-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-5.0 --branch release/5.x
-
-FROM builder-base as llvm-6-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-6.0 --branch release/6.x
-
-FROM builder-base as llvm-7-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-7.0 --branch release/7.x
-
-FROM builder-base as llvm-8-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-8.0 --branch release/8.x
-
-FROM builder-base as llvm-tot-builder
-LABEL maintainer "libc++ Developers"
-
-ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
-RUN /tmp/build_llvm_version.sh --install /opt/llvm-tot --branch master
-
-
-#===-------------------------------------------------------------------------------------------===//
-# buildslave
-#===-------------------------------------------------------------------------------------------===//
-FROM builder-base AS buildbot
-
-# Copy over the GCC and Clang installations
-COPY --from=gcc-5-builder /opt/gcc-5 /opt/gcc-5
-COPY --from=gcc-tot-builder /opt/gcc-tot /opt/gcc-tot
-COPY --from=llvm-4-builder /opt/llvm-4.0 /opt/llvm-4.0
-
-RUN ln -s /opt/gcc-5/bin/gcc /usr/local/bin/gcc-4.9 && \
- ln -s /opt/gcc-5/bin/g++ /usr/local/bin/g++-4.9
-
-RUN apt-get update && \
- apt-get install -y --no-install-recommends \
- bash-completion \
- vim \
- buildbot-slave \
- && rm -rf /var/lib/apt/lists/*
-
-ADD scripts/install_clang_packages.sh /tmp/install_clang_packages.sh
-RUN /tmp/install_clang_packages.sh && rm /tmp/install_clang_packages.sh
-
-RUN git clone https://git.llvm.org/git/libcxx.git /libcxx
-
-#===-------------------------------------------------------------------------------------------===//
-# compiler-zoo
-#===-------------------------------------------------------------------------------------------===//
-FROM buildbot AS compiler-zoo
-LABEL maintainer "libc++ Developers"
-
-# Copy over the GCC and Clang installations
-COPY --from=gcc-48-builder /opt/gcc-4.8.5 /opt/gcc-4.8.5
-COPY --from=gcc-49-builder /opt/gcc-4.9.4 /opt/gcc-4.9.4
-COPY --from=gcc-5-builder /opt/gcc-5 /opt/gcc-5
-COPY --from=gcc-6-builder /opt/gcc-6 /opt/gcc-6
-COPY --from=gcc-7-builder /opt/gcc-7 /opt/gcc-7
-COPY --from=gcc-8-builder /opt/gcc-8 /opt/gcc-8
-COPY --from=gcc-tot-builder /opt/gcc-tot /opt/gcc-tot
-
-COPY --from=llvm-36-builder /opt/llvm-3.6 /opt/llvm-3.6
-COPY --from=llvm-37-builder /opt/llvm-3.7 /opt/llvm-3.7
-COPY --from=llvm-38-builder /opt/llvm-3.8 /opt/llvm-3.8
-COPY --from=llvm-39-builder /opt/llvm-3.9 /opt/llvm-3.9
-COPY --from=llvm-4-builder /opt/llvm-4.0 /opt/llvm-4.0
-COPY --from=llvm-5-builder /opt/llvm-5.0 /opt/llvm-5.0
-COPY --from=llvm-6-builder /opt/llvm-6.0 /opt/llvm-6.0
-COPY --from=llvm-7-builder /opt/llvm-7.0 /opt/llvm-7.0
-COPY --from=llvm-8-builder /opt/llvm-8.0 /opt/llvm-8.0
-COPY --from=llvm-tot-builder /opt/llvm-tot /opt/llvm-tot
-
-
Added: libcxx/trunk/utils/docker/debian9/Dockerfile.base
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/debian9/Dockerfile.base?rev=363722&view=auto
==============================================================================
--- libcxx/trunk/utils/docker/debian9/Dockerfile.base (added)
+++ libcxx/trunk/utils/docker/debian9/Dockerfile.base Tue Jun 18 12:31:38 2019
@@ -0,0 +1,46 @@
+#===- libcxx/utils/docker/debian9/Dockerfile --------------------------------------------------===//
+#
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+#
+#===-------------------------------------------------------------------------------------------===//
+
+# Setup the base builder image with the packages we'll need to build GCC and Clang from source.
+FROM launcher.gcr.io/google/debian9:latest AS builder-base
+LABEL maintainer "libc++ Developers"
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends \
+ ca-certificates \
+ gnupg \
+ build-essential \
+ wget \
+ subversion \
+ unzip \
+ automake \
+ python \
+ cmake \
+ ninja-build \
+ curl \
+ git \
+ gcc-multilib \
+ g++-multilib \
+ libc6-dev \
+ bison \
+ flex \
+ libtool \
+ autoconf \
+ binutils-dev \
+ binutils-gold \
+ software-properties-common \
+ gnupg \
+ apt-transport-https \
+ sudo \
+ systemd \
+ sysvinit-utils \
+ systemd-sysv && \
+ update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20 && \
+ update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10 && \
+ rm -rf /var/lib/apt/lists/*
+
Added: libcxx/trunk/utils/docker/debian9/Dockerfile.buildbot
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/debian9/Dockerfile.buildbot?rev=363722&view=auto
==============================================================================
--- libcxx/trunk/utils/docker/debian9/Dockerfile.buildbot (added)
+++ libcxx/trunk/utils/docker/debian9/Dockerfile.buildbot Tue Jun 18 12:31:38 2019
@@ -0,0 +1,26 @@
+
+#===-------------------------------------------------------------------------------------------===//
+# buildslave
+#===-------------------------------------------------------------------------------------------===//
+FROM ericwf/builder-base:latest AS buildbot
+
+# Copy over the GCC and Clang installations
+COPY --from=ericwf/gcc-5:latest /opt/gcc-5 /opt/gcc-5
+COPY --from=ericwf/gcc-tot:latest /opt/gcc-tot /opt/gcc-tot
+COPY --from=ericwf/llvm-4:latest /opt/llvm-4.0 /opt/llvm-4.0
+
+RUN ln -s /opt/gcc-5/bin/gcc /usr/local/bin/gcc-4.9 && \
+ ln -s /opt/gcc-5/bin/g++ /usr/local/bin/g++-4.9
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends \
+ bash-completion \
+ vim \
+ sudo \
+ buildbot-slave \
+ && rm -rf /var/lib/apt/lists/*
+
+ADD scripts/install_clang_packages.sh /tmp/install_clang_packages.sh
+RUN /tmp/install_clang_packages.sh && rm /tmp/install_clang_packages.sh
+
+RUN git clone https://git.llvm.org/git/libcxx.git /libcxx
Added: libcxx/trunk/utils/docker/debian9/Dockerfile.clang
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/debian9/Dockerfile.clang?rev=363722&view=auto
==============================================================================
--- libcxx/trunk/utils/docker/debian9/Dockerfile.clang (added)
+++ libcxx/trunk/utils/docker/debian9/Dockerfile.clang Tue Jun 18 12:31:38 2019
@@ -0,0 +1,19 @@
+#===- libcxx/utils/docker/debian9/Dockerfile --------------------------------------------------===//
+#
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+#
+#===-------------------------------------------------------------------------------------------===//
+
+# Build GCC versions
+FROM ericwf/builder-base:latest
+LABEL maintainer "libc++ Developers"
+
+ARG install_prefix
+ARG branch
+
+# Build additional LLVM versions
+
+ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh
+RUN /tmp/build_llvm_version.sh --install "$install_prefix" --branch "$branch"
Added: libcxx/trunk/utils/docker/debian9/Dockerfile.compiler_zoo
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/debian9/Dockerfile.compiler_zoo?rev=363722&view=auto
==============================================================================
--- libcxx/trunk/utils/docker/debian9/Dockerfile.compiler_zoo (added)
+++ libcxx/trunk/utils/docker/debian9/Dockerfile.compiler_zoo Tue Jun 18 12:31:38 2019
@@ -0,0 +1,35 @@
+#===- libcxx/utils/docker/debian9/Dockerfile --------------------------------------------------===//
+#
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+#
+#===-------------------------------------------------------------------------------------------===//
+
+#===-------------------------------------------------------------------------------------------===//
+# compiler-zoo
+#===-------------------------------------------------------------------------------------------===//
+FROM ericwf/libcxx-buildbot-base:latest AS compiler-zoo
+LABEL maintainer "libc++ Developers"
+
+# Copy over the GCC and Clang installations
+COPY --from=ericwf/compilers:latest /opt/gcc-4.8.5 /opt/gcc-4.8.5
+COPY --from=ericwf/compilers:latest /opt/gcc-4.9.4 /opt/gcc-4.9.4
+COPY --from=ericwf/compilers:latest /opt/gcc-5 /opt/gcc-5
+COPY --from=ericwf/compilers:latest /opt/gcc-6 /opt/gcc-6
+COPY --from=ericwf/compilers:latest /opt/gcc-7 /opt/gcc-7
+COPY --from=ericwf/compilers:latest /opt/gcc-8 /opt/gcc-8
+COPY --from=ericwf/compilers_tot:latest /opt/gcc-tot /opt/gcc-tot
+
+COPY --from=ericwf/compilers:latest /opt/llvm-3.6 /opt/llvm-3.6
+COPY --from=ericwf/compilers:latest /opt/llvm-3.7 /opt/llvm-3.7
+COPY --from=ericwf/compilers:latest /opt/llvm-3.8 /opt/llvm-3.8
+COPY --from=ericwf/compilers:latest /opt/llvm-3.9 /opt/llvm-3.9
+COPY --from=ericwf/compilers:latest /opt/llvm-4.0 /opt/llvm-4.0
+COPY --from=ericwf/compilers:latest /opt/llvm-5.0 /opt/llvm-5.0
+COPY --from=ericwf/compilers:latest /opt/llvm-6.0 /opt/llvm-6.0
+COPY --from=ericwf/compilers:latest /opt/llvm-7.0 /opt/llvm-7.0
+COPY --from=ericwf/compilers:latest /opt/llvm-8.0 /opt/llvm-8.0
+COPY --from=ericwf/compilers_tot:latest /opt/llvm-tot /opt/llvm-tot
+
+
Added: libcxx/trunk/utils/docker/debian9/Dockerfile.gcc
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/debian9/Dockerfile.gcc?rev=363722&view=auto
==============================================================================
--- libcxx/trunk/utils/docker/debian9/Dockerfile.gcc (added)
+++ libcxx/trunk/utils/docker/debian9/Dockerfile.gcc Tue Jun 18 12:31:38 2019
@@ -0,0 +1,18 @@
+#===- libcxx/utils/docker/debian9/Dockerfile --------------------------------------------------===//
+#
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+#
+#===-------------------------------------------------------------------------------------------===//
+
+# Build GCC versions
+FROM ericwf/builder-base:latest
+LABEL maintainer "libc++ Developers"
+
+ARG install_prefix
+ARG branch
+ARG cherry_pick=""
+
+ADD scripts/build_gcc_version.sh /tmp/build_gcc_version.sh
+RUN /tmp/build_gcc_version.sh --install "$install_prefix" --branch "$branch" --cherry-pick "$cherry_pick"
Modified: libcxx/trunk/utils/docker/docker-compose.yml
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/docker-compose.yml?rev=363722&r1=363721&r2=363722&view=diff
==============================================================================
--- libcxx/trunk/utils/docker/docker-compose.yml (original)
+++ libcxx/trunk/utils/docker/docker-compose.yml Tue Jun 18 12:31:38 2019
@@ -1,14 +1,46 @@
version: '3.4'
services:
+ builder-base:
+ build:
+ context: .
+ dockerfile: debian9/Dockerfile.base
+ target: builder-base
+ image: ericwf/builder-base:latest
+ gcc-tot:
+ build:
+ context: .
+ dockerfile: debian9/Dockerfile.gcc
+ args:
+ install_prefix: /opt/gcc-tot
+ branch: master
+ image: ericwf/gcc-tot:latest
+ gcc-5:
+ build:
+ context: .
+ dockerfile: debian9/Dockerfile.gcc
+ args:
+ install_prefix: /opt/gcc-5
+ branch: gcc-5_5_0-release
+ image: ericwf/gcc-5:latest
+ llvm-4:
+ build:
+ context: .
+ dockerfile: debian9/Dockerfile.clang
+ args:
+ install_prefix: /opt/llvm-4.0
+ branch: release/4.x
+ image: ericwf/llvm-4:latest
+ llvm-tot:
+ build:
+ context: .
+ dockerfile: debian9/Dockerfile.clang
+ args:
+ install_prefix: /opt/llvm-tot
+ branch: master
+ image: ericwf/llvm-tot:latest
buildbot:
build:
context: .
- dockerfile: debian9/Dockerfile
+ dockerfile: debian9/Dockerfile.buildbot
target: buildbot
image: ericwf/libcxx-buildbot-base:latest
- compiler-zoo:
- build:
- context: .
- dockerfile: debian9/Dockerfile
- target: compiler-zoo
- image: ericwf/compiler-zoo:latest
Removed: libcxx/trunk/utils/docker/scripts/checkout_git.sh
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/scripts/checkout_git.sh?rev=363721&view=auto
==============================================================================
--- libcxx/trunk/utils/docker/scripts/checkout_git.sh (original)
+++ libcxx/trunk/utils/docker/scripts/checkout_git.sh (removed)
@@ -1,129 +0,0 @@
-#!/usr/bin/env bash
-#===- llvm/utils/docker/scripts/checkout.sh ---------------------===//
-#
-# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-#
-#===-----------------------------------------------------------------------===//
-
-set -e
-
-function show_usage() {
- cat << EOF
-Usage: checkout.sh [options]
-
-Checkout svn sources into /tmp/clang-build/src. Used inside a docker container.
-
-Available options:
- -h|--help show this help message
- -b|--branch svn branch to checkout, i.e. 'trunk',
- 'branches/release_40'
- (default: 'trunk')
- -p|--llvm-project name of an svn project to checkout.
- For clang, please use 'clang', not 'cfe'.
- Project 'llvm' is always included and ignored, if
- specified.
- Can be specified multiple times.
-EOF
-}
-
-LLVM_BRANCH=""
-# We always checkout llvm
-LLVM_PROJECTS="llvm"
-SOURCE_DIR=""
-
-function contains_project() {
- local TARGET_PROJ="$1"
- local PROJ
- for PROJ in $LLVM_PROJECTS; do
- if [ "$PROJ" == "$TARGET_PROJ" ]; then
- return 0
- fi
- done
- return 1
-}
-
-while [[ $# -gt 0 ]]; do
- case "$1" in
- --to)
- shift
- SOURCE_DIR="$1"
- shift
- ;;
- -b|--branch)
- shift
- LLVM_BRANCH="$1"
- shift
- ;;
- -p|--llvm-project)
- shift
- PROJ="$1"
- shift
-
- if [ "$PROJ" == "cfe" ]; then
- PROJ="clang"
- fi
-
- if ! contains_project "$PROJ" ; then
- if [ "$PROJ" == "clang-tools-extra" ] && [ ! contains_project "clang" ]; then
- echo "Project 'clang-tools-extra' specified before 'clang'. Adding 'clang' to a list of projects first."
- LLVM_PROJECTS="$LLVM_PROJECTS clang"
- fi
- LLVM_PROJECTS="$LLVM_PROJECTS $PROJ"
- else
- echo "Project '$PROJ' is already enabled, ignoring extra occurrences."
- fi
- ;;
- -h|--help)
- show_usage
- exit 0
- ;;
- *)
- echo "Unknown option: $1"
- exit 1
- esac
-done
-
-if [ "$SOURCE_DIR" == "" ]; then
- echo "Must specify checkout directory using --to"
- exit 1
-fi
-
-if [ "$LLVM_BRANCH" == "" ]; then
- GIT_BRANCH_ARG=""
-else
- GIT_BRANCH_ARG="--branch $LLVM_BRANCH"
-fi
-
-if [ "$LLVM_SVN_REV" != "" ]; then
- SVN_REV_ARG="-r$LLVM_SVN_REV"
- echo "Checking out svn revision r$LLVM_SVN_REV."
-else
- SVN_REV_ARG=""
- echo "Checking out latest svn revision."
-fi
-
-# Get the sources from svn.
-echo "Checking out sources from git"
-
-for LLVM_PROJECT in $LLVM_PROJECTS; do
- if [ "$LLVM_PROJECT" == "llvm" ]; then
- CHECKOUT_DIR="$SOURCE_DIR"
- elif [ "$LLVM_PROJECT" == "libcxx" ] || [ "$LLVM_PROJECT" == "libcxxabi" ] || [ "$LLVM_PROJECT" == "compiler-rt" ]; then
- CHECKOUT_DIR="$SOURCE_DIR/projects/$LLVM_PROJECT"
- elif [ "$LLVM_PROJECT" == "clang" ]; then
- CHECKOUT_DIR="$SOURCE_DIR/tools/clang"
- elif [ "$LLVM_PROJECT" == "clang-tools-extra" ]; then
- CHECKOUT_DIR="$SOURCE_DIR/tools/clang/tools/extra"
- else
- CHECKOUT_DIR="$SOURCE_DIR/$LLVM_PROJECT"
- fi
-
- echo "Checking out https://git.llvm.org/git/$LLVM_PROJECT to $CHECKOUT_DIR"
- git clone --depth=1 $GIT_BRANCH_ARG \
- "https://git.llvm.org/git/$LLVM_PROJECT.git" \
- "$CHECKOUT_DIR"
-done
-
-echo "Done"
Modified: libcxx/trunk/utils/docker/scripts/docker_start_buildbots.sh
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/scripts/docker_start_buildbots.sh?rev=363722&r1=363721&r2=363722&view=diff
==============================================================================
--- libcxx/trunk/utils/docker/scripts/docker_start_buildbots.sh (original)
+++ libcxx/trunk/utils/docker/scripts/docker_start_buildbots.sh Tue Jun 18 12:31:38 2019
@@ -1,12 +1,8 @@
#!/usr/bin/env bash
set -x
-if [[ "$1" == "--new" ]]; then
- shift
-fi
-
# Update the libc++ sources in the image in order to use the most recent version of
# run_buildbots.sh
cd /libcxx
git pull
-/libcxx/utils/docker/scripts/run_buildbot_new.sh "$@"
+/libcxx/utils/docker/scripts/run_buildbot.sh "$@"
Added: libcxx/trunk/utils/docker/scripts/docker_update_bot.sh
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/scripts/docker_update_bot.sh?rev=363722&view=auto
==============================================================================
--- libcxx/trunk/utils/docker/scripts/docker_update_bot.sh (added)
+++ libcxx/trunk/utils/docker/scripts/docker_update_bot.sh Tue Jun 18 12:31:38 2019
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+
+set -x
+
+cd /libcxx
+git pull
+
+
+#pushd /tmp
+#curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
+#bash install-monitoring-agent.sh
+#curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
+#bash install-logging-agent.sh --structured
+#popd
+
+
+apt-get update -y
+apt-get upgrade -y
+
+apt-get install sudo -y
+
+# FIXME(EricWF): Remove this hack. It's only in place to temporarily fix linking libclang_rt from the
+# debian packages.
+# WARNING: If you're not a buildbot, DO NOT RUN!
+apt-get install lld-9
+rm /usr/bin/ld
+ln -s /usr/bin/lld-9 /usr/bin/ld
+
+systemctl set-property buildslave.service TasksMax=100000
+
+systemctl daemon-reload
+service buildslave restart
Propchange: libcxx/trunk/utils/docker/scripts/docker_update_bot.sh
------------------------------------------------------------------------------
svn:executable = *
Modified: libcxx/trunk/utils/docker/scripts/run_buildbot.sh
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/scripts/run_buildbot.sh?rev=363722&r1=363721&r2=363722&view=diff
==============================================================================
--- libcxx/trunk/utils/docker/scripts/run_buildbot.sh (original)
+++ libcxx/trunk/utils/docker/scripts/run_buildbot.sh Tue Jun 18 12:31:38 2019
@@ -1,32 +1,22 @@
#!/usr/bin/env bash
set -x
-script_dir=`dirname "$0"`
-
-# TODO(EricWF): Replace this file with the new script once the existing
-# bots have been migrated.
-if [ "$1" == "--new" ]; then
- shift
- $script_dir/run_buildbot_new.sh "$@"
- shutdown now
-fi
-
-BOT_DIR=/b
-BOT_NAME=$1
-BOT_PASS=$2
-
-pushd /tmp
-curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
-bash install-monitoring-agent.sh
-curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
-bash install-logging-agent.sh --structured
-popd
-
-mkdir -p $BOT_DIR
+readonly BOT_ROOT=/b
+readonly BOT_ROOT_NAME=$1
+readonly BOT_PASS=$2
+
+#pushd /tmp
+#curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
+#bash install-monitoring-agent.sh
+#curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
+#bash install-logging-agent.sh --structured
+#popd
apt-get update -y
apt-get upgrade -y
+apt-get install sudo -y
+
# FIXME(EricWF): Remove this hack. It's only in place to temporarily fix linking libclang_rt from the
# debian packages.
# WARNING: If you're not a buildbot, DO NOT RUN!
@@ -36,42 +26,85 @@ ln -s /usr/bin/lld-9 /usr/bin/ld
systemctl set-property buildslave.service TasksMax=100000
-buildslave stop $BOT_DIR
-
-chown buildbot:buildbot $BOT_DIR
-
-echo "Connecting as $BOT_NAME"
-buildslave create-slave --allow-shutdown=signal $BOT_DIR lab.llvm.org:9990 $BOT_NAME $BOT_PASS
-
-echo "Eric Fiselier <ericwf at google.com>" > $BOT_DIR/info/admin
-
-{
- uname -a | head -n1
- cmake --version | head -n1
- g++ --version | head -n1
- ld --version | head -n1
- date
- lscpu
-} > $BOT_DIR/info/host
-
-echo "SLAVE_RUNNER=/usr/bin/buildslave
-SLAVE_ENABLED[1]=\"1\"
-SLAVE_NAME[1]=\"buildslave1\"
-SLAVE_USER[1]=\"buildbot\"
-SLAVE_BASEDIR[1]=\"$BOT_DIR\"
-SLAVE_OPTIONS[1]=\"\"
-SLAVE_PREFIXCMD[1]=\"\"" > /etc/default/buildslave
-
-chown -R buildbot:buildbot $BOT_DIR
-systemctl daemon-reload
-service buildslave restart
-
-sleep 30
-cat $BOT_DIR/twistd.log
-grep "slave is ready" $BOT_DIR/twistd.log || shutdown now
+function setup_numbered_bot() {
+ local BOT_NAME=$1
+ local BOT_DIR=$2
+ mkdir -p $BOT_DIR
+
+ buildslave stop $BOT_DIR
+ chown buildbot:buildbot $BOT_DIR
+ rm -rf $BOT_DIR/*
+
+ buildslave create-slave --allow-shutdown=signal "$BOT_DIR" "lab.llvm.org:9990" "$BOT_NAME" "$BOT_PASS"
+
+ echo "Eric Fiselier <ericwf at google.com>" > $BOT_DIR/info/admin
+
+ echo "Connecting as $1"
+ {
+ uname -a | head -n1
+ cmake --version | head -n1
+ g++ --version | head -n1
+ ld --version | head -n1
+ date
+ lscpu
+ } > $BOT_DIR/info/host
+
+
+#echo "SLAVE_RUNNER=/usr/bin/buildslave
+#SLAVE_ENABLED[1]=\"1\"
+#SLAVE_NAME[1]=\"$BOT_NAME\"
+#SLAVE_USER[1]=\"buildbot\"
+#SLAVE_BASEDIR[1]=\"$BOT_DIR\"
+#SLAVE_OPTIONS[1]=\"\"
+#SLAVE_PREFIXCMD[1]=\"\"" > $BOT_DIR/buildslave.cfg
+
+ ls $BOT_DIR/
+ cat $BOT_DIR/buildbot.tac
+}
+
+function try_start_builder {
+ local N=$1
+ local BOT_DIR="$BOT_ROOT/b$N"
+ local BOT_NAME="$BOT_ROOT_NAME$N"
+
+ systemctl daemon-reload
+ service buildslave restart
+ setup_numbered_bot "$BOT_NAME" "$BOT_DIR"
+
+ systemctl daemon-reload
+ service buildslave restart
+
+ chown -R buildbot:buildbot $BOT_DIR/
+ sudo -u buildbot /usr/bin/buildslave start $BOT_DIR/
+
+ sleep 30
+ cat $BOT_DIR/twistd.log
+ if grep --quiet "slave is ready" $BOT_DIR/twistd.log; then
+ return 0
+ fi
+ if grep --quiet "configuration update complete" $BOT_DIR/twistd.log; then
+ return 0
+ fi
+ if grep "rejecting duplicate slave" $BOT_DIR/twistd.log; then
+ return 1
+ fi
+ echo "Unknown error"
+ cat $BOT_DIR/twistd.log
+ exit 1
+}
+
+for N in `shuf -i 1-5`
+do
+ if try_start_builder $N; then
+ break
+ fi
+ echo "failed to start any buildbot"
+ shutdown now
+done
# GCE can restart instance after 24h in the middle of the build.
# Gracefully restart before that happen.
sleep 72000
while pkill -SIGHUP buildslave; do sleep 5; done;
shutdown now
+
Removed: libcxx/trunk/utils/docker/scripts/run_buildbot_new.sh
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/docker/scripts/run_buildbot_new.sh?rev=363721&view=auto
==============================================================================
--- libcxx/trunk/utils/docker/scripts/run_buildbot_new.sh (original)
+++ libcxx/trunk/utils/docker/scripts/run_buildbot_new.sh (removed)
@@ -1,110 +0,0 @@
-#!/usr/bin/env bash
-set -x
-
-BOT_ROOT=/b
-BOT_ROOT_NAME=$1
-BOT_PASS=$2
-
-pushd /tmp
-curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
-bash install-monitoring-agent.sh
-curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
-bash install-logging-agent.sh --structured
-popd
-
-apt-get update -y
-apt-get upgrade -y
-
-apt-get install sudo -y
-
-# FIXME(EricWF): Remove this hack. It's only in place to temporarily fix linking libclang_rt from the
-# debian packages.
-# WARNING: If you're not a buildbot, DO NOT RUN!
-apt-get install lld-9
-rm /usr/bin/ld
-ln -s /usr/bin/lld-9 /usr/bin/ld
-
-systemctl set-property buildslave.service TasksMax=100000
-
-systemctl daemon-reload
-service buildslave restart
-
-function setup_numbered_bot {
- local BOT_NAME=$1
- local BOT_DIR=$2
- mkdir -p $BOT_DIR
-
- buildslave stop $BOT_DIR
- chown buildbot:buildbot $BOT_DIR
- rm -rf $BOT_DIR/*
-
- buildslave create-slave --allow-shutdown=signal $BOT_DIR lab.llvm.org:9990 \
- $BOT_NAME $BOT_PASS
-
- echo "Eric Fiselier <ericwf at google.com>" > $BOT_DIR/info/admin
-
- echo "Connecting as $BOT_BASE_NAME$1"
- {
- uname -a | head -n1
- cmake --version | head -n1
- g++ --version | head -n1
- ld --version | head -n1
- date
- lscpu
- } > $BOT_DIR/info/host
-
-
- # echo "SLAVE_RUNNER=/usr/bin/buildslave
- # SLAVE_ENABLED[1]=\"1\"
- # SLAVE_NAME[1]=\"buildslave$1\"
- # SLAVE_USER[1]=\"buildbot\"
- # SLAVE_BASEDIR[1]=\"$BOT_DIR\"
- # SLAVE_OPTIONS[1]=\"\"
- # SLAVE_PREFIXCMD[1]=\"\"" > $BOT_DIR/buildslave.cfg
-
-}
-
-function try_start_builder {
- local $N=$1
- local BOT_DIR=$BOT_ROOT/b$N
- local BOT_NAME=$BOT_ROOT_NAME$N
- setup_numbered_bot $BOT_NAME $BOT_DIR
- chown -R buildbot:buildbot $BOT_DIR/
- sudo -u buildbot /usr/bin/buildslave start $BOT_DIR
-
- sleep 30
- cat $BOT_DIR/twistd.log
- if grep --quiet "slave is ready" $BOT_DIR/twistd.log; then
- return 0
- fi
- if grep --quiet "configuration update complete" $BOT_DIR/twistd.log; then
- return 0
- fi
- if grep "rejecting duplicate slave" $BOT_DIR/twistd.log; then
- return 1
- fi
- echo "Unknown error"
- cat $BOT_DIR/twistd.log
- exit 1
-}
-
-for N in `shuf -i 1-5`
-do
- if try_start_builder $N; then
- break
- fi
- echo "failed to start any buildbot"
- shutdown now
-done
-
-# GCE can restart instance after 24h in the middle of the build.
-# Gracefully restart before that happen.
-sleep 72000
-while pkill -SIGHUP buildslave; do sleep 5; done;
-shutdown now
-
-echo "Failed to start any buildbot"
-shutdown now
-
-
-
More information about the libcxx-commits
mailing list