From 499d2f82a4d42580b0c7a8613d4bcf1a64e834f0 Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Wed, 9 Jun 2021 10:36:52 +1000 Subject: [PATCH] Add container image build Change-Id: Ic3f685cce211cd10bb392c372da4c1517d036afa --- .zuul.yaml | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ Dockerfile | 26 ++++++++++++++++++++++ setup.cfg | 3 +++ 3 files changed, 93 insertions(+) create mode 100644 .zuul.yaml create mode 100644 Dockerfile diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000..fa93145 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,64 @@ +- secret: + name: statusbot-opendev-dockerhub + data: + username: opendevzuul + password: !encrypted/pkcs1-oaep + - 1lrelk7zn4fl31rF2n/+erP4aYWXWfHMnt7piYyBtfSlbIh3z+u8BIDY5/LXU9bswwxVR + IKRmMSME8sH4wE9+DAmsGiiuEuVdq2fKu7jF2doL86EVYsOMYtOJak7jN1l5mOHWn/IZy + lKATn/OaAHosX8un30T9pSn4cNCtsdbIRxxjXJUdprZfbcDHAJ5Ezf5PsBs9Szg/SUZWU + DLVvAYoTpyYHTHQMCf1idKevAnewrDLtPuIjVf0FWmMsRURBh5HVZILVn6NFCHQZR93ca + mzNpQOaw/v/F+hjtKZSFRbuwuOe1st5qK1KLbzb0xYJ0DhM5bIKO/O3gTKwWV30+0rEJC + geouNC+qhhVRGAqvA3y1DJZNYcY4lGTYE2hMhaIKBm1tj1UpzbexVU66NTUZ6xAzsq28c + D2ffLmVMeNtnZUud1JiwpeHOGB/zwpJJTcJBHI9bzn19NNF9MhnRGbaJUU69goPgc8O17 + HD18TsHAGm4mJwLNp8zWUb0VMP06v8PHI7clRAK07FUN6Gc7mjdgGoPI1RtLoZ8Fr0Il7 + vbfU6acyzrH/CIyF5mNvrUBuy3J6QoKElFG2pXGfZj8xKhCTbShT2rZwyZdhgONvjNWIN + cY8abkqFpILCTTEtByIs0A02XJLOf9XdK5R3/yPPNhv5OPSfBTwpIgwLsAJqPU= + +- job: + name: statusbot-build-opendev-image + parent: opendev-build-docker-image + description: Build OpenDev Docker images for storyboard webclient + provides: statusbot-container-image + required-projects: &statusbot_opendev_required_projects + - opendev/statusbot + vars: &statusbot_opendev_image_vars + zuul_work_dir: src/opendev.org/opendev/statusbot + docker_images: + - context: . + repository: opendevorg/statusbot + target: statusbot + siblings: + - opendev.org/opendev/statusbot + +- job: + name: statusbot-upload-opendev-image + parent: opendev-upload-docker-image + description: Build OpenDev statusbot Docker images and upload to Docker Hub. + provides: statusbot-container-image + required-projects: *statusbot_opendev_required_projects + vars: *statusbot_opendev_image_vars + secrets: + - name: docker_credentials + secret: statusbot-opendev-dockerhub + pass-to-parent: true + +- job: + name: statusbot-promote-opendev-image + parent: opendev-promote-docker-image + description: Promote previously uploaded statusbot Docker images. + vars: *statusbot_opendev_image_vars + secrets: + - name: docker_credentials + secret: statusbot-opendev-dockerhub + pass-to-parent: true + +- project: + check: + jobs: + - statusbot-build-opendev-image + gate: + jobs: + - statusbot-upload-opendev-image + promote: + jobs: + - statusbot-promote-opendev-image diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c52adad --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +# Copyright 2021 Red Hat, Inc. +# +# This module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This software is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this software. If not, see . + +FROM opendevorg/python-builder:3.8 as builder + +COPY . /tmp/src +RUN assemble + +FROM opendevorg/python-base:3.8 as statusbot + +COPY --from=builder /output/ /output +RUN /output/install-from-bindep + +CMD ["/usr/local/bin/statusbot", "-d", "/etc/statusbot/statusbot.config"] diff --git a/setup.cfg b/setup.cfg index afc1009..1f1152c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -14,6 +14,9 @@ classifier = Programming Language :: Python Programming Language :: Python :: 3 Programming Language :: Python :: 3.5 + Programming Language :: Python :: 3.6 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 [entry_points] console_scripts =