From 00ae9af09caf88df8e0b1de877d81904d255ebbe Mon Sep 17 00:00:00 2001
From: Ian Wienand <iwienand@redhat.com>
Date: Fri, 4 Nov 2022 14:29:28 +1100
Subject: [PATCH] zuul-tests: autogenerate some more roles

We have missed testing various things on Jammy and other platforms.
Use tags to make it clearer what platform each job wants to test
itself on.

Change-Id: Ib656ef4a8bc01de838e3aba14a80d196b8dbfd08
---
 tools/update-test-platforms.py         |   8 +-
 zuul-tests.d/container-roles-jobs.yaml | 139 +++++++++++++++++++++----
 2 files changed, 123 insertions(+), 24 deletions(-)

diff --git a/tools/update-test-platforms.py b/tools/update-test-platforms.py
index c644d77c2..b6676828c 100755
--- a/tools/update-test-platforms.py
+++ b/tools/update-test-platforms.py
@@ -43,13 +43,16 @@ UBUNTU_PLATFORMS = [
     'ubuntu-focal',
     'ubuntu-jammy',
 ]
+FEDORA_PLATFORMS = [
+    'fedora-36'
+]
 OTHER_PLATFORMS = [
-    'fedora-36',
     # 'gentoo-17-0-systemd',
     'opensuse-15',
 ]
 ALL_PLATFORMS = (CENTOS_PLATFORMS + DEBIAN_PLATFORMS +
-                 UBUNTU_PLATFORMS + OTHER_PLATFORMS)
+                 UBUNTU_PLATFORMS + FEDORA_PLATFORMS +
+                 OTHER_PLATFORMS)
 
 # insert a platform from above to make it non-voting
 NON_VOTING = [
@@ -60,6 +63,7 @@ TAGS = {
     'debian-platforms': DEBIAN_PLATFORMS,
     'ubuntu-platforms': UBUNTU_PLATFORMS,
     'debuntu-platforms': UBUNTU_PLATFORMS + DEBIAN_PLATFORMS,
+    'fedora-platforms': FEDORA_PLATFORMS,
     'all-platforms': ALL_PLATFORMS,
 }
 
diff --git a/zuul-tests.d/container-roles-jobs.yaml b/zuul-tests.d/container-roles-jobs.yaml
index 3fdf314e3..23ad7a713 100644
--- a/zuul-tests.d/container-roles-jobs.yaml
+++ b/zuul-tests.d/container-roles-jobs.yaml
@@ -7,11 +7,17 @@
       - roles/ensure-package-repositories/.*
       - test-requirements.txt
     run: test-playbooks/ensure-docker.yaml
+    tags:
+      - debuntu-platforms
+      - centos-platforms
+      - fedora-platforms
+
 
 - job:
     name: zuul-jobs-test-ensure-docker-centos-7
     description: Tests ensure-docker role on centos-7
     parent: zuul-jobs-test-ensure-docker
+    tags: auto-generated
     nodeset:
       nodes:
         - name: centos-7
@@ -21,20 +27,82 @@
     name: zuul-jobs-test-ensure-docker-centos-8-stream
     description: Tests ensure-docker role on centos-8-stream
     parent: zuul-jobs-test-ensure-docker
+    tags: auto-generated
     nodeset:
       nodes:
         - name: centos-8-stream
           label: centos-8-stream
 
+- job:
+    name: zuul-jobs-test-ensure-docker-centos-9-stream
+    description: Tests ensure-docker role on centos-9-stream
+    parent: zuul-jobs-test-ensure-docker
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: centos-9-stream
+          label: centos-9-stream
+
+- job:
+    name: zuul-jobs-test-ensure-docker-debian-bullseye
+    description: Tests ensure-docker role on debian-bullseye
+    parent: zuul-jobs-test-ensure-docker
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: debian-bullseye
+          label: debian-bullseye
+
+- job:
+    name: zuul-jobs-test-ensure-docker-debian-buster
+    description: Tests ensure-docker role on debian-buster
+    parent: zuul-jobs-test-ensure-docker
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: debian-buster
+          label: debian-buster
+
+- job:
+    name: zuul-jobs-test-ensure-docker-fedora-36
+    description: Tests ensure-docker role on fedora-36
+    parent: zuul-jobs-test-ensure-docker
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: fedora-36
+          label: fedora-36
+
 - job:
     name: zuul-jobs-test-ensure-docker-ubuntu-bionic
     description: Tests ensure-docker role on ubuntu-bionic
     parent: zuul-jobs-test-ensure-docker
+    tags: auto-generated
     nodeset:
       nodes:
         - name: ubuntu-bionic
           label: ubuntu-bionic
 
+- job:
+    name: zuul-jobs-test-ensure-docker-ubuntu-focal
+    description: Tests ensure-docker role on ubuntu-focal
+    parent: zuul-jobs-test-ensure-docker
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: ubuntu-focal
+          label: ubuntu-focal
+
+- job:
+    name: zuul-jobs-test-ensure-docker-ubuntu-jammy
+    description: Tests ensure-docker role on ubuntu-jammy
+    parent: zuul-jobs-test-ensure-docker
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: ubuntu-jammy
+          label: ubuntu-jammy
+
 - job:
     name: zuul-jobs-test-build-container-image-release
     description: |
@@ -428,12 +496,43 @@
       used directly but rather run on changes to roles in the
       zuul-jobs repo.
     abstract: true
+    tags: ubuntu-platforms
     files:
       - roles/ensure-skopeo/.*
       - roles/ensure-package-repositories/.*
       - test-playbooks/ensure-skopeo/.*
     run: test-playbooks/ensure-skopeo/main.yaml
 
+- job:
+    name: zuul-jobs-test-ensure-skopeo-ubuntu-bionic
+    description: Test the ensure-skopeo role on ubuntu-bionic
+    parent: zuul-jobs-test-ensure-skopeo
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: ubuntu-bionic
+          label: ubuntu-bionic
+
+- job:
+    name: zuul-jobs-test-ensure-skopeo-ubuntu-focal
+    description: Test the ensure-skopeo role on ubuntu-focal
+    parent: zuul-jobs-test-ensure-skopeo
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: ubuntu-focal
+          label: ubuntu-focal
+
+- job:
+    name: zuul-jobs-test-ensure-skopeo-ubuntu-jammy
+    description: Test the ensure-skopeo role on ubuntu-jammy
+    parent: zuul-jobs-test-ensure-skopeo
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: ubuntu-jammy
+          label: ubuntu-jammy
+
 - job:
     name: zuul-jobs-test-ensure-podman-centos-8-stream
     description: Tests ensure-podman role on centos-8-stream
@@ -482,24 +581,6 @@
         - name: fedora-36
           label: fedora-36
 
-- job:
-    name: zuul-jobs-test-ensure-skopeo-ubuntu-bionic
-    description: Tests ensure-skopeo role on ubuntu-bionic
-    parent: zuul-jobs-test-ensure-skopeo
-    nodeset:
-      nodes:
-        - name: ubuntu-bionic
-          label: ubuntu-bionic
-
-- job:
-    name: zuul-jobs-test-ensure-skopeo-ubuntu-focal
-    description: Tests ensure-skopeo role on ubuntu-focal
-    parent: zuul-jobs-test-ensure-skopeo
-    nodeset:
-      nodes:
-        - name: ubuntu-focal
-          label: ubuntu-focal
-
 # -* AUTOGENERATED *-
 #  The following project section is autogenerated by
 #    tox -e update-test-platforms
@@ -510,7 +591,13 @@
       jobs:
         - zuul-jobs-test-ensure-docker-centos-7
         - zuul-jobs-test-ensure-docker-centos-8-stream
+        - zuul-jobs-test-ensure-docker-centos-9-stream
+        - zuul-jobs-test-ensure-docker-debian-bullseye
+        - zuul-jobs-test-ensure-docker-debian-buster
+        - zuul-jobs-test-ensure-docker-fedora-36
         - zuul-jobs-test-ensure-docker-ubuntu-bionic
+        - zuul-jobs-test-ensure-docker-ubuntu-focal
+        - zuul-jobs-test-ensure-docker-ubuntu-jammy
         - zuul-jobs-test-build-container-image-release
         - zuul-jobs-test-build-docker-image-release
         - zuul-jobs-test-build-docker-image-release-multiarch
@@ -527,18 +614,25 @@
         - zuul-jobs-test-ensure-kubernetes-crio-ubuntu-bionic
         - zuul-jobs-test-ensure-kubernetes-crio-ubuntu-focal
         - zuul-jobs-test-ensure-kubernetes-crio-ubuntu-jammy
+        - zuul-jobs-test-ensure-skopeo-ubuntu-bionic
+        - zuul-jobs-test-ensure-skopeo-ubuntu-focal
+        - zuul-jobs-test-ensure-skopeo-ubuntu-jammy
         - zuul-jobs-test-ensure-podman-centos-8-stream
         - zuul-jobs-test-ensure-podman-fedora-36
         - zuul-jobs-test-ensure-podman-ubuntu-bionic
         - zuul-jobs-test-ensure-podman-debian-bullseye
         - zuul-jobs-test-ensure-skopeo-fedora-36
-        - zuul-jobs-test-ensure-skopeo-ubuntu-bionic
-        - zuul-jobs-test-ensure-skopeo-ubuntu-focal
     gate:
       jobs: &id001
         - zuul-jobs-test-ensure-docker-centos-7
         - zuul-jobs-test-ensure-docker-centos-8-stream
+        - zuul-jobs-test-ensure-docker-centos-9-stream
+        - zuul-jobs-test-ensure-docker-debian-bullseye
+        - zuul-jobs-test-ensure-docker-debian-buster
+        - zuul-jobs-test-ensure-docker-fedora-36
         - zuul-jobs-test-ensure-docker-ubuntu-bionic
+        - zuul-jobs-test-ensure-docker-ubuntu-focal
+        - zuul-jobs-test-ensure-docker-ubuntu-jammy
         - zuul-jobs-test-build-container-image-release
         - zuul-jobs-test-build-docker-image-release
         - zuul-jobs-test-build-docker-image-release-multiarch
@@ -553,11 +647,12 @@
         - zuul-jobs-test-ensure-kubernetes-crio-ubuntu-bionic
         - zuul-jobs-test-ensure-kubernetes-crio-ubuntu-focal
         - zuul-jobs-test-ensure-kubernetes-crio-ubuntu-jammy
+        - zuul-jobs-test-ensure-skopeo-ubuntu-bionic
+        - zuul-jobs-test-ensure-skopeo-ubuntu-focal
+        - zuul-jobs-test-ensure-skopeo-ubuntu-jammy
         - zuul-jobs-test-ensure-podman-centos-8-stream
         - zuul-jobs-test-ensure-podman-ubuntu-bionic
         - zuul-jobs-test-ensure-podman-debian-bullseye
         - zuul-jobs-test-ensure-skopeo-fedora-36
-        - zuul-jobs-test-ensure-skopeo-ubuntu-bionic
-        - zuul-jobs-test-ensure-skopeo-ubuntu-focal
     periodic-weekly:
       jobs: *id001