go.fuchsia.dev/infra@v0.0.0-20240507153436-9b593402251b/cmd/roller-configurator/proto/rollers_cfg.proto (about) 1 // Copyright 2023 The Fuchsia Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 syntax = "proto3"; 6 7 option go_package = "go.fuchsia.dev/infra/cmd/roller-configurator/proto"; 8 9 message Config { 10 repeated Roller rollers = 1; 11 12 // Path to the manifest that defines the checkout to use when rolling Jiri 13 // projects/packages, since some Jiri roller operations require access to the 14 // whole Jiri checkout and not just the repository containing the manifests. 15 string default_checkout_jiri_manifest = 2; 16 } 17 18 message Roller { 19 // Entity that should be rolled. 20 oneof to_roll { 21 GitSubmodule submodule = 1; 22 CIPDEnsureFile cipd_ensure_file = 2; 23 JiriProject jiri_project = 3; 24 JiriPackages jiri_packages = 4; 25 } 26 27 // Cron schedule or time interval at which to trigger the roller. All times 28 // are UTC. 29 // 30 // If left unset, the roller will only be triggerable manually. 31 // 32 // For supported syntax see: 33 // https://chromium.googlesource.com/infra/luci/luci-go/+/refs/heads/main/lucicfg/doc/README.md#schedules-doc 34 string schedule = 5; 35 36 // Email of the owner of the roller. 37 string owner_email = 6; 38 39 // Emails to alert when the roller fails. 40 repeated string notify_emails = 7; 41 42 // Whether the roller should bypass presubmit checks. 43 bool force_submit = 8; 44 45 // TODO(olivernewman): owner, justification issue URL, pause status 46 } 47 48 // A Git submodule to roll. 49 message GitSubmodule { 50 // Path to the submodule. 51 string path = 1; 52 } 53 54 // A CIPD ensure file containing packages to roll. 55 message CIPDEnsureFile { 56 // Path to the CIPD ensure file. 57 string path = 1; 58 59 // CIPD ref to track. Default is "latest". 60 string ref = 2; 61 } 62 63 // A Jiri project (git repository pinned in a manifest) to roll. 64 message JiriProject { 65 // Path to the XML Jiri manifest in which the project is pinned. 66 string manifest = 1; 67 68 // Name of the Jiri project to roll. 69 string project = 2; 70 } 71 72 // CIPD packages pinned in a Jiri manifest to roll. 73 message JiriPackages { 74 message Manifest { 75 string path = 1; 76 repeated string packages = 2; 77 } 78 79 // Jiri manifests containing packages to roll. 80 repeated Manifest manifests = 1; 81 82 // CIPD ref to track. Default is "latest". 83 string ref = 2; 84 }