-
Notifications
You must be signed in to change notification settings - Fork 11.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[libc] Add docker container for llvm-libc buildbot worker.
Summary: Created a docker container to provide transparency and easy changes to the llvm-libc buildbot intfra. Reviewers: sivachandra Reviewed By: sivachandra Subscribers: MaskRay, tschuett, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D75596
- Loading branch information
1 parent
981258f
commit 270b528
Showing
3 changed files
with
60 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
FROM debian:10 | ||
|
||
# Installing dependecies. | ||
RUN dpkg --add-architecture i386 | ||
RUN apt-get update | ||
RUN apt-get install -y build-essential clang subversion git vim \ | ||
zip libstdc++6:i386 file binutils-dev binutils-gold cmake python-pip \ | ||
ninja-build | ||
RUN python -m pip install buildbot-slave==0.8.12 | ||
|
||
# Change linker to gold. | ||
RUN update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20 | ||
|
||
# Create and switch to buildbot user. | ||
RUN useradd buildbot --create-home | ||
USER buildbot | ||
|
||
WORKDIR /home/buildbot | ||
|
||
# Use clang as the compiler. | ||
ENV CC=/usr/bin/clang | ||
ENV CXX=/usr/bin/clang++ | ||
|
||
ENV WORKER_NAME="libc-x86_64-debian" | ||
|
||
# Set up buildbot host and maintainer info. | ||
RUN mkdir -p "${WORKER_NAME}/info/" | ||
RUN bash -c "(uname -a ; \ | ||
gcc --version | head -n1 ; ld --version \ | ||
| head -n1 ; cmake --version | head -n1 ) > ${WORKER_NAME}/info/host" | ||
RUN echo "Paula Toth <paulatoth@google.com>" > "${WORKER_NAME}/info/admin" | ||
|
||
ADD --chown=buildbot:buildbot run.sh . | ||
ENTRYPOINT ["./run.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
This folder contains resources needed to create a docker container for | ||
llvm-libc builbot worker. | ||
|
||
Dockerfile: Sets up the docker image with all pre-requisites. | ||
|
||
run.sh: Script to create and start buildbot worker with supplied password. | ||
|
||
cmd to build the docker container: | ||
``` | ||
docker build -t llvm-libc-buildbot-worker . | ||
``` | ||
|
||
cmd to run the buildbot: | ||
``` | ||
docker run -it llvm-libc-buildbot-worker <passwd> | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/bin/bash | ||
|
||
# This serves as the entrypoint for docker to allow us to | ||
# run and start the buildbot while supplying the password | ||
# as an argument. | ||
buildslave create-slave --keepalive=200 "${WORKER_NAME}" \ | ||
lab.llvm.org:9990 "${WORKER_NAME}" "$1" | ||
|
||
buildslave start "${WORKER_NAME}" | ||
tail -f ${WORKER_NAME}/twistd.log |