From 513123a20ff63b4e993c70f4f0840a048d90f455 Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Thu, 26 Dec 2024 16:01:32 +0530 Subject: [PATCH] TMT: Initial enablement Run podman local rootful and rootless tests on every PR. Packit will handle syncing of the TMT tests and gating config from upstream to downstream (Fedora, CentOS Stream) with every upstream release. Signed-off-by: Lokesh Mandvekar --- .fmf/version | 1 + .packit.yaml | 43 +++++++++++++++++++++++++++++++++++++++++-- plans/podman.fmf | 43 +++++++++++++++++++++++++++++++++++++++++++ rpm/gating.yaml | 16 ++++++++++++++++ 4 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 .fmf/version create mode 100644 plans/podman.fmf create mode 100644 rpm/gating.yaml diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.packit.yaml b/.packit.yaml index 5d72ef9c..57176319 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -5,6 +5,23 @@ downstream_package_name: conmon upstream_tag_template: v{version} +# These files get synced from upstream to downstream (Fedora / CentOS Stream) on every +# propose-downstream job. This is done so tests maintained upstream can be run +# downstream in Zuul CI and Bodhi. +# Ref: https://packit.dev/docs/configuration#files_to_sync +files_to_sync: + - src: rpm/gating.yaml + dest: gating.yaml + delete: true + - src: plans/ + dest: plans/ + delete: true + mkpath: true + - src: .fmf/ + dest: .fmf/ + delete: true + - .packit.yaml + packages: conmon-fedora: pkg_tool: fedpkg @@ -23,7 +40,7 @@ jobs: failure_comment: message: "Ephemeral COPR build failed. @containers/packit-build please check." enable_net: true - targets: + targets: &fedora_copr_targets - fedora-all-aarch64 - fedora-all-x86_64 @@ -41,7 +58,7 @@ jobs: packages: [conmon-centos] notifications: *copr_build_failure_notification enable_net: true - targets: + targets: ¢os_copr_targets - centos-stream-10-aarch64 - centos-stream-10-x86_64 - centos-stream-9-aarch64 @@ -58,6 +75,28 @@ jobs: project: podman-next enable_net: true + - job: tests + trigger: pull_request + packages: [containers-common-fedora] + targets: *fedora_copr_targets + enable_net: true + tf_extra_params: + environments: + - artifacts: + - type: repository-file + id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/fedora-$releasever/rhcontainerbot-podman-next-fedora-$releasever.repo + + - job: tests + trigger: pull_request + packages: [containers-common-centos] + targets: *centos_copr_targets + enable_net: true + tf_extra_params: + environments: + - artifacts: + - type: repository-file + id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/centos-stream-$releasever/rhcontainerbot-podman-next-centos-stream-$releasever.repo + # Downstream sync for Fedora - job: propose_downstream trigger: release diff --git a/plans/podman.fmf b/plans/podman.fmf new file mode 100644 index 00000000..760a3afd --- /dev/null +++ b/plans/podman.fmf @@ -0,0 +1,43 @@ +prepare: + - name: packages + how: install + package: [bats, podman-tests] + +adjust: + - when: "initiator == packit" + because: "We need to test with updated packages from rhcontainerbot/podman-next copr" + prepare+: + how: shell + script: | + sed -i -n '/^priority=/!p;$apriority=1' /etc/yum.repos.d/*podman-next*.repo + dnf -y upgrade --allowerasing + # FIXME: Use epel10 once bats is available there + - when: distro == centos-stream-10 or distro == rhel-10 + because: "bats isn't yet available on epel10" + prepare+: + how: install + copr: rhcontainerbot/bats-el10 + package: bats + - when: distro == centos-stream-9 or distro == rhel-9 + because: "bats is present on EPEL on rhel9 / c9s" + prepare+: + how: feature + epel: enabled + +discover: + how: fmf + url: https://github.com/lsm5/podman + ref: "tmt-fedora-centos" + +execute: + how: tmt + +/system/local/root: + summary: Run podman system rootful tests + discover+: + test: /test/tmt/system/local/root + +/system/local/rootless: + summary: Run podman system rootless tests + discover+: + test: /test/tmt/system/local/rootless diff --git a/rpm/gating.yaml b/rpm/gating.yaml new file mode 100644 index 00000000..1fb3172f --- /dev/null +++ b/rpm/gating.yaml @@ -0,0 +1,16 @@ +--- !Policy +product_versions: + - fedora-* +decision_contexts: + - bodhi_update_push_stable + - bodhi_update_push_testing +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}