dependabot-nix 0.391.0 → 0.393.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: '09f3dd2c398997b22338a69338bdd464270f86f03a2e7656f4ddb342a79a813d'
|
|
4
|
+
data.tar.gz: d768ac393fc688222704845e790a73c69fcb030b50e31543719a24546fafbaf7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 18250664fddb5c46b30a64c6881632cdce5be47017a0ef03ae3b0531f8b24392917b54e94b5cc03699ce057910da2202a0648ef8b10c635070cc3b822ff46bbe
|
|
7
|
+
data.tar.gz: 59099630207f6355731b75ff3e15154d3708d4b6bb5163dc88e1093364d1fce992370b79b88663956c79339f85e418cccabea808c8f080adbd959ed277406d6d
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# typed:
|
|
1
|
+
# typed: strong
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
require "sorbet-runtime"
|
|
@@ -84,12 +84,12 @@ module Dependabot
|
|
|
84
84
|
|
|
85
85
|
sig { returns(T.nilable(String)) }
|
|
86
86
|
def new_source_ref
|
|
87
|
-
dependency.requirements.first&.
|
|
87
|
+
dependency.requirements.first&.source_string("ref")
|
|
88
88
|
end
|
|
89
89
|
|
|
90
90
|
sig { returns(T.nilable(String)) }
|
|
91
91
|
def old_source_ref
|
|
92
|
-
dependency.previous_requirements&.first&.
|
|
92
|
+
dependency.previous_requirements&.first&.source_string("ref")
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
sig { override.void }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# typed:
|
|
1
|
+
# typed: strong
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
require "sorbet-runtime"
|
|
@@ -19,8 +19,7 @@ module Dependabot
|
|
|
19
19
|
|
|
20
20
|
sig { override.returns(T.nilable(Dependabot::Source)) }
|
|
21
21
|
def look_up_source
|
|
22
|
-
|
|
23
|
-
url = source && (source[:url] || source["url"])
|
|
22
|
+
url = dependency.requirements.first&.source_string("url")
|
|
24
23
|
|
|
25
24
|
return Source.from_url(NIXPKGS_SOURCE_URL) if Channel.channel_url?(url)
|
|
26
25
|
|
|
@@ -89,7 +89,7 @@ module Dependabot
|
|
|
89
89
|
|
|
90
90
|
Dependabot.logger.info("Fetching branch-tip history for Nix flake input: #{dependency.name}")
|
|
91
91
|
entries = fetch_activity_entries(T.must(url), T.must(ref))
|
|
92
|
-
return nil unless entries.
|
|
92
|
+
return nil unless entries.any?
|
|
93
93
|
|
|
94
94
|
trim_entries_to_locked_sha(entries)
|
|
95
95
|
rescue Octokit::Error => e
|
|
@@ -106,31 +106,34 @@ module Dependabot
|
|
|
106
106
|
nil
|
|
107
107
|
end
|
|
108
108
|
|
|
109
|
-
sig { params(url: String, ref: String).returns(T
|
|
109
|
+
sig { params(url: String, ref: String).returns(T::Array[Sawyer::Resource]) }
|
|
110
110
|
def fetch_activity_entries(url, ref)
|
|
111
|
-
|
|
111
|
+
response = github_client.get(
|
|
112
112
|
"/repos/#{github_repo_path(url)}/activity",
|
|
113
113
|
ref: "refs/heads/#{ref}",
|
|
114
114
|
activity_type: ACTIVITY_TYPES,
|
|
115
115
|
per_page: 100
|
|
116
116
|
)
|
|
117
|
+
raise TypeError, "GitHub activity response must be an array" unless response.is_a?(Array)
|
|
118
|
+
|
|
119
|
+
response
|
|
117
120
|
end
|
|
118
121
|
|
|
119
122
|
# Trim to entries up to and including the currently locked SHA, stopping
|
|
120
123
|
# once that SHA is reached so we don't introduce candidates older than
|
|
121
124
|
# `dependency.version`.
|
|
122
|
-
sig { params(entries: T::Array[
|
|
125
|
+
sig { params(entries: T::Array[Sawyer::Resource]).returns(T::Array[T::Hash[Symbol, T.untyped]]) }
|
|
123
126
|
def trim_entries_to_locked_sha(entries)
|
|
124
127
|
locked = dependency.version
|
|
125
128
|
result = T.let([], T::Array[T::Hash[Symbol, T.untyped]])
|
|
126
129
|
entries.each do |e|
|
|
127
|
-
after_sha = e
|
|
128
|
-
result << { tag: after_sha, release_date: format_timestamp(e[:timestamp]) }
|
|
130
|
+
after_sha = activity_string(e, :after)
|
|
131
|
+
result << { tag: after_sha, release_date: format_timestamp(T.cast(e[:timestamp], T.nilable(Object))) }
|
|
129
132
|
|
|
130
133
|
next unless locked
|
|
131
134
|
break if after_sha == locked
|
|
132
135
|
|
|
133
|
-
if e[:before] == locked
|
|
136
|
+
if T.cast(e[:before], Object) == locked
|
|
134
137
|
result << { tag: locked, release_date: nil } unless result.last&.fetch(:tag) == locked
|
|
135
138
|
break
|
|
136
139
|
end
|
|
@@ -138,14 +141,22 @@ module Dependabot
|
|
|
138
141
|
result
|
|
139
142
|
end
|
|
140
143
|
|
|
141
|
-
sig { params(timestamp: T.
|
|
144
|
+
sig { params(timestamp: T.nilable(Object)).returns(T.nilable(String)) }
|
|
142
145
|
def format_timestamp(timestamp)
|
|
143
|
-
return
|
|
144
|
-
return timestamp.iso8601 if timestamp.
|
|
146
|
+
return if timestamp.nil?
|
|
147
|
+
return timestamp.iso8601 if timestamp.is_a?(Time)
|
|
145
148
|
|
|
146
149
|
timestamp.to_s
|
|
147
150
|
end
|
|
148
151
|
|
|
152
|
+
sig { params(entry: Sawyer::Resource, key: Symbol).returns(String) }
|
|
153
|
+
def activity_string(entry, key)
|
|
154
|
+
value = T.cast(entry[key], Object)
|
|
155
|
+
return value if value.is_a?(String)
|
|
156
|
+
|
|
157
|
+
raise TypeError, "GitHub activity #{key} must be a string"
|
|
158
|
+
end
|
|
159
|
+
|
|
149
160
|
sig { params(url: T.nilable(String), ref: T.nilable(String)).returns(T::Boolean) }
|
|
150
161
|
def use_activity_api?(url, ref)
|
|
151
162
|
return false unless url && ref
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# typed:
|
|
1
|
+
# typed: strong
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
require "sorbet-runtime"
|
|
@@ -97,11 +97,16 @@ module Dependabot
|
|
|
97
97
|
return dependency.requirements unless result
|
|
98
98
|
|
|
99
99
|
dependency.requirements.map do |req|
|
|
100
|
-
|
|
101
|
-
next req unless source
|
|
100
|
+
next req unless req.source_hash
|
|
102
101
|
|
|
103
102
|
Dependabot::DependencyRequirement.create(
|
|
104
|
-
req.merge(
|
|
103
|
+
req.merge(
|
|
104
|
+
source: source_with_values(
|
|
105
|
+
req,
|
|
106
|
+
"ref" => result[:channel],
|
|
107
|
+
"url" => result[:url]
|
|
108
|
+
)
|
|
109
|
+
)
|
|
105
110
|
)
|
|
106
111
|
end
|
|
107
112
|
end
|
|
@@ -151,27 +156,41 @@ module Dependabot
|
|
|
151
156
|
return dependency.requirements unless new_tag
|
|
152
157
|
|
|
153
158
|
dependency.requirements.map do |req|
|
|
154
|
-
|
|
155
|
-
next req unless source
|
|
159
|
+
next req unless req.source_hash
|
|
156
160
|
|
|
157
|
-
Dependabot::DependencyRequirement.create(
|
|
161
|
+
Dependabot::DependencyRequirement.create(
|
|
162
|
+
req.merge(
|
|
163
|
+
source: source_with_values(
|
|
164
|
+
req,
|
|
165
|
+
"ref" => T.cast(new_tag[:tag], String),
|
|
166
|
+
"branch" => nil
|
|
167
|
+
)
|
|
168
|
+
)
|
|
169
|
+
)
|
|
158
170
|
end
|
|
159
171
|
end
|
|
160
172
|
|
|
161
173
|
sig { returns(T.nilable(String)) }
|
|
162
174
|
def fetch_latest_version_for_tag
|
|
163
175
|
tag = latest_version_tag
|
|
164
|
-
tag
|
|
176
|
+
tag && tag_commit_sha(tag)
|
|
165
177
|
end
|
|
166
178
|
|
|
167
|
-
sig { returns(T.nilable(T::Hash[Symbol,
|
|
179
|
+
sig { returns(T.nilable(T::Hash[Symbol, Object])) }
|
|
168
180
|
def latest_version_tag
|
|
169
181
|
@latest_version_tag ||= T.let(
|
|
170
182
|
git_commit_checker.local_tag_for_latest_version(update_cooldown),
|
|
171
|
-
T.nilable(T::Hash[Symbol,
|
|
183
|
+
T.nilable(T::Hash[Symbol, Object])
|
|
172
184
|
)
|
|
173
185
|
end
|
|
174
186
|
|
|
187
|
+
sig { params(tag: T::Hash[Symbol, Object]).returns(T.nilable(String)) }
|
|
188
|
+
def tag_commit_sha(tag)
|
|
189
|
+
return tag.commit_sha if tag.is_a?(Dependabot::GitTagDetails)
|
|
190
|
+
|
|
191
|
+
T.cast(tag[:commit_sha], T.nilable(String))
|
|
192
|
+
end
|
|
193
|
+
|
|
175
194
|
# --- Versioned branch support ---
|
|
176
195
|
|
|
177
196
|
sig { returns(T::Array[Dependabot::DependencyRequirement]) }
|
|
@@ -180,10 +199,17 @@ module Dependabot
|
|
|
180
199
|
return dependency.requirements unless result
|
|
181
200
|
|
|
182
201
|
dependency.requirements.map do |req|
|
|
183
|
-
|
|
184
|
-
next req unless source
|
|
202
|
+
next req unless req.source_hash
|
|
185
203
|
|
|
186
|
-
Dependabot::DependencyRequirement.create(
|
|
204
|
+
Dependabot::DependencyRequirement.create(
|
|
205
|
+
req.merge(
|
|
206
|
+
source: source_with_values(
|
|
207
|
+
req,
|
|
208
|
+
"ref" => result[:branch],
|
|
209
|
+
"branch" => nil
|
|
210
|
+
)
|
|
211
|
+
)
|
|
212
|
+
)
|
|
187
213
|
end
|
|
188
214
|
end
|
|
189
215
|
|
|
@@ -201,6 +227,29 @@ module Dependabot
|
|
|
201
227
|
)
|
|
202
228
|
end
|
|
203
229
|
|
|
230
|
+
sig do
|
|
231
|
+
params(
|
|
232
|
+
requirement: Dependabot::DependencyRequirement,
|
|
233
|
+
values: T::Hash[String, T.nilable(String)]
|
|
234
|
+
).returns(Dependabot::DependencyRequirement::ObjectHash)
|
|
235
|
+
end
|
|
236
|
+
def source_with_values(requirement, values)
|
|
237
|
+
source = T.must(requirement.source_hash).dup
|
|
238
|
+
values.each do |key, value|
|
|
239
|
+
actual_key = if source.key?(key.to_sym)
|
|
240
|
+
key.to_sym
|
|
241
|
+
elsif source.key?(key)
|
|
242
|
+
key
|
|
243
|
+
elsif source.keys.any?(Symbol)
|
|
244
|
+
key.to_sym
|
|
245
|
+
else
|
|
246
|
+
key
|
|
247
|
+
end
|
|
248
|
+
source[actual_key] = value
|
|
249
|
+
end
|
|
250
|
+
source
|
|
251
|
+
end
|
|
252
|
+
|
|
204
253
|
# --- Commit-tracking (existing behavior) ---
|
|
205
254
|
|
|
206
255
|
sig { returns(T.nilable(String)) }
|
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.
|
|
4
|
+
version: 0.393.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.393.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.393.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: debug
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -263,7 +263,7 @@ licenses:
|
|
|
263
263
|
- MIT
|
|
264
264
|
metadata:
|
|
265
265
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
266
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
|
266
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.393.0
|
|
267
267
|
rdoc_options: []
|
|
268
268
|
require_paths:
|
|
269
269
|
- lib
|