zuul-registry/playbooks/functional-test/run.yaml
Clark Boylan 7e28263067 Run image builds on noble
This runs our zuul-registry container image builds on noble because we
rely on skopeo being able to talk to docker's daemon but jammy skopeo is
too old to talk to modern docker. Running on noble should get us newer
skopeo can speak to new docker as well. Note we explicitly add
python3-setuptools to the extra packages list because docker-compose
needs it and doesn't explicitly list it as a dependency.

While we are at it we add python3.12 unittesting on noble too.

Change-Id: I3e84b0a5fc9cd29ab8cf510a59ef6bfed8b5abbd
2024-10-30 10:36:44 -07:00

85 lines
2.2 KiB
YAML

# This installs docker and runs a buildset registry
- hosts: all
roles:
- build-container-image
- hosts: all
name: Set up for tests
vars:
tasks:
# Set facts here to apply to all plays below
- name: Set variables for all tests
set_fact:
workspace: /tmp/registry-test
local: false
- name: Install podman
include_role:
name: ensure-podman
- name: Install extra packages
package:
name:
# Explicitly install python3-setuptools for docker-compose
# docker-compose relies on distutils which is not included in
# python3 with 3.12 or newer and the package doesn't list an
# explicit dependency.
- python3-setuptools
- docker-compose
- openssl
- skopeo
- buildah
- podman
- findutils
state: present
become: true
- name: Run setup tasks
include_tasks: setup.yaml
- hosts: all
name: Run container standard registry test
tasks:
- name: Run container test tasks
include_tasks: docker.yaml
- hosts: all
name: Run restricted buildset registry test
tasks:
- name: Run restricted buildset test tasks
include_tasks: restricted.yaml
- hosts: all
name: Run podman standard registry test
tasks:
- name: Run podman test tasks
include_tasks: podman.yaml
- hosts: all
name: Run docker buildset registry test
tasks:
- name: Run docker buildset test tasks
include_tasks: docker-buildset.yaml
- hosts: all
name: Run podman buildset registry test
tasks:
- name: Run podman buildset test tasks
include_tasks: podman-buildset.yaml
- hosts: all
name: Clean up after tests
tasks:
- name: Run cleanup tasks
include_tasks: cleanup.yaml
# If buildset_registry is defined, that means a parent job is running it;
# only if it is not defined does it mean that we are running it. If we
# are running it, pause the job so that child jobs will automatically
# use it.
- hosts: localhost
tasks:
- name: Pause the job
when: buildset_registry is not defined
zuul_return:
data:
zuul:
pause: true