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

juergbi pushed a commit to branch jbilleter/recc
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 50c5273aa50638a99d790b58de0387d1e71aa3f3
Author: Jürg Billeter <[email protected]>
AuthorDate: Fri Aug 15 15:08:41 2025 +0200

    artifact.proto: Add a field for the build sandbox state
---
 src/buildstream/_protos/buildstream/v2/artifact.proto   |  7 +++++++
 src/buildstream/_protos/buildstream/v2/artifact_pb2.py  | 14 ++++++++------
 src/buildstream/_protos/buildstream/v2/artifact_pb2.pyi | 15 +++++++++++++--
 3 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/src/buildstream/_protos/buildstream/v2/artifact.proto 
b/src/buildstream/_protos/buildstream/v2/artifact.proto
index 86ac452c8..1024ce860 100644
--- a/src/buildstream/_protos/buildstream/v2/artifact.proto
+++ b/src/buildstream/_protos/buildstream/v2/artifact.proto
@@ -85,4 +85,11 @@ message Artifact {
 
   // digest of a directory
   build.bazel.remote.execution.v2.Digest buildroot = 17;  // optional
+
+  message SandboxState {
+    repeated build.bazel.remote.execution.v2.Command.EnvironmentVariable 
environment = 1;
+    string working_directory = 2;
+    repeated build.bazel.remote.execution.v2.Digest subsandbox_digests = 3;
+  };
+  SandboxState buildsandbox = 18;  // optional
 }
diff --git a/src/buildstream/_protos/buildstream/v2/artifact_pb2.py 
b/src/buildstream/_protos/buildstream/v2/artifact_pb2.py
index 21cc67f4f..7d86ea3b8 100644
--- a/src/buildstream/_protos/buildstream/v2/artifact_pb2.py
+++ b/src/buildstream/_protos/buildstream/v2/artifact_pb2.py
@@ -26,7 +26,7 @@ from buildstream._protos.build.bazel.remote.execution.v2 
import remote_execution
 from buildstream._protos.google.api import annotations_pb2 as 
