blob: 4e4786016aa12f8e066053292a454284a6548d18 [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;
// Name of the Milo console to check.
string console_name = 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;
// The password to use for closing the tree.
// TODO: It's not great that we pass around the password in plain text. If
// this ever becomes an issue, we can start using the builder service account
// to authenticate with the status page via proper Oauth.
string tree_status_password = 5;
// Components to set for the monorail tree closure bug.
repeated string bug_components = 6;
// Conditions under which to close the tree during working hours.
repeated Rule working_hour_rules = 7;
// Conditions under which to close the tree during off-hours.
repeated Rule off_hour_rules = 8;
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 = 9;
// Labels to set for the monorail tree closure bug.
repeated string bug_labels = 10;
// 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 = 11;
}