danger-dangermattic 1.4.0 → 1.4.1

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: 1ea5b40de9b9c82ffa11d1f10449caacbdd87051a9f2d1d7765a73869fe923a6
4
- data.tar.gz: 82a8e207c33c9cddde899d05094bd6e1a128d6d8ce95e4847f59248a3f0af1c0
3
+ metadata.gz: 66a39c7ad38136864bbd67059f745b33696fb7ab1800e97ec1c4c68e202e6e7c
4
+ data.tar.gz: 90963d4ef7ed174e4a3338a3e8ebf10547f01cd12a7db3676765ca227644a719
5
5
  SHA512:
6
- metadata.gz: 7c059b2ecabb7c0e126811bb3f5f8b0b3555feec5ed14a1df606dfcc61201a7540cf1242622802c0f76b6b4f59836a8038f275fb0491476b397d0967a673f2ea
7
- data.tar.gz: 9cf786de34875f9cdd091aa479d285f13a8a78950c86bb480467c3f8aab6499dbbf7b3b7142d8cd6c8237b38c6247f38251f77e0e264ab4fb3c65cc81d557302
6
+ metadata.gz: 05aa2a90ee456be78bd33ed04314156b1ce1fb0acab0ac82c521682c52a4ea6158d39b5d8ea1cb86b145aeb1064adb236aef0ab939495b52fe26db9ac5651e0b
7
+ data.tar.gz: 75fd9ac41bac54605e0eb7546d1cd25676fcc5b39674e6ed09250343521059c3033f767054d08729082eab7404e5800166ea1b658db224bbe815e1b7c7d9f80c
@@ -4,10 +4,9 @@ agents:
4
4
  # Nodes with values to reuse in the pipeline.
5
5
  common_params:
6
6
  - &docker_plugin "docker#v5.7.0"
7
- - &docker_ruby_image "public.ecr.aws/docker/library/ruby:3.2.2"
8
7
  - &common_plugins
9
8
  - *docker_plugin :
10
- image: *docker_ruby_image
9
+ image: $DOCKER_RUBY_IMAGE
11
10
 
12
11
  steps:
13
12
  #################
@@ -63,7 +62,7 @@ steps:
63
62
  command: .buildkite/gem-push.sh
64
63
  plugins:
65
64
  - *docker_plugin :
66
- image: *docker_ruby_image
65
+ image: $DOCKER_RUBY_IMAGE
67
66
  propagate-environment: true
68
67
  environment:
69
68
  - "RUBYGEMS_API_KEY"
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+
3
+ RUBY_VERSION="$(cat .ruby-version)"
4
+ export RUBY_VERSION
5
+
6
+ export DOCKER_RUBY_IMAGE="public.ecr.aws/docker/library/ruby:$RUBY_VERSION"
@@ -30,7 +30,7 @@ jobs:
30
30
  with:
31
31
  fetch-depth: 100
32
32
  - name: 💎 Ruby Setup
33
- uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0
33
+ uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
34
34
  with:
35
35
  bundler-cache: true
36
36
  - name: ☢️ Danger PR Check
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.2.2
1
+ 3.4.9
data/CHANGELOG.md CHANGED
@@ -20,6 +20,12 @@ _None_
20
20
 
21
21
  _None_
22
22
 
23
+ ## 1.4.1
24
+
25
+ ### Bug Fixes
26
+
27
+ - `github_utils`: `requested_reviewers?` now detects review requests assigned to a GitHub team when Danger runs with a token that cannot see the organization's teams. [#141]
28
+
23
29
  ## 1.4.0
24
30
 
25
31
  ### New Features
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- danger-dangermattic (1.4.0)
4
+ danger-dangermattic (1.4.1)
5
5
  danger (~> 9.5, >= 9.5.3)
6
6
  danger-plugin-api (~> 1.0)
7
7
  danger-rubocop (~> 0.13)
@@ -197,7 +197,6 @@ PLATFORMS
197
197
  ruby
198
198
 
199
199
  DEPENDENCIES
200
- bundler (~> 2.0)
201
200
  danger-dangermattic!
202
201
  guard (~> 2.18)
203
202
  guard-rspec (~> 4.7)
@@ -209,4 +208,4 @@ DEPENDENCIES
209
208
  yard
210
209
 
211
210
  BUNDLED WITH
212
- 2.6.8
211
+ 4.0.18
@@ -28,7 +28,6 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency 'danger-rubocop', '~> 0.13'
29
29
 
30
30
  # General ruby development
31
- spec.add_development_dependency 'bundler', '~> 2.0'
32
31
  spec.add_development_dependency 'rake', '~> 13.1'
33
32
 
34
33
  # Testing support
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dangermattic
4
- VERSION = '1.4.0'
4
+ VERSION = '1.4.1'
5
5
  end
@@ -27,17 +27,19 @@ module Danger
27
27
  #
28
28
  # @return [Boolean] True if there are active reviewers, otherwise false.
29
29
  def active_reviewers?
