dependabot-swift 0.326.1 → 0.328.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: cd2f3a55df80b2517367425e238d08dab58f22331ed6903bee038683cfd6ed2b
|
4
|
+
data.tar.gz: f1359a0add51ed5378e7ba0a685ffda9b7a4f43b95e136bbd821282d5b35e599
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8874fa35524fc800cc92b812dc45c878a1cf072048d41dfc2f6b30989800f3622f14bb135b839d050e395f243045976a028cc012cb4990ee4e51af2391442ede
|
7
|
+
data.tar.gz: d8db379b5685d6f8714c9e9ab6221ffd74d7bc9ffba7f0dc6d2cb94dac09cdd643d142108deeaecf0b8e538d85dd38f52fae6456608134549bba0a03b8cfdb74
|
@@ -37,28 +37,36 @@ module Dependabot
|
|
37
37
|
sig { returns(Dependabot::Dependency) }
|
38
38
|
attr_reader :dependency
|
39
39
|
|
40
|
+
sig { returns(T::Array[Dependabot::Credential]) }
|
41
|
+
attr_reader :credentials
|
42
|
+
|
43
|
+
sig { returns(T.nilable(Dependabot::Package::ReleaseCooldownOptions)) }
|
44
|
+
attr_reader :cooldown_options
|
45
|
+
|
46
|
+
sig { returns(Dependabot::GitCommitChecker) }
|
47
|
+
attr_reader :git_commit_checker
|
48
|
+
|
40
49
|
# Return latest version tag for the dependency, it removes tags that are in cooldown period
|
41
|
-
# and returns the latest version tag that is not in cooldown period. If
|
42
|
-
#
|
50
|
+
# and returns the latest version tag that is not in cooldown period. If an exception occurs
|
51
|
+
# and returns the latest version tag that is not in cooldown period. If an exception occurs,
|
52
|
+
# it will return the latest version tag from the git_commit_checker, as before.
|
43
53
|
sig { returns(T.nilable(T::Hash[Symbol, T.untyped])) }
|
44
54
|
def latest_version_tag
|
45
55
|
# step one fetch allowed version tags and
|
56
|
+
return git_commit_checker.local_tag_for_latest_version unless cooldown_enabled?
|
57
|
+
|
46
58
|
allowed_version_tags = git_commit_checker.allowed_version_tags
|
47
|
-
|
48
|
-
#
|
49
|
-
|
50
|
-
|
51
|
-
allowed_version_tags.reject! do |gitref_filtered|
|
52
|
-
true if gitref_filtered.name == tag_name
|
53
|
-
end
|
59
|
+
select_version_tags_in_cooldown_period&.each do |tag_name|
|
60
|
+
# filter out if name is in cooldown period
|
61
|
+
allowed_version_tags.reject! do |gitref_filtered|
|
62
|
+
gitref_filtered.name == tag_name
|
54
63
|
end
|
55
|
-
Dependabot.logger.info("Allowed version tags after filtering versions in cooldown:
|
56
|
-
#{allowed_version_tags.map(&:name).join(', ')}")
|
57
|
-
git_commit_checker.max_local_tag(allowed_version_tags)
|
58
|
-
rescue StandardError => e
|
59
|
-
Dependabot.logger.error("Error fetching latest version tag: #{e.message}")
|
60
|
-
git_commit_checker.local_tag_for_latest_version
|
61
64
|
end
|
65
|
+
|
66
|
+
git_commit_checker.max_local_tag(allowed_version_tags)
|
67
|
+
rescue StandardError => e
|
68
|
+
Dependabot.logger.error("Error fetching latest version tag: #{e.message}")
|
69
|
+
git_commit_checker.local_tag_for_latest_version
|
62
70
|
end
|
63
71
|
|
64
72
|
sig { returns(T.nilable(T::Array[String])) }
|
@@ -66,7 +74,7 @@ module Dependabot
|
|
66
74
|
version_tags_in_cooldown_period = T.let([], T::Array[String])
|
67
75
|
|
68
76
|
package_details_fetcher.fetch_tag_and_release_date.each do |git_tag_with_detail|
|
69
|
-
if check_if_version_in_cooldown_period?(
|
77
|
+
if check_if_version_in_cooldown_period?(git_tag_with_detail)
|
70
78
|
version_tags_in_cooldown_period << git_tag_with_detail.tag
|
71
79
|
end
|
72
80
|
end
|
@@ -76,27 +84,59 @@ module Dependabot
|
|
76
84
|
version_tags_in_cooldown_period
|
77
85
|
end
|
78
86
|
|
79
|
-
sig { params(
|
80
|
-
def check_if_version_in_cooldown_period?(
|
81
|
-
return false unless release_date
|
87
|
+
sig { params(tag_with_detail: Dependabot::GitTagWithDetail).returns(T::Boolean) }
|
88
|
+
def check_if_version_in_cooldown_period?(tag_with_detail)
|
89
|
+
return false unless tag_with_detail.release_date
|
82
90
|
|
83
|
-
|
84
|
-
|
91
|
+
current_version = version_class.correct?(dependency.version) ? version_class.new(dependency.version) : nil
|
92
|
+
days = cooldown_days_for(current_version, version_class.new(tag_with_detail.tag.delete("v")))
|
85
93
|
|
86
|
-
return false if cooldown.nil?
|
87
|
-
|
88
|
-
# Get maximum cooldown days based on semver parts
|
89
|
-
days = [cooldown.default_days, cooldown.semver_major_days].max
|
90
|
-
days = cooldown.semver_minor_days unless days > cooldown.semver_minor_days
|
91
|
-
days = cooldown.semver_patch_days unless days > cooldown.semver_patch_days
|
92
94
|
# Calculate the number of seconds passed since the release
|
93
|
-
passed_seconds = Time.now.to_i - release_date_to_seconds(release_date)
|
95
|
+
passed_seconds = Time.now.to_i - release_date_to_seconds(tag_with_detail.release_date)
|
94
96
|
# Check if the release is within the cooldown period
|
95
97
|
passed_seconds < days * DAY_IN_SECONDS
|
96
98
|
end
|
97
99
|
|
98
|
-
sig
|
100
|
+
sig do
|
101
|
+
params(
|
102
|
+
current_version: T.nilable(Dependabot::Version),
|
103
|
+
new_version: Dependabot::Version
|
104
|
+
).returns(Integer)
|
105
|
+
end
|
106
|
+
def cooldown_days_for(current_version, new_version)
|
107
|
+
return 0 unless cooldown_enabled?
|
108
|
+
|
109
|
+
cooldown = T.must(cooldown_options)
|
110
|
+
return 0 unless cooldown.included?(dependency.name)
|
111
|
+
return cooldown.default_days if current_version.nil?
|
112
|
+
|
113
|
+
current_version_semver = current_version.semver_parts
|
114
|
+
new_version_semver = new_version.semver_parts
|
115
|
+
|
116
|
+
# If semver_parts is nil for either, return default cooldown
|
117
|
+
return cooldown.default_days if current_version_semver.nil? || new_version_semver.nil?
|
118
|
+
|
119
|
+
# Ensure values are always integers
|
120
|
+
current_major, current_minor, current_patch = current_version_semver
|
121
|
+
new_major, new_minor, new_patch = new_version_semver
|
122
|
+
|
123
|
+
# Determine cooldown based on version difference
|
124
|
+
return cooldown.semver_major_days if new_major > current_major
|
125
|
+
return cooldown.semver_minor_days if new_minor > current_minor
|
126
|
+
return cooldown.semver_patch_days if new_patch > current_patch
|
127
|
+
|
128
|
+
cooldown.default_days
|
129
|
+
end
|
130
|
+
|
131
|
+
sig { returns(T.class_of(Dependabot::Version)) }
|
132
|
+
def version_class
|
133
|
+
dependency.version_class
|
134
|
+
end
|
135
|
+
|
136
|
+
sig { params(release_date: T.nilable(String)).returns(Integer) }
|
99
137
|
def release_date_to_seconds(release_date)
|
138
|
+
return 0 unless release_date
|
139
|
+
|
100
140
|
Time.parse(release_date).to_i
|
101
141
|
rescue ArgumentError => e
|
102
142
|
Dependabot.logger.error("Invalid release date format: #{release_date} and error: #{e.message}")
|
@@ -114,17 +154,16 @@ module Dependabot
|
|
114
154
|
)
|
115
155
|
end
|
116
156
|
|
117
|
-
# Since base class is returning false, we need to override it.
|
118
157
|
sig { returns(T::Boolean) }
|
119
158
|
def cooldown_enabled?
|
120
|
-
|
121
|
-
end
|
122
|
-
|
123
|
-
sig { returns(Dependabot::GitCommitChecker) }
|
124
|
-
attr_reader :git_commit_checker
|
159
|
+
return false if cooldown_options.nil?
|
125
160
|
|
126
|
-
|
127
|
-
|
161
|
+
cooldown = T.must(cooldown_options)
|
162
|
+
cooldown.default_days.to_i.positive? ||
|
163
|
+
cooldown.semver_major_days.to_i.positive? ||
|
164
|
+
cooldown.semver_minor_days.to_i.positive? ||
|
165
|
+
cooldown.semver_patch_days.to_i.positive?
|
166
|
+
end
|
128
167
|
end
|
129
168
|
end
|
130
169
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-swift
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.328.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.
|
18
|
+
version: 0.328.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.
|
25
|
+
version: 0.328.0
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: debug
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -266,7 +266,7 @@ licenses:
|
|
266
266
|
- MIT
|
267
267
|
metadata:
|
268
268
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
269
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
269
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.328.0
|
270
270
|
rdoc_options: []
|
271
271
|
require_paths:
|
272
272
|
- lib
|