dependabot-common 0.292.0 → 0.294.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dependabot/errors.rb +75 -22
- data/lib/dependabot/file_fetchers/base.rb +5 -0
- data/lib/dependabot/metadata_finders/base/release_finder.rb +1 -1
- data/lib/dependabot/workspace/change_attempt.rb +1 -6
- data/lib/dependabot/workspace/git.rb +8 -15
- data/lib/dependabot.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cde53c48bd3fb273b5c5c3ff162144a31143428558d7f4585325917970a61a7
|
4
|
+
data.tar.gz: 0e3079822bb75940295f85f7b1a61842ec1f4dcf6267fe82b08c5f4ee4c6e2c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 05a79b1df212125222e50bdd499633fc88923e7de893cbcb9343121082ec1eba8e7ab36fbe500cd5f882d6b6f2f748b290acc8a0d923c8c3a13769c12c682b4f
|
7
|
+
data.tar.gz: 2089362ff38c1ef33945b12d3a065af55e36fa786dafc9bda8748665d98f6ca1db036a74c05fd380284f120189da8b723b2096a37ded6f5ff8a15be6e6fed743
|
data/lib/dependabot/errors.rb
CHANGED
@@ -33,6 +33,15 @@ module Dependabot
|
|
33
33
|
"supported-versions": error.supported_versions
|
34
34
|
}
|
35
35
|
}
|
36
|
+
when Dependabot::ToolFeatureNotSupported
|
37
|
+
{
|
38
|
+
"error-type": "tool_feature_not_supported",
|
39
|
+
"error-detail": {
|
40
|
+
"tool-name": error.tool_name,
|
41
|
+
"tool-type": error.tool_type,
|
42
|
+
feature: error.feature
|
43
|
+
}
|
44
|
+
}
|
36
45
|
when Dependabot::BranchNotFound
|
37
46
|
{
|
38
47
|
"error-type": "branch_not_found",
|
@@ -103,6 +112,15 @@ module Dependabot
|
|
103
112
|
sig { params(error: StandardError).returns(T.nilable(T::Hash[Symbol, T.untyped])) }
|
104
113
|
def self.parser_error_details(error)
|
105
114
|
case error
|
115
|
+
when Dependabot::ToolFeatureNotSupported
|
116
|
+
{
|
117
|
+
"error-type": "tool_feature_not_supported",
|
118
|
+
"error-detail": {
|
119
|
+
"tool-name": error.tool_name,
|
120
|
+
"tool-type": error.tool_type,
|
121
|
+
feature: error.feature
|
122
|
+
}
|
123
|
+
}
|
106
124
|
when Dependabot::DependencyFileNotEvaluatable
|
107
125
|
{
|
108
126
|
"error-type": "dependency_file_not_evaluatable",
|
@@ -149,11 +167,6 @@ module Dependabot
|
|
149
167
|
"error-type": "git_dependencies_not_reachable",
|
150
168
|
"error-detail": { "dependency-urls": error.dependency_urls }
|
151
169
|
}
|
152
|
-
when Dependabot::UnresolvableVersionError
|
153
|
-
{
|
154
|
-
"error-type": "unresolvable_version",
|
155
|
-
"error-detail": { dependencies: error.dependencies }
|
156
|
-
}
|
157
170
|
when Dependabot::NotImplemented
|
158
171
|
{
|
159
172
|
"error-type": "not_implemented",
|
@@ -171,9 +184,19 @@ module Dependabot
|
|
171
184
|
|
172
185
|
# rubocop:disable Lint/RedundantCopDisableDirective
|
173
186
|
# rubocop:disable Metrics/CyclomaticComplexity
|
187
|
+
# rubocop:disable Metrics/AbcSize
|
174
188
|
sig { params(error: StandardError).returns(T.nilable(T::Hash[Symbol, T.untyped])) }
|
175
189
|
def self.updater_error_details(error)
|
176
190
|
case error
|
191
|
+
when Dependabot::ToolFeatureNotSupported
|
192
|
+
{
|
193
|
+
"error-type": "tool_feature_not_supported",
|
194
|
+
"error-detail": {
|
195
|
+
"tool-name": error.tool_name,
|
196
|
+
"tool-type": error.tool_type,
|
197
|
+
feature: error.feature
|
198
|
+
}
|
199
|
+
}
|
177
200
|
when Dependabot::DependencyFileNotResolvable
|
178
201
|
{
|
179
202
|
"error-type": "dependency_file_not_resolvable",
|
@@ -184,11 +207,27 @@ module Dependabot
|
|
184
207
|
"error-type": "dependency_file_not_evaluatable",
|
185
208
|
"error-detail": { message: error.message }
|
186
209
|
}
|
210
|
+
when Dependabot::DependencyFileNotParseable
|
211
|
+
{
|
212
|
+
"error-type": "dependency_file_not_parseable",
|
213
|
+
"error-detail": {
|
214
|
+
message: error.message,
|
215
|
+
"file-path": error.file_path
|
216
|
+
}
|
217
|
+
}
|
187
218
|
when Dependabot::GitDependenciesNotReachable
|
188
219
|
{
|
189
220
|
"error-type": "git_dependencies_not_reachable",
|
190
221
|
"error-detail": { "dependency-urls": error.dependency_urls }
|
191
222
|
}
|
223
|
+
when Dependabot::DependencyFileNotFound
|
224
|
+
{
|
225
|
+
"error-type": "dependency_file_not_found",
|
226
|
+
"error-detail": {
|
227
|
+
message: error.message,
|
228
|
+
"file-path": error.file_path
|
229
|
+
}
|
230
|
+
}
|
192
231
|
when Dependabot::ToolVersionNotSupported
|
193
232
|
{
|
194
233
|
"error-type": "tool_version_not_supported",
|
@@ -296,9 +335,11 @@ module Dependabot
|
|
296
335
|
}
|
297
336
|
end
|
298
337
|
end
|
338
|
+
|
299
339
|
# rubocop:enable Metrics/MethodLength
|
300
340
|
# rubocop:enable Metrics/CyclomaticComplexity
|
301
341
|
# rubocop:enable Lint/RedundantCopDisableDirective
|
342
|
+
# rubocop:enable Metrics/AbcSize
|
302
343
|
|
303
344
|
class DependabotError < StandardError
|
304
345
|
extend T::Sig
|
@@ -485,6 +526,35 @@ module Dependabot
|
|
485
526
|
end
|
486
527
|
end
|
487
528
|
|
529
|
+
class ToolFeatureNotSupported < DependabotError
|
530
|
+
extend T::Sig
|
531
|
+
|
532
|
+
sig { returns(String) }
|
533
|
+
attr_reader :tool_name, :tool_type, :feature
|
534
|
+
|
535
|
+
sig do
|
536
|
+
params(
|
537
|
+
tool_name: String,
|
538
|
+
tool_type: String,
|
539
|
+
feature: String
|
540
|
+
).void
|
541
|
+
end
|
542
|
+
def initialize(tool_name:, tool_type:, feature:)
|
543
|
+
@tool_name = tool_name
|
544
|
+
@tool_type = tool_type
|
545
|
+
@feature = feature
|
546
|
+
super(build_message)
|
547
|
+
end
|
548
|
+
|
549
|
+
private
|
550
|
+
|
551
|
+
sig { returns(String) }
|
552
|
+
def build_message
|
553
|
+
"Dependabot doesn't support the feature '#{feature}' for #{tool_name} (#{tool_type}). " \
|
554
|
+
"Please refer to the documentation for supported features."
|
555
|
+
end
|
556
|
+
end
|
557
|
+
|
488
558
|
class DependencyFileNotFound < DependabotError
|
489
559
|
extend T::Sig
|
490
560
|
|
@@ -671,23 +741,6 @@ module Dependabot
|
|
671
741
|
end
|
672
742
|
end
|
673
743
|
|
674
|
-
class UnresolvableVersionError < DependabotError
|
675
|
-
extend T::Sig
|
676
|
-
|
677
|
-
sig { returns(T::Array[String]) }
|
678
|
-
attr_reader :dependencies
|
679
|
-
|
680
|
-
sig { params(dependencies: T::Array[String]).void }
|
681
|
-
def initialize(dependencies)
|
682
|
-
@dependencies = dependencies
|
683
|
-
|
684
|
-
msg = "Unable to determine semantic version from tags or commits for dependencies. " \
|
685
|
-
"Dependencies must have a tag or commit that references a semantic version. " \
|
686
|
-
"Affected dependencies: #{@dependencies.join(', ')}"
|
687
|
-
super(msg)
|
688
|
-
end
|
689
|
-
end
|
690
|
-
|
691
744
|
class GitDependenciesNotReachable < DependabotError
|
692
745
|
extend T::Sig
|
693
746
|
|
@@ -128,6 +128,11 @@ module Dependabot
|
|
128
128
|
source.branch
|
129
129
|
end
|
130
130
|
|
131
|
+
sig { returns(T::Boolean) }
|
132
|
+
def allow_beta_ecosystems?
|
133
|
+
Experiments.enabled?(:enable_beta_ecosystems)
|
134
|
+
end
|
135
|
+
|
131
136
|
sig { returns(T::Array[DependencyFile]) }
|
132
137
|
def files
|
133
138
|
return @files if @files.any?
|
@@ -302,7 +302,7 @@ module Dependabot
|
|
302
302
|
|
303
303
|
# Previous version looks like a git SHA and there's a previous ref, we
|
304
304
|
# could be changing to a nil previous ref in which case we want to
|
305
|
-
# fall back to
|
305
|
+
# fall back to the sha version
|
306
306
|
if T.must(dependency.previous_version).match?(/^[0-9a-f]{40}$/) &&
|
307
307
|
ref_changed? && previous_ref
|
308
308
|
previous_ref
|
@@ -8,9 +8,6 @@ module Dependabot
|
|
8
8
|
class ChangeAttempt
|
9
9
|
extend T::Sig
|
10
10
|
|
11
|
-
sig { returns(T.nilable(String)) }
|
12
|
-
attr_reader :diff
|
13
|
-
|
14
11
|
sig { returns(T.nilable(StandardError)) }
|
15
12
|
attr_reader :error
|
16
13
|
|
@@ -28,15 +25,13 @@ module Dependabot
|
|
28
25
|
workspace: Dependabot::Workspace::Base,
|
29
26
|
id: String,
|
30
27
|
memo: T.nilable(String),
|
31
|
-
diff: T.nilable(String),
|
32
28
|
error: T.nilable(StandardError)
|
33
29
|
).void
|
34
30
|
end
|
35
|
-
def initialize(workspace, id:, memo:,
|
31
|
+
def initialize(workspace, id:, memo:, error: nil)
|
36
32
|
@workspace = workspace
|
37
33
|
@id = id
|
38
34
|
@memo = memo
|
39
|
-
@diff = diff
|
40
35
|
@error = error
|
41
36
|
end
|
42
37
|
|
@@ -56,9 +56,9 @@ module Dependabot
|
|
56
56
|
return nil if changed_files(ignored_mode: "no").empty?
|
57
57
|
|
58
58
|
debug("store_change - before: #{current_commit}")
|
59
|
-
sha
|
59
|
+
sha = commit(memo)
|
60
60
|
|
61
|
-
change_attempts << ChangeAttempt.new(self, id: sha, memo: memo
|
61
|
+
change_attempts << ChangeAttempt.new(self, id: sha, memo: memo)
|
62
62
|
ensure
|
63
63
|
debug("store_change - after: #{current_commit}")
|
64
64
|
end
|
@@ -73,8 +73,8 @@ module Dependabot
|
|
73
73
|
def capture_failed_change_attempt(memo = nil, error = nil)
|
74
74
|
return nil if changed_files(ignored_mode: "matching").empty? && error.nil?
|
75
75
|
|
76
|
-
sha
|
77
|
-
change_attempts << ChangeAttempt.new(self, id: sha, memo: memo,
|
76
|
+
sha = stash(memo)
|
77
|
+
change_attempts << ChangeAttempt.new(self, id: sha, memo: memo, error: error)
|
78
78
|
end
|
79
79
|
|
80
80
|
private
|
@@ -112,7 +112,7 @@ module Dependabot
|
|
112
112
|
).strip
|
113
113
|
end
|
114
114
|
|
115
|
-
sig { params(memo: T.nilable(String)).returns(
|
115
|
+
sig { params(memo: T.nilable(String)).returns(String) }
|
116
116
|
def stash(memo = nil)
|
117
117
|
msg = memo || "workspace change attempt"
|
118
118
|
run_shell_command("git add --all --force .")
|
@@ -122,19 +122,12 @@ module Dependabot
|
|
122
122
|
allow_unsafe_shell_command: true
|
123
123
|
)
|
124
124
|
|
125
|
-
|
126
|
-
diff = run_shell_command(
|
127
|
-
"git stash show --patch #{sha}",
|
128
|
-
fingerprint: "git stash show --patch <sha>"
|
129
|
-
)
|
130
|
-
|
131
|
-
[sha, diff]
|
125
|
+
last_stash_sha
|
132
126
|
end
|
133
127
|
|
134
|
-
sig { params(memo: T.nilable(String)).returns(
|
128
|
+
sig { params(memo: T.nilable(String)).returns(String) }
|
135
129
|
def commit(memo = nil)
|
136
130
|
run_shell_command("git add #{path}")
|
137
|
-
diff = run_shell_command("git diff --cached .")
|
138
131
|
|
139
132
|
msg = memo || "workspace change"
|
140
133
|
run_shell_command(
|
@@ -143,7 +136,7 @@ module Dependabot
|
|
143
136
|
allow_unsafe_shell_command: true
|
144
137
|
)
|
145
138
|
|
146
|
-
|
139
|
+
head_sha
|
147
140
|
end
|
148
141
|
|
149
142
|
sig { params(sha: String).returns(String) }
|
data/lib/dependabot.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.294.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dependabot
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-01-
|
11
|
+
date: 2025-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-codecommit
|
@@ -615,7 +615,7 @@ licenses:
|
|
615
615
|
- MIT
|
616
616
|
metadata:
|
617
617
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
618
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
618
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.294.0
|
619
619
|
post_install_message:
|
620
620
|
rdoc_options: []
|
621
621
|
require_paths:
|