Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions base/comps/components.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,35 @@ includes = ["**/*.comp.toml", "component-check-disablement.toml", "component-min

[components.389-ds-base]
[components.7zip]
test_labels = ["archive_operations", "compression_performance", "backup_functionality"]
[components.AMF]
[components.CGAL]
[components.CUnit]
test_labels = ["test_execution", "test_framework_integration", "test_reporting"]
[components.CharLS]
[components.CppMicroServices]
[components.Cython]
[components.DevIL]
[components.FP16]
[components.GitPython]
test_labels = ["vcs_operations", "vcs_performance", "vcs_integration"]
[components.HdrHistogram_c]
[components.JUnitParams]
test_labels = ["test_execution", "test_framework_integration", "test_reporting"]
[components.Judy]
[components.LibRaw]
[components.Lmod]
[components.MUMPS]
[components.ModemManager]
[components.NetworkManager]
test_labels = ["network_service_integration", "connectivity_validation", "service_lifecycle"]
[components.OpenCL-ICD-Loader]
[components.OpenIPMI]
[components.PEGTL]
[components.PackageKit]
test_labels = ["package_operations", "repository_management", "package_dependency_resolution"]
[components.PackageKit-Qt]
test_labels = ["package_operations", "repository_management", "package_dependency_resolution"]
[components.PyQt-builder]
[components.PyQt4]
[components.PyYAML]
Expand Down Expand Up @@ -4721,6 +4728,7 @@ includes = ["**/*.comp.toml", "component-check-disablement.toml", "component-min
[components.rubypick]
[components.ruff]
[components.runc]
test_labels = ["container_lifecycle", "container_networking", "container_security", "oci_runtime_tests"]
[components.rust-actix-codec]
[components.rust-actix-http]
[components.rust-actix-macros]
Expand Down
1 change: 1 addition & 0 deletions base/comps/grub2/grub2.comp.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[components.grub2]
test_labels = ["boot_integration", "uefi_compatibility", "secure_boot_validation"]

# Disable Xen module builds — not applicable to Azure Linux (Hyper-V/KVM).
# grub.macros enables with_xen_arch and with_xen_pvh_arch on x86_64 by default,
Expand Down
1 change: 1 addition & 0 deletions base/comps/kernel-headers/kernel-headers.comp.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[components.kernel-headers]
test_labels = ["kmod_load", "kernel_integration", "boot_validation", "syscall_tests"]
# Kernel-headers using Fedora spec with overlays for Azure Linux 6.18.
# Fedora's spec expects a pre-built headers tarball. These overlays adapt it to
# use Azure Linux kernel source and generate headers during build.
Expand Down
1 change: 1 addition & 0 deletions base/comps/kernel/kernel.comp.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[components.kernel]
test_labels = ["kmod_load", "kernel_integration", "boot_validation", "syscall_tests"]

# Manual release calculation required because the spec uses %{specrelease} macro
# Release: %{pkg_release}
Expand Down
1 change: 1 addition & 0 deletions base/comps/systemd/systemd.comp.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[components.systemd]
test_labels = ["systemd_lifecycle", "service_management", "systemd_integration", "journal_validation"]

# AZL's setup package is 2.15.0-1, but upstream Fedora 41+ systemd requires >= 2.15.0-3.
# Lower the version threshold to match what's available in AZL.
Expand Down
33 changes: 33 additions & 0 deletions base/images/images.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,15 @@ container = false
systemd = true
runtime-package-management = true

[images.vm-base.test-workflows]
# Test labels selected per validation tier. Labels are declared in
# base/tests/framework-labels.toml. Capability gating is applied by the
# resolver: labels whose `requires_capabilities` are not satisfied by
# this image's `[images.vm-base.capabilities]` block are skipped.
pr_validation = ["openqa_install_smoke", "tmt_tier0", "lisa_priority0", "lisa_smoke"]
nightly_validation = ["lisa_priority1", "lisa_priority2", "lisa_ltp", "lisa_xfs", "lisa_perf"]
release_validation = ["tmt_tier2", "lisa_priority2", "openqa_install_comprehensive", "security_tests", "compatibility_tests"]

[images.vm-base-dev]
description = "VM Base Image (dev)"
definition = { type = "kiwi", path = "vm-base/vm-base.kiwi", profile = "vm-base-dev" }
Expand All @@ -51,6 +60,11 @@ container = false
systemd = true
runtime-package-management = true

[images.vm-base-dev.test-workflows]
pr_validation = ["openqa_install_smoke", "tmt_tier0", "lisa_priority0", "lisa_smoke"]
nightly_validation = ["lisa_priority1", "lisa_priority2", "lisa_ltp", "lisa_xfs", "lisa_perf"]
release_validation = ["tmt_tier2", "lisa_priority2", "openqa_install_comprehensive", "security_tests", "compatibility_tests"]

# ---- container-base (core profile) -------------------------------------

[images.container-base]
Expand All @@ -64,6 +78,11 @@ container = true
systemd = false
runtime-package-management = true

[images.container-base.test-workflows]
pr_validation = ["container_smoke", "base_container_validation", "pytest_container_static"]
nightly_validation = ["container_runtime_full", "oci_compliance", "registry_integration", "pytest_container_static", "pytest_container_runtime"]
release_validation = ["container_security_scan", "oci_security", "distroless_validation", "pytest_container_release"]

[images.container-base-dev]
description = "Container Base Image (dev)"
definition = { type = "kiwi", path = "container-base/container-base.kiwi", profile = "core-dev" }
Expand All @@ -75,6 +94,11 @@ container = true
systemd = false
runtime-package-management = true

[images.container-base-dev.test-workflows]
pr_validation = ["container_smoke", "base_container_validation", "pytest_container_static"]
nightly_validation = ["container_runtime_full", "oci_compliance", "registry_integration", "pytest_container_static", "pytest_container_runtime"]
release_validation = ["container_security_scan", "oci_security", "distroless_validation", "pytest_container_release"]

# ---- distroless containers (single-variant only) -----------------------
# No -dev sibling: with a single build-time repo and no runtime package
# management, a -dev distroless build would be byte-identical.
Expand All @@ -83,14 +107,23 @@ runtime-package-management = true
description = "Container Distroless Minimal Image"
definition = { type = "kiwi", path = "container-base/container-base.kiwi", profile = "distroless-minimal" }

[images.container-distroless-minimal.test-workflows]
release_validation = ["minimal_surface_tests", "security_surface", "static_analysis"]

[images.container-distroless-base]
description = "Container Distroless Base Image"
definition = { type = "kiwi", path = "container-base/container-base.kiwi", profile = "distroless-base" }

[images.container-distroless-base.test-workflows]
release_validation = ["minimal_surface_tests", "distroless_validation", "static_analysis"]

[images.container-distroless-debug]
description = "Container Distroless Debug Image"
definition = { type = "kiwi", path = "container-base/container-base.kiwi", profile = "distroless-debug" }

[images.container-distroless-debug.test-workflows]
release_validation = ["minimal_surface_tests", "distroless_validation", "static_analysis"]

# ---- wsl ---------------------------------------------------------------

[images.wsl]
Expand Down
Loading
Loading