[yocto-autobuilder2][PATCH 4/4] schedulers,builders: add push_containers property

[email protected] Thu, 7 May 2026 18:25:12 -0700
Newsgroups org.yoctoproject.lists.yocto,org.yoctoproject.lists.yocto-patches
Message-ID <9ed602f7dfbc72d96966167a1114dd23aa8b3ca6.1778202070.git.tim.orling@konsulko.com>
From: Tim Orling <[email protected]>

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 <[email protected]>
---
 builders.py   | 2 ++
 schedulers.py | 9 +++++++++
 2 files changed, 11 insertions(+)

diff --git a/builders.py b/builders.py
index 721adc5..6bbf134 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", "")
     }
 
@@ -379,6 +380,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