dependabot-common 0.368.0 → 0.369.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 97fcef0209b5b2952117cc5243bafe7197d64e5f2a580e67ad49150ec48e9e15
|
|
4
|
+
data.tar.gz: 346323c2b42a8867babee2db48e172c481ba9ff1db34bf27cd5b13524fbc20ce
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 23598cbf345a9739f2d70bc0a61f144b73d941fda669b8eb5f98a33780d3630de6606e10901930279dc6884699f959f2c632fcedf2645c7831fd0ecaf2a71f36
|
|
7
|
+
data.tar.gz: '037492b04dc67c83c2a83fcd9779231ed396cab4e5495d8647c9d6586a12e6283f72642c4ad6e5bc76581dcc41a6f8385bacaee47854dde6ceb9d4dc20af9b55'
|
|
@@ -9,6 +9,7 @@ require "sorbet-runtime"
|
|
|
9
9
|
require "dependabot/security_advisory"
|
|
10
10
|
require "dependabot/dependency"
|
|
11
11
|
require "dependabot/update_checkers/version_filters"
|
|
12
|
+
require "dependabot/update_checkers/cooldown_calculation"
|
|
12
13
|
require "dependabot/registry_client"
|
|
13
14
|
require "dependabot/package/package_details"
|
|
14
15
|
require "dependabot/package/release_cooldown_options"
|
|
@@ -19,8 +20,6 @@ module Dependabot
|
|
|
19
20
|
extend T::Sig
|
|
20
21
|
extend T::Helpers
|
|
21
22
|
|
|
22
|
-
DAY_IN_SECONDS = T.let(24 * 60 * 60, Integer)
|
|
23
|
-
|
|
24
23
|
abstract!
|
|
25
24
|
|
|
26
25
|
sig { returns(Dependabot::Dependency) }
|
|
@@ -202,13 +201,18 @@ module Dependabot
|
|
|
202
201
|
def in_cooldown_period?(release)
|
|
203
202
|
return false unless release.released_at
|
|
204
203
|
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
cooldown = @cooldown_options
|
|
205
|
+
return false if Dependabot::UpdateCheckers::CooldownCalculation.skip_cooldown?(
|
|
206
|
+
cooldown, dependency.name, cooldown_enabled: cooldown_enabled?
|
|
207
|
+
)
|
|
207
208
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
209
|
+
current_version = version_class.correct?(dependency.version) ? version_class.new(dependency.version) : nil
|
|
210
|
+
days = Dependabot::UpdateCheckers::CooldownCalculation.cooldown_days_for(
|
|
211
|
+
T.must(cooldown), current_version, release.version
|
|
212
|
+
)
|
|
213
|
+
Dependabot::UpdateCheckers::CooldownCalculation.within_cooldown_window?(
|
|
214
|
+
T.must(release.released_at), days
|
|
215
|
+
)
|
|
212
216
|
end
|
|
213
217
|
|
|
214
218
|
sig do
|
|
@@ -308,27 +312,13 @@ module Dependabot
|
|
|
308
312
|
end
|
|
309
313
|
def cooldown_days_for(current_version, new_version)
|
|
310
314
|
cooldown = @cooldown_options
|
|
311
|
-
return 0 if
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
return cooldown.default_days if current_version.nil?
|
|
315
|
-
|
|
316
|
-
current_version_semver = current_version.semver_parts
|
|
317
|
-
new_version_semver = new_version.semver_parts
|
|
318
|
-
|
|
319
|
-
# If semver_parts is nil for either, return default cooldown
|
|
320
|
-
return cooldown.default_days if current_version_semver.nil? || new_version_semver.nil?
|
|
321
|
-
|
|
322
|
-
# Ensure values are always integers
|
|
323
|
-
current_major, current_minor, current_patch = current_version_semver
|
|
324
|
-
new_major, new_minor, new_patch = new_version_semver
|
|
325
|
-
|
|
326
|
-
# Determine cooldown based on version difference
|
|
327
|
-
return cooldown.semver_major_days if new_major > current_major
|
|
328
|
-
return cooldown.semver_minor_days if new_minor > current_minor
|
|
329
|
-
return cooldown.semver_patch_days if new_patch > current_patch
|
|
315
|
+
return 0 if Dependabot::UpdateCheckers::CooldownCalculation.skip_cooldown?(
|
|
316
|
+
cooldown, dependency.name, cooldown_enabled: cooldown_enabled?
|
|
317
|
+
)
|
|
330
318
|
|
|
331
|
-
|
|
319
|
+
Dependabot::UpdateCheckers::CooldownCalculation.cooldown_days_for(
|
|
320
|
+
T.must(cooldown), current_version, new_version
|
|
321
|
+
)
|
|
332
322
|
end
|
|
333
323
|
|
|
334
324
|
sig { returns(T::Boolean) }
|
|
@@ -54,6 +54,29 @@ module Dependabot
|
|
|
54
54
|
@include.empty? || @include.any? { |pattern| File.fnmatch?(pattern, dependency_name) }
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
+
sig do
|
|
58
|
+
params(
|
|
59
|
+
current_semver: T.nilable([Integer, Integer, Integer]),
|
|
60
|
+
new_semver: T.nilable([Integer, Integer, Integer])
|
|
61
|
+
).returns(Integer)
|
|
62
|
+
end
|
|
63
|
+
def cooldown_days_for(current_semver, new_semver)
|
|
64
|
+
return @default_days if current_semver.nil? || new_semver.nil?
|
|
65
|
+
|
|
66
|
+
current_major, current_minor, current_patch = current_semver
|
|
67
|
+
new_major, new_minor, new_patch = new_semver
|
|
68
|
+
|
|
69
|
+
return @semver_major_days if new_major > current_major
|
|
70
|
+
|
|
71
|
+
if new_major == current_major
|
|
72
|
+
return @semver_minor_days if new_minor > current_minor
|
|
73
|
+
return @semver_patch_days if new_minor == current_minor &&
|
|
74
|
+
new_patch > current_patch
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
@default_days
|
|
78
|
+
end
|
|
79
|
+
|
|
57
80
|
private
|
|
58
81
|
|
|
59
82
|
sig { params(dependency_name: String).returns(T::Boolean) }
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require "sorbet-runtime"
|
|
5
|
+
require "dependabot/package/release_cooldown_options"
|
|
6
|
+
require "dependabot/version"
|
|
7
|
+
|
|
8
|
+
module Dependabot
|
|
9
|
+
module UpdateCheckers
|
|
10
|
+
# Shared utility module for cooldown period calculations.
|
|
11
|
+
#
|
|
12
|
+
# Provides stateless module methods used by ecosystem update checkers
|
|
13
|
+
# to determine whether a release is within its cooldown window and
|
|
14
|
+
# how many cooldown days apply for a given version bump.
|
|
15
|
+
module CooldownCalculation
|
|
16
|
+
extend T::Sig
|
|
17
|
+
|
|
18
|
+
DAY_IN_SECONDS = T.let(24 * 60 * 60, Integer)
|
|
19
|
+
|
|
20
|
+
sig { params(release_date: Time, cooldown_days: Integer).returns(T::Boolean) }
|
|
21
|
+
def self.within_cooldown_window?(release_date, cooldown_days)
|
|
22
|
+
return false if cooldown_days <= 0
|
|
23
|
+
|
|
24
|
+
(Time.now.to_i - release_date.to_i) < (cooldown_days * DAY_IN_SECONDS)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
sig do
|
|
28
|
+
params(
|
|
29
|
+
cooldown: Dependabot::Package::ReleaseCooldownOptions,
|
|
30
|
+
current_version: T.nilable(Dependabot::Version),
|
|
31
|
+
new_version: Dependabot::Version
|
|
32
|
+
).returns(Integer)
|
|
33
|
+
end
|
|
34
|
+
def self.cooldown_days_for(cooldown, current_version, new_version)
|
|
35
|
+
return cooldown.default_days unless current_version
|
|
36
|
+
|
|
37
|
+
cooldown.cooldown_days_for(
|
|
38
|
+
current_version.semver_parts,
|
|
39
|
+
new_version.semver_parts
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
params(
|
|
45
|
+
cooldown: T.nilable(Dependabot::Package::ReleaseCooldownOptions),
|
|
46
|
+
dependency_name: String,
|
|
47
|
+
cooldown_enabled: T::Boolean
|
|
48
|
+
).returns(T::Boolean)
|
|
49
|
+
end
|
|
50
|
+
def self.skip_cooldown?(cooldown, dependency_name, cooldown_enabled: true)
|
|
51
|
+
cooldown.nil? || !cooldown_enabled || !cooldown.included?(dependency_name)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
data/lib/dependabot.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dependabot-common
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.369.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dependabot
|
|
@@ -603,6 +603,7 @@ files:
|
|
|
603
603
|
- lib/dependabot/update_checkers.rb
|
|
604
604
|
- lib/dependabot/update_checkers/README.md
|
|
605
605
|
- lib/dependabot/update_checkers/base.rb
|
|
606
|
+
- lib/dependabot/update_checkers/cooldown_calculation.rb
|
|
606
607
|
- lib/dependabot/update_checkers/version_filters.rb
|
|
607
608
|
- lib/dependabot/utils.rb
|
|
608
609
|
- lib/dependabot/version.rb
|
|
@@ -616,7 +617,7 @@ licenses:
|
|
|
616
617
|
- MIT
|
|
617
618
|
metadata:
|
|
618
619
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
619
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
|
620
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.369.0
|
|
620
621
|
rdoc_options: []
|
|
621
622
|
require_paths:
|
|
622
623
|
- lib
|