summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2020-02-20 09:24:18 +0100
committerJürg Billeter <j@bitron.ch>2020-02-20 10:56:22 +0100
commitcccf7425aa0b952b771df037a512873aea53b02c (patch)
treebc500b93fdfb5e21e7059e4dc938fd749c5fb6d7
parentf65299c68c2eccf885aa440d5efe88d0ffbd4b14 (diff)
downloadbuildstream-cccf7425aa0b952b771df037a512873aea53b02c.tar.gz
sandbox: Move log forwarding from SandboxREAPI to SandboxRemote
SandboxBuildBoxRun doesn't require log forwarding as we use stdout and stderr of the buildbox-run process.
-rw-r--r--src/buildstream/sandbox/_sandboxreapi.py9
-rw-r--r--src/buildstream/sandbox/_sandboxremote.py10
2 files changed, 10 insertions, 9 deletions
diff --git a/src/buildstream/sandbox/_sandboxreapi.py b/src/buildstream/sandbox/_sandboxreapi.py
index ee7fc72ae..2f500cd51 100644
--- a/src/buildstream/sandbox/_sandboxreapi.py
+++ b/src/buildstream/sandbox/_sandboxreapi.py
@@ -39,8 +39,6 @@ class SandboxREAPI(Sandbox):
return True
def _run(self, command, flags, *, cwd, env):
- stdout, stderr = self._get_output()
-
context = self._get_context()
cascache = context.get_cascache()
@@ -93,13 +91,6 @@ class SandboxREAPI(Sandbox):
cwd, action_result.output_directories, action_result.output_files, failure=action_result.exit_code != 0
)
- if stdout:
- if action_result.stdout_raw:
- stdout.write(str(action_result.stdout_raw, "utf-8", errors="ignore"))
- if stderr:
- if action_result.stderr_raw:
- stderr.write(str(action_result.stderr_raw, "utf-8", errors="ignore"))
-
# Non-zero exit code means a normal error during the build:
# the remote execution system has worked correctly but the command failed.
return action_result.exit_code
diff --git a/src/buildstream/sandbox/_sandboxremote.py b/src/buildstream/sandbox/_sandboxremote.py
index 5ec1c974b..fe7812ba5 100644
--- a/src/buildstream/sandbox/_sandboxremote.py
+++ b/src/buildstream/sandbox/_sandboxremote.py
@@ -298,6 +298,8 @@ class SandboxRemote(SandboxREAPI):
)
def _execute_action(self, action, flags):
+ stdout, stderr = self._get_output()
+
context = self._get_context()
project = self._get_project()
cascache = context.get_cascache()
@@ -375,6 +377,14 @@ class SandboxRemote(SandboxREAPI):
# Now do a pull to ensure we have the full directory structure.
cascache.pull_tree(casremote, tree_digest)
+ # Forward remote stdout and stderr
+ if stdout:
+ if action_result.stdout_raw:
+ stdout.write(str(action_result.stdout_raw, "utf-8", errors="ignore"))
+ if stderr:
+ if action_result.stderr_raw:
+ stderr.write(str(action_result.stderr_raw, "utf-8", errors="ignore"))
+
return action_result
def _check_action_cache(self, action_digest):