Add initial configuration.
Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Change-Id: I536647c5897203d5a1ca9821617b91b76116cf59
diff --git a/groups b/groups
new file mode 100644
index 0000000..b7d58a5
--- /dev/null
+++ b/groups
@@ -0,0 +1,8 @@
+# UUID Group Name
+#
+3c602ebb948eaf2077cc2eb062eb1a3b0367d759 Service Users
+573bd73ee08f31e499ad7746a96ece2b2d47e06d ts-devs
+global:Anonymous-Users Anonymous Users
+global:Project-Owners Project Owners
+global:Registered-Users Registered Users
+336611fbffa67594c63fba9b5309b56940944c54 ts-maintainers
diff --git a/project.config b/project.config
index e080951..a5c4068 100644
--- a/project.config
+++ b/project.config
@@ -1,4 +1,103 @@
[access]
inheritFrom = All-Projects
[submit]
- action = rebase if necessary
+ action = inherit
+ rejectEmptyCommit = true
+[receive]
+ requireSignedOffBy = true
+ rejectImplicitMerges = true
+ requireChangeId = true
+[project]
+ description = Access controls for the tf.org/ts namespace
+
+[access "refs/*"]
+ read = group Service Users
+
+[access "refs/heads/*"]
+ abandon = group ts-maintainers
+ create = group ts-maintainers
+ editTopicName = group ts-maintainers
+ forgeAuthor = group ts-maintainers
+ forgeCommitter = group ts-maintainers
+ forgeServerAsCommitter = group ts-maintainers
+ push = +force group ts-maintainers
+ pushMerge = group ts-maintainers
+ submit = group ts-maintainers
+ submitAs = group ts-maintainers
+
+ label-Code-Review = -1..+1 group Registered Users
+ label-Code-Owner-Review = -1..+1 group ts-maintainers
+ label-Maintainer-Review = -1..+1 group ts-maintainers
+
+ label-Verified = -1..+1 group ts-maintainers
+
+[access "refs/meta/config"]
+ read = group ts-maintainers
+ create = group ts-maintainers
+ push = group ts-maintainers
+ submit = group ts-maintainers
+ label-Code-Review = -2..+2 group ts-maintainers
+
+[access "refs/meta/dashboards/*"]
+ create = group ts-maintainers
+ push = group ts-maintainers
+
+[access "refs/tags/*"]
+ create = group ts-maintainers
+ createTag = group ts-maintainers
+ createSignedTag = group ts-maintainers
+
+[access "refs/heads/topics/*"]
+ abandon = group ts-devs
+ forgeAuthor = group ts-devs
+ forgeCommitter = group ts-devs
+ push = group ts-devs
+ pushMerge = group ts-devs
+ create = group ts-devs
+
+[access "refs/for/refs/heads/topics/*"]
+ abandon = group ts-devs
+ forgeAuthor = group ts-devs
+ forgeCommitter = group ts-devs
+ push = +force group ts-devs
+ pushMerge = group ts-devs
+
+# The Code-Review label is purely informational. Contributors that are neither
+# code owners for the patch nor maintainers use it to record their concerns.
+[label "Code-Review"]
+ function = NoBlock
+ value = -1 I would prefer this is not merged as is
+ value = 0 No score
+ value = +1 Looks good to me
+ copyAllScoresIfNoCodeChange = true
+ copyAllScoresOnTrivialRebase = true
+ defaultValue = 0
+
+# In addition, define our 2 custom labels for code review.
+# These influence whether a patch is submittable.
+[label "Code-Owner-Review"]
+ function = MaxWithBlock
+ value = -1 I would prefer this is not merged as is
+ value = 0 No score
+ value = +1 Looks good to me
+ copyAllScoresIfNoCodeChange = true
+ copyAllScoresOnTrivialRebase = true
+ defaultValue = 0
+
+[label "Maintainer-Review"]
+ function = MaxWithBlock
+ value = -1 I would prefer this is not merged as is
+ value = 0 No score
+ value = +1 Looks good to me
+ copyAllScoresIfNoCodeChange = true
+ copyAllScoresOnTrivialRebase = true
+ defaultValue = 0
+
+[label "Verified"]
+ function = MaxWithBlock
+ value = -1 Fails
+ value = 0 No score
+ value = +1 Verified
+ copyAllScoresIfNoCodeChange = true
+ copyAllScoresOnTrivialRebase = true
+ defaultValue = 0