code_ownership 1.32.18 → 1.32.19

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f00d3f6cebe0c0c1a832fe6bd5487b39edb84a0cb316ecbcea33bbf2b090d9bd
4
- data.tar.gz: 6092a31cf222e8b734f19338d612ac1b08c121c20dbc822b1271e97ab11980c0
3
+ metadata.gz: 994693da06866743ce4cf2fa3b6bee1df754ac26e10884c999f0c37c9b72c23c
4
+ data.tar.gz: 5b2643e5ecd989f8ea15984a59b0b0a2522dbc614441228e10f7e25958141af0
5
5
  SHA512:
6
- metadata.gz: 054d5179ae0516d621f71e222308c28c769dfcfe1fd66595ddbe23f6f18126bbfc683ef9a6882a67e8599e88b5fd6800eb95c8f1b55e80c66a13bd8c13a245ba
7
- data.tar.gz: a1bcaa5dce9cb34158ce59d73b17d7cdc1494502ca802aa01b5bc3f5af507fd8187b5561e8b26f24151ec1e72eeee24a12c4b314f853af4a0f9230530e6d500d
6
+ metadata.gz: e832b86888eb90bb0beaff6410565f20c9224029af7d434698238039422ca67a6e34a0629a4441ab428fe73dddfac2bf606200191c621836989bbf67daff05a6
7
+ data.tar.gz: 2e5b208eb94ff9cc870e53d3673cc794f87af20f7d78c80a1493e3b9edfd2c2403285731b6b5b07292df5855ddf6e55c4f0b16d102bcb65c1dc6844ed39dfcf1
@@ -53,7 +53,10 @@ module CodeOwnership
53
53
 
54
54
  cache.each do |mapper_description, ownership_map_cache|
55
55
  ownership_entries = []
56
- ownership_map_cache.each do |path, code_team|
56
+ sorted_ownership_map_cache = ownership_map_cache.sort_by do |glob, team|
57
+ glob
58
+ end
59
+ sorted_ownership_map_cache.to_h.each do |path, code_team|
57
60
  team_mapping = github_team_map[code_team.name]
58
61
  next if team_mapping.nil?
59
62
 
@@ -14,10 +14,8 @@ module CodeOwnership
14
14
 
15
15
  actual_content_lines = CodeownersFile.actual_contents_lines
16
16
  expected_content_lines = CodeownersFile.expected_contents_lines
17
- missing_lines = expected_content_lines - actual_content_lines
18
- extra_lines = actual_content_lines - expected_content_lines
19
17
 
20
- codeowners_up_to_date = !missing_lines.any? && !extra_lines.any?
18
+ codeowners_up_to_date = actual_content_lines == expected_content_lines
21
19
  errors = T.let([], T::Array[String])
22
20
 
23
21
  if !codeowners_up_to_date
@@ -26,8 +24,14 @@ module CodeOwnership
26
24
  if stage_changes
27
25
  `git add #{CodeownersFile.path}`
28
26
  end
27
+ # If there is no current file or its empty, display a shorter message.
28
+ elsif actual_content_lines == [""]
29
+ errors << <<~CODEOWNERS_ERROR
30
+ CODEOWNERS out of date. Run `bin/codeownership validate` to update the CODEOWNERS file
31
+ CODEOWNERS_ERROR
29
32
  else
30
- # If there is no current file or its empty, display a shorter message.
33
+ missing_lines = expected_content_lines - actual_content_lines
34
+ extra_lines = actual_content_lines - expected_content_lines
31
35
 
32
36
  missing_lines_text = if missing_lines.any?
33
37
  <<~COMMENT
@@ -50,20 +54,19 @@ module CodeOwnership
50
54
  elsif extra_lines_text
51
55
  extra_lines_text
52
56
  else
53
- ""
57
+ <<~TEXT
58
+ There may be extra lines, or lines are out of order.
59
+ You can try to regenerate the CODEOWNERS file from scratch:
60
+ 1) `rm .github/CODEOWNERS`
61
+ 2) `bin/codeownership validate`
62
+ TEXT
54
63
  end
55
64
 
56
- if actual_content_lines == [""]
57
- errors << <<~CODEOWNERS_ERROR
58
- CODEOWNERS out of date. Run `bin/codeownership validate` to update the CODEOWNERS file
59
- CODEOWNERS_ERROR
60
- else
61
- errors << <<~CODEOWNERS_ERROR
62
- CODEOWNERS out of date. Run `bin/codeownership validate` to update the CODEOWNERS file
65
+ errors << <<~CODEOWNERS_ERROR
66
+ CODEOWNERS out of date. Run `bin/codeownership validate` to update the CODEOWNERS file
63
67
 
64
- #{diff_text.chomp}
65
- CODEOWNERS_ERROR
66
- end
68
+ #{diff_text.chomp}
69
+ CODEOWNERS_ERROR
67
70
  end
68
71
  end
69
72
 
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.18
4
+ version: 1.32.19
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-05-12 00:00:00.000000000 Z
11
+ date: 2023-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: code_teams