From 92a96c55dce9da2f0a227b3a4153d2936534dbc5 Mon Sep 17 00:00:00 2001 From: timofey Date: Fri, 4 Aug 2023 23:31:33 +0000 Subject: [PATCH] customize --- master.cfg | 16 +++++----------- worker/Dockerfile | 21 +++------------------ worker/buildbot.tac | 32 +++++++++++++++++++------------- worker/worker-setup.sh | 18 ++++++++++++++++++ 4 files changed, 45 insertions(+), 42 deletions(-) create mode 100644 worker/worker-setup.sh diff --git a/master.cfg b/master.cfg index c5de1f8..b0bc772 100644 --- a/master.cfg +++ b/master.cfg @@ -59,26 +59,20 @@ c["change_source"].append( # Configure the Schedulers, which decide how to react to incoming changes. In this # case, just kick off a 'runtests' build +builderNames = ["runtests"] +if GITEA_SECRET: + builderNames.append("runtests-gitea") c["schedulers"] = [] c["schedulers"].append( schedulers.SingleBranchScheduler( name="all", change_filter=util.ChangeFilter(branch="main"), treeStableTimer=None, - builderNames=["runtests"], + builderNames=builderNames, ) ) -if GITEA_SECRET: - c["schedulers"].append( - schedulers.SingleBranchScheduler( - name="all-gitea", - change_filter=util.ChangeFilter(branch="main"), - treeStableTimer=None, - builderNames=["runtests-gitea"], - ) - ) c["schedulers"].append( - schedulers.ForceScheduler(name="force", builderNames=["runtests"]) + schedulers.ForceScheduler(name="force", builderNames=builderNames) ) ####### BUILDERS diff --git a/worker/Dockerfile b/worker/Dockerfile index 2ef9abd..4f70eca 100644 --- a/worker/Dockerfile +++ b/worker/Dockerfile @@ -1,21 +1,6 @@ -FROM rust:1.71 -RUN apt-get update && apt-get -y upgrade -RUN apt-get update && apt-get -y install -q\ - build-essential\ - git\ - python3-dev\ - libffi-dev\ - libssl-dev\ - python3-setuptools\ - python3-pip\ - dumb-init\ - curl -RUN rm -rf /var/lib/apt/lists/* -RUN pip3 --no-cache-dir install 'twisted[tls]' -RUN mkdir /buildbot -RUN useradd -ms /bin/bash buildbot -RUN pip3 install buildbot-worker -RUN chown -R buildbot /buildbot +FROM rust:1.65 +COPY worker-setup.sh worker-setup.sh +RUN bash worker-setup.sh USER buildbot WORKDIR /buildbot COPY buildbot.tac /buildbot/buildbot.tac diff --git a/worker/buildbot.tac b/worker/buildbot.tac index c96ad8f..789bc92 100644 --- a/worker/buildbot.tac +++ b/worker/buildbot.tac @@ -2,23 +2,20 @@ import fnmatch import os import sys -from twisted.application import service -from twisted.python.log import FileLogObserver -from twisted.python.log import ILogObserver - from buildbot_worker.bot import Worker +from twisted.application import service +from twisted.python.log import FileLogObserver, ILogObserver # setup worker -basedir = os.environ.get("BUILDBOT_BASEDIR", - os.path.abspath(os.path.dirname(__file__))) -application = service.Application('buildbot-worker') +basedir = os.environ.get("BUILDBOT_BASEDIR", os.path.abspath(os.path.dirname(__file__))) +application = service.Application("buildbot-worker") application.setComponent(ILogObserver, FileLogObserver(sys.stdout).emit) # and worker on the same process! -buildmaster_host = os.environ.get("BUILDMASTER", 'localhost') +buildmaster_host = os.environ.get("BUILDMASTER", "localhost") port = int(os.environ.get("BUILDMASTER_PORT", 9989)) -workername = os.environ.get("WORKERNAME", 'docker') +workername = os.environ.get("WORKERNAME", "docker") passwd = os.environ.get("WORKERPASS") # delete the password from the environ so that it is not leaked in the log @@ -35,8 +32,17 @@ allow_shutdown = None maxretries = 10 delete_leftover_dirs = False -s = Worker(buildmaster_host, port, workername, passwd, basedir, - keepalive, umask=umask, maxdelay=maxdelay, - allow_shutdown=allow_shutdown, maxRetries=maxretries, - delete_leftover_dirs=delete_leftover_dirs) +s = Worker( + buildmaster_host, + port, + workername, + passwd, + basedir, + keepalive, + umask=umask, + maxdelay=maxdelay, + allow_shutdown=allow_shutdown, + maxRetries=maxretries, + delete_leftover_dirs=delete_leftover_dirs, +) s.setServiceParent(application) diff --git a/worker/worker-setup.sh b/worker/worker-setup.sh new file mode 100644 index 0000000..87f2b8b --- /dev/null +++ b/worker/worker-setup.sh @@ -0,0 +1,18 @@ +apt-get update \ +&& apt-get -y upgrade \ +&& apt-get -y install -q \ + build-essential \ + git \ + python3-dev \ + libffi-dev \ + libssl-dev \ + python3-setuptools \ + python3-pip \ + dumb-init \ + curl \ +&& rm -rf /var/lib/apt/lists/* \ +&& pip3 --no-cache-dir install 'twisted[tls]' \ +&& mkdir /buildbot \ +&& useradd -ms /bin/bash buildbot \ +&& pip3 install buildbot-worker \ +&& chown -R buildbot /buildbot