blob: ba8e1cf0c5268b7ea1db6be827a3090bff1f8d7e [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package test_platform.result_flow;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/result_flow";
import "test_platform/result_flow/common.proto";
import "google/protobuf/timestamp.proto";
// PublishRequest defines the input of `result_flow publish`.
message PublishRequest {
// Subscribers call Buildbucket to fetch the build information via this ID.
int64 build_id = 1;
// Should not be used, as the parent CTP build may contain multiple TestPlanRuns.
// Use parent_uid below.
int64 parent_build_id = 2 [deprecated = true];
// PubSub endpoint to publish a CTP build.
PubSubConfig ctp = 3;
// PubSub endpoint to publish a test runner build.
PubSubConfig test_runner = 4;
// Hard deadline for execution.
//
// Publish command should abort beyond this deadline.
google.protobuf.Timestamp deadline = 5;
// True if subscribers should fetch the build's final status from
// Buildbucket. The message may be earlier than the build's completion. If
// the Buildbucket's response does not contain its final status, subscribers
// should retry. Otherwise, subscribers should expect an intermediate status
// of the build.
bool should_poll_for_completion = 6;
// The UID of the parent test plan run, which kicks off this test run.
// Placed inside the pubsub message for test_runner builds.
string parent_uid = 7;
}
// PublishRequest defines the output of `result_flow publish`.
message PublishResponse {
// `result_flow publish` exits with exit code 0 unless there is an
// infrastructure failure. When the exit code is 0, `state` indicates the
// best known state of the publish execution (see comments on State enum).
State state = 1;
}