Enable MCR/NO Bug: b/203790428 Change-Id: I47c240686745a84ab589607135859e4b5d6f54af
diff --git a/code-owners.config b/code-owners.config new file mode 100644 index 0000000..89550ee --- /dev/null +++ b/code-owners.config
@@ -0,0 +1,6 @@ +[codeOwners] + overrideApproval = Owners-Override+1 + rejectNonResolvableCodeOwners = false + pathExpressions = SIMPLE + disabled = false + fallbackCodeOwners = ALL_USERS
diff --git a/project.config b/project.config index 19f433e..ef417ff 100644 --- a/project.config +++ b/project.config
@@ -56,6 +56,11 @@ createSignedTag = group mdb/webgpu-dawn-admin createTag = group Project Owners createTag = group mdb/webgpu-dawn-admin +[label "Bot-Commit"] + defaultValue = 0 + value = 0 No score + value = +1 Looks good to me + function = NoBlock [label "Code-Review"] function = MaxWithBlock defaultValue = 0 @@ -66,6 +71,15 @@ value = 0 No score value = +1 Looks good to me, but someone else must approve value = +2 Looks good to me, approved + ignoreSelfApproval = true +[label "Owners-Override"] + defaultValue = 0 + value = 0 No score + value = +1 Looks good to me + function = NoBlock + copyAllScoresOnTrivialRebase = true + copyAllScoresIfNoCodeChange = true + copyAllScoresIfListOfFilesDidNotChange = true [capability] administrateServer = group mdb/chrome-git-admins administrateServer = group mdb/webgpu-dawn-admin
diff --git a/rules.pl b/rules.pl new file mode 100644 index 0000000..55d9a60 --- /dev/null +++ b/rules.pl
@@ -0,0 +1,22 @@ +% If Bot-Commit+1 vote exists, replace all `need(_)` votes on Code-Review and +% Verified with `may(_)` votes. +% `ok(_)`s and `reject(_)`s are preserved. +% This means that Code-Review and Verified labels are never needed to submit a +% change, but may be approved or rejected. +submit_filter(In, Out) :- + gerrit:commit_label(label('Bot-Commit', 1), _), + !, + In =.. [submit | A], + filter_label('Code-Review', A, B), + filter_label('Verified', B, C), + Out =.. [submit | C]. +% If Bot-Commit+1 is not present, do nothing. +submit_filter(In, In). +% Replace instances of `label(Name, need(_))` with `label(Name, may(_))` and +% leave the rest unchanged. +filter_label(_, [], []). +filter_label(Name, [label(Name, need(_)) | Ls], [label(Name, may(_)) | Rs]) :- + !, + filter_label(Name, Ls, Rs). +filter_label(Name, [L | Ls], [L | Rs]) :- + filter_label(Name, Ls, Rs).