| // Copyright 2019 The Chromium OS 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 chromiumos; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/chromiumos"; |
| |
| import "chromiumos/builder_config.proto"; |
| import "chromiumos/common.proto"; |
| |
| // The input proto for invocations of the Build Planner. |
| message GenerateBuildPlanRequest { |
| // 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 |
| repeated ProtoBytes gerrit_changes = 1; |
| |
| // The manifest-internal snapshot commit hash that's being used for the current build. |
| // Note that manifest_commit will be soon replaced with gitiles_commit below. |
| string manifest_commit = 2; |
| // Serialized buildbucket GitilesCommit, representing the manifest or |
| // manifest-internal commit to which the build is synced. |
| ProtoBytes gitiles_commit = 4; |
| |
| // 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 Chrome OS 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; |
| } |