danger 9.3.0 → 9.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28e1b237f9fc7857aca64881f72c1c247ec9f83d0f22985866f7b7b59e407551
4
- data.tar.gz: b1ffee7037fd3e8bfd25103557ec78f51792c1f24c46f2d5ce624b38c8582761
3
+ metadata.gz: 7310f8ce0107be43eb12fbf841273878fb0fd4c8e8a0f623689506a930c354cc
4
+ data.tar.gz: 1b187cc8027ed57b2f204f3e8222f4373baf40c63e94a35bdcc22079dfbc1d47
5
5
  SHA512:
6
- metadata.gz: 1b196a2f4f291b2a961948bb56518921285142763c8265478d6050992756fb4fef2bcc33fdbfa15187e8384a16f68b20903fd41475ab55578a3dbcd5fea60d75
7
- data.tar.gz: 81f1adb962e7031baf701487d29e37ccd7daeb499471adbc1c663e1da8db87333c312d1c9875fa6a571acba9a429d6cae3a49fac3cf2ff4270a9c157ff4df469
6
+ metadata.gz: dd4d4a9b2810edde68fb71823868c3566fd3f12141876f46d7b2b91c381901c328550e3f3521fcbcfd4faa27f16a435dc4f81e09e30708aef5e6ce103ef5dc32
7
+ data.tar.gz: b19572d95dfdc38061db32f12a77cdc4f7e21c5447f75214a489467140a3d3caee4e1ac3501a5a87aba5b1037614d20b5aa50a33ee0248b1480d489d2b7d3e6b
data/README.md CHANGED
@@ -2,8 +2,7 @@
2
2
 
