diff --git a/.zuul.yaml b/.zuul.yaml index b0b67150f2..89ff200f52 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -56,7 +56,7 @@ name: system-config-build-image-jinja-init description: Build a jinja-init image. parent: system-config-build-image - requires: python-base-container-image + requires: python-base-3.7-container-image provides: jinja-init-container-image vars: &jinja-init_vars docker_images: @@ -71,7 +71,7 @@ name: system-config-upload-image-jinja-init description: Build and upload a jinja-init image. parent: system-config-upload-image - requires: python-base-container-image + requires: python-base-3.7-container-image provides: jinja-init-container-image vars: *jinja-init_vars files: *jinja-init_files @@ -150,7 +150,7 @@ name: system-config-build-image-haproxy-statsd description: Build a haproxy-statsd image. parent: system-config-build-image - requires: python-base-container-image + requires: python-base-3.7-container-image vars: &haproxy-statsd_vars docker_images: - context: docker/haproxy-statsd @@ -164,7 +164,7 @@ name: system-config-upload-image-haproxy-statsd description: Build and upload a haproxy-statsd image. parent: system-config-upload-image - requires: python-base-container-image + requires: python-base-3.7-container-image vars: *haproxy-statsd_vars files: *haproxy-statsd_files @@ -511,63 +511,146 @@ vars: *gerrit_vars_master files: *gerrit_files_master -# python-builder jobs +# python-builder-3.7 jobs - job: - name: system-config-build-image-python-builder - description: Build a python-builder image. + name: system-config-build-image-python-builder-3.7 + description: Build a python-builder-3.7 image. parent: system-config-build-image - provides: python-builder-container-image - vars: &python-builder_vars + provides: + - python-builder-container-image + - python-builder-3.7-container-image + vars: &python-builder_3_7_vars docker_images: - context: docker/python-builder repository: opendevorg/python-builder - files: &python-builder_files + tags: + - 3.7 + - latest + build_args: + - PYTHON_VERSION=3.7 + files: &python-builder_3_7_files - docker/python-base/.* - docker/python-builder/.* - job: - name: system-config-upload-image-python-builder - description: Build and upload a python-builder image. + name: system-config-upload-image-python-builder-3.7 + description: Build and upload a python-builder-3.7 image. parent: system-config-upload-image - provides: python-builder-container-image - vars: *python-builder_vars - files: *python-builder_files + provides: + - python-builder-container-image + - python-builder-3.7-container-image + vars: *python-builder_3_7_vars + files: *python-builder_3_7_files - job: - name: system-config-promote-image-python-builder - description: Promote a previously published python-builder image to latest. + name: system-config-promote-image-python-builder-3.7 + description: Promote a previously published python-builder-3.7 image to latest. parent: system-config-promote-image - vars: *python-builder_vars - files: *python-builder_files + vars: *python-builder_3_7_vars + files: *python-builder_3_7_files -# python-base jobs +# python-builder-3.8 jobs - job: - name: system-config-build-image-python-base - description: Build a python-base image. + name: system-config-build-image-python-builder-3.8 + description: Build a python-builder-3.8 image. parent: system-config-build-image - provides: python-base-container-image - vars: &python-base_vars + provides: + - python-builder-3.8-container-image + vars: &python-builder_3_8_vars + docker_images: + - context: docker/python-builder + repository: opendevorg/python-builder + tags: + - 3.8 + build_args: + - PYTHON_VERSION=3.8 + files: &python-builder_3_8_files + - docker/python-base/.* + - docker/python-builder/.* + +- job: + name: system-config-upload-image-python-builder-3.8 + description: Build and upload a python-builder-3.8 image. + parent: system-config-upload-image + provides: python-builder-3.8-container-image + vars: *python-builder_3_8_vars + files: *python-builder_3_8_files + +- job: + name: system-config-promote-image-python-builder-3.8 + description: Promote a previously published python-builder-3.8 image to latest. + parent: system-config-promote-image + vars: *python-builder_3_8_vars + files: *python-builder_3_8_files + +# python-base-3.7 jobs +- job: + name: system-config-build-image-python-base-3.7 + description: Build a python-base-3.7 image. + parent: system-config-build-image + provides: + - python-base-container-image + - python-base-3.7-container-image + vars: &python-base-3_7_vars docker_images: - context: docker/python-base repository: opendevorg/python-base - files: &python-base_files + tags: + - 3.7 + - latest + build_args: + - PYTHON_VERSION=3.7 + files: &python-base-3_7_files - docker/python-base/.* - docker/python-builder/.* - job: - name: system-config-upload-image-python-base - description: Build and upload a python-base image. + name: system-config-upload-image-python-base-3.7 + description: Build and upload a python-base-3.7 image. parent: system-config-upload-image - provides: python-base-container-image - vars: *python-base_vars - files: *python-base_files + provides: python-base-3.7-container-image + vars: *python-base-3_7_vars + files: *python-base-3_7_files - job: - name: system-config-promote-image-python-base - description: Promote a previously published python-base image to latest. + name: system-config-promote-image-python-base-3.7 + description: Promote a previously published python-base-3.7 image to latest. parent: system-config-promote-image - vars: *python-base_vars - files: *python-base_files + vars: *python-base-3_7_vars + files: *python-base-3_7_files + +# python-base-3.8 jobs +- job: + name: system-config-build-image-python-base-3.8 + description: Build a python-base-3.8 image. + parent: system-config-build-image + provides: python-base-3.8-container-image + vars: &python-base-3_8_vars + docker_images: + - context: docker/python-base + repository: opendevorg/python-base + tags: + - 3.8 + build_args: + - PYTHON_VERSION=3.8 + files: &python-base-3_8_files + - docker/python-base/.* + - docker/python-builder/.* + +- job: + name: system-config-upload-image-python-base-3.8 + description: Build and upload a python-base-3.8 image. + parent: system-config-upload-image + provides: python-base-3.8-container-image + vars: *python-base-3_8_vars + files: *python-base-3_8_files + +- job: + name: system-config-promote-image-python-base-3.8 + description: Promote a previously published python-base-3.8 image to latest. + parent: system-config-promote-image + vars: *python-base-3_8_vars + files: *python-base-3_8_files # gerrit-base jobs - job: @@ -577,7 +660,7 @@ required-projects: &gerrit_base_projects - opendev/jeepyb - opendev/system-config - requires: python-builder-container-image + requires: python-builder-3.7-container-image provides: gerrit-base-container-image vars: &gerrit-base_vars docker_images: @@ -591,7 +674,7 @@ name: system-config-upload-image-gerrit-base description: Build and upload a gerrit-base image. parent: system-config-upload-image - requires: python-builder-container-image + requires: python-builder-3.7-container-image provides: gerrit-base-container-image required-projects: *gerrit_base_projects vars: *gerrit-base_vars @@ -1316,12 +1399,12 @@ - system-config-build-image-gerrit-base: dependencies: - name: opendev-buildset-registry - - name: system-config-build-image-python-builder + - name: system-config-build-image-python-builder-3.7 soft: true - system-config-build-image-gerrit-2.13: dependencies: - name: opendev-buildset-registry - - name: system-config-build-image-python-builder + - name: system-config-build-image-python-builder-3.7 soft: true - name: system-config-build-image-gerrit-base soft: true @@ -1351,12 +1434,12 @@ - system-config-upload-image-gerrit-base: dependencies: - name: opendev-buildset-registry - - name: system-config-upload-image-python-builder + - name: system-config-upload-image-python-builder-3.7 soft: true - system-config-upload-image-gerrit-2.13: dependencies: - name: opendev-buildset-registry - - name: system-config-upload-image-python-builder + - name: system-config-upload-image-python-builder-3.7 soft: true - name: system-config-upload-image-gerrit-base soft: true @@ -1424,7 +1507,7 @@ - system-config-build-image-jinja-init: dependencies: - name: opendev-buildset-registry - - name: system-config-build-image-python-base + - name: system-config-build-image-python-base-3.7 soft: true - system-config-build-image-gitea-init: dependencies: @@ -1435,10 +1518,12 @@ - system-config-build-image-haproxy-statsd: dependencies: - name: opendev-buildset-registry - - name: system-config-build-image-python-base + - name: system-config-build-image-python-base-3.7 soft: true - - system-config-build-image-python-base - - system-config-build-image-python-builder + - system-config-build-image-python-base-3.7 + - system-config-build-image-python-base-3.8 + - system-config-build-image-python-builder-3.7 + - system-config-build-image-python-builder-3.8 check-arm64: jobs: - system-config-run-mirror-arm64 @@ -1473,7 +1558,7 @@ - system-config-upload-image-jinja-init: dependencies: - name: opendev-buildset-registry - - name: system-config-upload-image-python-base + - name: system-config-upload-image-python-base-3.7 soft: true - system-config-upload-image-gitea-init: dependencies: @@ -1484,18 +1569,22 @@ - system-config-upload-image-haproxy-statsd: dependencies: - name: opendev-buildset-registry - - name: system-config-upload-image-python-base + - name: system-config-upload-image-python-base-3.7 soft: true - - system-config-upload-image-python-base - - system-config-upload-image-python-builder + - system-config-upload-image-python-base-3.7 + - system-config-upload-image-python-base-3.8 + - system-config-upload-image-python-builder-3.7 + - system-config-upload-image-python-builder-3.8 promote: jobs: - system-config-promote-image-jinja-init - system-config-promote-image-gitea-init - system-config-promote-image-gitea - system-config-promote-image-haproxy-statsd - - system-config-promote-image-python-base - - system-config-promote-image-python-builder + - system-config-promote-image-python-base-3.7 + - system-config-promote-image-python-base-3.8 + - system-config-promote-image-python-builder-3.7 + - system-config-promote-image-python-builder-3.8 periodic: jobs: - developer-openstack-goaccess-report diff --git a/docker/gerrit/base/Dockerfile b/docker/gerrit/base/Dockerfile index 63e604e228..54227b9478 100644 --- a/docker/gerrit/base/Dockerfile +++ b/docker/gerrit/base/Dockerfile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM docker.io/opendevorg/python-builder as builder +FROM docker.io/opendevorg/python-builder:3.7 as builder COPY . /tmp/src RUN assemble diff --git a/docker/haproxy-statsd/Dockerfile b/docker/haproxy-statsd/Dockerfile index 9009d08694..b0c5c891f2 100644 --- a/docker/haproxy-statsd/Dockerfile +++ b/docker/haproxy-statsd/Dockerfile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM docker.io/opendevorg/python-base +FROM docker.io/opendevorg/python-base:3.7 COPY haproxy-statsd.py /usr/local/bin RUN pip install statsd diff --git a/docker/jinja-init/Dockerfile b/docker/jinja-init/Dockerfile index ef7c3297b0..6f4ba22746 100644 --- a/docker/jinja-init/Dockerfile +++ b/docker/jinja-init/Dockerfile @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -FROM docker.io/opendevorg/python-base as build +FROM docker.io/opendevorg/python-base:3.7 as build RUN apt-get update && apt-get -y install \ git \ @@ -25,7 +25,7 @@ WORKDIR /src/jinja-init RUN git checkout 8c13a44124a5a363519df787b1cd0abd1198b8df -FROM docker.io/opendevorg/python-base as jinja-init +FROM docker.io/opendevorg/python-base:3.7 as jinja-init RUN pip install jinja2 diff --git a/docker/python-base/Dockerfile b/docker/python-base/Dockerfile index ffcbb9dd36..96d1801f34 100644 --- a/docker/python-base/Dockerfile +++ b/docker/python-base/Dockerfile @@ -13,7 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM docker.io/library/python:3.7-slim +ARG PYTHON_VERSION=3.7 +FROM docker.io/library/python:${PYTHON_VERSION}-slim RUN echo 'APT::Install-Recommends "0";' > /etc/apt/apt.conf.d/95disable-recommends diff --git a/docker/python-builder/Dockerfile b/docker/python-builder/Dockerfile index 1b0785d90e..176f8fc125 100644 --- a/docker/python-builder/Dockerfile +++ b/docker/python-builder/Dockerfile @@ -13,7 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM docker.io/library/python:3.7-slim as fake-python +ARG PYTHON_VERSION=3.7 +FROM docker.io/library/python:${PYTHON_VERSION}-slim as fake-python WORKDIR /tmp RUN apt-get update \ @@ -22,7 +23,7 @@ RUN apt-get update \ COPY python3-dev.control /tmp/python3-dev.control RUN equivs-build /tmp/python3-dev.control -FROM docker.io/library/python:3.7-slim +FROM docker.io/library/python:${PYTHON_VERSION}-slim RUN echo 'APT::Install-Recommends "0";' > /etc/apt/apt.conf.d/95disable-recommends