| // Copyright 2020 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| syntax = "proto3"; |
| |
| package google.devtools.build.v1; |
| |
| import "google/devtools/build/v1/build_status.proto"; |
| import "google/protobuf/any.proto"; |
| import "google/protobuf/timestamp.proto"; |
| |
| option cc_enable_arenas = true; |
| option go_package = "google.golang.org/genproto/googleapis/devtools/build/v1;build"; |
| option java_multiple_files = true; |
| option java_outer_classname = "BuildEventProto"; |
| option java_package = "com.google.devtools.build.v1"; |
| option php_namespace = "Google\\Cloud\\Build\\V1"; |
| |
| // An event representing some state change that occurred in the build. This |
| // message does not include field for uniquely identifying an event. |
| message BuildEvent { |
| // Notification that the build system has attempted to run the build tool. |
| message InvocationAttemptStarted { |
| // The number of the invocation attempt, starting at 1 and increasing by 1 |
| // for each new attempt. Can be used to determine if there is a later |
| // invocation attempt replacing the current one a client is processing. |
| int64 attempt_number = 1; |
| |
| // Arbitrary details about the invocation attempt. |
| google.protobuf.Any details = 2; |
| } |
| |
| // Notification that an invocation attempt has finished. |
| message InvocationAttemptFinished { |
| // Final status of the invocation. |
| BuildStatus invocation_status = 3; |
| |
| // Arbitrary details about the invocation attempt. |
| google.protobuf.Any details = 4; |
| } |
| |
| // Notification that the build request is enqueued. |
| message BuildEnqueued { |
| // Additional details about the Build. |
| google.protobuf.Any details = 1; |
| } |
| |
| // Notification that the build request has finished, and no further |
| // invocations will occur. Note that this applies to the entire Build. |
| // Individual invocations trigger InvocationFinished when they finish. |
| message BuildFinished { |
| // Final status of the build. |
| BuildStatus status = 1; |
| |
| // Additional details about the Build. |
| google.protobuf.Any details = 2; |
| } |
| |
| // Textual output written to standard output or standard error. |
| message ConsoleOutput { |
| // The output stream type. |
| ConsoleOutputStream type = 1; |
| |
| // The output stream content. |
| oneof output { |
| // Regular UTF-8 output; normal text. |
| string text_output = 2; |
| |
| // Used if the output is not UTF-8 text (for example, a binary proto). |
| bytes binary_output = 3; |
| } |
| } |
| |
| // Notification of the end of a build event stream published by a build |
| // component other than CONTROLLER (See StreamId.BuildComponents). |
| message BuildComponentStreamFinished { |
| // How did the event stream finish. |
| enum FinishType { |
| // Unknown or unspecified; callers should never set this value. |
| FINISH_TYPE_UNSPECIFIED = 0; |
| |
| // Set by the event publisher to indicate a build event stream is |
| // finished. |
| FINISHED = 1; |
| |
| // Set by the WatchBuild RPC server when the publisher of a build event |
| // stream stops publishing events without publishing a |
| // BuildComponentStreamFinished event whose type equals FINISHED. |
| EXPIRED = 2; |
| } |
| |
| // How the event stream finished. |
| FinishType type = 1; |
| } |
| |
| // The timestamp of this event. |
| google.protobuf.Timestamp event_time = 1; |
| |
| // ////////////////////////////////////////////////////////////////////////// |
| // Events that indicate a state change of a build request in the build |
| // queue. |
| oneof event { |
| // An invocation attempt has started. |
| InvocationAttemptStarted invocation_attempt_started = 51; |
| |
| // An invocation attempt has finished. |
| InvocationAttemptFinished invocation_attempt_finished = 52; |
| |
| // The build is enqueued. |
| BuildEnqueued build_enqueued = 53; |
| |
| // The build has finished. Set when the build is terminated. |
| BuildFinished build_finished = 55; |
| |
| // An event containing printed text. |
| ConsoleOutput console_output = 56; |
| |
| // Indicates the end of a build event stream (with the same StreamId) from |
| // a build component executing the requested build task. |
| // *** This field does not indicate the WatchBuild RPC is finished. *** |
| BuildComponentStreamFinished component_stream_finished = 59; |
| |
| // Structured build event generated by Bazel about its execution progress. |
| google.protobuf.Any bazel_event = 60; |
| |
| // An event that contains supplemental tool-specific information about |
| // build execution. |
| google.protobuf.Any build_execution_event = 61; |
| |
| // An event that contains supplemental tool-specific information about |
| // source fetching. |
| google.protobuf.Any source_fetch_event = 62; |
| } |
| } |
| |
| // Unique identifier for a build event stream. |
| message StreamId { |
| // Which build component generates this event stream. Each build component |
| // may generate one event stream. |
| enum BuildComponent { |
| // Unknown or unspecified; callers should never set this value. |
| UNKNOWN_COMPONENT = 0; |
| |
| // A component that coordinates builds. |
| CONTROLLER = 1; |
| |
| // A component that runs executables needed to complete a build. |
| WORKER = 2; |
| |
| // A component that builds something. |
| TOOL = 3; |
| } |
| |
| // The id of a Build message. |
| string build_id = 1; |
| |
| // The unique invocation ID within this build. |
| // It should be the same as {invocation} (below) during the migration. |
| string invocation_id = 6; |
| |
| // The component that emitted this event. |
| BuildComponent component = 3; |
| } |
| |
| // The type of console output stream. |
| enum ConsoleOutputStream { |
| // Unspecified or unknown. |
| UNKNOWN = 0; |
| |
| // Normal output stream. |
| STDOUT = 1; |
| |
| // Error output stream. |
| STDERR = 2; |
| } |