3
3
  [![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/orta/danger/blob/master/LICENSE)
4
4
  [![Gem](https://img.shields.io/gem/v/danger.svg?style=flat)](http://rubygems.org/gems/danger)
5
- [![Travis CI](https://img.shields.io/travis/danger/danger.svg?style=flat)](https://travis-ci.org/danger/danger)
6
- [![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/danger)
5
+ [![CI](https://github.com/danger/danger/actions/workflows/CI.yml/badge.svg)](https://github.com/danger/danger/actions/workflows/CI.yml)
7
6
 
8
7
  Formalize your Pull Request etiquette.
9
8
 
@@ -29,8 +29,6 @@ module Danger
29
29
  # which will automatically get your vsts domain and your project name needed for the vsts api.
30
30
  #
31
31
  class AzurePipelines < CI
32
-
33
-
34
32
  def self.validates_as_ci?(env)
35
33
  has_all_variables = ["AGENT_ID", "BUILD_SOURCEBRANCH", "BUILD_REPOSITORY_URI", "BUILD_REASON", "BUILD_REPOSITORY_NAME"].all? { |x| env[x] && !env[x].empty? }
36
34
 
@@ -31,7 +31,7 @@ module Danger
31
31
  end
32
32
 
33
33
  def initialize(_env)
34
- raise "Subclass and overwrite initialize"
34
+ raise "Subclass and overwrite initialize" if method(__method__).owner == Danger::CI
35
35
  end
36
36
  end
37
37
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "danger/request_sources/github/github"
2
4
 
3
5
  module Danger
@@ -31,6 +33,8 @@ module Danger
31
33
  end
32
34
 
33
35
  def initialize(env)
36
+ super
37
+
34
38
  self.repo_slug = env["GITHUB_REPOSITORY"]
35
39
  pull_request_event = JSON.parse(File.read(env["GITHUB_EVENT_PATH"]))
36
40
  self.pull_request_id = pull_request_event["number"]
@@ -146,7 +146,7 @@ module Danger
146
146
  require "danger/request_sources/bitbucket_server_api"
147
147
  project, slug = repo_slug.split("/")
148
148
  RequestSources::BitbucketServerAPI.new(project, slug, specific_pull_request_id, env)
149
-
149
+
150
150
  when :vsts
151
151
  require "danger/request_sources/vsts_api"
152
152
  RequestSources::VSTSAPI.new(repo_slug, specific_pull_request_id, env)
@@ -181,7 +181,7 @@ module Danger
181
181
  elsif remote_url =~ %r{/pull-requests/}
182
182
  :bitbucket_server
183
183
  elsif remote_url =~ /\.visualstudio\.com/i || remote_url =~ /dev\.azure\.com/i
184
- :vsts
184
+ :vsts
185
185
  else
186
186
  :github
187
187
  end
@@ -70,18 +70,14 @@ module Danger
70
70
  def update_pull_request!(warnings: [], errors: [], messages: [], markdowns: [], danger_id: "danger", new_comment: false, remove_previous_comments: false)
71
71
  delete_old_comments(danger_id: danger_id) if !new_comment || remove_previous_comments
72
72
 
73
- comment = generate_description(warnings: warnings, errors: errors, template: "bitbucket_server")
74
- comment += "\n\n"
75
-
76
73
  warnings = update_inline_comments_for_kind!(:warnings, warnings, danger_id: danger_id)
77
74
  errors = update_inline_comments_for_kind!(:errors, errors, danger_id: danger_id)
78
75
  messages = update_inline_comments_for_kind!(:messages, messages, danger_id: danger_id)
79
76
  markdowns = update_inline_comments_for_kind!(:markdowns, markdowns, danger_id: danger_id)
80
77
 
81
- has_comments = (warnings.count > 0 || errors.count > 0 || messages.count > 0 || markdowns.count > 0)
78
+ has_comments = (warnings.count.positive? || errors.count.positive? || messages.count.positive? || markdowns.count.positive?)
82
79
  if has_comments
83
- comment = generate_description(warnings: warnings,
84
- errors: errors)
80
+ comment = generate_description(warnings: warnings, errors: errors, template: "bitbucket_server")
85
81
  comment += "\n\n"
86
82
  comment += generate_comment(warnings: warnings,
87
83
  errors: errors,
@@ -8,13 +8,9 @@ module Danger
8
8
 
9
9
  def diff_for_folder(folder, from: "master", to: "HEAD", lookup_top_level: false)
10
10
  self.folder = folder
11
- git_top_level = folder
12
- if lookup_top_level
13
- Dir.chdir(folder) do
14
- git_top_level = exec("rev-parse --show-toplevel")
15
- end
16
- end
17
- repo = Git.open git_top_level
11
+ git_top_level = find_git_top_level_if_needed!(folder, lookup_top_level)
12
+
13
+ repo = Git.open(git_top_level)
18
14
 
19
15
  ensure_commitish_exists!(from)
20
16
  ensure_commitish_exists!(to)
@@ -168,6 +164,26 @@ module Danger
168
164
  def commit_is_ref?(commit)
169
165
  /[a-f0-9]{5,40}/ !~ commit
170
166
  end
167
+
168
+ def find_git_top_level_if_needed!(folder, lookup_top_level)
169
+ git_top_level = Dir.chdir(folder) { exec("rev-parse --show-toplevel") }
170
+ return git_top_level if lookup_top_level
171
+
172
+ # To keep backward compatibility, `GitRepo#diff_for_folder` expects folder
173
+ # to be top level git directory or requires `true` to `lookup_top_level`.
174
+ # https://github.com/danger/danger/pull/1178
175
+ return folder if compare_path(git_top_level, folder)
176
+
177
+ message = "#{folder} is not the top level git directory. Pass correct path or `true` to `lookup_top_level` option for `diff_for_folder`"
178
+ raise ArgumentError, message
179
+ end
180
+
181
+ # Compare given paths as realpath. Return true if both are same.
182
+ # `git rev-parse --show-toplevel` returns a path resolving symlink. In rspec, given path can
183
+ # be a temporary directory's path created under a symlinked directory `/var`.
184
+ def compare_path(path1, path2)
185
+ Pathname.new(path1).realdirpath == Pathname.new(path2).realdirpath
186
+ end
171
187
  end
172
188
  end
173
189
 
@@ -1,4 +1,4 @@
1
1
  module Danger
2
- VERSION = "9.3.0".freeze
2
+ VERSION = "9.3.2".freeze
3
3
  DESCRIPTION = "Like Unit Tests, but for your Team Culture.".freeze
4
4
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.3.0
4
+ version: 9.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Orta Therox
8
8
  - Juanito Fatas
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-04-21 00:00:00.000000000 Z
12
+ date: 2023-09-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: claide
@@ -107,14 +107,14 @@ dependencies:
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.13.0
110
+ version: '1.13'
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.13.0
117
+ version: '1.13'
118
118
  - !ruby/object:Gem::Dependency
119
119
  name: kramdown
120
120
  requirement: !ruby/object:Gem::Requirement
@@ -163,14 +163,14 @@ dependencies:
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '5.0'
166
+ version: '6.0'
167
167
  type: :runtime
168
168
  prerelease: false
169
169
  version_requirements: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '5.0'
173
+ version: '6.0'
174
174
  - !ruby/object:Gem::Dependency
175
175
  name: terminal-table
176
176
  requirement: !ruby/object:Gem::Requirement
@@ -329,7 +329,7 @@ homepage: https://github.com/danger/danger
329
329
  licenses:
330
330
  - MIT
331
331
  metadata: {}
332
- post_install_message:
332
+ post_install_message:
333
333
  rdoc_options: []
334
334
  require_paths:
335
335
  - lib
@@ -344,8 +344,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
344
344
  - !ruby/object:Gem::Version
345
345
  version: '0'
346
346
  requirements: []
347
- rubygems_version: 3.1.6
348
- signing_key:
347
+ rubygems_version: 3.3.26
348
+ signing_key:
349
349
  specification_version: 4
350
350
  summary: Like Unit Tests, but for your Team Culture.
351
351
  test_files: []