Clark Boylan c338fc970d Update the docker images to python 3.10
We do this to take advantage of python 3.10's speed improvements as
illustrated by Zuul proper. But also OpenDev would like to drop python
3.8 image builds to make room for python 3.11.

We add python3.10 unittesting to prevent regressing the docker images on
that version of python.

Change-Id: Ib2e39e0c5d09b4fdce40faa072fe51b55c8d7407
2022-10-14 15:31:12 -07:00

105 lines
3.6 KiB
YAML

# Image building jobs
- secret:
name: zuul-registry-dockerhub
data:
username: zuulzuul
password: !encrypted/pkcs1-oaep
- mc+bK6/dQJ/gzrR5jFYEm9eepVfWG0xiTxxPCunDN0tgbis+xbe1cBOAEdZmjkNrXO/0V
6d7EcH0JP8mD9jgaTMVWKhVHUF4m/pikP5S4oKgfQYf9PKtzaSp298fhu+4RzuKR01ywj
ks8MWj2oZKJeikQVVbK6z8wMQYirxmaUvivKOU6eJmiPMYs3AaC+P6oc1vEGHMFaa+QpG
3hD2z+y7Ix/YFKyDQPk4DOs1lTveE18RCBIiP4IRXuYxKkR5uSqj4KEmdcdxBZ6mQyTbw
uZwLMPlkFTNYkaKetobVMo79I3HEACPRN7ylhu96690DsJ7QkvEQD6LPqw82XODuM+T4o
u9kJLLhPhZEALGE9yga4RC6YxfWx1KbJRr74vu5ctxTffuDQGwHjYYf76B0TPuX72UuaP
MqG2F1M9Agr0WpTufyXD/33a+G4iybR0kY21cfv6TEYsock43d8k2ygaPgKqUHFQ5EEia
PiMzt/6vKATl+EUZEJIbqLlP0GyB6RTHylnzSjrInQEumOcsZPx0zhW0hvrs1M8L1WQqQ
VksKhsXrJPO9AS2+/7GUC3+Epsui7R/4A52JK2L73iNh4S+BwBIMMqruC9msbNVPtzEPd
HzKPwH9EkgIRZqvpu7oP9EHzKmsaYk/dRBWSwZ9f9E1GRiTuQ11DoI2km4iTJI=
- job:
name: zuul-registry-build-image
description: Build and test a Docker image.
parent: opendev-build-docker-image
allowed-projects: zuul/zuul-registry
run: playbooks/functional-test/run.yaml
post-run: playbooks/functional-test/post.yaml
requires:
- python-builder-3.10-bullseye-container-image
- python-base-3.10-bullseye-container-image
provides: zuul-registry-container-image
nodeset: ubuntu-jammy
vars: &image_vars
docker_images:
- context: .
repository: zuul/zuul-registry
target: zuul-registry
tags:
# If zuul.tag is defined: [ '3', '3.19', '3.19.0' ]. Only works for 3-component tags.
# Otherwise: ['latest']
&imagetag "{{ zuul.tag is defined | ternary([zuul.get('tag', '').split('.')[0], '.'.join(zuul.get('tag', '').split('.')[:2]), zuul.get('tag', '')], ['latest']) }}"
- job:
name: zuul-registry-upload-image
parent: opendev-upload-docker-image
description: Build and test a Docker image and upload to Docker Hub.
allowed-projects: zuul/zuul-registry
run: playbooks/functional-test/run.yaml
post-run: playbooks/functional-test/post.yaml
nodeset: ubuntu-jammy
secrets:
name: docker_credentials
secret: zuul-registry-dockerhub
pass-to-parent: true
requires:
- python-builder-3.10-bullseye-container-image
- python-base-3.10-bullseye-container-image
provides: zuul-registry-container-image
vars: *image_vars
- job:
name: zuul-registry-promote-image
parent: opendev-promote-docker-image
description: Promote previously uploaded Docker image.
allowed-projects: zuul/zuul-registry
secrets:
name: docker_credentials
secret: zuul-registry-dockerhub
pass-to-parent: true
nodeset:
nodes: []
vars: *image_vars
- project:
vars:
release_python: python3
check:
jobs:
- zuul-registry-build-image
- tox-pep8
- tox-py38
- tox-py310:
nodeset: ubuntu-jammy
- build-python-release
gate:
jobs:
- zuul-registry-upload-image
- tox-pep8
- tox-py38
- tox-py310:
nodeset: ubuntu-jammy
- build-python-release
promote:
jobs:
- opendev-promote-python
- zuul-registry-promote-image
release:
jobs:
- opendev-release-python
- upload-docker-image:
secrets:
name: docker_credentials
secret: zuul-registry-dockerhub
pass-to-parent: true
vars:
<<: *image_vars
upload_docker_image_promote: false