google_dot_api_dot_annotations__pb2
 
 
-DESCRIPTOR = 
_descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x62uildstream/v2/artifact.proto\x12\x0e\x62uildstream.v2\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\"\x89\x07\n\x08\x41rtifact\x12\x0f\n\x07version\x18\x01
 \x01(\x05\x12\x15\n\rbuild_success\x18\x02 
\x01(\x08\x12\x13\n\x0b\x62uild_error\x18\x03 
\x01(\t\x12\x1b\n\x13\x62uild_error_details\x18\x04 
\x01(\t\x12\x12\n\nstrong_key\x18\x05 \x01(\t\x12\x10\n\x08weak_key\x1 [...]
+DESCRIPTOR = 
_descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x62uildstream/v2/artifact.proto\x12\x0e\x62uildstream.v2\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\"\x8a\t\n\x08\x41rtifact\x12\x0f\n\x07version\x18\x01
 \x01(\x05\x12\x15\n\rbuild_success\x18\x02 
\x01(\x08\x12\x13\n\x0b\x62uild_error\x18\x03 
\x01(\t\x12\x1b\n\x13\x62uild_error_details\x18\x04 
\x01(\t\x12\x12\n\nstrong_key\x18\x05 \x01(\t\x12\x10\n\x08weak_key\x18\ [...]
 
 _globals = globals()
 _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -34,9 +34,11 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 
'buildstream.v2.artifact_pb2
 if not _descriptor._USE_C_DESCRIPTORS:
   DESCRIPTOR._loaded_options = None
   _globals['_ARTIFACT']._serialized_start=136
-  _globals['_ARTIFACT']._serialized_end=1041
-  _globals['_ARTIFACT_DEPENDENCY']._serialized_start=860
-  _globals['_ARTIFACT_DEPENDENCY']._serialized_end=959
-  _globals['_ARTIFACT_LOGFILE']._serialized_start=961
-  _globals['_ARTIFACT_LOGFILE']._serialized_end=1041
+  _globals['_ARTIFACT']._serialized_end=1298
+  _globals['_ARTIFACT_DEPENDENCY']._serialized_start=921
+  _globals['_ARTIFACT_DEPENDENCY']._serialized_end=1020
+  _globals['_ARTIFACT_LOGFILE']._serialized_start=1022
+  _globals['_ARTIFACT_LOGFILE']._serialized_end=1102
+  _globals['_ARTIFACT_SANDBOXSTATE']._serialized_start=1105
+  _globals['_ARTIFACT_SANDBOXSTATE']._serialized_end=1298
 # @@protoc_insertion_point(module_scope)
diff --git a/src/buildstream/_protos/buildstream/v2/artifact_pb2.pyi 
b/src/buildstream/_protos/buildstream/v2/artifact_pb2.pyi
index 3f80ffa4b..08c6960c1 100644
--- a/src/buildstream/_protos/buildstream/v2/artifact_pb2.pyi
+++ b/src/buildstream/_protos/buildstream/v2/artifact_pb2.pyi
@@ -8,7 +8,7 @@ from typing import ClassVar as _ClassVar, Iterable as 
_Iterable, Mapping as _Map
 DESCRIPTOR: _descriptor.FileDescriptor
 
 class Artifact(_message.Message):
-    __slots__ = ("version", "build_success", "build_error", 
"build_error_details", "strong_key", "weak_key", "was_workspaced", "files", 
"build_deps", "public_data", "logs", "buildtree", "sources", 
"low_diversity_meta", "high_diversity_meta", "strict_key", "buildroot")
+    __slots__ = ("version", "build_success", "build_error", 
"build_error_details", "strong_key", "weak_key", "was_workspaced", "files", 
"build_deps", "public_data", "logs", "buildtree", "sources", 
"low_diversity_meta", "high_diversity_meta", "strict_key", "buildroot", 
"buildsandbox")
     class Dependency(_message.Message):
         __slots__ = ("project_name", "element_name", "cache_key", 
"was_workspaced")
         PROJECT_NAME_FIELD_NUMBER: _ClassVar[int]
@@ -27,6 +27,15 @@ class Artifact(_message.Message):
         name: str
         digest: _remote_execution_pb2.Digest
         def __init__(self, name: _Optional[str] = ..., digest: 
_Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ...) -> None: ...
+    class SandboxState(_message.Message):
+        __slots__ = ("environment", "working_directory", "subsandbox_digests")
+        ENVIRONMENT_FIELD_NUMBER: _ClassVar[int]
+        WORKING_DIRECTORY_FIELD_NUMBER: _ClassVar[int]
+        SUBSANDBOX_DIGESTS_FIELD_NUMBER: _ClassVar[int]
+        environment: 
_containers.RepeatedCompositeFieldContainer[_remote_execution_pb2.Command.EnvironmentVariable]
+        working_directory: str
+        subsandbox_digests: 
_containers.RepeatedCompositeFieldContainer[_remote_execution_pb2.Digest]
+        def __init__(self, environment: 
_Optional[_Iterable[_Union[_remote_execution_pb2.Command.EnvironmentVariable, 
_Mapping]]] = ..., working_directory: _Optional[str] = ..., subsandbox_digests: 
_Optional[_Iterable[_Union[_remote_execution_pb2.Digest, _Mapping]]] = ...) -> 
None: ...
     VERSION_FIELD_NUMBER: _ClassVar[int]
     BUILD_SUCCESS_FIELD_NUMBER: _ClassVar[int]
     BUILD_ERROR_FIELD_NUMBER: _ClassVar[int]
@@ -44,6 +53,7 @@ class Artifact(_message.Message):
     HIGH_DIVERSITY_META_FIELD_NUMBER: _ClassVar[int]
     STRICT_KEY_FIELD_NUMBER: _ClassVar[int]
     BUILDROOT_FIELD_NUMBER: _ClassVar[int]
+    BUILDSANDBOX_FIELD_NUMBER: _ClassVar[int]
     version: int
     build_success: bool
     build_error: str
@@ -61,4 +71,5 @@ class Artifact(_message.Message):
     high_diversity_meta: _remote_execution_pb2.Digest
     strict_key: str
     buildroot: _remote_execution_pb2.Digest
-    def __init__(self, version: _Optional[int] = ..., build_success: bool = 
..., build_error: _Optional[str] = ..., build_error_details: _Optional[str] = 
..., strong_key: _Optional[str] = ..., weak_key: _Optional[str] = ..., 
was_workspaced: bool = ..., files: 
_Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., build_deps: 
_Optional[_Iterable[_Union[Artifact.Dependency, _Mapping]]] = ..., public_data: 
_Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., logs: _Opt 
[...]
+    buildsandbox: Artifact.SandboxState
+    def __init__(self, version: _Optional[int] = ..., build_success: bool = 
..., build_error: _Optional[str] = ..., build_error_details: _Optional[str] = 
..., strong_key: _Optional[str] = ..., weak_key: _Optional[str] = ..., 
was_workspaced: bool = ..., files: 
_Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., build_deps: 
_Optional[_Iterable[_Union[Artifact.Dependency, _Mapping]]] = ..., public_data: 
_Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., logs: _Opt 
[...]

Reply via email to