dependabot-composer 0.401.0 → 0.402.0

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: 0b2933307bd6bed54667c81936605350c8ae6ba7a4b370cdbd261348e4c6b337
4
- data.tar.gz: 0fc9b490113ad41da273feb357c8b08dc9b35526cdd345692501cd1cae7e03fb
3
+ metadata.gz: ab15aac0e816b7a9c6a980beac52353c3383621d9127bb66977025fc889b5b53
4
+ data.tar.gz: 72bc0fa5f98713d6dfe71246d8a50497c0312bfce3e0a4a714decd385e88adf4
5
5
  SHA512:
6
- metadata.gz: f607c29e75ecde3e59ebf634412328423ead56e8b86ea4a7e4281ef5ae4e86e31016c629c818e2b5525a85e2ffa83f977256000996bbaa8daf95530eb2ec967b
7
- data.tar.gz: eb7597f863112fafa2ebde80a654fee792b7a1ac9f2a6a92ef2cb4d5300ea046f55f3cebd5c10b80a8e00dd2adb5263fe9df386e1d88b8b2b22701b7591d1ff8
6
+ metadata.gz: 46984d5edfdd97c536cb0081b7c888b124a315f6fa28384e173a43c7317e2fd5fc10df9d5c35455dd71235f357ccf72d10bf8286ff8b46809e2170669a9ce7e1
7
+ data.tar.gz: cdacfb536eca1b4708e9f85bdabaf430860fc586f09569e7da36b09448d527ee89e88a250a574eccd16c483856d5fd5f102ccc4c7178e600619b90d0623d024d
@@ -235,7 +235,7 @@ module Dependabot
235
235
  raise DependencyFileNotResolvable, error.message
236
236
  end
237
237
 
238
- raise Dependabot::OutOfMemory if error.message.start_with?("Allowed memory size")
238
+ raise Dependabot::OutOfMemory if Helpers.out_of_memory_error?(error.message)
239
239
 
240
240
  match_data = error.message.match(%r{https?://(?<source>[^/]+)/})
241
241
  if error.message.include?("403 Forbidden") && match_data
@@ -31,6 +31,10 @@ module Dependabot
31
31
 
32
32
  GIT_REPO_URL = %r{((git|ssh|http(s)?)|(git@[\w\.]+))(:(//)?)([\w\.@\:/\-~]+)(/)?}
33
33
 
34
+ # PHP's out-of-memory errors. When the OS refuses an allocation, PHP
35
+ # prints "mmap() failed" lines before "Out of memory", so match any line.
36
+ OUT_OF_MEMORY_ERROR = /^(?:Allowed memory size|Out of memory)/
37
+
34
38
  sig do
35
39
  params(
36
40
  composer_json: ManifestDocument,
@@ -75,6 +79,11 @@ module Dependabot
75
79
  V2
76
80
  end
77
81
 
82
+ sig { params(message: String).returns(T::Boolean) }
83
+ def self.out_of_memory_error?(message)
84
+ OUT_OF_MEMORY_ERROR.match?(message)
85
+ end
86
+
78
87
  sig { params(message: String).returns(T.nilable(String)) }
79
88
  def self.dependency_url_from_git_clone_error(message)
80
89
  extract_and_clean_dependency_url(message, FAILED_GIT_CLONE_WITH_MIRROR) ||
@@ -389,7 +389,7 @@ module Dependabot
389
389
 
390
390
  source = url.gsub(%r{/packages.json$}, "")
391
391
  raise Dependabot::PrivateSourceTimedOut, source
392
- elsif error.message.start_with?("Allowed memory size", "Out of memory")
392
+ elsif Helpers.out_of_memory_error?(error.message)
393
393
  raise Dependabot::OutOfMemory
394
394
  elsif error.error_context[:process_termsig] == Dependabot::SharedHelpers::SIGKILL
395
395
  # If the helper was SIGKILL-ed, assume the OOMKiller did it
@@ -439,6 +439,7 @@ module Dependabot
439
439
  end
440
440
  end
441
441
 
442
+ # rubocop:disable Metrics/AbcSize
442
443
  sig { returns(T::Boolean) }
443
444
  def check_original_requirements_resolvable
444
445
  base_directory = T.must(dependency_files.first).directory
@@ -454,6 +455,8 @@ module Dependabot
454
455
 
455
456
  true
456
457
  rescue SharedHelpers::HelperSubprocessFailed => e
458
+ raise Dependabot::OutOfMemory if Helpers.out_of_memory_error?(e.message)
459
+
457
460
  if e.message.match?(MISSING_EXPLICIT_PLATFORM_REQ_REGEX)
458
461
  missing_extensions =
459
462
  e.message.scan(MISSING_EXPLICIT_PLATFORM_REQ_REGEX)
@@ -475,6 +478,7 @@ module Dependabot
475
478
 
476
479
  raise Dependabot::DependencyFileNotResolvable, e.message
477
480
  end
481
+ # rubocop:enable Metrics/AbcSize
478
482
 
479
483
  sig { params(requirements: T::Array[String]).returns(T.nilable(String)) }
480
484
  def version_for_reqs(requirements)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-composer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.401.0
4
+ version: 0.402.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.401.0
18
+ version: 0.402.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 0.401.0
25
+ version: 0.402.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -281,7 +281,7 @@ licenses:
281
281
  - MIT
282
282
  metadata:
283
283
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
284
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.401.0
284
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.402.0
285
285
  rdoc_options: []
286
286
  require_paths:
287
287
  - lib