dependabot-julia 0.399.0 → 0.401.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: 6c3e654c12908a919461515b6c592e15e2382f106f203b0def25ed45bc68205b
4
- data.tar.gz: b9c55d333c085e4cd51fd74d88e33fd98c8d379ea41be890fcf83c561f4c06ba
3
+ metadata.gz: 398595cb4fa23d10fc7222d9efabbe19233383ad331a3db60cdf9d7d4305db42
4
+ data.tar.gz: 9017711a76c26f29f4d783028772647ad3977291ce08d63e73cb47889dfba4ce
5
5
  SHA512:
6
- metadata.gz: 3a1cdb18bb53b82740729fd4ce2c8276457dd0ac796f38263844fc5ec6e20a36c84d9d2882f04d0834d006080136b5f5b457eed630ad9434625912a174362baf
7
- data.tar.gz: a74b876e844080eb47dad827cef47cef9c861e999e8afcc013da8d12206a6a8e2131fc5810af4e82260f38c179b053d3dae0b64c2badb8bfb3ba3af3c9950f19
6
+ metadata.gz: c0bdb2c5caeb3e37db65702f1eaa3713b16687772fef049aea556d60c33946bd445aca6eb1ba6aaa8c55bfc814172d6dbf9107a27ed9db063c151ddab4737870
7
+ data.tar.gz: 0b409f8b384e0690a26fb697750e30551d7f4e8fb07f246f276d068dfa2225d9027d99bd088fb1fa0fc8d3e577ec2d977c5ea0b737b1cbb531237df49b7e2f1d
@@ -19,6 +19,12 @@ module Dependabot
19
19
  # comment ("[compat] # pins")
20
20
  COMPAT_HEADER_PATTERN = /^\s*\[compat\]\s*(?:#.*)?$/
21
21
 
22
+ # A compat entry part that admits only 0.0.0 ("<0.0.1", "< 0.0.1")
23
+ ZERO_VERSION_BOUND_PATTERN = /\A<\s*0\.0\.1\z/
24
+
25
+ STDLIB_COMPAT_PSA_URL =
26
+ "https://discourse.julialang.org/t/psa-compat-requirements-in-the-general-registry-are-changing/104958"
27
+
22
28
  sig { returns(T::Array[Regexp]) }
23
29
  def self.updated_files_regex
24
30
  [/(?:Julia)?Project\.toml$/i, /(?:Julia)?Manifest(?:-v[\d.]+)?\.toml$/i]
@@ -48,7 +54,9 @@ module Dependabot
48
54
 
49
55
  # Use DependabotHelper.jl for manifest updating
50
56
  # This works for both standard packages and workspace packages
51
- updated_files_with_julia_helper
57
+ updated_files = updated_files_with_julia_helper
58
+ add_zero_version_bound_notice
59
+ updated_files
52
60
  end
53
61
 
54
62
  sig { returns(T::Array[Dependabot::DependencyFile]) }
@@ -216,6 +224,40 @@ module Dependabot
216
224
 
217
225
  private
218
226
 
227
+ # A "<0.0.1" bound on a stdlib looks like a bug unless explained.
228
+ # The text names no packages, so a PR across several directories shows it only once.
229
+ sig { void }
230
+ def add_zero_version_bound_notice
231
+ bound_added = dependencies.any? do |dependency|
232
+ dependency.metadata.key?(:julia_stdlib_versions) &&
233
+ !zero_version_bound?(dependency.previous_requirements) &&
234
+ zero_version_bound?(dependency.requirements)
235
+ end
236
+ return unless bound_added
237
+
238
+ @notices << Dependabot::Notice.new(
239
+ mode: Dependabot::Notice::NoticeMode::INFO,
240
+ type: "julia_stdlib_zero_version_bound",
241
+ package_manager_name: "Pkg",
242
+ title: "Why stdlib compat entries include `<0.0.1`",
243
+ description: "This update adds `<0.0.1` to standard library compat entries. Before Julia 1.10, " \
244
+ "`Pkg.test()` gave standard libraries version 0.0.0, so while the `julia` compat entry " \
245
+ "admits those releases, a stdlib compat entry needs `<0.0.1` for tests to resolve. " \
246
+ "Raising the `julia` compat entry to `1.10` or later removes the need for it. " \
247
+ "See the [stdlib compat PSA](#{STDLIB_COMPAT_PSA_URL}).",
248
+ show_in_pr: true,
249
+ show_alert: false
250
+ )
251
+ end
252
+
253
+ sig { params(requirements: T.nilable(T::Array[T::Hash[Symbol, T.untyped]])).returns(T::Boolean) }
254
+ def zero_version_bound?(requirements)
255
+ (requirements || []).any? do |req|
256
+ requirement = T.cast(req[:requirement], T.nilable(String)).to_s
257
+ requirement.split(",").any? { |part| part.strip.match?(ZERO_VERSION_BOUND_PATTERN) }
258
+ end
259
+ end
260
+
219
261
  sig { returns(T::Hash[String, T::Hash[String, String]]) }
220
262
  def build_updates_hash
221
263
  @build_updates_hash ||= T.let(
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-julia
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.399.0
4
+ version: 0.401.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.399.0
18
+ version: 0.401.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.399.0
25
+ version: 0.401.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -262,7 +262,7 @@ licenses:
262
262
  - MIT
263
263
  metadata:
264
264
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
265
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.399.0
265
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.401.0
266
266
  rdoc_options: []
267
267
  require_paths:
268
268
  - lib