Add xenial and jammy #15

Merged
PeterSurda merged 1 commits from shekhar-cis/buildbot_multibuild:refactor/buildbot_multibuild into master 2022-04-28 09:33:58 +02:00
Showing only changes of commit ff87ae8ec5 - Show all commits

View File

@ -16,8 +16,8 @@ dockerfile_extra_contents = {}
dockerfile_extra_contents['focal'] = """ dockerfile_extra_contents['focal'] = """
# Buildbot # Buildbot
RUN apt-get install -yq --no-install-suggests --no-install-recommends \ RUN apt-get update -y && apt-get install -yq --no-install-suggests --no-install-recommends \
buildbot-worker git subversion python3-dev libffi-dev python3-setuptools \ python3-buildbot-worker git subversion python3-dev libffi-dev python3-setuptools \
python3-pip dumb-init curl openssh-client wget python3-pip dumb-init curl openssh-client wget
# buildbot entrypoint # buildbot entrypoint
@ -35,7 +35,7 @@ ENTRYPOINT /usr/local/bin/buildbot_entrypoint.sh "$BUILDMASTER" "$WORKERNAME" "$
dockerfile_extra_contents['bionic'] = """ dockerfile_extra_contents['bionic'] = """
# Buildbot # Buildbot
RUN apt-get install -yq --no-install-suggests --no-install-recommends \ RUN apt-get update -y && apt-get install -yq --no-install-suggests --no-install-recommends \
buildbot-slave git subversion python3-dev libffi-dev python3-setuptools \ buildbot-slave git subversion python3-dev libffi-dev python3-setuptools \
python3-pip dumb-init curl openssh-client wget python3-pip dumb-init curl openssh-client wget
@ -51,6 +51,44 @@ ENTRYPOINT /usr/local/bin/buildbot_entrypoint.sh "$BUILDMASTER" "$WORKERNAME" "$
""" """
dockerfile_extra_contents['jammy'] = """
# Buildbot
RUN apt-get update -y && apt-get install -yq --no-install-suggests --no-install-recommends \
python3-buildbot-worker git subversion python3-dev libffi-dev python3-setuptools \
python3-pip dumb-init curl openssh-client wget
# buildbot entrypoint
RUN wget -O /usr/local/bin/buildbot_entrypoint.sh https://git.bitmessage.org/Bitmessage/buildbot-scripts/raw/branch/master/docker/bionic/entrypoint.sh
RUN chmod +x /usr/local/bin/buildbot_entrypoint.sh
RUN echo 'buildbot ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER buildbot
ENTRYPOINT /usr/local/bin/buildbot_entrypoint.sh "$BUILDMASTER" "$WORKERNAME" "$WORKERPASS"
"""
dockerfile_extra_contents['xenial'] = """
# Buildbot
RUN apt-get update -y && apt-get install -yq --no-install-suggests --no-install-recommends \
buildbot-slave git subversion python3-dev libffi-dev python3-setuptools \
python3-pip dumb-init curl openssh-client wget \
python-setuptools python-psutil libssl-dev python-dev libgmp-dev python-virtualenv
# buildbot entrypoint
RUN wget -O /usr/local/bin/buildbot_entrypoint.sh https://git.bitmessage.org/Bitmessage/buildbot-scripts/raw/branch/master/docker/bionic/entrypoint.sh
RUN chmod +x /usr/local/bin/buildbot_entrypoint.sh
RUN echo 'buildbot ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER buildbot
ENTRYPOINT /usr/local/bin/buildbot_entrypoint.sh "$BUILDMASTER" "$WORKERNAME" "$WORKERPASS"
"""
def get_secret(): def get_secret():
with open("multibuild_parent_key.key", 'r') as f: with open("multibuild_parent_key.key", 'r') as f:
@ -115,6 +153,7 @@ def _get_dockerfile_contents(dockerfile):
if m: if m:
inside_allowed_command = True inside_allowed_command = True
if m.group(1) == "FROM": if m.group(1) == "FROM":
os_codename = m.group().split()[1].split(":")[1]
has_from = True has_from = True
if inside_allowed_command: if inside_allowed_command:
res += line res += line
@ -124,7 +163,11 @@ def _get_dockerfile_contents(dockerfile):
if not has_from: if not has_from:
return None return None
return res + dockerfile_extra_contents[os_codename]
try:
return res + dockerfile_extra_contents[os_codename]
except KeyError:
return None
def trigger_child_hooks(buildbotUrl: str, repository, branch, revision, def trigger_child_hooks(buildbotUrl: str, repository, branch, revision,