From 4854b26886b67a77ac079527ea57df788c81a7fb Mon Sep 17 00:00:00 2001 From: Alberto Faria Date: Tue, 23 Apr 2024 14:38:10 +0100 Subject: [PATCH] Reinstate testing farm tests Signed-off-by: Alberto Faria --- .fmf/version | 1 + .packit.yaml | 21 +++++++++++++++++ plans/tests.fmf | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ tests/env.sh | 2 +- 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 .fmf/version create mode 100644 plans/tests.fmf diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.packit.yaml b/.packit.yaml index c110485..4e3418f 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -38,3 +38,24 @@ jobs: owner: rhcontainerbot project: podman-next enable_net: true + + - &tests + job: tests + trigger: pull_request + skip_build: true + enable_net: true + targets: + # TODO: Replace these three with fedora-all-x86_64 once Fedora 38 is gone. + - fedora-rawhide-x86_64 + - fedora-40-x86_64 + - fedora-39-x86_64 + identifier: docker + tmt_plan: /tests/docker + + - <<: *tests + identifier: podman + tmt_plan: /tests/podman + + - <<: *tests + identifier: rootful-podman + tmt_plan: /tests/rootful-podman diff --git a/plans/tests.fmf b/plans/tests.fmf new file mode 100644 index 0000000..c98e0fd --- /dev/null +++ b/plans/tests.fmf @@ -0,0 +1,60 @@ +provision: + hardware: + virtualization: + is-supported: true + +prepare: + - name: Install dependencies + how: install + package: + - bash + - cargo + - coreutils + - crun + - docker + - genisoimage + - grep + - guestfs-tools + - libselinux-devel + - libvirt-client + - libvirt-daemon-driver-qemu + - openssh + - openssh-clients + - passt + - podman + - qemu-img + - qemu-system-aarch64-core + - qemu-system-x86-core + - sed + - util-linux + - virtiofsd + +execute: + how: tmt + script: | + set -ex + export PATH=$PATH:/root/.cargo/bin LIBGUESTFS_BACKEND=direct + + # set the test VM's Fedora version to the host's to run the tests under the + # requested environment + tag=$( awk -F= '/^VERSION_ID=/ {print tolower($2)}' /etc/os-release ) + export CRUN_VM_TEST_ENV_BASE_IMAGE=quay.io/containerdisks/fedora:$tag + + tests/env.sh build + tests/env.sh start + tests/env.sh run "$ENGINE" all + +/docker: + summary: Run all tests under Docker + environment: + ENGINE: docker + +/podman: + summary: Run all tests under Podman + environment: + ENGINE: podman + +/rootful-podman: + summary: Run all tests under Rootful Podman + environment: + ENGINE: rootful-podman diff --git a/tests/env.sh b/tests/env.sh index 1a71209..f6ed1d2 100755 --- a/tests/env.sh +++ b/tests/env.sh @@ -5,7 +5,7 @@ set -o errexit -o pipefail -o nounset start_time="$( date +%s%N )" -env_image_base=quay.io/containerdisks/fedora:40 +env_image_base=${CRUN_VM_TEST_ENV_BASE_IMAGE:-"quay.io/containerdisks/fedora:40"} env_image=quay.io/crun-vm/test-env:latest container_name=crun-vm-test-env