30
- repo_name = github.pr_json['base']['repo']['full_name']
31
- pr_number = github.pr_json['number']
32
-
33
- !github.api.pull_request_reviews(repo_name, pr_number).empty?
30
+ !github.api.pull_request_reviews(pr_repo_name, pr_number).empty?
34
31
  end
35
32
 
36
33
  # Checks if there are requested teams or reviewers who haven't reacted yet.
37
34
  #
38
35
  # @return [Boolean] True if there are requested teams or reviewers, otherwise false.
39
36
  def requested_reviewers?
40
- has_requested_reviews = !github.pr_json['requested_teams'].to_a.empty? || !github.pr_json['requested_reviewers'].to_a.empty?
37
+ # GitHub strips `requested_teams` from the pull request payload — and therefore from `pr_json` —
38
+ # for tokens that cannot see the organization's teams, such as a bot account that is only an
39
+ # outside collaborator. The dedicated endpoint reports them regardless.
40
+ review_requests = github.api.pull_request_review_requests(pr_repo_name, pr_number)
41
+ has_requested_reviews = !review_requests['users'].to_a.empty? || !review_requests['teams'].to_a.empty?
42
+
41
43
  has_requested_reviews || active_reviewers?
42
44
  end
43
45
 
@@ -64,5 +66,15 @@ module Danger
64
66
 
65
67
  has_wip_label || has_wip_title
66
68
  end
69
+
70
+ private
71
+
72
+ def pr_repo_name
73
+ github.pr_json['base']['repo']['full_name']
74
+ end
75
+
76
+ def pr_number
77
+ github.pr_json['number']
78
+ end
67
79
  end
68
80
  end
@@ -13,9 +13,7 @@ module Danger
13
13
  instance_double(Danger::DangerfileGitHubPlugin, {
14
14
  pr_json: {
15
15
  'base' => { 'repo' => { 'full_name' => 'Automattic/dangermattic' } },
16
- 'number' => 42,
17
- 'requested_teams' => [],
18
- 'requested_reviewers' => []
16
+ 'number' => 42
19
17
  },
20
18
  api: instance_double(Octokit::Client),
21
19
  branch_for_base: 'main',
@@ -44,8 +42,20 @@ module Danger
44
42
  end
45
43
 
46
44
  describe '#requested_reviewers?' do
47
- it 'returns true when there are requested reviewers' do
48
- allow(github.pr_json).to receive(:[]).with('requested_teams').and_return(['team1'])
45
+ before do
46
+ allow(github.api).to receive_messages(
47
+ pull_request_review_requests: { 'users' => [], 'teams' => [] },
48
+ pull_request_reviews: []
49
+ )
50
+ end
51
+
52
+ it 'returns true when a user has been requested for review' do
53
+ allow(github.api).to receive(:pull_request_review_requests).and_return({ 'users' => ['user1'], 'teams' => [] })
54
+ expect(@plugin.requested_reviewers?).to be(true)
55
+ end
56
+
57
+ it 'returns true when only a team has been requested for review' do
58
+ allow(github.api).to receive(:pull_request_review_requests).and_return({ 'users' => [], 'teams' => ['team1'] })
49
59
  expect(@plugin.requested_reviewers?).to be(true)
50
60
  end
51
61
 
@@ -55,7 +65,6 @@ module Danger
55
65
  end
56
66
 
57
67
  it 'returns false when there are no requested reviewers or active reviewers' do
58
- allow(github.api).to receive(:pull_request_reviews).and_return([])
59
68
  expect(@plugin.requested_reviewers?).to be(false)
60
69
  end
61
70
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-dangermattic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Automattic
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-07-08 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: danger
@@ -58,20 +57,6 @@ dependencies:
58
57
  - - "~>"
59
58
  - !ruby/object:Gem::Version
60
59
  version: '0.13'
61
- - !ruby/object:Gem::Dependency
62
- name: bundler
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '2.0'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '2.0'
75
60
  - !ruby/object:Gem::Dependency
76
61
  name: rake
77
62
  requirement: !ruby/object:Gem::Requirement
@@ -206,6 +191,7 @@ extra_rdoc_files: []
206
191
  files:
207
192
  - ".buildkite/gem-push.sh"
208
193
  - ".buildkite/pipeline.yml"
194
+ - ".buildkite/shared-pipeline-vars"
209
195
  - ".bundle/config"
210
196
  - ".github/CODEOWNERS"
211
197
  - ".github/dependabot.yml"
@@ -303,7 +289,6 @@ homepage: https://github.com/Automattic/dangermattic
303
289
  licenses:
304
290
  - MPL-2.0
305
291
  metadata: {}
306
- post_install_message:
307
292
  rdoc_options: []
308
293
  require_paths:
309
294
  - lib
@@ -318,8 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
318
303
  - !ruby/object:Gem::Version
319
304
  version: '0'
320
305
  requirements: []
321
- rubygems_version: 3.4.10
322
- signing_key:
306
+ rubygems_version: 3.6.9
323
307
  specification_version: 4
324
308
  summary: A shared collection of Danger plugins
325
309
  test_files: []