blob: 6728ecec7e4a9063167507ad52399483a361001d [file] [log] [blame]
// 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 recipes.fuchsia.fuchsia_cipd_roller;
import "google/protobuf/struct.proto";
import "recipe_modules/fuchsia/auto_roller/options.proto";
message InputProperties {
// Jiri remote manifest project.
string project = 1;
// Jiri manifest to checkout.
string checkout_manifest = 2;
// Remote manifest repository.
string remote = 3;
// Mapping from manifest path (relative to `project`) to list of packages that
// are pinned in that manifest and should be rolled.
map<string, google.protobuf.ListValue> packages_by_manifest = 4;
// The subset of packages that must have the specified ref.
repeated string packages_requiring_ref = 5;
// Jiri attribute to match debug symbol packages.
string debug_symbol_attribute = 6;
// GCS buckets to upload debug symbols to prior to starting roll.
repeated string preroll_debug_symbol_gcs_buckets = 7;
// GCS buckets to upload debug symbols to after a successful roll. If
// specified, preroll_debug_symbol_gcs_buckets is required.
repeated string postroll_debug_symbol_gcs_buckets = 8;
// The list of lockfiles to update in "${manifest}=${lockfile}" format.
repeated string lockfiles = 9;
// Line of text to divide the commit header and body from the footers.
string commit_divider = 10;
// A CIPD tag prefix common to all $packages where a common version can be
// extracted.
string tag = 11;
// A common CIPD ref to resolve when rolling a set of packages.
string ref = 12;
// JSON schema for multiplying a test in fuchsia CQ. See
// https://fuchsia.dev/fuchsia-src/development/testing/testing_for_flakiness_in_cq?hl=en#multiply-examples
// Ideally this recipe would just pass through all fields without knowing the
// schema, but then JSON serialization would emit a float value for
// `total_runs`.
message TestMultiplier {
string name = 1;
string os = 2; // Optional.
int32 total_runs = 3; // Optional.
}
// A list of test multipliers to pass into the roll CL's MULTIPLY footer.
repeated TestMultiplier test_multipliers = 13;
// The max number of days for the packages in a manifest to be older than.
// If set and the roller doesn't find new versions to roll for more than
// max_stale_days, the roller will fail. If max_stale_days == 0, the roller
// will never fail if it has nothing to roll.
int32 max_stale_days = 14;
// General options for creating the roll CL.
recipe_modules.fuchsia.auto_roller.Options roll_options = 15;
}