All of lore.kernel.org
 help / color / mirror / Atom feed
* [yocto-autobuilder2][PATCH v2 0/4] Implement 'containers' jobs
@ 2026-06-01 23:17 tim.orling
  2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 1/4] config.py: add vcontainers-tarball; containers tag tim.orling
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: tim.orling @ 2026-06-01 23:17 UTC (permalink / raw)
  To: yocto-patches

From: Tim Orling <tim.orling@konsulko.com>

This series contains the 'yocto-autobuilder2' patches to enable:

* building the 'vcontainer-tarball'
* building and pushing containers from:
  - meta-virtualization
* testing the 'vcontainer-tarball'
  - vcontainer-tests
* gating pushing of containers with push_containers property,
  similar to the "Do you want to deploy artefacts?" boolean.

Changes in v2:
* Simplify by submitting containers to meta-virtualization and merging
  meta-yocto-containers-demo build/push into one containers-library job
  - Depends on resolution of https://lists.yoctoproject.org/g/meta-virtualization/message/9826
* Simplify by merging vdkr-tests and vpdmn-tests into vcontainer-tests

The following changes since commit a999d97e0aab0059ee6dd25432740660511e6db2:

  builders/runconfig: Terminate release builds if output directory already exists (2026-05-26 10:57:08 +0100)

are available in the Git repository at:

  https://git.yoctoproject.org/yocto-autobuilder2 contrib/timo/containers-upstream-v2
  https://git.yoctoproject.org/yocto-autobuilder2/log/?h=contrib/timo/containers-upstream-v2

for you to fetch changes up to d56d939f7c17488ad09889c92cd21298defc4f0d:

  schedulers,builders: add push_containers property (2026-05-27 16:13:27 -0700)

----------------------------------------------------------------

Tim Orling (4):
  config.py: add vcontainers-tarball; containers tag
  config.py: add vcontainer-tests
  config.py: add containers-library job
  schedulers,builders: add push_containers property

 builders.py   |  2 ++
 config.py     | 12 +++++++++++-
 schedulers.py |  9 +++++++++
 3 files changed, 22 insertions(+), 1 deletion(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [yocto-autobuilder2][PATCH v2 1/4] config.py: add vcontainers-tarball; containers tag
  2026-06-01 23:17 [yocto-autobuilder2][PATCH v2 0/4] Implement 'containers' jobs tim.orling
@ 2026-06-01 23:17 ` tim.orling
  2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 2/4] config.py: add vcontainer-tests tim.orling
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: tim.orling @ 2026-06-01 23:17 UTC (permalink / raw)
  To: yocto-patches

From: Tim Orling <tim.orling@konsulko.com>

Initial steps towards containers jobs.
We will need vcontainers-tarball (similar to buildtools job).

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 config.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/config.py b/config.py
index b5b2b62..630c8d3 100644
--- a/config.py
+++ b/config.py
@@ -34,6 +34,7 @@ buildertorepos = {
     "metrics":  baserepos + ["meta-openembedded"],
     "metrics-gitstats":  baserepos + ["meta-openembedded", "yocto-docs"],
     "meta-webosose":  baserepos + ["meta-clang", "meta-openembedded", "meta-qt6", "meta-webosose", "meta-security"],
+    "vcontainer-tarball": baserepos + ["meta-openembedded", "meta-virtualization"],
     "default": baserepos
 }
 
@@ -159,7 +160,8 @@ builders_others = [
     "oe-selftest-ubuntu", "oe-selftest-centos", "oe-selftest-opensuse",
     "non-gpl3",
     "meta-webosose",
-    "meta-qcom"
+    "meta-qcom",
+    "vcontainer-tarball"
 ] + old_arch_full
 
 subbuilders = list(set(trigger_builders_wait_quick + trigger_builders_wait_full + trigger_builders_wait_perf + builders_others))
@@ -325,4 +327,6 @@ builder_tags = {
 
     "metrics": ["metrics"],
     "metrics-gitstats": ["metrics"],
+
+    "vcontainer-tarball": ["containers"],
 }
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [yocto-autobuilder2][PATCH v2 2/4] config.py: add vcontainer-tests
  2026-06-01 23:17 [yocto-autobuilder2][PATCH v2 0/4] Implement 'containers' jobs tim.orling
  2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 1/4] config.py: add vcontainers-tarball; containers tag tim.orling
@ 2026-06-01 23:17 ` tim.orling
  2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 3/4] config.py: add containers-library job tim.orling
  2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 4/4] schedulers,builders: add push_containers property tim.orling
  3 siblings, 0 replies; 5+ messages in thread
