blob: daa4e3f8217eed189d7ce28b2454cd03427ef39d [file] [log] [blame]
// Copyright 2020 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.sdk;
import "google/protobuf/struct.proto";
import "recipe_modules/fuchsia/fxt/options.proto";
// Sdk fully describes how to execute an SDK CI/CQ task.
message InputProperties {
// Manifest to checkout.
string manifest = 1;
// The remote integration manifest repository.
string remote = 2;
// GCS bucket to upload the SDK to.
string gcs_bucket = 3;
// Name to assign to the base SDK, e.g. "core".
string sdk_name = 4;
// CIPD package root to upload the SDK to.
string cipd_root = 5;
// Whether to skip running SDK tests.
bool skip_sdk_tests = 6;
// Whether to skip creating the GN SDK.
bool skip_gn_sdk = 7;
// Images to accompany the SDK.
repeated CompanionImage companion_images = 8;
message CompanionImage {
// Name of the image when referred to in the SDK.
string name = 1;
// Name of the builder generating the image.
string builder = 2;
}
// If true, overwrite the SDK version to match the input release version.
bool is_release_version = 9;
// Branch and ref settings for the SDK.
repeated RefSetting ref_settings = 10;
message RefSetting {
// Update refs and stamps if input release version is reachable on this
// branch.
string branch = 1;
// Update this CIPD ref and GCS stamp.
string update_ref = 2;
}
// Timeout for collecting subbuilds.
int32 subbuild_collect_timeout_secs = 11;
// How to test the SDK in external infrastructures. See ExternalTesting message.
ExternalTesting external_testing = 12;
message ExternalTesting {
// Gerrit hostname to test the SDK against.
string gerrit_host = 1;
// Gerrit project to test the SDK against.
string gerrit_project = 2;
// Filepath to override the SDK bucket.
string bucket_filepath = 3;
// Filepath to override the SDK version.
string version_filepath = 4;
// Filepath to override the SDK version list.
string version_list_filepath = 5;
// Contents of the SDK version list.
string version_list_contents = 6;
// Timeout for external tests completion.
int32 timeout_secs = 7;
// Builder names of tryjobs to orchestrate.
repeated string tryjobs = 8;
// Alternate Gerrit hostname for searching tryjobs, as they may be
// registered under a different host.
string tryjobs_gerrit_host = 9;
// Time to wait for tryjobs to initialize after applying CQ label.
int32 tryjobs_wait_secs = 10;
// Whether to explicitly trigger tryjobs instead of applying CQ label.
bool trigger_tryjobs = 11;
// Whether to skip creating a CL and instead trigger tryjobs directly
// through the Buildbucket API.
bool skip_cl = 12;
// Test against this ref.
string ref = 13;
// Mapping from manifest path relative to the external repo root to list of
// packages that are pinned in that manifest and should be overridden.
map<string, google.protobuf.ListValue> packages_by_manifest = 14;
}
// Path to a fint parameters file within the fuchsia checkout. If set will use
// `fint set` instead of `gn gen`.
string fint_params_path = 13;
// External testing options.
recipe_modules.fuchsia.fxt.Options fxt_options = 14;
}