From 26200fe5934d1352d6e2a16240356ac31eefea60 Mon Sep 17 00:00:00 2001 From: aborah-sudo Date: Thu, 11 Jun 2026 13:58:25 +0530 Subject: [PATCH] Install shadow-utils into builder container from CI artifacts Install shadow-utils into builder container from CI artifacts --- main.fmf | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/main.fmf b/main.fmf index 61983c6..22ef744 100644 --- a/main.fmf +++ b/main.fmf @@ -1,5 +1,10 @@ /plan: summary: Run shadow tests with pytest-mh (builder container) + # Testing Farm automatically injects CI-built packages via artifact plugin + # For GitLab MR: brew builds are installed via --how artifact --provide brew.build: + # For Packit PR: copr builds are installed automatically + # Example for local testing with a specific build: + # tmt run --all prepare --how artifact --provide brew.build:111005 provision: how: container @@ -19,7 +24,7 @@ script: - pip3 install --upgrade pip - - name: Clone shadow repository + - name: Clone shadow repository for tests how: shell script: - git clone https://github.com/shadow-maint/shadow.git /shadow @@ -41,6 +46,39 @@ - podman exec builder dnf update -y - podman exec builder dnf install -y util-linux expect + - name: Install shadow-utils into builder container from CI artifacts + how: shell + script: + - | + # Testing Farm artifact plugin installs CI-built RPMs in the HOST container + # We need to copy those RPMs to the BUILDER container for testing + + echo "=== Shadow-utils version in HOST container (from CI artifacts) ===" + rpm -qa | grep shadow-utils + echo "====================================================================" + + # Download the same version RPMs that are installed in host + HOST_VERSION=$(rpm -q shadow-utils --queryformat '%{VERSION}-%{RELEASE}') + echo "Downloading shadow-utils version: ${HOST_VERSION} for builder container" + + # Download all shadow-utils RPMs from host's repos/cache + dnf download --destdir=/tmp shadow-utils-${HOST_VERSION} \ + shadow-utils-subid-${HOST_VERSION} 2>/dev/null || true + + # Copy RPMs into builder container + for rpm in /tmp/shadow-utils-*.rpm; do + if [ -f "$rpm" ]; then + podman cp "$rpm" builder:/tmp/ + fi + done + + # Install the RPMs in builder container + podman exec builder bash -c 'dnf install -y /tmp/shadow-utils-*.rpm 2>/dev/null || dnf install -y shadow-utils' + + echo "=== Shadow-utils version in BUILDER container (running tests) ===" + podman exec builder rpm -qa | grep shadow-utils + echo "====================================================================" + - name: Create CI user to simulate cloud VM environment how: shell script: