| // 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 recipes.fuchsia.build_test_upload; |
| |
| import "recipe_modules/fuchsia/fxt/options.proto"; |
| |
| import "recipe_modules/fuchsia/dpi/options.proto"; |
| |
| message InputProperties { |
| // Remote URL of repository to checkout. |
| string remote = 1; |
| |
| // If set, check out this manifest from the remote using Jiri. |
| string jiri_manifest = 2; |
| |
| // The Jiri project name for repo containing the manifest. |
| string jiri_project = 3; |
| |
| // Command that downloads any dependencies not included in regular version |
| // control. Optional. |
| Command download_command = 4; |
| |
| // Command that builds the code. |
| Command build_command = 5; |
| |
| // Name of the Swarming pool in which to schedule testing tasks. |
| string testing_pool = 6; |
| |
| // Command that lists tests to run. |
| Command test_manifest_command = 7; |
| |
| message CIPDManifestCommand { |
| // Command that emits JSON stdout corresponding to the `CIPDUploadManifest` |
| // proto message. |
| Command command = 1; |
| |
| // Name of the CIPD package to upload. |
| // |
| // CIPD packages are configured by input properties, rather than specified |
| // by the repository itself, to make it possible to statically analyze |
| // dependency chains of CIPD packages between repos. |
| string package = 2; |
| } |
| |
| // List of commands that declare CIPD packages to upload. |
| repeated CIPDManifestCommand cipd_manifest_commands = 8; |
| |
| // Command that declares files and/or directories to upload to cloud storage. |
| // Command must emit JSON stdout corresponding to the GCS upload manifest |
| // format. |
| // TODO(fxbug.dev/92697): Make proto message. |
| Command gcs_manifest_command = 9; |
| |
| // GCS bucket to which artifacts should be uploaded. |
| string gcs_bucket = 10; |
| |
| // Whether to sign artifacts. |
| bool sign_artifacts = 11; |
| |
| // External testing options. |
| recipe_modules.fuchsia.fxt.Options fxt_options = 12; |
| |
| // The Options for MOS-TUF upload. |
| recipe_modules.fuchsia.dpi.DPIUploadOptions mos_upload_options = 13; |
| } |
| |
| // Represents a command that the recipe should run from the repo under test. |
| // Each command can assume that it is run from the root of the checkout. |
| message Command { |
| // Relative path to the command's executable within the root of the checkout |
| // directory, using platform-agnostic forward slashes as separators. |
| string path = 1; |
| |
| // Additional arguments to pass to the command. |
| repeated string args = 2; |
| } |