mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-14 12:42:59 +02:00
feat: Add `targets_filter`, `configured_targets_filter` and `actions_filter` to `ExportInvocationRequest` feat: Add `DownloadMetadata` to `ExportInvocationResponse` feat: Add `retry_number` and `repeat_number` to `TestCase` docs: Mark `Target.status_attributes` as deprecated PiperOrigin-RevId: 552917708
197 lines
8 KiB
Protocol Buffer
197 lines
8 KiB
Protocol Buffer
// Copyright 2023 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.resultstore.v2;
|
|
|
|
import "google/api/field_behavior.proto";
|
|
import "google/api/resource.proto";
|
|
import "google/devtools/resultstore/v2/common.proto";
|
|
import "google/devtools/resultstore/v2/coverage.proto";
|
|
import "google/devtools/resultstore/v2/coverage_summary.proto";
|
|
import "google/devtools/resultstore/v2/file.proto";
|
|
import "google/devtools/resultstore/v2/file_processing_error.proto";
|
|
|
|
option go_package = "google.golang.org/genproto/googleapis/devtools/resultstore/v2;resultstore";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "InvocationProto";
|
|
option java_package = "com.google.devtools.resultstore.v2";
|
|
|
|
// An Invocation typically represents the result of running a tool. Each has a
|
|
// unique ID, typically generated by the server. Target resources under each
|
|
// Invocation contain the bulk of the data.
|
|
message Invocation {
|
|
option (google.api.resource) = {
|
|
type: "resultstore.googleapis.com/Invocation"
|
|
pattern: "invocations/{invocation}"
|
|
};
|
|
|
|
// The resource ID components that identify the Invocation.
|
|
message Id {
|
|
// The Invocation ID.
|
|
string invocation_id = 1;
|
|
}
|
|
|
|
// The resource name. Its format must be:
|
|
// invocations/${INVOCATION_ID}
|
|
string name = 1;
|
|
|
|
// The resource ID components that identify the Invocation. They must match
|
|
// the resource name after proper encoding.
|
|
Id id = 2;
|
|
|
|
// The aggregate status of the invocation.
|
|
StatusAttributes status_attributes = 3;
|
|
|
|
// When this invocation started and its duration.
|
|
Timing timing = 4;
|
|
|
|
// Attributes of this invocation.
|
|
InvocationAttributes invocation_attributes = 5;
|
|
|
|
// The workspace the tool was run in.
|
|
WorkspaceInfo workspace_info = 6;
|
|
|
|
// Arbitrary name-value pairs.
|
|
// This is implemented as a multi-map. Multiple properties are allowed with
|
|
// the same key. Properties will be returned in lexicographical order by key.
|
|
repeated Property properties = 7;
|
|
|
|
// A list of file references for invocation level files.
|
|
// The file IDs must be unique within this list. Duplicate file IDs will
|
|
// result in an error. Files will be returned in lexicographical order by ID.
|
|
// Use this field to specify build logs, and other invocation level logs.
|
|
//
|
|
// Files with the following reserved file IDs cause specific post-processing
|
|
// or have special handling. These files must be immediately available to
|
|
// ResultStore for processing when the reference is uploaded.
|
|
//
|
|
// build.log: The primary log for the Invocation.
|
|
// coverage_report.lcov: Aggregate coverage report for the invocation.
|
|
repeated File files = 8;
|
|
|
|
// Summary of aggregate coverage across all Actions in this Invocation.
|
|
// If missing, this data will be populated by the server from the
|
|
// coverage_report.lcov file or the union of all ActionCoverages under this
|
|
// invocation (in that order).
|
|
repeated LanguageCoverageSummary coverage_summaries = 9;
|
|
|
|
// Aggregate code coverage for all build and test Actions within this
|
|
// Invocation. If missing, this data will be populated by the server
|
|
// from the coverage_report.lcov file or the union of all ActionCoverages
|
|
// under this invocation (in that order).
|
|
AggregateCoverage aggregate_coverage = 10;
|
|
|
|
// NOT IMPLEMENTED.
|
|
// ResultStore will read and parse Files with reserved IDs listed above. Read
|
|
// and parse errors for all these Files are reported here.
|
|
// This is implemented as a map, with one FileProcessingErrors for each file.
|
|
// Typically produced when parsing Files, but may also be provided directly
|
|
// by clients.
|
|
repeated FileProcessingErrors file_processing_errors = 11;
|
|
}
|
|
|
|
// If known, represents the state of the user/build-system workspace.
|
|
message WorkspaceContext {}
|
|
|
|
// Describes the workspace under which the tool was invoked, this includes
|
|
// information that was fed into the command, the source code referenced, and
|
|
// the tool itself.
|
|
message WorkspaceInfo {
|
|
// Data about the workspace that might be useful for debugging.
|
|
WorkspaceContext workspace_context = 1;
|
|
|
|
// Where the tool was invoked
|
|
string hostname = 3;
|
|
|
|
// The client's working directory where the build/test was run from.
|
|
string working_directory = 4;
|
|
|
|
// Tools should set tool_tag to the name of the tool or use case.
|
|
string tool_tag = 5;
|
|
|
|
// The command lines invoked. The first command line is the one typed by the
|
|
// user, then each one after that should be an expansion of the previous
|
|
// command line.
|
|
repeated CommandLine command_lines = 7;
|
|
}
|
|
|
|
// The command and arguments that produced this Invocation.
|
|
message CommandLine {
|
|
// A label describing this command line.
|
|
string label = 1;
|
|
|
|
// The command-line tool that is run: argv[0].
|
|
string tool = 2;
|
|
|
|
// The arguments to the above tool: argv[1]...argv[N].
|
|
repeated string args = 3;
|
|
|
|
// The subcommand that was run with the tool, usually "build" or "test".
|
|
// For example, in the Bazel command "bazel build //foo", this would be set
|
|
// to "build". Omit if the tool doesn't accept a subcommand. This is must
|
|
// be a reference to one of values in args.
|
|
string command = 4;
|
|
}
|
|
|
|
// Attributes that apply to all invocations.
|
|
message InvocationAttributes {
|
|
// Immutable. The Cloud Project that owns this invocation (this is different
|
|
// than the Consumer Cloud Project that calls this API). This must be set in
|
|
// the CreateInvocation call, and can't be changed. As input, callers can set
|
|
// this field to a project id (string) or a stringified int64 project number.
|
|
// As output, the API populates this field with the stringified int64 project
|
|
// number (per https://google.aip.dev/cloud/2510).
|
|
string project_id = 1 [(google.api.field_behavior) = IMMUTABLE];
|
|
|
|
// The list of users in the command chain. The first user in this sequence
|
|
// is the one who instigated the first command in the chain. For example,
|
|
// this might contain just the user that ran a Bazel command, or a robot
|
|
// that tested a change as part of a CI system. It could also contain the user
|
|
// that manually triggered a CI test, then the robot that ran the test.
|
|
repeated string users = 2;
|
|
|
|
// Labels to categorize this invocation.
|
|
// This is implemented as a set. All labels will be unique. Any duplicate
|
|
// labels added will be ignored. Labels will be returned in lexicographical
|
|
// order. Labels should be a list of words describing the Invocation. Labels
|
|
// should be short, easy to read, and you shouldn't have more than a handful.
|
|
// Labels should not be used for unique properties such as unique IDs. Use
|
|
// properties in cases that don't meet these conditions.
|
|
repeated string labels = 3;
|
|
|
|
// This field describes the overall context or purpose of this invocation.
|
|
// It will be used in the UI to give users more information about
|
|
// how or why this invocation was run.
|
|
string description = 4;
|
|
|
|
// If this Invocation was run in the context of a larger Continuous
|
|
// Integration build or other automated system, this field may contain more
|
|
// information about the greater context.
|
|
repeated InvocationContext invocation_contexts = 6;
|
|
|
|
// Exit code of the process that ran the invocation. A non-zero value
|
|
// means failure. For example, the exit code of a "bazel test" command.
|
|
int32 exit_code = 7;
|
|
}
|
|
|
|
// Describes the invocation context which includes a display name and URL.
|
|
message InvocationContext {
|
|
// A human readable name for the context under which this Invocation was run.
|
|
string display_name = 1;
|
|
|
|
// A URL pointing to a UI containing more information
|
|
string url = 2;
|
|
}
|