This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tpollard/subrebase
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 9abdc2bbfd87ed9662659946829d79c3bc7bb7e3
Author: Tom Pollard <[email protected]>
AuthorDate: Thu Sep 26 15:04:07 2019 +0100

    Explicitly ensure failed build sources are not pushed
---
 src/buildstream/element.py | 3 ++-
 tests/sourcecache/push.py  | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/buildstream/element.py b/src/buildstream/element.py
index 6918c9c..d422d5f 100644
--- a/src/buildstream/element.py
+++ b/src/buildstream/element.py
@@ -1846,7 +1846,8 @@ class Element(Plugin):
         return True
 
     def _skip_source_push(self):
-        if not self.__sources or self._get_workspace():
+        # Skip push if we have no sources, are workspaced or the given element 
failed to build
+        if not self.__sources or self._get_workspace() or not 
self._get_build_result()[0]:
             return True
         return not (self.__sourcecache.has_push_remotes(plugin=self) and 
self._source_cached())
 
diff --git a/tests/sourcecache/push.py b/tests/sourcecache/push.py
index 7198604..551593e 100644
--- a/tests/sourcecache/push.py
+++ b/tests/sourcecache/push.py
@@ -254,5 +254,5 @@ def test_source_push_build_fail(cli, tmpdir, datafiles):
         res.assert_task_error(ErrorDomain.ELEMENT, None)
 
         # Sources are not pushed as the build queue is before the source push
-        # queue.
+        # queue. We explicitly don't want to push failed build source by 
default.
         assert "Pushed source " not in res.stderr

Reply via email to