diff --git a/README.md b/README.md index 6848cf99..0ea6b8aa 100644 --- a/README.md +++ b/README.md @@ -113,8 +113,6 @@ The repository contains `BUILD` files to build the protobuf library with Bazel, you will possibly want to declare `cc_proto_library`, `java_proto_library`, etc. rules that depend on them. -Other build systems will have to run protoc on the protobuf files, and link in -the googleapis and well-known proto types, manually. ### Go (for non-Bazel build systems) diff --git a/build/bazel/remote/asset/v1/remote_asset.proto b/build/bazel/remote/asset/v1/remote_asset.proto index 6581f055..2e61971e 100644 --- a/build/bazel/remote/asset/v1/remote_asset.proto +++ b/build/bazel/remote/asset/v1/remote_asset.proto @@ -49,6 +49,12 @@ option objc_class_prefix = "RA"; // Service implementations may choose to support only URLs, only URNs for // Push'd content, only other URIs for which the server and client agree upon // semantics of, or any mixture of the above. +// +// Versions +// - v1.0 +// - Initial spec +// - v1.1 +// - Adds digest function field to requests // Qualifiers are used to disambiguate or sub-select content that shares a URI. // This may include specifying a particular commit or branch, in the case of diff --git a/build/bazel/remote/execution/v2/remote_execution.proto b/build/bazel/remote/execution/v2/remote_execution.proto index dcb9cf24..6891b298 100644 --- a/build/bazel/remote/execution/v2/remote_execution.proto +++ b/build/bazel/remote/execution/v2/remote_execution.proto @@ -32,8 +32,66 @@ option java_outer_classname = "RemoteExecutionProto"; option java_package = "build.bazel.remote.execution.v2"; option objc_class_prefix = "REX"; - -// The Remote Execution API is used to execute an +// The Remote Execution API allows clients to request the execution of binaries +// on a remote system. Practically, the remote system is usually a pool of +// worker machines, although other implementations are possible. The API +// comprises three services: +// +// - ContentAddressableStorage service, which enables clients to transfer and +// address arbitrary data based on the hash of the contents of that data. +// - Execution service, which enables clients to trigger the execution +// of a binary on the remote system, using data from the +// ContentAddressableStorage service as input. +// - ActionCache service, which caches the results of calling the Execution +// service for future retrieval. +// +// Versions +// - v2.0 +// - Initial spec +// - v2.1 +// - Add Command.output_paths and ActionResult.output_symlinks, and +// deprecate Command.output_files, Command.output_directories, +// ActionResult.output_file_symlinks, and +// ActionResult.output_directory_symlinks +// - v2.2 +// - Move output_node_properties from Action to Command. +// - Define field-based NodeProperties. +// - Add Action.salt to allow users to bypass corrupt cache entries. +// - Add Action.properties and deprecate Command.properties. +// - v2.3 +// - Add ExecutedActionMetadata.auxiliary_metadata. +// - Add RequestMetadata.action_mnemonic, RequestMetadata.target_id, and +// RequestMetadata.configuration_id. +// - Add support for compressed Bytestream transfers. +// - Fix the names of CacheCapabilities.digest_functions and +// CacheCapabilities.supported_compressors. +// - Add support for inlined compressed data in CAS batch operations. +// - v2.4 +// - Add OutputDirectory.is_topologically_sorted. +// - v2.5 +// - Add support for explicitly specifying the digest function across +// various APIs. +// - Add the SHA256TREE digest function. +// - Add ExecuteOperationMetadata.partial_execution_metadata. +// - Add ExecutionCapabilities.digest_functions as an extension of +// ExecutionCapabilities.digest_function. +// - v2.6 +// - Do not use. This was rolled together with v2.8. +// - v2.7 +// - Do not use. This was rolled together with v2.8. +// - v2.8 +// - Add Command.output_directory_format and +// OutputDirectory.root_directory_digest to enable emitting output +// directories as plain Directory messages. +// - v2.9 +// - Add ExecuteRequest.inline_stdout, ExecuteRequest.inline_stderr, and +// ExecuteRequest.inline_output_files. +// - v2.10 +// - This was a Remote Asset API bump only. +// - v2.11 +// - Add ExecutedOperationMetadata.digest_function. + +// The Execution service is used to execute an // [Action][build.bazel.remote.execution.v2.Action] on the remote // workers. // diff --git a/build/bazel/remote/logstream/v1/remote_logstream.proto b/build/bazel/remote/logstream/v1/remote_logstream.proto index 2741016b..50623e34 100644 --- a/build/bazel/remote/logstream/v1/remote_logstream.proto +++ b/build/bazel/remote/logstream/v1/remote_logstream.proto @@ -43,6 +43,11 @@ option objc_class_prefix = "RL"; // https://cloud.google.com/dataproc/docs/reference/rpc/google.bytestream // https://github.com/googleapis/googleapis/blob/master/google/bytestream/bytestream.proto // +// #### Versions +// +// - v1.0 +// - Initial spec +// // #### Writing LogStreams // // LogStreams are written to via the Byte Stream API's `Write` RPC. Bytes