From: tim.orling @ 2026-06-01 23:17 UTC (permalink / raw)
  To: yocto-patches

From: Tim Orling <tim.orling@konsulko.com>

Register vcontainer-tests builder that runs the meta-virtualization
pytest suites against the SDK produced by vcontainer-tarball, so the
test coverage is exercised by the autobuilder without rebuilding
vcontainer-tarball for every run.

The vcontainer-test job needs the same repo set as vcontainer-tarball
(baserepos plus meta-openembedded and meta-virtualization) so the
layer checkout on the worker matches what the SDK was built against,
and are tagged 'containers' for filtering alongside the other
container-related jobs.

AI-Generated: Claude Cowork Opus 4.7
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 config.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/config.py b/config.py
index 630c8d3..7c2353e 100644
--- a/config.py
+++ b/config.py
@@ -35,6 +35,7 @@ buildertorepos = {
     "metrics-gitstats":  baserepos + ["meta-openembedded", "yocto-docs"],
     "meta-webosose":  baserepos + ["meta-clang", "meta-openembedded", "meta-qt6", "meta-webosose", "meta-security"],
     "vcontainer-tarball": baserepos + ["meta-openembedded", "meta-virtualization"],
+    "vcontainer-tests": baserepos + ["meta-openembedded", "meta-virtualization"],
     "default": baserepos
 }
 
@@ -161,7 +162,8 @@ builders_others = [
     "non-gpl3",
     "meta-webosose",
     "meta-qcom",
-    "vcontainer-tarball"
+    "vcontainer-tarball",
+    "vcontainer-tests",
 ] + old_arch_full
 
 subbuilders = list(set(trigger_builders_wait_quick + trigger_builders_wait_full + trigger_builders_wait_perf + builders_others))
@@ -329,4 +331,5 @@ builder_tags = {
     "metrics-gitstats": ["metrics"],
 
     "vcontainer-tarball": ["containers"],
+    "vcontainer-tests": ["containers"],
 }
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [yocto-autobuilder2][PATCH v2 3/4] config.py: add containers-library job
  2026-06-01 23:17 [yocto-autobuilder2][PATCH v2 0/4] Implement 'containers' jobs tim.orling
  2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 1/4] config.py: add vcontainers-tarball; containers tag tim.orling
  2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 2/4] config.py: add vcontainer-tests tim.orling
@ 2026-06-01 23:17 ` tim.orling
  2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 4/4] schedulers,builders: add push_containers property tim.orling
  3 siblings, 0 replies; 5+ messages in thread
From: tim.orling @ 2026-06-01 23:17 UTC (permalink / raw)
  To: yocto-patches

From: Tim Orling <tim.orling@konsulko.com>

Add 'containers-library' which builds containers from the original
"container-cross-install" branch of meta-virtualization and newer
containers modeled after docker.io/library/*

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 config.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/config.py b/config.py
index 7c2353e..d102c93 100644
--- a/config.py
+++ b/config.py
@@ -36,6 +36,7 @@ buildertorepos = {
     "meta-webosose":  baserepos + ["meta-clang", "meta-openembedded", "meta-qt6", "meta-webosose", "meta-security"],
     "vcontainer-tarball": baserepos + ["meta-openembedded", "meta-virtualization"],
     "vcontainer-tests": baserepos + ["meta-openembedded", "meta-virtualization"],
+    "containers-library": baserepos + ["meta-openembedded", "meta-virtualization"],
     "default": baserepos
 }
 
@@ -164,6 +165,7 @@ builders_others = [
     "meta-qcom",
     "vcontainer-tarball",
     "vcontainer-tests",
+    "containers-library",
 ] + old_arch_full
 
 subbuilders = list(set(trigger_builders_wait_quick + trigger_builders_wait_full + trigger_builders_wait_perf + builders_others))
@@ -332,4 +334,5 @@ builder_tags = {
 
     "vcontainer-tarball": ["containers"],
     "vcontainer-tests": ["containers"],
+    "containers-library": ["containers"],
 }
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [yocto-autobuilder2][PATCH v2 4/4] schedulers,builders: add push_containers property
  2026-06-01 23:17 [yocto-autobuilder2][PATCH v2 0/4] Implement 'containers' jobs tim.orling
                   ` (2 preceding siblings ...)
  2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 3/4] config.py: add containers-library job tim.orling
