diff mbox series

[yocto-autobuilder-helper,v4,05/11] config.json: add 'containers-library' build job

Message ID f8d58d0dcb49d1828386f63c0f68d713b187f6d8.1783371914.git.tim.orling@konsulko.com
State New
Headers show
Series Implement 'containers' jobs | expand

Commit Message

Tim Orling July 6, 2026, 10:05 p.m. UTC
Add 'containers-library' build job that build container images on top
of the vcontainer-tarball SDK:

  * original container images from the intial "container-cross-install"
    branch of  meta-virtualization
    - container-base
    - app-container-curl
  * additional images modelled after docker.io/library/*
    - app-container-python
    - app-container-mosquitto
    - app-container-valkey
    - app-container-nginx
  * Tag containers with versions based on the recipe to which they are
    mapped, e.g. python:3, python:3.14, python:3.14.5. Also tag with
    DISTRO_CODENAME and DISTRO_VERSION, e.g. wrynose and yocto-6.0.
  * Similar to vcontainer-tarball job, follow the guidance in
    meta-virtualization/docs/build-profiles.md and add
    "require conf/distro/include/meta-virt-host.conf" to
    extravars. This adds the required DISTRO_FEATURES and BBMULTICONFIG
    (vruntime-*, container-*). It also fixes warnings due to BBMASKing,
    by setting the appropriate BBFILE_PATTERN_IGNORE_EMPTY on layers
    which are intentionally masked. Use 'sed' in EXTRACMDS to remove the
    added 'require' line from conf/auto.conf or else remove-layers step
    throws a file not found error.
  * Append 'usrmerge' to DISTRO_FEATURES and set INIT_MANAGER to systemd

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 config.json | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
diff mbox series

Patch

diff --git a/config.json b/config.json
index c6ee372..adabd57 100644
--- a/config.json
+++ b/config.json
@@ -1891,6 +1891,65 @@ 
                     "${SCRIPTSDIR}/run-vcontainer-tests -s vpdmn -b ${BUILDDIR} -m ${BUILDDIR}/../meta-virtualization -S ${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh -r ${HELPERRESULTSDIR}"
                 ]
             }
+        },
+        "containers-library": {
+            "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-openembedded/meta-webserver",
+                "${BUILDDIR}/../meta-virtualization"
+            ],
+            "extravars" : [
+                "require conf/distro/include/meta-virt-host.conf",
+                "DISTRO_FEATURES:append = ' usrmerge'",
+                "INIT_MANAGER = 'systemd'"
+            ],
+            "EXTRACMDS" : ["sed -i '/meta-virt-host.conf/d' ${HELPERBUILDDIR}/conf/auto.conf"],
+            "vcontainer" : "${VCONTAINER_TARBALL_URL}",
+            "CONTAINER_TAG_CMDS" : [
+                "_PV_MAJOR=$(echo $_PV | cut -d. -f1)",
+                "_PV_MAJOR_MINOR=$(echo $_PV | cut -d. -f1,2)",
+                "_EXTRA_TAGS=\"$_PV_MAJOR $_PV_MAJOR_MINOR\""
+            ],
+            "step1" : {
+                "shortname" : "Build 'base' container",
+                "BBTARGETS" : "container-base",
+                "CONTAINER_IMAGE_MAP" : {"container-base": "base"},
+                "CONTAINER_VERSION_RECIPE" : "base-files"
+            },
+            "step2" : {
+                "shortname" : "Build 'curl' container",
+                "BBTARGETS" : "app-container-curl",
+                "CONTAINER_IMAGE_MAP" : {"app-container-curl": "curl"},
+                "CONTAINER_VERSION_RECIPE" : "curl"
+            },
+            "step3" : {
+                "shortname" : "Build 'python' container",
+                "BBTARGETS" : "app-container-python",
+                "CONTAINER_IMAGE_MAP" : {"app-container-python": "python"},
+                "CONTAINER_VERSION_RECIPE" : "python3"
+            },
+            "step4" : {
+                "shortname" : "Build 'mosquitto' container",
+                "BBTARGETS" : "app-container-mosquitto",
+                "CONTAINER_IMAGE_MAP" : {"app-container-mosquitto": "mosquitto"},
+                "CONTAINER_VERSION_RECIPE" : "mosquitto"
+            },
+            "step5" : {
+                "shortname" : "Build 'valkey' container",
+                "BBTARGETS" : "app-container-valkey",
+                "CONTAINER_IMAGE_MAP" : {"app-container-valkey": "valkey"},
+                "CONTAINER_VERSION_RECIPE" : "valkey"
+            },
+            "step6" : {
+                "shortname" : "Build 'nginx' container",
+                "BBTARGETS" : "app-container-nginx",
+                "CONTAINER_IMAGE_MAP" : {"app-container-nginx": "nginx"},
+                "CONTAINER_VERSION_RECIPE" : "nginx"
+            }
         }
     },
     "repo-defaults" : {