OLD | NEW |
1 syntax = "proto2"; | 1 syntax = "proto2"; |
2 | 2 |
3 // This message describes a Commit Queue configuration. The config file cq.cfg | 3 // This message describes a Commit Queue configuration. The config file cq.cfg |
4 // should be stored in the config directory located on the branch that this CQ | 4 // should be stored in the config directory located on the branch that this CQ |
5 // should commit to. | 5 // should commit to. |
6 message Config { | 6 message Config { |
7 // Required. Version of the config format. | 7 // Required. Version of the config format. |
8 optional int32 version = 1; | 8 optional int32 version = 1; |
9 | 9 |
10 // Required. Name of the CQ. May only contain characters [a-zA-Z0-9_]. It is | 10 // Required. Name of the CQ. May only contain characters [a-zA-Z0-9_]. It is |
(...skipping 21 matching lines...) Expand all Loading... |
32 // commit_burst_delay. Default value is 4. | 32 // commit_burst_delay. Default value is 4. |
33 optional int32 max_commit_burst = 7; | 33 optional int32 max_commit_burst = 7; |
34 | 34 |
35 // Defines whether a CQ is used in production. Allows to disable CQ for a | 35 // Defines whether a CQ is used in production. Allows to disable CQ for a |
36 // given branch. Default is true. | 36 // given branch. Default is true. |
37 optional bool in_production = 8; | 37 optional bool in_production = 8; |
38 | 38 |
39 // Configuration options for Rietveld code review. | 39 // Configuration options for Rietveld code review. |
40 optional Rietveld rietveld = 9; | 40 optional Rietveld rietveld = 9; |
41 | 41 |
| 42 // EXPERIMENTAL! Configuration options for Gerrit code review. |
| 43 // TODO(tandrii): update this doc (GERRIT). |
| 44 optional Gerrit gerrit = 15; |
| 45 |
42 // This can be used to override the Git repository URL used to checkout and | 46 // This can be used to override the Git repository URL used to checkout and |
43 // commit changes on CQ host. This should only be used in case, when the | 47 // commit changes on CQ host. This should only be used in case, when the |
44 // source repository is not supported by luci-config (e.g. GitHub). | 48 // source repository is not supported by luci-config (e.g. GitHub). |
45 optional string git_repo_url = 10; | 49 optional string git_repo_url = 10; |
46 | 50 |
47 // Target ref to commit to. This can be used to specify a different ref than | 51 // Target ref to commit to. This can be used to specify a different ref than |
48 // the one where the luci config is located. This is useful, e.g. for projects | 52 // the one where the luci config is located. This is useful, e.g. for projects |
49 // that use gnumbd where CQ should commit into a pending ref. | 53 // that use gnumbd where CQ should commit into a pending ref. |
50 optional string target_ref = 11; | 54 optional string target_ref = 11; |
51 | 55 |
52 // Deprecated. URL of the SVN repository. We are deprecating SVN support. | 56 // Deprecated. URL of the SVN repository. We are deprecating SVN support. |
53 optional string svn_repo_url = 12; | 57 optional string svn_repo_url = 12; |
54 | |
55 // Deprecated. Should be set to true, when the project's SVN repository does | |
56 // not have server-side hooks configured. | |
57 optional bool server_hooks_missing = 13; | |
58 | |
59 // Deprecated. Specifies a list of verifiers that are run on a local checkout | |
60 // with patch applied. The only remaining use case for this is PRESUBMIT_CHECK | |
61 // verifier, which we are deprecating as well. | |
62 optional Verifiers verifiers_with_patch = 14; | |
63 } | 58 } |
64 | 59 |
65 message Rietveld { | 60 message Rietveld { |
66 // Required. URL of the codereview site. | 61 // Required. URL of the codereview site. |
67 optional string url = 1; | 62 optional string url = 1; |
68 | 63 |
69 // List of regular expressions used to check if CL's base URL should be | 64 // List of regular expressions used to check if CL's base URL should be |
70 // processed by this CQ. This may be useful if a single branch has multiple | 65 // processed by this CQ. This may be useful if a single branch has multiple |
71 // sub-directories that are handled by different CQs. When no regular | 66 // sub-directories that are handled by different CQs. When no regular |
72 // expressions are specified, the regular expression '.*', which matches any | 67 // expressions are specified, the regular expression '.*', which matches any |
73 // directory, is used. | 68 // directory, is used. |
74 repeated string project_bases = 2; | 69 repeated string project_bases = 2; |
75 } | 70 } |
76 | 71 |
| 72 // Gerrit CQ is EXPERIMENTAL! See http://crbug.com/493899 for more info. |
| 73 // |
| 74 // Unlike Rietveld, Gerrit doesn't need a separate url. |
| 75 // Instead, the git_repo_url must be specified on the Gerrit instance, |
| 76 // and CQ will deduce Gerrit url from it. |
| 77 // |
| 78 // TODO(tandrii): support Rietveld and Gerrit at the same time. |
| 79 // This basically requires to start two CQ instances, instead of one. |
| 80 // |
| 81 // For example, if https://chromium.googlesource.com/infra/infra.git is your |
| 82 // repo url provided in `git_repo_url` above, then |
| 83 // https://chromium-review.googlesource.com/#/admin/projects/infra/infra should |
| 84 // show general properties of your project. |
| 85 // |
| 86 // Also, |
| 87 // https://chromium-review.googlesource.com/#/admin/projects/infra/infra,access |
| 88 // should show ACLs for refs in your project, but you may need to be admin to |
| 89 // see it. This will come handy to enable and customize the CQ-related workflows |
| 90 // for your project. |
| 91 message Gerrit { |
| 92 // If set, tells CQ to set score on a given label to mark result of CQ run. |
| 93 // Typically, this is Commit-Queue-Verified label. |
| 94 // If not set, CQ will just try to hit submit button. |
| 95 optional string cq_verified_label = 1; |
| 96 } |
| 97 |
77 // Verifiers are various types of checks that a Commit Queue performs on a CL. | 98 // Verifiers are various types of checks that a Commit Queue performs on a CL. |
78 // All verifiers must pass in order for a CL to be landed. Configuration file | 99 // All verifiers must pass in order for a CL to be landed. Configuration file |
79 // describes types of verifiers that should be applied to each CL and their | 100 // describes types of verifiers that should be applied to each CL and their |
80 // parameters. | 101 // parameters. |
81 message Verifiers { | 102 message Verifiers { |
82 // This verifier is used to ensure that an LGTM was posted to the code review | 103 // This verifier is used to ensure that an LGTM was posted to the code review |
83 // site from a valid project committer. | 104 // site from a valid project committer. |
| 105 // This verifier is not supported with Gerrit. |
84 optional ReviewerLgtmVerifier reviewer_lgtm = 1; | 106 optional ReviewerLgtmVerifier reviewer_lgtm = 1; |
85 | 107 |
86 // This verifier is used to check tree status before committing a CL. If the | 108 // This verifier is used to check tree status before committing a CL. If the |
87 // tree is closed, then the verifier will wait until it is reopened. | 109 // tree is closed, then the verifier will wait until it is reopened. |
88 optional TreeStatusLgtmVerifier tree_status = 2; | 110 optional TreeStatusLgtmVerifier tree_status = 2; |
89 | 111 |
90 // This verifier triggers a set of tryjobs that are to be run on builders on | 112 // This verifier triggers a set of tryjobs that are to be run on builders on |
91 // Buildbot. It automatically retries failed try-jobs and only allows CL to | 113 // Buildbot. It automatically retries failed try-jobs and only allows CL to |
92 // land if each builder has succeeded in the latest retry. If a given tryjob | 114 // land if each builder has succeeded in the latest retry. If a given tryjob |
93 // result is too old (>1 day) it is ignored. | 115 // result is too old (>1 day) it is ignored. |
(...skipping 29 matching lines...) Expand all Loading... |
123 optional string tree_status_url = 1; | 145 optional string tree_status_url = 1; |
124 } | 146 } |
125 | 147 |
126 message TryJobVerifier { | 148 message TryJobVerifier { |
127 message Builder { | 149 message Builder { |
128 // Name of the builder. | 150 // Name of the builder. |
129 optional string name = 1; | 151 optional string name = 1; |
130 | 152 |
131 // When true, the builder is triggered by CQ. Otherwise, it is expected to | 153 // When true, the builder is triggered by CQ. Otherwise, it is expected to |
132 // be triggered from another tryjob. Default value is true. | 154 // be triggered from another tryjob. Default value is true. |
133 optional bool triggered = 2; | 155 optional bool triggered_by_cq = 2; |
134 | 156 |
135 // When this field is present, it marks given builder as experimental. It | 157 // When this field is present, it marks given builder as experimental. It |
136 // is only executed on a given percentage of the CLs and the outcome does | 158 // is only executed on a given percentage of the CLs and the outcome does |
137 // not affect the decicion whether a CL can land or not. This is typically | 159 // not affect the decicion whether a CL can land or not. This is typically |
138 // used to test new builders and estimate their capacity requirements. | 160 // used to test new builders and estimate their capacity requirements. |
139 optional float experiment_percentage = 4; | 161 optional float experiment_percentage = 4; |
140 } | 162 } |
141 | 163 |
142 message Bucket { | 164 message Bucket { |
143 // Name of the bucket. This is typically the same as a master name without | 165 // Name of the bucket. This is typically the same as a master name without |
(...skipping 25 matching lines...) Expand all Loading... |
169 optional int32 timeout_retry_weight = 5; | 191 optional int32 timeout_retry_weight = 5; |
170 } | 192 } |
171 | 193 |
172 // Provides project specific trybot retry configuration. This overrides the | 194 // Provides project specific trybot retry configuration. This overrides the |
173 // defaults used in the CQ. | 195 // defaults used in the CQ. |
174 optional TryJobRetryConfig try_job_retry_config = 2; | 196 optional TryJobRetryConfig try_job_retry_config = 2; |
175 } | 197 } |
176 | 198 |
177 message SignCLAVerifier {} | 199 message SignCLAVerifier {} |
178 } | 200 } |
OLD | NEW |