| // Copyright 2019 The ChromiumOS Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto3"; |
| |
| package chromiumos; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/chromiumos"; |
| option java_package = "com.google.chrome.crosinfra.proto"; |
| |
| import "chromiumos/builder_config.proto"; |
| import "chromiumos/common.proto"; |
| |
| // The input proto for invocations of the Build Planner. |
| // Next: 6 |
| message GenerateBuildPlanRequest { |
| |
| message Path { string path = 1; } |
| |
| // A list of source paths affected by the changes in the CQ run. |
| // |
| // If provided, the gerrit_changes and gitiles_commit fields are ignored. |
| repeated Path affected_paths = 5; |
| |
| // Serialized buildbucket GerritChanges, or none if this is a postsubmit run |
| // or similar. |
| // Explicit proto import is avoided here to prevent a dependency on the |
| // luci-go repo. See |
| // https://chromium.googlesource.com/infra/luci/luci-go/+/master/buildbucket/proto/common.proto |
| // |
| // Must be used in conjunction with gitiles_commit. |
| // If affected_paths is passed in, this field is ignored. |
| repeated ProtoBytes gerrit_changes = 1; |
| |
| // Serialized buildbucket GitilesCommit, representing the manifest or |
| // manifest-internal commit to which the build is synced. |
| // |
| // Must be used in conjunction with gerrit_changes. |
| // If affected_paths is passed in, this field is ignored. |
| ProtoBytes gitiles_commit = 4; |
| |
| // DEPRECATED use gitiles_commit instead. |
| // |
| // The manifest-internal snapshot commit hash that's being used for the |
| // current build. |
| string manifest_commit = 2 [ deprecated = true ]; |
| |
| // The BuilderConfigs to consider for skipping. |
| repeated BuilderConfig builder_configs = 3; |
| } |
| |
| // The output proto for invocations of the Build Planner. |
| message GenerateBuildPlanResponse { |
| |
| // BuilderConfigs that cannot be skipped. |
| repeated BuilderConfig.Id builds_to_run = 1; |
| |
| // BuilderConfigs that can be skipped due to Portage dependency rules around |
| // files that are known to never be relevant for ChromeOS builds. |
| repeated BuilderConfig.Id skip_for_global_build_irrelevance = 2; |
| |
| // BuilderConfigs that can be skipped because of per-BuilderConfig RunWhen |
| // rules. |
| repeated BuilderConfig.Id skip_for_run_when_rules = 3; |
| } |