summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2017-07-19 15:41:23 +0200
committerJürg Billeter <j@bitron.ch>2017-07-20 07:24:56 +0200
commite67f2509061b23536e14961710e718708f305c06 (patch)
tree40f9e8825ed106eb57eb8150be8ce13db54e7c6d
parent2c04a7746229c89fd0589cae89c83104f43f4702 (diff)
downloadbuildstream-e67f2509061b23536e14961710e718708f305c06.tar.gz
_pipeline.py: Continue if remote artifact repository is unavailable
-rw-r--r--buildstream/_pipeline.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/buildstream/_pipeline.py b/buildstream/_pipeline.py
index 269a6f482..960581a5c 100644
--- a/buildstream/_pipeline.py
+++ b/buildstream/_pipeline.py
@@ -28,7 +28,7 @@ from operator import itemgetter
from tempfile import TemporaryDirectory
from pluginbase import PluginBase
-from .exceptions import _BstError
+from .exceptions import _BstError, _ArtifactError
from ._message import Message, MessageType
from ._artifactcache import ArtifactCache
from ._elementfactory import ElementFactory
@@ -173,7 +173,11 @@ class Pipeline():
self.project._set_workspace(element, source, workspace)
if self.artifacts.can_fetch():
- self.artifacts.fetch_remote_refs()
+ try:
+ self.artifacts.fetch_remote_refs()
+ except _ArtifactError:
+ self.message(self.target, MessageType.WARN, "Failed to fetch remote refs")
+ self.artifacts.set_offline()
for element in self.dependencies(Scope.ALL):
if cache_ticker: