code_ownership 1.32.10 → 1.32.12
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/lib/code_ownership/mapper.rb +2 -1
- data/lib/code_ownership/private/codeowners_file.rb +6 -0
- data/lib/code_ownership.rb +7 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1b8e7ef51559926e34ee47610390c8f5db30d4db7f4cdcfc2abd84381b49130
|
4
|
+
data.tar.gz: cf479183e50a26c9a19f37b8160c14ad0ab81f5f0c2906b4cefa4f45e19aad76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37d5cd46fda60ec57244bc2b654dd81ea3bbd48c47cb3008804dbdb48249ae7c9a2163f9d2776bdc08989aaa945f3e8f2718784a27009b578b131cf9259307e3
|
7
|
+
data.tar.gz: a89b8b30f8acb6f82c6727ede45e3c372cdca5204343e155a2d4300c221fc50ab1feea708afdee8a123601078979e6accfbfec5d4381af2bf67a684db938fda8
|
@@ -68,9 +68,10 @@ module CodeOwnership
|
|
68
68
|
|
69
69
|
Mapper.all.each do |mapper|
|
70
70
|
mapped_files = mapper.globs_to_owner(Private.tracked_files)
|
71
|
+
glob_to_owner_map_by_mapper_description[mapper.description] ||= {}
|
72
|
+
|
71
73
|
mapped_files.each do |glob, owner|
|
72
74
|
next if owner.nil?
|
73
|
-
glob_to_owner_map_by_mapper_description[mapper.description] ||= {}
|
74
75
|
glob_to_owner_map_by_mapper_description.fetch(mapper.description)[glob] = owner
|
75
76
|
end
|
76
77
|
end
|
@@ -135,6 +135,12 @@ module CodeOwnership
|
|
135
135
|
# This will skip over lines that are not of the correct form
|
136
136
|
next if split_line.count > 2
|
137
137
|
entry, github_team = split_line
|
138
|
+
code_team = github_team_to_code_team_map[T.must(github_team)]
|
139
|
+
# If a GitHub team is changed and a user runs `bin/codeownership validate`, we won't be able to identify
|
140
|
+
# what team is associated with the removed github team.
|
141
|
+
# Therefore, if we can't determine the team, we just skip it.
|
142
|
+
# This affects how complete the cache is, but that will still be caught by `bin/codeownership validate`.
|
143
|
+
next if code_team.nil?
|
138
144
|
raw_cache_contents[current_mapper] ||= {}
|
139
145
|
raw_cache_contents.fetch(current_mapper)[T.must(entry)] = github_team_to_code_team_map.fetch(T.must(github_team))
|
140
146
|
end
|
data/lib/code_ownership.rb
CHANGED
@@ -43,27 +43,23 @@ module CodeOwnership
|
|
43
43
|
|
44
44
|
sig { params(team: T.any(CodeTeams::Team, String)).returns(String) }
|
45
45
|
def for_team(team)
|
46
|
-
Private.load_configuration!
|
47
|
-
|
48
46
|
team = T.must(CodeTeams.find(team)) if team.is_a?(String)
|
49
47
|
ownership_information = T.let([], T::Array[String])
|
50
48
|
|
51
49
|
ownership_information << "# Code Ownership Report for `#{team.name}` Team"
|
52
|
-
|
53
|
-
|
54
|
-
|
50
|
+
|
51
|
+
Private.glob_cache.raw_cache_contents.each do |mapper_description, glob_to_owning_team_map|
|
52
|
+
ownership_information << "## #{mapper_description}"
|
55
53
|
ownership_for_mapper = []
|
56
|
-
|
57
|
-
next if
|
58
|
-
|
59
|
-
ownership_for_mapper << "- #{line}"
|
60
|
-
end
|
54
|
+
glob_to_owning_team_map.each do |glob, owning_team|
|
55
|
+
next if owning_team != team
|
56
|
+
ownership_for_mapper << "- #{glob}"
|
61
57
|
end
|
62
58
|
|
63
59
|
if ownership_for_mapper.empty?
|
64
60
|
ownership_information << 'This team owns nothing in this category.'
|
65
61
|
else
|
66
|
-
ownership_information += ownership_for_mapper
|
62
|
+
ownership_information += ownership_for_mapper.sort
|
67
63
|
end
|
68
64
|
|
69
65
|
ownership_information << ""
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: code_ownership
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.32.
|
4
|
+
version: 1.32.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gusto Engineers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: code_teams
|