Add Bullseye Python 3.10 base images

Now that we've cleaned up the old unused images we can look forward to
new Python. Add Python 3.10 base images based on Bullseye.

As part of this process we update the default var values in our
Dockerfiles to set Bullseye and Python3.10 as our defaults as these
should be valid for some time. We also tidy up some yaml anchor names to
make future copy and paste for new versions of images easier to perform
text replacement on.

Change-Id: I4943a9178334c4bdf10ee5601e39004d6783b34c
This commit is contained in:
Clark Boylan 2022-04-20 08:39:52 -07:00
parent 2d43f9322b
commit 90effa2af0
7 changed files with 156 additions and 18 deletions

View File

@ -15,8 +15,8 @@
# Comment to force rebuilds Tue Aug 3 19:59:32 UTC 2021
ARG PYTHON_VERSION=3.7
ARG DEBIAN_VERSION=buster
ARG PYTHON_VERSION=3.10
ARG DEBIAN_VERSION=bullseye
FROM docker.io/library/python:${PYTHON_VERSION}-slim-${DEBIAN_VERSION}
# Necessary to use this var in the RUN below
ARG DEBIAN_VERSION

View File

@ -15,8 +15,8 @@
# Comment to force rebuilds Tue Aug 3 19:59:32 UTC 2021
ARG PYTHON_VERSION=3.7
ARG DEBIAN_VERSION=buster
ARG PYTHON_VERSION=3.10
ARG DEBIAN_VERSION=bullseye
FROM docker.io/library/python:${PYTHON_VERSION}-slim-${DEBIAN_VERSION} as fake-python
WORKDIR /tmp

View File

@ -13,8 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
ARG PYTHON_VERSION=3.7
ARG DEBIAN_VERSION=buster
ARG PYTHON_VERSION=3.10
ARG DEBIAN_VERSION=bullseye
FROM docker.io/opendevorg/python-builder:${PYTHON_VERSION}-${DEBIAN_VERSION} as builder
ARG PYTHON_VERSION

View File

@ -0,0 +1,129 @@
# python-builder-3.10-bullseye jobs
- job:
name: system-config-build-image-python-builder-3.10-bullseye
description: Build a python-builder-3.10-bullseye image.
parent: system-config-build-image
provides:
- python-builder-container-image
- python-builder-3.10-bullseye-container-image
vars: &python-builder_3_10_bullseye_vars
docker_images:
- context: docker/python-builder
repository: opendevorg/python-builder
tags:
- 3.10-bullseye
arch:
- linux/amd64
- linux/arm64
build_args:
- PYTHON_VERSION=3.10
- DEBIAN_VERSION=bullseye
files: &python-builder_3_10_bullseye_files
- docker/python-base/
- docker/python-builder/
- job:
name: system-config-upload-image-python-builder-3.10-bullseye
description: Build and upload a python-builder-3.10-bullseye image.
parent: system-config-upload-image
provides:
- python-builder-container-image
- python-builder-3.10-bullseye-container-image
vars: *python-builder_3_10_bullseye_vars
files: *python-builder_3_10_bullseye_files
- job:
name: system-config-promote-image-python-builder-3.10-bullseye
description: Promote a previously published python-builder-3.10-bullseye image to latest.
parent: system-config-promote-image
vars: *python-builder_3_10_bullseye_vars
files: *python-builder_3_10_bullseye_files
- job:
name: system-config-build-image-python-base-3.10-bullseye
description: Build a python-base-3.10-bullseye image.
parent: system-config-build-image
provides:
- python-base-container-image
- python-base-3.10-container-image
vars: &python-base_3_10_bullseye_vars
docker_images:
- context: docker/python-base
repository: opendevorg/python-base
tags:
- 3.10-bullseye
arch:
- linux/amd64
- linux/arm64
build_args:
- PYTHON_VERSION=3.10
- DEBIAN_VERSION=bullseye
files: &python-base_3_10_bullseye_files
- docker/python-base/
- docker/python-builder/
- job:
name: system-config-upload-image-python-base-3.10-bullseye
description: Build and upload a python-base-3.10-bullseye image.
parent: system-config-upload-image
provides: python-base-3.10-bullseye-container-image
vars: *python-base_3_10_bullseye_vars
files: *python-base_3_10_bullseye_files
- job:
name: system-config-promote-image-python-base-3.10-bullseye
description: Promote a previously published python-base-3.10-bullseye image to latest.
parent: system-config-promote-image
vars: *python-base_3_10_bullseye_vars
files: *python-base_3_10_bullseye_files
- job:
name: system-config-build-image-uwsgi-base-3.10-bullseye
description: Build a uwsgi-base-3.10-bullseye image.
parent: system-config-build-image
requires: &uwsgi-base_3_10_bullseye_requires
- python-base-3.10-bullseye-container-image
- python-builder-3.10-bullseye-container-image
provides: uwsgi-base-3.10-bullseye-container-image
dependencies:
- name: system-config-build-image-python-base-3.10-bullseye
soft: true
- name: system-config-build-image-python-builder-3.10-bullseye
soft: true
vars: &uwsgi-base_3_10_bullseye_vars
docker_images:
- context: docker/uwsgi-base
repository: opendevorg/uwsgi-base
tags:
- 3.10-bullseye
arch:
- linux/amd64
- linux/arm64
build_args:
- PYTHON_VERSION=3.10
- DEBIAN_VERSION=bullseye
files: &uwsgi-base_3_10_bullseye_files
- docker/python-base/.*
- docker/python-builder/.*
- docker/uwsgi-base/.*
- job:
name: system-config-upload-image-uwsgi-base-3.10-bullseye
description: Build and upload a uwsgi-base-3.10-bullseye image.
parent: system-config-upload-image
provides: uwsgi-base-3.10-bullseye-container-image
requires: *uwsgi-base_3_10_bullseye_requires
dependencies:
- name: system-config-upload-image-python-base-3.10-bullseye
soft: true
- name: system-config-upload-image-python-builder-3.10-bullseye
soft: true
vars: *uwsgi-base_3_10_bullseye_vars
files: *uwsgi-base_3_10_bullseye_files
- job:
name: system-config-promote-image-uwsgi-base-3.10-bullseye
description: Promote a previously published uwsgi-base-3.10-bullseye image to latest.
parent: system-config-promote-image
vars: *uwsgi-base_3_10_bullseye_vars
files: *uwsgi-base_3_10_bullseye_files