@ 2026-06-01 23:17 ` tim.orling
  3 siblings, 0 replies; 5+ messages in thread
From: tim.orling @ 2026-06-01 23:17 UTC (permalink / raw)
  To: yocto-patches

From: Tim Orling <tim.orling@konsulko.com>

Add a Boolean property to gate whether we push built containers.

Both schedulers and builders need to be aware of the property: the
scheduler propagates it on triggered builds, and the builder needs
to consume it so per-step push behaviour is controlled by the same
flag.

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 builders.py   | 2 ++
 schedulers.py | 9 +++++++++
 2 files changed, 11 insertions(+)

diff --git a/builders.py b/builders.py
index 40873a7..55f0769 100644
--- a/builders.py
+++ b/builders.py
@@ -47,6 +47,7 @@ def ensure_props_set(props):
         "is_release": props.getProperty("is_release", False),
         "buildappsrcrev": props.getProperty("buildappsrcrev", ""),
         "deploy_artefacts": props.getProperty("deploy_artefacts", False),
+        "push_containers": props.getProperty("push_containers", False),
         "publish_destination": props.getProperty("publish_destination", "")
     }
 
@@ -380,6 +381,7 @@ def create_parent_builder_factory(buildername, waitname):
             "build_type": util.Property("build_type"),
             "buildappsrcrev": "",
             "deploy_artefacts": util.Property("deploy_artefacts"),
+            "push_containers": util.Property("push_containers"),
             "publish_destination": util.Property("publish_destination"),
             "yocto_number": util.Property("yocto_number"),
             "milestone_number": util.Property("milestone_number"),
diff --git a/schedulers.py b/schedulers.py
index 67fdd39..62d94d7 100644
--- a/schedulers.py
+++ b/schedulers.py
@@ -484,6 +484,11 @@ def props_for_builder(builder):
         label="Do we want to deploy artefacts?",
         default=False
     ))
+    props.append(util.BooleanParameter(
+        name="push_containers",
+        label="Do we want to push built containers?",
+        default=False
+    ))
     props = props + repos_for_builder(builder)
     worker_list = config.builder_to_workers.get(builder, config.builder_to_workers['default'])
     props.append(util.ChoiceStringParameter(name="worker",
@@ -595,6 +600,10 @@ def parent_scheduler(target):
         util.BooleanParameter(
             name="deploy_artefacts",
             label="Do we want to save build output? ",
+            default=False),
+        util.BooleanParameter(
+            name="push_containers",
+            label="Do we want to push built containers? ",
             default=False)
     ]+repos_for_builder(target))
 
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-06-01 23:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-01 23:17 [yocto-autobuilder2][PATCH v2 0/4] Implement 'containers' jobs tim.orling
2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 1/4] config.py: add vcontainers-tarball; containers tag tim.orling
2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 2/4] config.py: add vcontainer-tests tim.orling
2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 3/4] config.py: add containers-library job tim.orling
2026-06-01 23:17 ` [yocto-autobuilder2][PATCH v2 4/4] schedulers,builders: add push_containers property tim.orling

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.