#1737 kiwibuild: allow setting description scm and path at phase level
Merged a year ago by lsedlar. Opened a year ago by adamwill.

file modified
+6 -2
@@ -1238,8 +1238,10 @@ 

                                  "subvariant": {"type": "string"},

                              },

                              "required": [

-                                 "description_scm",

-                                 "description_path",

+                                 # description_scm and description_path

+                                 # are really required, but as they can

+                                 # be set at the phase level we cannot

+                                 # enforce that here

                                  "kiwi_profile",

                              ],

                              "additionalProperties": False,
@@ -1248,6 +1250,8 @@ 

                  },

                  "additionalProperties": False,

              },

+             "kiwibuild_description_scm": {"type": "url"},

+             "kiwibuild_description_path": {"type": "string"},

              "kiwibuild_target": {"type": "string"},

              "kiwibuild_release": {"$ref": "#/definitions/optional_string"},

              "kiwibuild_version": {"type": "string"},

file modified
+16 -20
@@ -79,8 +79,14 @@ 

                      self.log_debug("skip: no arches")

                      continue

  

-                 release = self.get_release(image_conf)

-                 target = self.get_config(image_conf, "target")

+                 # these properties can be set per-image *or* as e.g.

+                 # kiwibuild_description_scm or global_release in the config

+                 generics = {

+                     "release": self.get_release(image_conf),

+                     "target": self.get_config(image_conf, "target"),

+                     "descscm": self.get_config(image_conf, "description_scm"),

+                     "descpath": self.get_config(image_conf, "description_path")

+                 }

  

                  repo = self._get_repo(image_conf, variant)

  
@@ -97,8 +103,7 @@ 

                          variant,

                          image_conf,

                          build_arches,

-                         release,

-                         target,

+                         generics,

                          repo,

                          can_fail,

                      )
@@ -109,16 +114,7 @@ 

  

  class RunKiwiBuildThread(WorkerThread):

      def process(self, item, num):

-         (

-             compose,

-             variant,

-             config,

-             arches,

-             release,

-             target,

-             repo,

-             can_fail,

-         ) = item

+         (compose, variant, config, arches, generics, repo, can_fail) = item

          self.can_fail = can_fail

          self.num = num

          with util.failable(
@@ -129,21 +125,21 @@ 

              "kiwibuild",

              logger=self.pool._logger,

          ):

-             self.worker(compose, variant, config, arches, release, target, repo)

+             self.worker(compose, variant, config, arches, generics, repo)

  

-     def worker(self, compose, variant, config, arches, release, target, repo):

+     def worker(self, compose, variant, config, arches, generics, repo):

          msg = "kiwibuild task for variant %s" % variant.uid

          self.pool.log_info("[BEGIN] %s" % msg)

          koji = kojiwrapper.KojiWrapper(compose)

          koji.login()

  

          task_id = koji.koji_proxy.kiwiBuild(

-             target,

+             generics["target"],

              arches,

-             config["description_scm"],

-             config["description_path"],

+             generics["descscm"],

+             generics["descpath"],

              profile=config["kiwi_profile"],

-             release=release,

+             release=generics["release"],

              repos=repo,

              optional_arches=self.can_fail,

          )

Neal wanted this to work - he tried using global_description_scm
and global_description_path in the initial PR - but it wasn't
wired up to work. This should make it possible to set
kiwibuild_description_scm and kiwibuild_description_path.
It also technically lets you set global_ for both, since the
get_config implementation is very generic, but it doesn't add
it to the checks, so you'd still get an "unrecognized config
option" warning, I think. It seems appropriate to encourage
setting this as a phase-level option rather than a global one
since it seems quite specific to the kiwibuild phase.

Signed-off-by: Adam Williamson awilliam@redhat.com

rebased onto 0f5dfed85c1298cbe801fb4a4f8f772054f8755e

a year ago

rebased onto d11a0c7

a year ago

Commit e90ffdf fixes this pull-request

Pull-Request has been merged by lsedlar

a year ago