View File

@ -46,7 +46,7 @@
provides:
- python-base-container-image
- python-base-3.8-container-image
vars: &python-base-3_8_bullseye_vars
vars: &python-base_3_8_bullseye_vars
docker_images:
- context: docker/python-base
repository: opendevorg/python-base
@ -58,7 +58,7 @@
build_args:
- PYTHON_VERSION=3.8
- DEBIAN_VERSION=bullseye
files: &python-base-3_8_bullseye_files
files: &python-base_3_8_bullseye_files
- docker/python-base/
- docker/python-builder/
@ -67,15 +67,15 @@
description: Build and upload a python-base-3.8-bullseye image.
parent: system-config-upload-image
provides: python-base-3.8-bullseye-container-image
vars: *python-base-3_8_bullseye_vars
files: *python-base-3_8_bullseye_files
vars: *python-base_3_8_bullseye_vars
files: *python-base_3_8_bullseye_files
- job:
name: system-config-promote-image-python-base-3.8-bullseye
description: Promote a previously published python-base-3.8-bullseye image to latest.
parent: system-config-promote-image
vars: *python-base-3_8_bullseye_vars
files: *python-base-3_8_bullseye_files
vars: *python-base_3_8_bullseye_vars
files: *python-base_3_8_bullseye_files
- job:
name: system-config-build-image-uwsgi-base-3.8-bullseye

View File

@ -46,7 +46,7 @@
provides:
- python-base-container-image
- python-base-3.9-container-image
vars: &python-base-3_9_bullseye_vars
vars: &python-base_3_9_bullseye_vars
docker_images:
- context: docker/python-base
repository: opendevorg/python-base
@ -58,7 +58,7 @@
build_args:
- PYTHON_VERSION=3.9
- DEBIAN_VERSION=bullseye
files: &python-base-3_9_bullseye_files
files: &python-base_3_9_bullseye_files
- docker/python-base/
- docker/python-builder/
@ -67,15 +67,15 @@
description: Build and upload a python-base-3.9-bullseye image.
parent: system-config-upload-image
provides: python-base-3.9-bullseye-container-image
vars: *python-base-3_9_bullseye_vars
files: *python-base-3_9_bullseye_files
vars: *python-base_3_9_bullseye_vars
files: *python-base_3_9_bullseye_files
- job:
name: system-config-promote-image-python-base-3.9-bullseye
description: Promote a previously published python-base-3.9-bullseye image to latest.
parent: system-config-promote-image
vars: *python-base-3_9_bullseye_vars
files: *python-base-3_9_bullseye_files
vars: *python-base_3_9_bullseye_vars
files: *python-base_3_9_bullseye_files
- job:
name: system-config-build-image-uwsgi-base-3.9-bullseye

View File

@ -144,10 +144,13 @@
soft: true
- system-config-build-image-python-base-3.8-bullseye
- system-config-build-image-python-base-3.9-bullseye
- system-config-build-image-python-base-3.10-bullseye
- system-config-build-image-python-builder-3.8-bullseye
- system-config-build-image-python-builder-3.9-bullseye
- system-config-build-image-python-builder-3.10-bullseye
- system-config-build-image-uwsgi-base-3.8-bullseye
- system-config-build-image-uwsgi-base-3.9-bullseye
- system-config-build-image-uwsgi-base-3.10-bullseye
check-arm64:
jobs:
- system-config-run-base-arm64
@ -279,10 +282,13 @@
soft: true
- system-config-upload-image-python-base-3.8-bullseye
- system-config-upload-image-python-base-3.9-bullseye
- system-config-upload-image-python-base-3.10-bullseye
- system-config-upload-image-python-builder-3.8-bullseye
- system-config-upload-image-python-builder-3.9-bullseye
- system-config-upload-image-python-builder-3.10-bullseye
- system-config-upload-image-uwsgi-base-3.8-bullseye
- system-config-upload-image-uwsgi-base-3.9-bullseye
- system-config-upload-image-uwsgi-base-3.10-bullseye
promote:
jobs:
- opendev-promote-docs
@ -302,10 +308,13 @@
- system-config-promote-image-matrix-eavesdrop
- system-config-promote-image-python-base-3.8-bullseye
- system-config-promote-image-python-base-3.9-bullseye
- system-config-promote-image-python-base-3.10-bullseye
- system-config-promote-image-python-builder-3.8-bullseye
- system-config-promote-image-python-builder-3.9-bullseye
- system-config-promote-image-python-builder-3.10-bullseye
- system-config-promote-image-uwsgi-base-3.8-bullseye
- system-config-promote-image-uwsgi-base-3.9-bullseye
- system-config-promote-image-uwsgi-base-3.10-bullseye
# NOTE: infra-prod-* jobs have a hierarchy below that ensure
# they can run in parallel. We are deliberately keeping their