| // Copyright 2019 The Chromium 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 recipes.infra.images_builder; |
| |
| // Input properties recognized by 'infra/images_builder' recipe. |
| message Inputs { |
| // Mode describes how the recipe should interpret inputs and what tagging |
| // schema it should be using. |
| enum Mode { |
| MODE_UNDEFINED = 0; |
| |
| MODE_CI = 1; // build images from checked in code at a revision |
| MODE_TS = 2; // build images from checked in code on a schedule |
| MODE_CL = 3; // build images from code in a Gerrit CL |
| } |
| |
| // Project describes what code to checkout and where to apply a patch to |
| // (when running in MODE_CL). |
| enum Project { |
| PROJECT_UNDEFINED = 0; |
| |
| PROJECT_INFRA = 1; // checkout infra solution |
| PROJECT_INFRA_INTERNAL = 2; // checkout infra_internal solution |
| PROJECT_LUCI_GO = 3; // checkout infra solution, apply CL to luci-go |
| |
| PROJECT_GIT_REPO = 4; // checkout a standole git repository |
| } |
| |
| // Mode of operation. Required. |
| Mode mode = 1; |
| |
| // Project with the source code to checkout. Required. |
| Project project = 2; |
| |
| // Describes a standalone git repo to checkout when using PROJECT_GIT_REPO. |
| message GitRepo { |
| string url = 1; // https:// git repo URL |
| string go_version_file = 2; // path to a file with Go version |
| string nodejs_version_file = 3; // path to a file with Node.js version |
| } |
| GitRepo git_repo = 5; |
| |
| // What instance of image building infrastructure to use, e.g. dev or prod. |
| // |
| // Will be passed as '-infra' flag to 'cloudbuildhelper'. The service account |
| // running the build should be in the corresponding ACLs. |
| // |
| // Required. |
| string infra = 3; |
| |
| // A path(s) within the checkout to a directory with *.yaml files to |
| // discover and build, e.g. 'infra/build/images/deterministic'. Will be listed |
| // recursively. |
| // |
| // Required. |
| repeated string manifests = 4; |
| } |