| // Copyright 2021 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.checkout; |
| |
| import "go.chromium.org/luci/buildbucket/proto/common.proto"; |
| |
| message InputProperties { |
| // Gitiles commit to checkout. This will replace the gitiles_commit in |
| // `api.buildbucket.build.input`. |
| // |
| // This will be set in the case that the build input commit is tracking a |
| // different repo than the one we want to checkout (as in the fuchsia builds |
| // launched by the toolchain recipes). |
| buildbucket.v2.GitilesCommit gitiles_commit = 1; |
| |
| // Whether to respect a Gitiles commit when set alongside a Gerrit change. |
| bool respect_gitiles_commit_with_gerrit_change = 2; |
| |
| // Whether to cherry-pick patches. |
| // |
| // By default (when this property is false), applying a Git commit from a |
| // Gerrit CL to a checkout will be done using "git rebase". When this |
| // property is true, this will instead be done using "git cherry-pick". |
| // |
| // Enabling this flag is useful for applying a commit onto an older |
| // revision. Rebasing does not work for the use case of applying a commit |
| // based on a newer revision R2 to an older revision R1, because it would |
| // also apply all the commits from R1 to R2 and hence reset the checkout to |
| // be based on revision R2. See https://fxbug.dev/87199 for more context. |
| // |
| // Note that rebasing can apply a stack of patches, whereas cherry-picking |
| // will ignore any parent patches. |
| bool cherry_pick_patches = 3; |
| |
| message CustomToolchain { |
| // CAS digest (used in production). |
| // |
| // Overrides cipd_version. We must allow supplying both so that the |
| // toolchain canary builder can pull the latest CIPD package by default, but |
| // a CAS package on builds triggered by the toolchain build itself. There |
| // is no way for a triggered build to "unset" a field set on the builder. |
| string cas_digest = 1; |
| |
| // CAS instance corresponding to the CAS digest. |
| string cas_instance = 2; |
| |
| // CIPD version string. |
| string cipd_version = 3; |
| } |
| |
| // clang toolchain used to build fuchsia. |
| CustomToolchain clang_toolchain = 4; |
| |
| // gcc toolchain used to build fuchsia. |
| CustomToolchain gcc_toolchain = 5; |
| |
| // QEMU used to test fuchsia. |
| CustomToolchain qemu = 6; |
| |
| // rustc toolchain used to build fuchsia. |
| CustomToolchain rust_toolchain = 7; |
| } |