blob: 91cbd3806cd1de46521a79b92f4a434440f8a8bd [file] [log] [blame]
// Copyright 2024 The Pigweed 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
//
// https://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 recipes.pigweed.roller;
import "recipe_modules/fuchsia/auto_roller/options.proto";
import "recipe_modules/pigweed/bazel_roll/git_repository.proto";
import "recipe_modules/pigweed/checkout/options.proto";
import "recipe_modules/pigweed/cipd_roll/package.proto";
import "recipe_modules/pigweed/copy_roll/copy_entry.proto";
import "recipe_modules/pigweed/repo_roll/project.proto";
import "recipe_modules/pigweed/submodule_roll/submodule.proto";
import "recipe_modules/pigweed/txt_roll/txt_entry.proto";
message InputProperties {
// Top-level checkout module options.
recipe_modules.pigweed.checkout.Options checkout_options = 1;
// Bazel git_repository/git_override rules to update.
repeated recipe_modules.pigweed.bazel_roll.GitRepository bazel_git_repositories = 2;
// CIPD packages to update.
repeated recipe_modules.pigweed.cipd_roll.Package cipd_packages = 3;
// Files to directly copy.
repeated recipe_modules.pigweed.copy_roll.CopyEntry copy_entries = 4;
// Android Repo Tool projects to update.
repeated recipe_modules.pigweed.repo_roll.Project repo_tool_projects = 6;
// Submodules to update.
repeated recipe_modules.pigweed.submodule_roll.SubmoduleEntry submodules = 5;
// Txt entries to update.
repeated recipe_modules.pigweed.txt_roll.TxtEntry txt_entries = 7;
// Whether to CC authors and/or reviewers on roll CLs. In case the owner of a
// CL is different from the author, both are included when
// cc_authors_on_rolls is set.
bool cc_authors_on_rolls = 8;
bool cc_reviewers_on_rolls = 9;
// Restrict CCing of authors/reviewers to the following domains. Including
// "example.com" will not automatically include "subdomain.example.com". If
// empty, all domains will be included (except those ending with
// "gserviceaccount.com" which are always excluded).
repeated string cc_domains = 10;
// By default, only CC when a roll fails. If always_cc is set, CC when the
// roll is created.
bool always_cc = 11;
// Max number of commits for which authors and reviewers should be CCd.
// Default is 10. To disable CCing, don't set the "cc_*_on_rolls" values
// above, or set this to a negative value.
int32 max_commits_for_ccing = 12;
// Line of text to divide the commit header and body from the footers.
string commit_divider = 13;
// Forge the author so rolls of single commits are attributed to the original
// commit author.
bool forge_author = 14;
// Auto roller module options.
recipe_modules.fuchsia.auto_roller.Options auto_roller_options = 15;
// Overrides for auto roller module options. Needed when rollers are launched
// via the subbuild module, which does not have a mechanism to modify an
// existing roller's auto_roller_options (only can overwrite it).
recipe_modules.fuchsia.auto_roller.Options override_auto_roller_options = 16;
}