Split tmt plans into separate zuul jobs

This should improve the experience by having separate clickable
links for each test matrix item and see the pass/fail more early.
Also make Testing Farm scale better as it uses separate TF requests
for testing.

Signed-off-by: Miroslav Vadkerti <mvadkert@redhat.com>
This commit is contained in:
Miroslav Vadkerti
2025-05-01 00:41:01 +00:00
committed by ngompa
parent c3e509d22e
commit 28f7cf0cf6
4 changed files with 454 additions and 5 deletions
+404 -5
View File
@@ -1,20 +1,382 @@
---
- job:
name: build-images-x86_64
name: build-images-x86_64/asahi/build-fex-rootfs
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/asahi/build-fex-rootfs"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-aarch64
name: build-images-x86_64/cloud/base/build-aws
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-aws"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/cloud/base/build-azure
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-azure"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/cloud/base/build-gcp
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-gcp"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/cloud/base/build-generic
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-generic"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/cloud/base/build-uefi-uki
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-uefi-uki"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/container/base/build-generic
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/container/base/build-generic"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/container/base/build-generic-init
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/container/base/build-generic-init"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/container/base/build-generic-minimal
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/container/base/build-generic-minimal"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/container/toolbox/build-toolbox
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/container/toolbox/build-toolbox"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/desktop/kde/build-desktop-disk
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/desktop/kde/build-desktop-disk"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/desktop/kde/build-desktop-live
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/desktop/kde/build-desktop-live"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/desktop/workstation/build-disk
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/desktop/workstation/build-disk"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/desktop/workstation/build-live
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/desktop/workstation/build-live"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/server/guest/build-generic
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/server/guest/build-generic"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/server/host/build-generic
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/server/host/build-generic"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/vagrant/base/build-libvirt
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/vagrant/base/build-libvirt"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/vagrant/base/build-virtualbox
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/vagrant/base/build-virtualbox"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-x86_64/wsl/build
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/wsl/build"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: x86_64
- job:
name: build-images-aarch64/asahi/build-fex-rootfs
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/asahi/build-fex-rootfs"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/cloud/base/build-aws
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-aws"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/cloud/base/build-azure
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-azure"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/cloud/base/build-gcp
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-gcp"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/cloud/base/build-generic
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-generic"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/cloud/base/build-uefi-uki
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/cloud/base/build-uefi-uki"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/container/base/build-generic
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/container/base/build-generic"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/container/base/build-generic-init
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/container/base/build-generic-init"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/container/base/build-generic-minimal
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/container/base/build-generic-minimal"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/container/toolbox/build-toolbox
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/container/toolbox/build-toolbox"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/desktop/kde/build-desktop-disk
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/desktop/kde/build-desktop-disk"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/desktop/kde/build-desktop-live
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/desktop/kde/build-desktop-live"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/desktop/workstation/build-disk
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/desktop/workstation/build-disk"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/desktop/workstation/build-live
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/desktop/workstation/build-live"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/server/guest/build-generic
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/server/guest/build-generic"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/server/host/build-generic
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/server/host/build-generic"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/vagrant/base/build-libvirt
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/vagrant/base/build-libvirt"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/vagrant/base/build-virtualbox
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/vagrant/base/build-virtualbox"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
- job:
name: build-images-aarch64/wsl/build
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ zuul.project.name }}"
tmt_ref: "{{ zuul.ref }}"
tmt_plan: "/tmt/plans/wsl/build"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: aarch64
@@ -22,5 +384,42 @@
- project:
check:
jobs:
- build-images-x86_64
- build-images-aarch64
- build-images-x86_64/asahi/build-fex-rootfs
- build-images-x86_64/cloud/base/build-aws
- build-images-x86_64/cloud/base/build-azure
- build-images-x86_64/cloud/base/build-gcp
- build-images-x86_64/cloud/base/build-generic
- build-images-x86_64/cloud/base/build-uefi-uki
- build-images-x86_64/container/base/build-generic
- build-images-x86_64/container/base/build-generic-init
- build-images-x86_64/container/base/build-generic-minimal
- build-images-x86_64/container/toolbox/build-toolbox
- build-images-x86_64/desktop/kde/build-desktop-disk
- build-images-x86_64/desktop/kde/build-desktop-live
- build-images-x86_64/desktop/workstation/build-disk
- build-images-x86_64/desktop/workstation/build-live
- build-images-x86_64/server/guest/build-generic
- build-images-x86_64/server/host/build-generic
- build-images-x86_64/vagrant/base/build-libvirt
- build-images-x86_64/vagrant/base/build-virtualbox
- build-images-x86_64/wsl/build
- build-images-aarch64/asahi/build-fex-rootfs
- build-images-aarch64/cloud/base/build-aws
- build-images-aarch64/cloud/base/build-azure
- build-images-aarch64/cloud/base/build-gcp
- build-images-aarch64/cloud/base/build-generic
- build-images-aarch64/cloud/base/build-uefi-uki
- build-images-aarch64/container/base/build-generic
- build-images-aarch64/container/base/build-generic-init
- build-images-aarch64/container/base/build-generic-minimal
- build-images-aarch64/container/toolbox/build-toolbox
- build-images-aarch64/desktop/kde/build-desktop-disk
- build-images-aarch64/desktop/kde/build-desktop-live
- build-images-aarch64/desktop/workstation/build-disk
- build-images-aarch64/desktop/workstation/build-live
- build-images-aarch64/server/guest/build-generic
- build-images-aarch64/server/host/build-generic
- build-images-aarch64/vagrant/base/build-libvirt
- build-images-aarch64/vagrant/base/build-virtualbox
- build-images-aarch64/wsl/build
+26
View File
@@ -0,0 +1,26 @@
---
{% set arches = arches.split() -%}
{% set plans = plans.split() -%}
{% for arch in arches -%}
{% for plan in plans %}
- job:
name: build-images-{{ arch }}{{ plan | replace("/tmt/plans", "") }}
parent: tmt-test
vars:
tmt_url: "https://pagure.io/{{ '{{' }} zuul.project.name {{ '}}' }}"
tmt_ref: "{{ '{{' }} zuul.ref {{ '}}' }}"
tmt_plan: "{{ plan }}"
distro: fedora-rawhide
compose: Fedora-latest
tf_arch: {{ arch }}
{%- endfor %}
{%- endfor %}
- project:
check:
jobs:
{% for arch in arches -%}
{% for plan in plans %}
- build-images-{{ arch }}{{ plan | replace("/tmt/plans", "") }}
{%- endfor %}
{%- endfor %}
Executable
+16
View File
@@ -0,0 +1,16 @@
.DEFAULT_GOAL := help
# https://www.gnu.org/software/make/manual/html_node/Force-Targets.html#Force-Targets
.FORCE:
# List of architectures to be tested
ARCHES = x86_64 aarch64
generate-zuul-config: .FORCE ## Generate zuul configuration from list of tmt plans
jinja2 -D arches="$(ARCHES)" -D plans="$$(tmt plan ls | tr '\n' ' ')" .zuul.yaml.j2 -o .zuul.yaml
# See https://www.thapaliya.com/en/writings/well-documented-makefiles/ for details.
reverse = $(if $(1),$(call reverse,$(wordlist 2,$(words $(1)),$(1)))) $(firstword $(1))
help: .FORCE ## Show this help
@awk 'BEGIN {FS = ":.*##"; printf "$(info $(PRELUDE))"} /^[a-zA-Z_/-]+:.*?##/ { printf " \033[36m%-35s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(call reverse, $(MAKEFILE_LIST))
+8
View File
@@ -1,3 +1,4 @@
# fedora-kiwi-descriptions
This project is used to manage the Fedora KIWI image descriptions used in composing Fedora release images.
@@ -30,6 +31,13 @@ Set up your development environment and run the image build (substitute `<image_
This project is tested using the [Software Factory Zuul CI instance](https://fedora.softwarefactory-project.io/zuul/project/pagure.io/fedora-kiwi-descriptions)
using the [Test Management Tool](https://tmt.readthedocs.io/).
The Zuul configuration is generated from the Jinja2 template `.zuul.yaml.j2`.
When adding or removing a tmt plan, please run the following command to regenerate the Zuul configuration:
```bash
[]$ make generate-zuul-config
```
## Licensing
This is free software: you can redistribute it and/or modify