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

juergbi pushed a commit to branch juerg/remote-cache-ci
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 977180ae3cca4d636599c82df27a7e5cac8f452d
Author: Jürg Billeter <[email protected]>
AuthorDate: Mon Oct 19 16:18:34 2020 +0200

    _context.py: Add support for remote-cache configuration
---
 src/buildstream/_context.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/buildstream/_context.py b/src/buildstream/_context.py
index d5d0669..8c409ec 100644
--- a/src/buildstream/_context.py
+++ b/src/buildstream/_context.py
@@ -175,6 +175,9 @@ class Context:
         # User specified cache quota, used for display messages
         self.config_cache_quota_string: Optional[str] = None
 
+        # Remote cache server
+        self.remote_cache_spec: Optional[RemoteSpec] = None
+
         # Whether or not to attempt to pull build trees globally
         self.pull_buildtrees: Optional[bool] = None
 
@@ -343,7 +346,7 @@ class Context:
         # We need to find the first existing directory in the path of our
         # casdir - the casdir may not have been created yet.
         cache = defaults.get_mapping("cache")
-        cache.validate_keys(["quota", "pull-buildtrees", "cache-buildtrees"])
+        cache.validate_keys(["quota", "remote-cache", "pull-buildtrees", 
"cache-buildtrees"])
 
         cas_volume = self.casdir
         while not os.path.exists(cas_volume):
@@ -359,6 +362,10 @@ class Context:
                 LoadErrorReason.INVALID_DATA,
             ) from e
 
+        remote_cache = cache.get_mapping("remote-cache", default=None)
+        if remote_cache:
+            self.remote_cache_spec = RemoteSpec.new_from_node(remote_cache)
+
         # Load global artifact cache configuration
         cache_config = defaults.get_mapping("artifacts", default={})
         self._global_artifact_cache_config = 
_CacheConfig.new_from_node(cache_config)
@@ -661,6 +668,7 @@ class Context:
                 self.cachedir,
                 casd=self.use_casd,
                 cache_quota=self.config_cache_quota,
+                remote_cache_spec=self.remote_cache_spec,
                 log_level=log_level,
                 log_directory=self.logdir,
             )

Reply via email to