dependabot-nix 0.372.0 → 0.373.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: 917b5846e8f6ab8e635d220b8a3e2a35cdfc954056cef208377752207a180b91
4
- data.tar.gz: 35a7af97d0d7225b0e390cdb705eb0f58650d1895a73c399d8328926b5bff74d
3
+ metadata.gz: 53b61523c3b571914ab9f84f386c8ab456efb4f93db7681a1721811daa723003
4
+ data.tar.gz: 99a851d470ab8258b980f08ac553546864d7e7d5a68375ee6d6793553f923b25
5
5
  SHA512:
6
- metadata.gz: d9f38a49f682367b5e8ba1a0573b1d2c75ae5672f04e818b26e69127db9e71eeddf2acec21e834e28c3ee105f0191d78fc78b9b84c5f0bd903d13dd432fbeb90
7
- data.tar.gz: d2ca3a0197a030d0383f5b67d7146e207d97770c156604e8b0da0a3aba91e4a8720b3a187ae161f404155cf3b81046f7f4ba86320e3a732004f1a5652bfc2d32
6
+ metadata.gz: b560b5794a2aedca3c16c62f47f14f56255d8cf64dcce450b4d01f3783adb304ad632597bccf2dc5bed7af77aa718f3fed0bd5bda8adcdaca24d103498afc27f
7
+ data.tar.gz: 4c09eb9971fd0c5dc5d2b80185c41ba784edbd219bad03a3b51e4f99d2bfcdfb04261a43303f12dd7ebb392c8a2797b58112d304a5850edd9abd2c355c50e4e9
@@ -14,6 +14,43 @@ module Dependabot
14
14
  class LatestVersionFinder < Dependabot::Package::PackageLatestVersionFinder
15
15
  extend T::Sig
16
16
 
17
+ # All Nix versions are pseudo-versions with prerelease segments (0.0.0-0.N),
18
+ # so we must always include prereleases to avoid filtering everything out.
19
+ sig { override.returns(T::Boolean) }
20
+ def wants_prerelease?
21
+ true
22
+ end
23
+
24
+ protected
25
+
26
+ sig do
27
+ override.params(releases: T::Array[Dependabot::Package::PackageRelease])
28
+ .returns(T::Array[Dependabot::Package::PackageRelease])
29
+ end
30
+ def filter_by_cooldown(releases)
31
+ return releases unless cooldown_enabled?
32
+ return releases unless cooldown_options
33
+
34
+ filtered = releases.reject { |release| in_cooldown_period?(release) }
35
+
36
+ if releases.count > filtered.count
37
+ Dependabot.logger.info("Filtered out #{releases.count - filtered.count} versions due to cooldown")
38
+ end
39
+
40
+ if filtered.empty? && !releases.empty? && dependency.version
41
+ Dependabot.logger.info(
42
+ "All versions filtered by cooldown for #{dependency.name}, " \
43
+ "falling back to current version #{dependency.version}"
44
+ )
45
+
46
+ return [current_dependency_release]
47
+ end
48
+
49
+ filtered
50
+ end
51
+
52
+ private
53
+
17
54
  sig do
18
55
  override.params(releases: T::Array[Dependabot::Package::PackageRelease])
19
56
  .returns(T::Array[Dependabot::Package::PackageRelease])
@@ -25,22 +62,11 @@ module Dependabot
25
62
  end
26
63
 
27
64
  # Fallback so the current version is always in the candidate set
28
- releases << Dependabot::Package::PackageRelease.new(
29
- version: Nix::Version.new("0.0.0-0.0"),
30
- tag: dependency.version
31
- )
65
+ current_release = current_dependency_release
66
+ releases << current_release unless releases.any? { |r| r.version == current_release.version }
32
67
  releases
33
68
  end
34
69
 
35
- # All Nix versions are pseudo-versions with prerelease segments (0.0.0-0.N),
36
- # so we must always include prereleases to avoid filtering everything out.
37
- sig { override.returns(T::Boolean) }
38
- def wants_prerelease?
39
- true
40
- end
41
-
42
- private
43
-
44
70
  sig { override.returns(T.nilable(Dependabot::Package::PackageDetails)) }
45
71
  def package_details
46
72
  @package_details ||= T.let(
@@ -54,6 +80,14 @@ module Dependabot
54
80
  T.nilable(Dependabot::Package::PackageDetails)
55
81
  )
56
82
  end
83
+
84
+ sig { returns(Dependabot::Package::PackageRelease) }
85
+ def current_dependency_release
86
+ Dependabot::Package::PackageRelease.new(
87
+ version: Nix::Version.new("0.0.0-0.0"),
88
+ tag: dependency.version
89
+ )
90
+ end
57
91
  end
58
92
  end
59
93
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-nix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.372.0
4
+ version: 0.373.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.372.0
18
+ version: 0.373.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.372.0
25
+ version: 0.373.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -259,7 +259,7 @@ licenses:
259
259
  - MIT
260
260
  metadata:
261
261
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
262
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.372.0
262
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.373.0
263
263
  rdoc_options: []
264
264
  require_paths:
265
265
  - lib