From f47294a0f5e57edb44fadb0c0c7f14f18ebde88a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= <j@bitron.ch> Date: Fri, 5 Oct 2018 09:50:21 +0200 Subject: [PATCH] element.py: Support command batching for integration commands --- buildstream/element.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/buildstream/element.py b/buildstream/element.py index f8043fd01c..b7011793c8 100644 --- a/buildstream/element.py +++ b/buildstream/element.py @@ -770,13 +770,13 @@ class Element(Plugin): environment = self.get_environment() if bstdata is not None: - commands = self.node_get_member(bstdata, list, 'integration-commands', []) - for i in range(len(commands)): - cmd = self.node_subst_list_element(bstdata, 'integration-commands', [i]) - self.status("Running integration command", detail=cmd) - exitcode = sandbox.run(['sh', '-e', '-c', cmd], 0, env=environment, cwd='/') - if exitcode != 0: - raise ElementError("Command '{}' failed with exitcode {}".format(cmd, exitcode)) + with sandbox.batch(0): + commands = self.node_get_member(bstdata, list, 'integration-commands', []) + for i in range(len(commands)): + cmd = self.node_subst_list_element(bstdata, 'integration-commands', [i]) + + sandbox.run(['sh', '-e', '-c', cmd], 0, env=environment, cwd='/', + label=cmd) def stage_sources(self, sandbox, directory): """Stage this element's sources to a directory in the sandbox -- GitLab