blob: e960cfb437abc21358237a5527694e7c6bc26f9a [file] [log] [blame]
// Copyright 2020 The Fuchsia 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 recipes.fuchsia.tree_closer;
message InputProperties {
// LUCI project containing the specified Milo console.
string project = 1;
// Names of the Milo consoles to check.
repeated string console_names = 2;
// Don't close the tree if the last status change was more recent than this
// many seconds ago.
int32 grace_period_seconds = 3;
// Close the tree hosted here (e.g. 'fuchsia-stem-status.appspot.com').
string tree_status_host = 4;
// Modify the tree hosted here (e.g. 'fuchsia-status-adm.googleplex.com').
string tree_status_admin_host = 5;
// Conditions under which to close the tree during working hours.
repeated Rule rules = 6;
message Rule {
// Only count builds that have a failed step whose name matches this regex.
string failed_step_regexp = 1;
// Close the tree if this many builders in the console are failing at the
// same time.
int32 concurrent_failures = 2;
// Close the tree if any builder in the console has failed this many times
// in a row.
int32 consecutive_failures = 3;
// If set, consider only builders in this list of builder names.
repeated string builders_to_check = 4;
}
// If the build summary matches one of these regexps, then skip it when
// checking tree closure rules.
repeated string summary_regexp_ignore = 7;
// Dates on which the tree closer should not run, used to disable the tree
// closer on holidays. Each date should be of the form "YYYY-MM-DD".
// TODO(fxbug.dev/89629): Automatically skip closing the tree on holidays.
repeated string disable_on_dates = 8;
// Component id to set for the IssueTracker tree closure bug.
int32 bug_component_id = 9;
// The name of the tree to get/set the status for.
string tree_name = 10;
}