| // Copyright 2022 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 recipe_modules.fuchsia.auto_roller; |
| |
| import "google/protobuf/struct.proto"; |
| |
| message Options { |
| // Remote project URL to which changes should be sent for review, e.g. |
| // "fuchsia.googlesource.com/foo". |
| string remote = 1; |
| |
| // Whether to execute this method in dry_run mode (upload the changes and do a |
| // CQ dry run, but don't submit). |
| bool dry_run = 2; |
| |
| // Whether to commit untracked files in addition to modified already-tracked |
| // files. |
| bool commit_untracked = 3; |
| |
| // Whether to create a Gerrit Change ID for the roll that is unique to this |
| // build. Default behavior is to calculate a change ID based solely on the |
| // contents of the change's git diff. |
| bool create_unique_change_id = 4; |
| |
| // One of "NONE", "OWNER", "OWNER_REVIEWERS", "ALL" specifying whom to send |
| // roll CL notifications to. |
| string cl_notify_option = 5; |
| |
| // Whether to force-submit the CL, bypassing CQ entirely (so changes will land |
| // even if the tree is closed). This is useful when rolling changes that have |
| // already been validated well enough that it's considered safe to roll them |
| // without further checks. |
| bool force_submit = 6; |
| |
| // Whether CQ should skip running tryjobs on the CL. This is useful for |
| // rolling changes that are known to be no-ops but for which the tree status |
| // should still be respected to avoid launching unnecessary CI builds during |
| // tree closures. |
| bool no_tryjobs = 7; |
| |
| // Vote Bot-Commit+1 instead of Code-Review+2. |
| bool bot_commit = 8; |
| |
| // The git ref to roll changes into. |
| // Default: "main". |
| string upstream_ref = 9; |
| |
| // Labels to set on created CL. This is in addition to Code-Review and |
| // Commit-Queue (depending on dry_run), but {"Commit-Queue": 0} deletes the |
| // "Commit-Queue" label. This allows for integration with projects not using |
| // CQ. |
| map<string, int32> labels_to_set = 10; |
| |
| // Non-CQ/CR labels to wait on before submitting. |
| repeated string labels_to_wait_on = 11; |
| |
| // List of emails to CC on the roll CL. |
| repeated string cc_emails = 12; |
| |
| // Like cc_emails, but only gets CCd on roll failures. |
| repeated string cc_on_failure_emails = 13; |
| |
| // Emails of the human owners of the auto-roller that's creating this change. |
| // If set, the emails will be included in a commit message footer for |
| // informational purposes. |
| repeated string roller_owners = 14; |
| |
| // Map of bucket to list of extra tryjobs to include. |
| map<string, google.protobuf.ListValue> include_tryjobs = 15; |
| |
| // Whether to add 'GitWatcher: ignore' to the footer of the roll commit |
| // message. |
| bool add_gitwatcher_ignore = 16; |
| |
| // Controls what happens to a CL after a CQ run run. If set to "NEVER" the CL |
| // is always abandoned or submitted. If set to "ALWAYS" the CL is kept |
| // anot submitted, evene after a failure. |
| // This is used to automate creating CLs for rolled code that also needs to |
| // be reviewed before submitting. |
| string keep_cl = 17; |
| |
| // List of emails to set as reviewers on the roll CL. |
| repeated string reviewer_emails = 18; |
| } |