Javier Jardón pushed to branch tiagogomes/issue-577-backport at BuildStream / buildstream
Commits:
-
1e140f7d
by Tristan Van Berkom at 2018-08-16T14:38:02Z
-
87960822
by Tristan Van Berkom at 2018-08-16T15:36:18Z
-
3200093e
by Tiago Gomes at 2018-08-16T16:20:57Z
2 changed files:
Changes:
... | ... | @@ -24,6 +24,7 @@ import os |
24 | 24 |
import signal
|
25 | 25 |
import stat
|
26 | 26 |
import tempfile
|
27 |
+import errno
|
|
27 | 28 |
from urllib.parse import urlparse
|
28 | 29 |
|
29 | 30 |
import grpc
|
... | ... | @@ -81,7 +82,8 @@ class CASCache(ArtifactCache): |
81 | 82 |
|
82 | 83 |
tree = self.resolve_ref(ref, update_mtime=True)
|
83 | 84 |
|
84 |
- dest = os.path.join(self.extractdir, element._get_project().name, element.normal_name, tree.hash)
|
|
85 |
+ dest = os.path.join(self.extractdir, element._get_project().name,
|
|
86 |
+ element.normal_name, tree.hash)
|
|
85 | 87 |
if os.path.isdir(dest):
|
86 | 88 |
# artifact has already been extracted
|
87 | 89 |
return dest
|
... | ... | @@ -99,7 +101,7 @@ class CASCache(ArtifactCache): |
99 | 101 |
#
|
100 | 102 |
# If rename fails with these errors, another process beat
|
101 | 103 |
# us to it so just ignore.
|
102 |
- if e.errno not in [os.errno.ENOTEMPTY, os.errno.EEXIST]:
|
|
104 |
+ if e.errno not in [errno.ENOTEMPTY, errno.EEXIST]:
|
|
103 | 105 |
raise ArtifactError("Failed to extract artifact for ref '{}': {}"
|
104 | 106 |
.format(ref, e)) from e
|
105 | 107 |
|
... | ... | @@ -270,6 +270,9 @@ class App(): |
270 | 270 |
else:
|
271 | 271 |
self._message(MessageType.FAIL, session_name, elapsed=elapsed)
|
272 | 272 |
|
273 |
+ # Notify session failure
|
|
274 |
+ self._notify("{} failed".format(session_name), "{}".format(e))
|
|
275 |
+ |
|
273 | 276 |
if self._started:
|
274 | 277 |
self._print_summary()
|
275 | 278 |
|
... | ... | @@ -287,6 +290,9 @@ class App(): |
287 | 290 |
if self._started:
|
288 | 291 |
self._print_summary()
|
289 | 292 |
|
293 |
+ # Notify session success
|
|
294 |
+ self._notify("{} succeeded".format(session_name), "")
|
|
295 |
+ |
|
290 | 296 |
# init_project()
|
291 | 297 |
#
|
292 | 298 |
# Initialize a new BuildStream project, either with the explicitly passed options,
|
... | ... | @@ -420,6 +426,12 @@ class App(): |
420 | 426 |
# Local Functions #
|
421 | 427 |
############################################################
|
422 | 428 |
|
429 |
+ # Local function for calling the notify() virtual method
|
|
430 |
+ #
|
|
431 |
+ def _notify(self, title, text):
|
|
432 |
+ if self.interactive:
|
|
433 |
+ self.notify(title, text)
|
|
434 |
+ |
|
423 | 435 |
# Local message propagator
|
424 | 436 |
#
|
425 | 437 |
def _message(self, message_type, message, **kwargs):
|
... | ... | @@ -572,8 +584,8 @@ class App(): |
572 | 584 |
while choice not in ['continue', 'quit', 'terminate', 'retry']:
|
573 | 585 |
click.echo(summary, err=True)
|
574 | 586 |
|
575 |
- self.notify("BuildStream failure", "{} on element {}"
|
|
576 |
- .format(failure.action_name, element.name))
|
|
587 |
+ self._notify("BuildStream failure", "{} on element {}"
|
|
588 |
+ .format(failure.action_name, element.name))
|
|
577 | 589 |
|
578 | 590 |
try:
|
579 | 591 |
choice = click.prompt("Choice:", default='continue', err=True,
|