dependabot-uv 0.340.0 → 0.342.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: ec2e9712fb58edd394412d5a56765fde673f11c9afacc91e2e0e0779ca8eb244
4
- data.tar.gz: 8303a82e77979335f79ab94b3e5f49d1d77a425c1576e1640af28812124b9bd3
3
+ metadata.gz: 1c50f8a6d534f60885de4515f5a4e3f5f94d7cf57a02e9ed1c2f3b2ea81fa9a7
4
+ data.tar.gz: 252775b2e8fa74fb0843e197d988dd70da43a04104192d75e83922a441c81dff
5
5
  SHA512:
6
- metadata.gz: 61bc36e5efe1c84338344917baa4dcad7d5d8e4fbe3987505fcc952dc26e66564f06ea7bb8ca992ec374fa82702f2ee214da0708a824f15945be9c12f37b557a
7
- data.tar.gz: d0ebaea67945d4ec2df4aa16cc6bc8f2c0c4ca77d65cef001e736e2df2137a8a64832847554cfcafbd7ecae17c618ae75c2f8d86b9e9984689a6834c18f8a6bf
6
+ metadata.gz: 85c836908a0422c49abc2c93038dd65317f326cb63b7856c9d423ed3eead0e3f233223639c84d00b14e1ad1467f9fd2107b5e1b48968638f5e37cd3a0742ccd8
7
+ data.tar.gz: 3c3207318f77f1747f6b6f019f3b8f579ac0bede2845fb55bc5ea5e3ab81fd9579482d2ac0b5e55063b0e2b086869bf0610a24bd4d1a5821fd57560ed5428d04
@@ -23,6 +23,10 @@ module Dependabot
23
23
 
24
24
  REQUIRED_FILES = %w(pyproject.toml uv.lock).freeze # At least one of these files should be present
25
25
 
26
+ UV_UNRESOLVABLE_REGEX = T.let(/× No solution found when resolving dependencies.*[\s\S]*$/, Regexp)
27
+ RESOLUTION_IMPOSSIBLE_ERROR = T.let("ResolutionImpossible", String)
28
+ UV_BUILD_FAILED_REGEX = T.let(/× Failed to build.*[\s\S]*$/, Regexp)
29
+
26
30
  sig { returns(T::Array[Dependency]) }
27
31
  attr_reader :dependencies
28
32
 
@@ -208,6 +212,48 @@ module Dependabot
208
212
  File.read("uv.lock")
209
213
  end
210
214
  end
215
+ rescue SharedHelpers::HelperSubprocessFailed => e
216
+ handle_uv_error(e)
217
+ end
218
+
219
+ sig do
220
+ params(
221
+ error: SharedHelpers::HelperSubprocessFailed
222
+ )
223
+ .returns(T.noreturn)
224
+ end
225
+ def handle_uv_error(error)
226
+ error_message = error.message
227
+ error_message_patterns = ["No solution found when resolving dependencies", "Failed to build"]
228
+
229
+ if error_message_patterns.any? { |value| error_message.include?(value) }
230
+ match_unresolvable_regex = error_message.scan(UV_UNRESOLVABLE_REGEX).last
231
+ match_failed_to_build_regex = error_message.scan(UV_BUILD_FAILED_REGEX).last
232
+
233
+ if match_unresolvable_regex
234
+ formatted_error = if match_unresolvable_regex.is_a?(Array)
235
+ match_unresolvable_regex.join
236
+ else
237
+ match_unresolvable_regex
238
+ end
239
+ end
240
+
241
+ if match_failed_to_build_regex
242
+ formatted_error = if match_failed_to_build_regex.is_a?(Array)
243
+ match_failed_to_build_regex.join
244
+ else
245
+ match_failed_to_build_regex
246
+ end
247
+ end
248
+
249
+ raise Dependabot::DependencyFileNotResolvable, formatted_error
250
+ end
251
+
252
+ if error_message.include?(RESOLUTION_IMPOSSIBLE_ERROR)
253
+ raise Dependabot::DependencyFileNotResolvable, error_message
254
+ end
255
+
256
+ raise error
211
257
  end
212
258
 
213
259
  sig { returns(T.nilable(String)) }
@@ -16,16 +16,6 @@ module Dependabot
16
16
  require_relative "file_updater/lock_file_updater"
17
17
  require_relative "file_updater/requirement_file_updater"
18
18
 
19
- sig { override.returns(T::Array[Regexp]) }
20
- def self.updated_files_regex
21
- [
22
- /^.*\.txt$/, # Match any .txt files (e.g., requirements.txt) at any level
23
- /^.*\.in$/, # Match any .in files at any level
24
- /^.*pyproject\.toml$/, # Match pyproject.toml at any level
25
- /^.*uv\.lock$/ # Match uv.lock at any level
26
- ]
27
- end
28
-
29
19
  sig { override.returns(T::Array[DependencyFile]) }
30
20
  def updated_dependency_files
31
21
  updated_files = updated_pip_compile_based_files
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-uv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.340.0
4
+ version: 0.342.1
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.340.0
18
+ version: 0.342.1
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.340.0
25
+ version: 0.342.1
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -284,7 +284,7 @@ licenses:
284
284
  - MIT
285
285
  metadata:
286
286
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
287
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.340.0
287
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.342.1
288
288
  rdoc_options: []
289
289
  require_paths:
290
290
  - lib