blob: 13c0d9b57ab633672aba630631bb3ba54a5de36b [file] [log] [blame]
// Copyright 2019 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package analysis_service;
option go_package = "go.chromium.org/chromiumos/infra/proto/analysis_service";
import "chromite/api/artifacts.proto";
import "chromite/api/binhost.proto";
import "chromite/api/depgraph.proto";
import "chromite/api/firmware.proto";
import "chromite/api/image.proto";
import "chromite/api/packages.proto";
import "chromite/api/sdk.proto";
import "chromite/api/sysroot.proto";
import "chromite/api/test.proto";
import "google/protobuf/timestamp.proto";
// Data about the execution of a step. Fields mirror those of the
// ExecutionResult object returned by a step.
message StepExecutionResult {
int32 retcode = 1;
bool had_timeout = 2;
bool had_exception = 3;
bool was_cancelled = 4;
}
// Requests and responses are sent to the Artifacts Analysis Service on a single
// Pub/Sub topic; thus, the type of the request and response need to be encoded
// in the Pub/Sub message. This is done with this wrapper proto.
//
// This proto should only be used by a recipes module to do the wrapping and a
// layer on the Analysis Server to do the unwrapping.
//
// NEXT ID: 59;
message AnalysisServiceEvent {
reserved 40, 41;
// The Buildbucket id for the build doing the request and response.
int64 build_id = 42;
// The name of the step doing the request and response. Must be the same
// format as Buildbucket Build proto's step name (i.e. parent and child step
// names are separated by the "|" character).
string step_name = 43;
// The time the request and response were sent and recieved by the caller.
google.protobuf.Timestamp request_time = 3;
google.protobuf.Timestamp response_time = 4;
// The stdout and stderr logs for a stage. Either log string may be truncated
// to ensure individual entries and proto request sizes work well for upload
// and for later querying.
string stdout = 50;
string stderr = 51;
// Data about the execution of the step doing the request and response.
StepExecutionResult step_execution_result = 52;
// The request to upload.
oneof request {
chromite.api.InstallPackagesRequest install_packages_request = 1;
chromite.api.BundleRequest bundle_request = 5;
chromite.api.BundleVmFilesRequest bundle_vm_files_request = 7;
chromite.api.BinhostGetRequest binhost_get_request = 8;
chromite.api.AclArgsRequest acl_args_request = 10;
chromite.api.PrepareBinhostUploadsRequest prepare_binhost_uploads_request =
12;
chromite.api.SetBinhostRequest set_binhost_request = 14;
chromite.api.RegenBuildCacheRequest regen_build_cache_request = 16;
chromite.api.GetBuildDependencyGraphRequest
get_build_dependency_graph_request = 18;
chromite.api.CreateImageRequest create_image_request = 20;
chromite.api.TestImageRequest test_image_request = 22;
chromite.api.CreateRequest create_request = 24;
chromite.api.UpdateRequest update_request = 26;
chromite.api.SysrootCreateRequest sysroot_create_request = 28;
chromite.api.InstallToolchainRequest install_toolchain_request = 30;
chromite.api.BuildTargetUnitTestRequest build_target_unit_test_request = 32;
chromite.api.ChromiteUnitTestRequest chromite_unit_test_request = 34;
chromite.api.DebugInfoTestRequest debug_info_test_request = 36;
chromite.api.VmTestRequest vm_test_request = 38;
chromite.api.UprevPackagesRequest uprev_packages_request = 44;
chromite.api.GetBestVisibleRequest get_best_visible_request = 46;
chromite.api.GetChromeVersionRequest get_chrome_version_request = 48;
chromite.api.GetBuilderMetadataRequest get_builder_metadata_request = 53;
chromite.api.BuildAllFirmwareRequest build_all_firmware_request = 55;
chromite.api.TestAllFirmwareRequest test_all_firmware_request = 57;
}
// The response to upload.
oneof response {
chromite.api.InstallPackagesResponse install_packages_response = 2;
chromite.api.BundleResponse bundle_response = 6;
chromite.api.BinhostGetResponse binhost_get_response = 9;
chromite.api.AclArgsResponse acl_args_response = 11;
chromite.api.PrepareBinhostUploadsResponse
prepare_binhost_uploads_response = 13;
chromite.api.SetBinhostResponse set_binhost_response = 15;
chromite.api.RegenBuildCacheResponse regen_build_cache_response = 17;
chromite.api.GetBuildDependencyGraphResponse
get_build_dependency_graph_response = 19;
chromite.api.CreateImageResult create_image_result = 21;
chromite.api.TestImageResult test_image_result = 23;
chromite.api.CreateResponse create_response = 25;
chromite.api.UpdateResponse update_response = 27;
chromite.api.SysrootCreateResponse sysroot_create_response = 29;
chromite.api.InstallToolchainResponse install_toolchain_response = 31;
chromite.api.BuildTargetUnitTestResponse build_target_unit_test_response =
33;
chromite.api.ChromiteUnitTestResponse chromite_unit_test_response = 35;
chromite.api.DebugInfoTestResponse debug_info_test_response = 37;
chromite.api.VmTestResponse vm_test_response = 39;
chromite.api.UprevPackagesResponse uprev_packages_response = 45;
chromite.api.GetBestVisibleResponse get_best_visible_response = 47;
chromite.api.GetChromeVersionResponse get_chrome_version_response = 49;
chromite.api.GetBuilderMetadataResponse get_builder_metadata_response = 54;
chromite.api.BuildAllFirmwareResponse build_all_firmware_response = 56;
chromite.api.TestAllFirmwareResponse test_all_firmware_response = 58;
}
}