code_ownership 1.32.14 → 1.32.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/code_ownership/private/team_plugins/github.rb +22 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8705b2519d1dda2e50bc2051864d8f41b16111b3ab3a47923ff2b1e1c22024e
|
4
|
+
data.tar.gz: 2dd240f0854303fbbfd080a23f3c37ee38c5c6912f04e445ce9bc6fd08d6996e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0de295ef841c8d50edffa5d8dedfeace747160d0c368b0b919d2aa76f4d3b540d80cd91b8eeea8578230b596613705cd6ed2dc72d524d240de5bd48162184bc
|
7
|
+
data.tar.gz: 0f9da2508a46330de7a75a8bf8b7ee1117f4a7449a53cf3516bd5e608b07f07b59e207a109ea40c14af22b575f75fdc02c2ee93eca427072eef13d29f76974d2
|
data/README.md
CHANGED
@@ -125,7 +125,7 @@ CodeOwnership comes with a validation function to ensure the following things ar
|
|
125
125
|
1) Only one mechanism is defining file ownership. That is -- you can't have a file annotation on a file owned via package-based or glob-based ownership. This helps make ownership behavior more clear by avoiding concerns about precedence.
|
126
126
|
2) All teams referenced as an owner for any file or package is a valid team (i.e. it's in the list of `CodeTeams.all`).
|
127
127
|
3) All files have ownership. You can specify in `unowned_globs` to represent a TODO list of files to add ownership to.
|
128
|
-
3) The `.github/CODEOWNERS` file is up to date. This is automatically corrected and staged unless specified otherwise with `bin/codeownership validate --skip-autocorrect --skip-stage`. You can turn this validation off by setting `skip_codeowners_validation: true` in `code_ownership.yml`.
|
128
|
+
3) The `.github/CODEOWNERS` file is up to date. This is automatically corrected and staged unless specified otherwise with `bin/codeownership validate --skip-autocorrect --skip-stage`. You can turn this validation off by setting `skip_codeowners_validation: true` in `config/code_ownership.yml`.
|
129
129
|
|
130
130
|
CodeOwnership also allows you to specify which globs and file extensions should be considered ownable.
|
131
131
|
|
@@ -18,6 +18,28 @@ module CodeOwnership
|
|
18
18
|
raw_github['do_not_add_to_codeowners_file'] || false
|
19
19
|
)
|
20
20
|
end
|
21
|
+
|
22
|
+
sig { override.params(teams: T::Array[CodeTeams::Team]).returns(T::Array[String]) }
|
23
|
+
def self.validation_errors(teams)
|
24
|
+
all_github_teams = teams.flat_map { |team| self.for(team).github.team }
|
25
|
+
|
26
|
+
teams_used_more_than_once = all_github_teams.tally.select do |_team, count|
|
27
|
+
count > 1
|
28
|
+
end
|
29
|
+
|
30
|
+
errors = T.let([], T::Array[String])
|
31
|
+
|
32
|
+
if teams_used_more_than_once.any?
|
33
|
+
errors << <<~ERROR
|
34
|
+
The following teams are specified multiple times:
|
35
|
+
Each code team must have a unique GitHub team in order to write the CODEOWNERS file correctly.
|
36
|
+
|
37
|
+
#{teams_used_more_than_once.keys.join("\n")}
|
38
|
+
ERROR
|
39
|
+
end
|
40
|
+
|
41
|
+
errors
|
42
|
+
end
|
21
43
|
end
|
22
44
|
end
|
23
45
|
end
|