blob: dfe48b696d40abd8b52005db157ee66dcc7f1d99 [file] [log] [blame]
// 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;
}