[yocto-autobuilder-helper][PATCH 09/11] config.json: add vcontainer-tests, vdkr-tests, vpdmn-tests jobs
[email protected] Thu, 7 May 2026 18:25:38 -0700
| Newsgroups | org.yoctoproject.lists.yocto,org.yoctoproject.lists.yocto-patches |
|---|---|
| Message-ID | <fedb9a114f294f1d1dc80d1df086a41e3419b490.1778202125.git.tim.orling@konsulko.com> |
From: Tim Orling <[email protected]> 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 <[email protected]> --- config.json | 42 +++++++++++++++++++++++++++++++++++- scripts/run-vcontainer-tests | 7 +++--- 2 files changed, 44 insertions(+), 5 deletions(-) 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'. -- 2.43.0