From 8a094e8cebd8ee397132fb6914a233ddba1a180e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= Date: Thu, 14 Nov 2024 14:06:40 +0100 Subject: [PATCH] Add libdnf5 and libdnf5-cli rpminspect ABI check plan It compares ABI of current PR build with the last nightly build. This means the ABI diff will mostly show only very recent changes. Since it already uses rpminspect we could also enable additional checks if we want to, currently it uses `-T abidiff` to only work with ABI. It also sets `-t BAD`, this affects the exit code so that only ABI breaks cause the action to fail. Reports with `VERIFY` (such as adding new symbols) doesn't fail it. --- plans/integration/abi-libdnf5.fmf | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 plans/integration/abi-libdnf5.fmf diff --git a/plans/integration/abi-libdnf5.fmf b/plans/integration/abi-libdnf5.fmf new file mode 100644 index 000000000..94ea80091 --- /dev/null +++ b/plans/integration/abi-libdnf5.fmf @@ -0,0 +1,19 @@ +summary: + Check libdnf5 and libdnf5-cli rpm files with rpminspect for ABI compatibility +discover: + how: shell + tests: + - name: Use rpminspect to compare ABI with last nightly build of libdnf5 and libdnf5-cli + test: rpminspect-fedora -t BAD -T abidiff /var/share/test-artifacts/nightly/libdnf5-5*.rpm /var/share/test-artifacts/libdnf5-5*.rpm; rpminspect-fedora -t BAD -T abidiff /var/share/test-artifacts/nightly/libdnf5-cli-5*.rpm /var/share/test-artifacts/libdnf5-cli-5*.rpm +prepare: + - name: packages + how: install + package: + - rpminspect + - rpminspect-data-fedora + - name: get-current-builds + how: shell + # Set destdir to /var/share/test-artifacts/ because Copr build are stored there as well: https://packit.dev/docs/configuration/upstream/tests#rpminspect + script: dnf copr enable rpmsoftwaremanagement/dnf-nightly fedora-rawhide-x86_64 -y && dnf download libdnf5 libdnf5-cli --repo copr:copr.fedorainfracloud.org:rpmsoftwaremanagement:dnf-nightly --destdir=/var/share/test-artifacts/nightly +execute: + how: tmt