| [project] |
| description = Access inherited by all other projects. |
| [receive] |
| requireContributorAgreement = true |
| requireSignedOffBy = false |
| requireChangeId = true |
| createNewChangeForAllNotInTarget = false |
| [submit] |
| mergeContent = true |
| action = cherry pick |
| [access "refs/*"] |
| read = group Anonymous Users |
| viewDrafts = group gobot |
| removeReviewer = group mdb/gwsq |
| revert = group Registered Users |
| [access "refs/for/*"] |
| addPatchSet = group luci_scoped_account |
| addPatchSet = group may-upload-all-cls |
| exclusiveGroupPermissions = addPatchSet |
| [access "refs/for/refs/heads/*"] |
| push = group Registered Users |
| pushMerge = group Registered Users |
| [access "refs/heads/*"] |
| forgeAuthor = group cria/project-golang-approvers |
| forgeAuthor = group gerritbot |
| forgeAuthor = group gobot |
| forgeAuthor = group may-upload-all-cls |
| forgeCommitter = group gerritbot |
| submit = group cria/project-golang-approvers |
| submit = group gobot |
| editTopicName = group cria/project-golang-approvers |
| editHashtags = group cria/project-golang-approvers |
| editHashtags = group gobot |
| removeReviewer = group cria/project-golang-approvers |
| removeReviewer = group gobot |
| abandon = group may-abandon-changes |
| create = group mdb/golang-gob-branchers |
| label-Auto-Submit = +0..+1 group cria/project-golang-approvers |
| label-Auto-Submit = +0..+1 group gobot |
| removeLabel-Auto-Submit = +0..+1 group cria/project-golang-approvers |
| label-Code-Review = +0..+2 group cria/project-golang-approvers |
| label-Code-Review = +0..+1 group Registered Users |
| removeLabel-Code-Review = +0..+2 group cria/project-golang-approvers |
| label-Hold = +0..+1 group cria/project-golang-approvers |
| removeLabel-Hold = +0..+1 group cria/project-golang-approvers |
| label-Run-TryBot = +0..+1 group cria/project-golang-may-start-trybots |
| label-Run-TryBot = +0..+1 group gobot |
| removeLabel-Run-TryBot = +0..+1 group cria/project-golang-may-start-trybots |
| label-TryBot-Result = -1..+1 group gobot |
| removeLabel-TryBot-Result = -1..+1 group cria/project-golang-may-start-trybots |
| label-TryBot-Bypass = +0..+1 group cria/project-golang-approvers |
| label-LUCI-TryBot-Result = -1..+1 group luci_scoped_account |
| removeLabel-LUCI-TryBot-Result = -1..+1 group cria/project-golang-may-start-trybots |
| [access "refs/for/refs/meta/config"] |
| push = group mdb/gerritcodereview-eng |
| push = group mdb/golang-gob-eng-policy |
| pushMerge = group mdb/golang-gob-eng-policy |
| [access "refs/meta/config"] |
| exclusiveGroupPermissions = label-Code-Review push read submit |
| read = group mdb/gerritcodereview-eng |
| read = group mdb/golang-gob-eng-policy |
| label-Code-Review = +0..+2 group mdb/golang-gob-eng-policy |
| label-Hold = +0..+1 group mdb/golang-gob-eng-policy |
| submit = group mdb/golang-gob-eng-policy |
| removeReviewer = group mdb/golang-gob-eng-policy |
| abandon = group mdb/golang-gob-eng-policy |
| push = group mdb/golang-gob-owners |
| [access "refs/tags/*"] |
| create = group gobot |
| create = group mdb/golang-gob-owners |
| createTag = group gobot |
| createTag = group mdb/golang-gob-owners |
| [access "^refs/heads/(release|internal)-branch.+"] |
| exclusiveGroupPermissions = label-Auto-Submit submit |
| submit = group gobot |
| submit = group mdb/golang-release-eng-policy |
| label-Auto-Submit = +0..+1 group gobot |
| label-Auto-Submit = +0..+1 group mdb/golang-release-eng-policy |
| [access "^refs/heads/(master|(release|internal)-branch\.go1\.(20|21).*)"] |
| submit = group luci_scoped_account |
| label-Commit-Queue = +0..+2 group mdb/golang-release-eng-policy |
| label-Commit-Queue = +0..+1 group cria/project-golang-may-start-trybots |
| label-Commit-Queue = +0..+1 group gobot |
| labelAs-Commit-Queue = +0..+2 group luci_scoped_account |
| [label "Code-Review"] |
| function = NoBlock |
| defaultValue = 0 |
| copyCondition = is:ANY |
| value = 0 No score |
| value = +1 Looks good to me, but someone else must approve |
| value = +2 Looks good to me, approved |
| [label "Hold"] |
| function = NoBlock |
| defaultValue = 0 |
| copyCondition = is:ANY |
| value = 0 This change can be submitted. |
| value = +1 Hold this change: don't submit it yet. |
| [label "Run-TryBot"] |
| description = Used to start legacy TryBots. |
| function = NoBlock |
| defaultValue = 0 |
| value = 0 Don't test |
| value = +1 Run legacy TryBots |
| copyCondition = changekind:NO_CODE_CHANGE |
| [label "TryBot-Result"] |
| description = Label for reporting legacy TryBot results. |
| function = NoBlock |
| defaultValue = 0 |
| value = -1 TryBots failed |
| value = 0 No results |
| value = +1 TryBots succeeded |
| copyCondition = changekind:NO_CODE_CHANGE |
| [label "LUCI-TryBot-Result"] |
| description = Label for reporting LUCI TryBot results. |
| function = NoBlock |
| defaultValue = 0 |
| value = -1 TryBots failed |
| value = 0 No results |
| value = +1 TryBots succeeded |
| copyCondition = changekind:NO_CODE_CHANGE |
| [label "Auto-Submit"] |
| function = NoBlock |
| defaultValue = 0 |
| value = 0 Do not automatically submit change |
| value = +1 Automatically submit change |
| copyCondition = changekind:NO_CHANGE |
| [label "TryBot-Bypass"] |
| function = NoBlock |
| defaultValue = 0 |
| value = 0 Require TryBot-Result+1 to submit |
| value = +1 Ignore missing or failing TryBot-Result |
| copyCondition = changekind:NO_CODE_CHANGE |
| [label "Bot-Commit"] |
| value = 0 No score |
| value = +1 Looks good to me |
| function = NoBlock |
| defaultValue = 0 |
| [label "Commit-Queue"] |
| description = Used to start LUCI TryBots. |
| abbreviation = CQ |
| value = 0 Don't test |
| value = +1 Run LUCI TryBots |
| value = +2 Commit |
| function = NoBlock |
| copyCondition = changekind:NO_CODE_CHANGE |
| defaultValue = 0 |
| [commitmessage] |
| maxSubjectLength = 1000 |
| maxLineLength = 1000 |
| [accounts] |
| sameGroupVisibility = deny group google/google-union:signcla |
| [contributor-agreement "Google CLA"] |
| description = Google Contributor License Agreement |
| agreementUrl = static/cla.html |
| accepted = group google/google-union:signcla |
| accepted = group ldap/employees |
| accepted = group ldap/interns |
| accepted = group mdb/google-cla-gerrit-robot-accounts |
| [capability] |
| administrateServer = group mdb/golang-gob-owners |
| createAccount = group mdb/gwsq |
| gerrit-google-manageUsersGet = group gobot |
| gerrit-google-manageUsersGet = group mdb/copybara-git-readers |
| viewAccess = group gobot |
| viewAllAccounts = group gobot |
| viewAllAccounts = group luci_scoped_account |
| viewAllAccounts = group mdb/copybara-git-readers |
| viewAllAccounts = group mdb/gwsq |
| [notify "checkins"] |
| header = to |
| email = golang-checkins@googlegroups.com |
| type = submitted_changes |
| filter = -project:scratch |
| [notify "codereviews"] |
| header = cc |
| email = golang-codereviews@googlegroups.com |
| filter = -project:scratch -message:do-not-review |
| [notify "gopherbot"] |
| header = to |
| email = gopherbot@pubsubhelper.golang.org |
| [plugin "jwtservice"] |
| audience = https://api.cr.dev |
| [submit-requirement "Do-Not-Submit"] |
| description = Changes that have DO NOT SUBMIT in their commit message are not submittable. |
| applicableIf = message:\"^.*(D|d)(O|o) (N|n)(O|o)(T|t) (S|s)(U|u)(B|b)(M|m)(I|i)(T|t).*\" |
| submittableIf = is:false |
| canOverrideInChildProjects = false |
| [submit-requirement "Do-Not-Review"] |
| description = Changes that have DO NOT REVIEW in their commit message are not submittable. |
| applicableIf = message:\"^.*(D|d)(O|o) (N|n)(O|o)(T|t) (R|r)(E|e)(V|v)(I|i)(E|e)(W|w).*\" |
| submittableIf = is:false |
| canOverrideInChildProjects = false |
| [submit-requirement "Code-Review"] |
| description = At least one Code-Review+2 is required. Self review is not allowed. |
| submittableIf = label:Code-Review=MAX,user=non_uploader |
| canOverrideInChildProjects = true |
| [submit-requirement "No-Holds"] |
| description = Changes with a Hold+1 vote are not submittable. |
| submittableIf = NOT label:Hold=1 |
| canOverrideInChildProjects = false |
| [submit-requirement "TryBots-Pass"] |
| description = Changes must pass TryBots unless TryBot-Bypass+1 is set. |
| applicableIf = -branch:refs/meta/config -(label:LUCI-TryBot-Result=MAX OR label:TryBot-Result=MAX) |
| submittableIf = is:false |
| overrideIf = label:TryBot-Bypass=MAX |
| canOverrideInChildProjects = true |
| [submit-requirement "No-Unresolved-Comments"] |
| description = Changes that have unresolved comments are not submittable, unless overriden by adding the hashtag allow-unresolved-comments. |
| applicableIf = has:unresolved |
| submittableIf = -has:unresolved |
| overrideIf = hashtag:allow-unresolved-comments |
| canOverrideInChildProjects = false |
| [submit-requirement "No-Wait-Release"] |
| description = Changes with the hashtag wait-release cannot be submitted. |
| applicableIf = hashtag:wait-release |
| submittableIf = is:false |
| canOverrideInChildProjects = true |