blob: 25f854f1c8d28fcd4d9386fac0249332a2a66a5b [file] [log] [blame]
// Copyright 2018 The LUCI Authors.
//
// 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 buildbucket.v2;
option go_package = "go.chromium.org/luci/buildbucket/proto;buildbucketpb";
import "google/protobuf/timestamp.proto";
import "go.chromium.org/luci/buildbucket/proto/common.proto";
// A build step.
//
// A step may have children, see name field.
message Step {
// Name of the step, unique within the build.
// Identifies the step.
//
// Pipe character ("|") is reserved to separate parent and child step names.
// For example, value "a|b" indicates step "b" under step "a".
// If this is a child step, a parent MUST exist and MUST precede this step in
// the list of steps.
// All step names, including child and parent names recursively,
// MUST NOT be an empty string.
// For example, all of the below names are invalid.
// - |a
// - a|
// - a||b
string name = 1;
// The timestamp when the step started.
//
// MUST NOT be specified, if status is SCHEDULED.
// MUST be specified, if status is STARTED, SUCCESS, FAILURE, or INFRA_FAILURE
// MAY be specified, if status is CANCELED.
google.protobuf.Timestamp start_time = 2;
// The timestamp when the step ended.
// Present iff status is terminal.
// MUST NOT be before start_time.
google.protobuf.Timestamp end_time = 3;
// Status of the step.
// Must be specified, i.e. not STATUS_UNSPECIFIED.
Status status = 4;
// Logs produced by the step.
// Log order is up to the step.
//
// BigQuery: excluded from rows.
repeated Log logs = 5;
// Human-readable summary of the step provided by the step itself,
// in Markdown format (https://spec.commonmark.org/0.28/).
//
// V1 equivalent: combines and supersedes Buildbot's step_text and step links and also supports
// other formatted text.
//
// BigQuery: excluded from rows.
string summary_markdown = 7;
}