dependabot-conda 0.331.0 → 0.333.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: cc19f39b65ce06c34486f5c76beec237b6f8d0b80ec1923a9abb4f65d185fe58
4
- data.tar.gz: fbc90795ea5658d1927fe5a962d6d5197d7780f14800e7522229f74cbf2b51ba
3
+ metadata.gz: 5c5cdc8af0c949c55d7b2f6311be2ef46a8f063ddc716e0a4b84807aa192a8e7
4
+ data.tar.gz: '09704ba8e8b6d9df2d8d65773f4d09e291911e8996a1203b6e1d69198a3f5588'
5
5
  SHA512:
6
- metadata.gz: e03d6276d31c07caa4b3f5f78d739a5bb07ec06829dde598a509c6cf28be57a99a02593e45f6d25c11eb97ab452c9b6b1792761f7d32d40382ee28bec622c43e
7
- data.tar.gz: a2b1a800a86d9c557294fa2741ccb6b618fc98e4aa7755eff791835c46672ede6458d7336155db95c366b97c3afe38e20b45b391b2b7d6b5c56de2a26ea9d1ab
6
+ metadata.gz: 11b5c4cc3a4a385c4d33c7501cd7878b049c2f7410acea594be63977c4076bbdefabceecb2756d308542e7199c94c2652f796394cd4139a1e39cfe7829313afa
7
+ data.tar.gz: 4bbff4206b04159db91acdb52985b6f606edcd389e842512747a44bd483c36c537f1037cb877067711b7ecbde2f6a7ae15560bed7a8057f5c9b9a1a72fe39324
@@ -54,7 +54,7 @@ module Dependabot
54
54
  credentials: credentials,
55
55
  ignored_versions: ignored_versions,
56
56
  raise_on_ignored: @raise_on_ignored,
57
- security_advisories: security_advisories,
57
+ security_advisories: python_compatible_security_advisories,
58
58
  cooldown_options: @cooldown_options
59
59
  ),
60
60
  T.nilable(Dependabot::Python::UpdateChecker::LatestVersionFinder)
@@ -81,6 +81,28 @@ module Dependabot
81
81
  end
82
82
  end
83
83
 
84
+ sig { returns(T::Array[Dependabot::SecurityAdvisory]) }
85
+ def python_compatible_security_advisories
86
+ security_advisories.map do |advisory|
87
+ # Convert Conda requirements to Python requirements for pip compatibility
88
+ python_vulnerable_versions = advisory.vulnerable_versions.flat_map do |conda_req|
89
+ Dependabot::Python::Requirement.requirements_array(conda_req.to_s)
90
+ end
91
+
92
+ python_safe_versions = advisory.safe_versions.flat_map do |conda_req|
93
+ Dependabot::Python::Requirement.requirements_array(conda_req.to_s)
94
+ end
95
+
96
+ # Normalize security advisories to use 'pip' package manager for Python delegation
97
+ Dependabot::SecurityAdvisory.new(
98
+ dependency_name: advisory.dependency_name,
99
+ package_manager: "pip", # Use pip for PyPI compatibility
100
+ vulnerable_versions: python_vulnerable_versions,
101
+ safe_versions: python_safe_versions
102
+ )
103
+ end
104
+ end
105
+
84
106
  sig { params(conda_requirement: T.nilable(String)).returns(T.nilable(String)) }
85
107
  def convert_conda_requirement_to_pip(conda_requirement)
86
108
  RequirementTranslator.conda_to_pip(conda_requirement)
@@ -25,7 +25,6 @@ module Dependabot
25
25
  requirements_update_strategy: T.nilable(Dependabot::RequirementsUpdateStrategy),
26
26
  dependency_group: T.nilable(Dependabot::DependencyGroup),
27
27
  update_cooldown: T.nilable(Dependabot::Package::ReleaseCooldownOptions),
28
- exclude_paths: T.nilable(T::Array[String]),
29
28
  options: T::Hash[Symbol, T.untyped]
30
29
  )
31
30
  .void
@@ -34,7 +33,7 @@ module Dependabot
34
33
  repo_contents_path: nil, ignored_versions: [],
35
34
  raise_on_ignored: false, security_advisories: [],
36
35
  requirements_update_strategy: nil, dependency_group: nil,
37
- update_cooldown: nil, exclude_paths: [], options: {})
36
+ update_cooldown: nil, options: {})
38
37
  super
39
38
  @latest_version = T.let(nil, T.nilable(T.any(String, Dependabot::Version)))
40
39
  @lowest_resolvable_security_fix_version = T.let(nil, T.nilable(Dependabot::Version))
@@ -135,19 +134,26 @@ module Dependabot
135
134
  def fetch_lowest_resolvable_security_fix_version
136
135
  # Delegate to latest_version_finder for security fix resolution
137
136
  # This leverages Python ecosystem's security advisory infrastructure
138
- latest_version_finder.lowest_security_fix_version
137
+ fix_version = latest_version_finder.lowest_security_fix_version
138
+
139
+ # If no security fix version is found, fall back to latest_resolvable_version
140
+ if fix_version.nil?
141
+ fallback = latest_resolvable_version
142
+ return fallback.is_a?(String) ? Dependabot::Conda::Version.new(fallback) : fallback
143
+ end
144
+
145
+ fix_version
139
146
  end
140
147
 
141
148
  sig { override.returns(T::Boolean) }
142
149
  def latest_version_resolvable_with_full_unlock?
143
- # For Phase 3, return false as placeholder since we're not doing full dependency resolution
150
+ # No lock file support for Conda
144
151
  false
145
152
  end
146
153
 
147
154
  sig { override.returns(T::Array[Dependabot::Dependency]) }
148
155
  def updated_dependencies_after_full_unlock
149
- # For Phase 3, return empty array as placeholder
150
- []
156
+ raise NotImplementedError
151
157
  end
152
158
 
153
159
  sig { params(requirement_string: String, new_version: String).returns(String) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-conda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.331.0
4
+ version: 0.333.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -15,28 +15,28 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.331.0
18
+ version: 0.333.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.331.0
25
+ version: 0.333.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: dependabot-python
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - '='
31
31
  - !ruby/object:Gem::Version
32
- version: 0.331.0
32
+ version: 0.333.0
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - '='
38
38
  - !ruby/object:Gem::Version
39
- version: 0.331.0
39
+ version: 0.333.0
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: debug
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -225,14 +225,14 @@ dependencies:
225
225
  requirements:
226
226
  - - "~>"
227
227
  - !ruby/object:Gem::Version
228
- version: '3.18'
228
+ version: '3.25'
229
229
  type: :development
230
230
  prerelease: false
231
231
  version_requirements: !ruby/object:Gem::Requirement
232
232
  requirements:
233
233
  - - "~>"
234
234
  - !ruby/object:Gem::Version
235
- version: '3.18'
235
+ version: '3.25'
236
236
  - !ruby/object:Gem::Dependency
237
237
  name: webrick
238
238
  requirement: !ruby/object:Gem::Requirement
@@ -273,7 +273,7 @@ licenses:
273
273
  - MIT
274
274
  metadata:
275
275
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
276
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.331.0
276
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.333.0
277
277
  rdoc_options: []
278
278
  require_paths:
279
279
  - lib