diff --git a/docker/ircbot/Dockerfile b/docker/ircbot/Dockerfile new file mode 100644 index 0000000000..0c054cc88b --- /dev/null +++ b/docker/ircbot/Dockerfile @@ -0,0 +1,42 @@ +# Copyright (c) 2021 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM opendevorg/python-builder:3.9 as builder +ARG ZUUL_SIBLINGS="" + +RUN apt-get update \ + && apt-get -y install git + +#NOTE(ianw) : 2021-05-31 - only until changes integrated upstream +#RUN git clone https://github.com/ProgVal/Limnoria /tmp/src +RUN git clone -b setuptools https://github.com/ianw/Limnoria /tmp/src + +COPY . /tmp/src + +RUN assemble + +FROM opendevorg/python-base:3.9 as ircbot + +COPY --from=builder /output /output + +RUN /output/install-from-bindep \ + && rm -rf /output + +# Install other misc dependencies +# XXX: ubuntu bug tracker plugins from +# https://git.launchpad.net/~krytarik/ubuntu-bots/+git/ubuntu-bots/tree/ +RUN pip install irclog2html + +ENTRYPOINT [ "/usr/local/bin/supybot", "--allow-root", "/var/lib/limnoria/limnoria.config" ] diff --git a/docker/ircbot/local-build.sh b/docker/ircbot/local-build.sh new file mode 100755 index 0000000000..a5bb125d96 --- /dev/null +++ b/docker/ircbot/local-build.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# This clones meetbot into a top-level "meetbot" (and in the future +# other sibling plugins) directory and sets up a sibling install to +# build the container locally. + +if [ ! -d .zuul-siblings/opendev.org/opendev/meetbot ]; then + mkdir -p .zuul-siblings/opendev.org/opendev + if [ ! -d meetbot ]; then + git clone https://opendev.org/opendev/meetbot + fi + pushd .zuul-siblings/opendev.org/opendev + ln -sf ../../../meetbot meetbot +fi + +docker build . -f Dockerfile --build-arg "ZUUL_SIBLINGS=opendev.org/opendev/meetbot" diff --git a/zuul.d/docker-images/base.yaml b/zuul.d/docker-images/base.yaml index 10705c877c..79648fb527 100644 --- a/zuul.d/docker-images/base.yaml +++ b/zuul.d/docker-images/base.yaml @@ -22,7 +22,7 @@ abstract: true vars: docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker/{{ ansible_distribution_release }}" - zuul_work_dir: /home/zuul/src/opendev.org/opendev/system-config + zuul_work_dir: "{{ zuul.projects['opendev.org/opendev/system-config'].src_dir }}" - job: name: system-config-upload-image @@ -30,7 +30,7 @@ dependencies: opendev-buildset-registry abstract: true vars: - zuul_work_dir: /home/zuul/src/opendev.org/opendev/system-config + zuul_work_dir: "{{ zuul.projects['opendev.org/opendev/system-config'].src_dir }}" secrets: name: docker_credentials secret: system-config-dockerhub diff --git a/zuul.d/docker-images/ircbot.yaml b/zuul.d/docker-images/ircbot.yaml new file mode 100644 index 0000000000..3bbca4647e --- /dev/null +++ b/zuul.d/docker-images/ircbot.yaml @@ -0,0 +1,29 @@ +# ircbot jobs +- job: + name: system-config-build-image-ircbot + description: Build a ircbot image. + parent: system-config-build-image + required-projects: &ircbot_required_projects + - opendev/meetbot + vars: &ircbot_vars + docker_images: + - context: docker/ircbot + target: ircbot + repository: opendevorg/ircbot + siblings: + - opendev.org/opendev/meetbot + files: &ircbot_files + - docker/ircbot/.* +- job: + name: system-config-upload-image-ircbot + description: Build and upload a ircbot image. + parent: system-config-upload-image + required-projects: *ircbot_required_projects + vars: *ircbot_vars + files: *ircbot_files +- job: + name: system-config-promote-image-ircbot + description: Promote a previously published ircbot image to latest. + parent: system-config-promote-image + vars: *ircbot_vars + files: *ircbot_files diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index dc746f98a7..d21c08e568 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -116,6 +116,11 @@ - name: opendev-buildset-registry - name: system-config-build-image-python-base-3.7 soft: true + - system-config-build-image-ircbot: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-python-builder-3.9 + soft: true - system-config-build-image-python-base-3.7 - system-config-build-image-python-base-3.8 - system-config-build-image-python-base-3.9 @@ -234,6 +239,11 @@ - name: opendev-buildset-registry - name: system-config-build-image-python-base-3.7 soft: true + - system-config-upload-image-ircbot: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-python-builder-3.9 + soft: true - system-config-upload-image-python-base-3.7 - system-config-upload-image-python-base-3.8 - system-config-upload-image-python-base-3.9 @@ -258,6 +268,7 @@ - system-config-promote-image-zookeeper-statsd - system-config-promote-image-accessbot - system-config-promote-image-refstack + - system-config-promote-image-ircbot - system-config-promote-image-python-base-3.7 - system-config-promote-image-python-base-3.8 - system-config-promote-image-python-base-3.9