diff mbox series

[yocto-autobuilder-helper,09/11] config.json: add vcontainer-tests, vdkr-tests, vpdmn-tests jobs

Message ID fedb9a114f294f1d1dc80d1df086a41e3419b490.1778202125.git.tim.orling@konsulko.com
State New
Headers show
Series [yocto-autobuilder-helper,01/11] scripts/utils: fix stale extraction dir when tarball is updated | expand

Commit Message

Tim Orling May 8, 2026, 2 a.m. UTC
From: Tim Orling <tim.orling@konsulko.com>

Add three pytest job overrides that run the meta-virtualization test
suites against the vcontainer standalone SDK published by the
vcontainer-tarball builder.

Each job runs the new scripts/run-vcontainer-tests helper via
EXTRACMDS (we need BUILDDIR variable so EXTRAPLAINCMDS is not
sufficient) with both NOBUILDTOOLS and NOVCONTAINER set, so the
workers don't spend time setting up either tarball: the test runner
gets the published SDK installer through VCONTAINER_SDK and manages
its own pytest venv.

vcontainer-tests covers the broader bbclass/tooling tests (and so
brings in meta-openembedded layers it transitively exercises);
vdkr-tests and vpdmn-tests cover their respective CLI harnesses.

AI-Generated: Claude Cowork Opus 4.7
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 config.json                  | 42 +++++++++++++++++++++++++++++++++++-
 scripts/run-vcontainer-tests |  7 +++---
 2 files changed, 44 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/config.json b/config.json
index 86c1ffb..dda5b12 100644
--- a/config.json
+++ b/config.json
@@ -1891,7 +1891,7 @@ 
             },
             "step2" : {
                 "shortname" : "Publish vcontainer SDK for test reuse",
-                "EXTRAPLAINCMDS" : [
+                "EXTRACMDS" : [
                     "install -d ${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest && install -m 0755 ${BUILDDIR}/tmp/deploy/sdk/vcontainer-standalone.sh ${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh.new && mv -f ${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh.new ${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh"
                 ]
             }
@@ -1938,6 +1938,46 @@ 
                 "shortname" : "Build 'python' container",
                 "BBTARGETS" : "app-container-python"
             }
+        },
+        "vcontainer-tests": {
+            "NEEDREPOS" : ["bitbake", "meta-openembedded", "meta-virtualization"],
+            "ADDLAYER" : [
+                "${BUILDDIR}/../meta-openembedded/meta-oe",
+                "${BUILDDIR}/../meta-openembedded/meta-python",
+                "${BUILDDIR}/../meta-openembedded/meta-networking",
+                "${BUILDDIR}/../meta-openembedded/meta-filesystems",
+                "${BUILDDIR}/../meta-virtualization"
+            ],
+            "step1" : {
+                "shortname" : "Run vcontainer pytest suite",
+                "NOBUILDTOOLS" : 1,
+                "NOVCONTAINER" : 1,
+                "EXTRACMDS" : [
+                    "VCONTAINER_SDK=${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh RESULTS_DIR=${HELPERRESULTSDIR} ${SCRIPTSDIR}/run-vcontainer-tests vcontainer ${BUILDDIR} ${BUILDDIR}/../meta-virtualization"
+                ]
+            }
+        },
+        "vdkr-tests": {
+            "NEEDREPOS" : ["bitbake", "meta-openembedded", "meta-virtualization"],
+            "step1" : {
+                "shortname" : "Run vdkr pytest suite",
+                "NOBUILDTOOLS" : 1,
+                "NOVCONTAINER" : 1,
+                "EXTRACMDS" : [
+                    "VCONTAINER_SDK=${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh RESULTS_DIR=${HELPERRESULTSDIR} ${SCRIPTSDIR}/run-vcontainer-tests vdkr ${BUILDDIR} ${BUILDDIR}/../meta-virtualization"
+                ]
+            }
+        },
+        "vpdmn-tests": {
+            "NEEDREPOS" : ["bitbake", "meta-openembedded", "meta-virtualization"],
+            "step1" : {
+                "shortname" : "Run vpdmn pytest suite",
+                "NOBUILDTOOLS" : 1,
+                "NOVCONTAINER" : 1,
+                "EXTRACMDS" : [
+                    "VCONTAINER_SDK=${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh RESULTS_DIR=${HELPERRESULTSDIR} ${SCRIPTSDIR}/run-vcontainer-tests vpdmn ${BUILDDIR} ${BUILDDIR}/../meta-virtualization"
+                ]
+            }
         }
     },
     "repo-defaults" : {
diff --git a/scripts/run-vcontainer-tests b/scripts/run-vcontainer-tests
index cbb5544..1394c7c 100755
--- a/scripts/run-vcontainer-tests
+++ b/scripts/run-vcontainer-tests
@@ -3,7 +3,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 # Run meta-virtualization pytest test suites against the vcontainer
-# standalone SDK (vdkr/vpdmn) that was built by the previous bitbake
+# standalone SDK (vdkr/vpdmn) that was built in a previous bitbake
 # step.
 #
 # Arguments:
@@ -21,9 +21,8 @@ 
 #
 # The script is intentionally conservative: any pytest tests that cannot run
 # in the CI environment (those marked "slow", "network", "boot") are skipped
-# are skipped so that the autobuilder step completes without needing network
-# access. Those can be re-enabled by exporting META_VIRT_PYTEST_MARKERS
-# before invocation.
+# so that the autobuilder step completes without needing network access. Those
+# can be re-enabled by exporting META_VIRT_PYTEST_MARKERS before invocation.
 #
 # It is assumed that /dev/kvm is writable by the CI user running the tests,
 # since the performance is significantly faster with 'memres'.