dependabot-common 0.314.0 → 0.315.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 +4 -4
- data/lib/dependabot/clients/bitbucket.rb +1 -1
- data/lib/dependabot/file_fetchers/base.rb +3 -1
- data/lib/dependabot/git_commit_checker.rb +7 -7
- data/lib/dependabot/git_metadata_fetcher.rb +1 -0
- data/lib/dependabot/metadata_finders/base/changelog_finder.rb +1 -0
- data/lib/dependabot/metadata_finders/base/release_finder.rb +1 -0
- data/lib/dependabot/pull_request_creator/branch_namer/multi_ecosystem_strategy.rb +80 -0
- data/lib/dependabot/pull_request_creator/branch_namer.rb +53 -21
- data/lib/dependabot/utils.rb +0 -1
- data/lib/dependabot.rb +1 -1
- metadata +22 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68238b0440934d660fcb680bd94b21397bf3396c0e4467fbd88fd21a23453a6f
|
4
|
+
data.tar.gz: d263bcc8392bbad1168f031af2bdbf243190ab91ab1f019a7206c1af76f95652
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3165f873c2ff8492dc8f7ee6cfe0a136d664cf35653f9856ebc80f6c5c0fce35e287950be698263f62152affc82859d8808edb0bd2355d12f481193e9c463cb2
|
7
|
+
data.tar.gz: 5692d5ad262572fc9cc91095010ed4b2381335d98d1064ee078c845cb9b17a060be52dd48d0ff72dc82526fd9bd1ed8c5dcd1551822be4c1e5c7f763df46c69e
|
@@ -297,7 +297,7 @@ module Dependabot
|
|
297
297
|
sig { params(url: String).returns(Excon::Response) }
|
298
298
|
def get(url)
|
299
299
|
response = Excon.get(
|
300
|
-
URI::
|
300
|
+
URI::RFC2396_PARSER.escape(url),
|
301
301
|
user: credentials&.fetch("username", nil),
|
302
302
|
password: credentials&.fetch("password", nil),
|
303
303
|
# Setting to false to prevent Excon retries, use BitbucketWithRetries for retries.
|
@@ -234,6 +234,13 @@ module Dependabot
|
|
234
234
|
tags[-1]&.name
|
235
235
|
end
|
236
236
|
|
237
|
+
sig { params(tags: T::Array[Dependabot::GitRef]).returns(T.nilable(T::Hash[Symbol, T.untyped])) }
|
238
|
+
def max_local_tag(tags)
|
239
|
+
max_version_tag = tags.max_by { |t| version_from_tag(t) }
|
240
|
+
|
241
|
+
to_local_tag(max_version_tag)
|
242
|
+
end
|
243
|
+
|
237
244
|
private
|
238
245
|
|
239
246
|
sig { returns(Dependabot::Dependency) }
|
@@ -255,13 +262,6 @@ module Dependabot
|
|
255
262
|
max_local_tag(select_lower_precision(tags))
|
256
263
|
end
|
257
264
|
|
258
|
-
sig { params(tags: T::Array[Dependabot::GitRef]).returns(T.nilable(T::Hash[Symbol, T.untyped])) }
|
259
|
-
def max_local_tag(tags)
|
260
|
-
max_version_tag = tags.max_by { |t| version_from_tag(t) }
|
261
|
-
|
262
|
-
to_local_tag(max_version_tag)
|
263
|
-
end
|
264
|
-
|
265
265
|
# Find the latest version with the same precision as the pinned version.
|
266
266
|
sig { params(tags: T::Array[Dependabot::GitRef]).returns(T::Array[Dependabot::GitRef]) }
|
267
267
|
def select_matching_existing_precision(tags)
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# typed: strong
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require "sorbet-runtime"
|
5
|
+
require "dependabot/pull_request_creator/branch_namer/base"
|
6
|
+
|
7
|
+
module Dependabot
|
8
|
+
class PullRequestCreator
|
9
|
+
class BranchNamer
|
10
|
+
class MultiEcosystemStrategy < Base
|
11
|
+
extend T::Sig
|
12
|
+
|
13
|
+
sig do
|
14
|
+
params(
|
15
|
+
dependencies: T::Array[Dependabot::Dependency],
|
16
|
+
files: T::Array[Dependabot::DependencyFile],
|
17
|
+
target_branch: T.nilable(String),
|
18
|
+
includes_security_fixes: T::Boolean,
|
19
|
+
multi_ecosystem_name: String,
|
20
|
+
separator: String,
|
21
|
+
prefix: String,
|
22
|
+
max_length: T.nilable(Integer)
|
23
|
+
)
|
24
|
+
.void
|
25
|
+
end
|
26
|
+
def initialize(dependencies:, files:, target_branch:, includes_security_fixes:, multi_ecosystem_name:,
|
27
|
+
separator: "/", prefix: "dependabot", max_length: nil)
|
28
|
+
super(
|
29
|
+
dependencies: dependencies,
|
30
|
+
files: files,
|
31
|
+
target_branch: target_branch,
|
32
|
+
separator: separator,
|
33
|
+
prefix: prefix,
|
34
|
+
max_length: max_length,
|
35
|
+
)
|
36
|
+
|
37
|
+
@multi_ecosystem_name = multi_ecosystem_name
|
38
|
+
@includes_security_fixes = includes_security_fixes
|
39
|
+
end
|
40
|
+
|
41
|
+
sig { override.returns(String) }
|
42
|
+
def new_branch_name
|
43
|
+
sanitize_branch_name(File.join(prefixes, group_name_with_dependency_digest))
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
sig { returns(String) }
|
49
|
+
attr_reader :multi_ecosystem_name
|
50
|
+
|
51
|
+
sig { returns(T::Array[String]) }
|
52
|
+
def prefixes
|
53
|
+
[
|
54
|
+
prefix,
|
55
|
+
target_branch
|
56
|
+
].compact
|
57
|
+
end
|
58
|
+
|
59
|
+
sig { returns(String) }
|
60
|
+
def group_name_with_dependency_digest
|
61
|
+
if @includes_security_fixes
|
62
|
+
"group-security-#{multi_ecosystem_name}-#{dependency_digest}"
|
63
|
+
else
|
64
|
+
"#{multi_ecosystem_name}-#{dependency_digest}"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
sig { returns(T.nilable(String)) }
|
69
|
+
def dependency_digest
|
70
|
+
@dependency_digest ||= T.let(
|
71
|
+
Digest::MD5.hexdigest(dependencies.map do |dependency|
|
72
|
+
"#{dependency.name}-#{dependency.removed? ? 'removed' : dependency.version}"
|
73
|
+
end.sort.join(",")).slice(0, 10),
|
74
|
+
T.nilable(String)
|
75
|
+
)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -8,6 +8,7 @@ require "dependabot/metadata_finders"
|
|
8
8
|
require "dependabot/pull_request_creator"
|
9
9
|
require "dependabot/pull_request_creator/branch_namer/solo_strategy"
|
10
10
|
require "dependabot/pull_request_creator/branch_namer/dependency_group_strategy"
|
11
|
+
require "dependabot/pull_request_creator/branch_namer/multi_ecosystem_strategy"
|
11
12
|
|
12
13
|
module Dependabot
|
13
14
|
class PullRequestCreator
|
@@ -38,6 +39,9 @@ module Dependabot
|
|
38
39
|
sig { returns(T::Boolean) }
|
39
40
|
attr_reader :includes_security_fixes
|
40
41
|
|
42
|
+
sig { returns(T.nilable(String)) }
|
43
|
+
attr_reader :multi_ecosystem_name
|
44
|
+
|
41
45
|
sig do
|
42
46
|
params(
|
43
47
|
dependencies: T::Array[Dependabot::Dependency],
|
@@ -47,12 +51,13 @@ module Dependabot
|
|
47
51
|
separator: String,
|
48
52
|
prefix: String,
|
49
53
|
max_length: T.nilable(Integer),
|
50
|
-
includes_security_fixes: T::Boolean
|
54
|
+
includes_security_fixes: T::Boolean,
|
55
|
+
multi_ecosystem_name: T.nilable(String)
|
51
56
|
)
|
52
57
|
.void
|
53
58
|
end
|
54
59
|
def initialize(dependencies:, files:, target_branch:, dependency_group: nil, separator: "/",
|
55
|
-
prefix: "dependabot", max_length: nil, includes_security_fixes: false)
|
60
|
+
prefix: "dependabot", max_length: nil, includes_security_fixes: false, multi_ecosystem_name: nil)
|
56
61
|
@dependencies = dependencies
|
57
62
|
@files = files
|
58
63
|
@target_branch = target_branch
|
@@ -61,6 +66,7 @@ module Dependabot
|
|
61
66
|
@prefix = prefix
|
62
67
|
@max_length = max_length
|
63
68
|
@includes_security_fixes = includes_security_fixes
|
69
|
+
@multi_ecosystem_name = multi_ecosystem_name
|
64
70
|
end
|
65
71
|
|
66
72
|
sig { returns(String) }
|
@@ -73,30 +79,56 @@ module Dependabot
|
|
73
79
|
sig { returns(Dependabot::PullRequestCreator::BranchNamer::Base) }
|
74
80
|
def strategy
|
75
81
|
@strategy ||= T.let(
|
76
|
-
if
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
target_branch: target_branch,
|
81
|
-
separator: separator,
|
82
|
-
prefix: prefix,
|
83
|
-
max_length: max_length
|
84
|
-
)
|
82
|
+
if multi_ecosystem_name
|
83
|
+
build_multi_ecosystem_strategy
|
84
|
+
elsif dependency_group.nil?
|
85
|
+
build_solo_strategy
|
85
86
|
else
|
86
|
-
|
87
|
-
dependencies: dependencies,
|
88
|
-
files: files,
|
89
|
-
target_branch: target_branch,
|
90
|
-
dependency_group: T.must(dependency_group),
|
91
|
-
includes_security_fixes: includes_security_fixes,
|
92
|
-
separator: separator,
|
93
|
-
prefix: prefix,
|
94
|
-
max_length: max_length
|
95
|
-
)
|
87
|
+
build_dependency_group_strategy
|
96
88
|
end,
|
97
89
|
T.nilable(Dependabot::PullRequestCreator::BranchNamer::Base)
|
98
90
|
)
|
99
91
|
end
|
92
|
+
|
93
|
+
sig { returns(Dependabot::PullRequestCreator::BranchNamer::MultiEcosystemStrategy) }
|
94
|
+
def build_multi_ecosystem_strategy
|
95
|
+
MultiEcosystemStrategy.new(
|
96
|
+
dependencies: dependencies,
|
97
|
+
files: files,
|
98
|
+
target_branch: target_branch,
|
99
|
+
includes_security_fixes: includes_security_fixes,
|
100
|
+
separator: separator,
|
101
|
+
prefix: prefix,
|
102
|
+
max_length: max_length,
|
103
|
+
multi_ecosystem_name: T.must(multi_ecosystem_name)
|
104
|
+
)
|
105
|
+
end
|
106
|
+
|
107
|
+
sig { returns(Dependabot::PullRequestCreator::BranchNamer::SoloStrategy) }
|
108
|
+
def build_solo_strategy
|
109
|
+
SoloStrategy.new(
|
110
|
+
dependencies: dependencies,
|
111
|
+
files: files,
|
112
|
+
target_branch: target_branch,
|
113
|
+
separator: separator,
|
114
|
+
prefix: prefix,
|
115
|
+
max_length: max_length
|
116
|
+
)
|
117
|
+
end
|
118
|
+
|
119
|
+
sig { returns(Dependabot::PullRequestCreator::BranchNamer::DependencyGroupStrategy) }
|
120
|
+
def build_dependency_group_strategy
|
121
|
+
DependencyGroupStrategy.new(
|
122
|
+
dependencies: dependencies,
|
123
|
+
files: files,
|
124
|
+
target_branch: target_branch,
|
125
|
+
dependency_group: T.must(dependency_group),
|
126
|
+
includes_security_fixes: includes_security_fixes,
|
127
|
+
separator: separator,
|
128
|
+
prefix: prefix,
|
129
|
+
max_length: max_length
|
130
|
+
)
|
131
|
+
end
|
100
132
|
end
|
101
133
|
end
|
102
134
|
end
|
data/lib/dependabot/utils.rb
CHANGED
data/lib/dependabot.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.315.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dependabot
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: aws-sdk-codecommit
|
@@ -91,14 +91,14 @@ dependencies:
|
|
91
91
|
requirements:
|
92
92
|
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version: '
|
94
|
+
version: '1.2'
|
95
95
|
type: :runtime
|
96
96
|
prerelease: false
|
97
97
|
version_requirements: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
99
|
- - "~>"
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version: '
|
101
|
+
version: '1.2'
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: faraday
|
104
104
|
requirement: !ruby/object:Gem::Requirement
|
@@ -225,6 +225,20 @@ dependencies:
|
|
225
225
|
- - "~>"
|
226
226
|
- !ruby/object:Gem::Version
|
227
227
|
version: '0.3'
|
228
|
+
- !ruby/object:Gem::Dependency
|
229
|
+
name: ostruct
|
230
|
+
requirement: !ruby/object:Gem::Requirement
|
231
|
+
requirements:
|
232
|
+
- - "~>"
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: '0.6'
|
235
|
+
type: :runtime
|
236
|
+
prerelease: false
|
237
|
+
version_requirements: !ruby/object:Gem::Requirement
|
238
|
+
requirements:
|
239
|
+
- - "~>"
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
version: '0.6'
|
228
242
|
- !ruby/object:Gem::Dependency
|
229
243
|
name: parser
|
230
244
|
requirement: !ruby/object:Gem::Requirement
|
@@ -569,6 +583,7 @@ files:
|
|
569
583
|
- lib/dependabot/pull_request_creator/branch_namer.rb
|
570
584
|
- lib/dependabot/pull_request_creator/branch_namer/base.rb
|
571
585
|
- lib/dependabot/pull_request_creator/branch_namer/dependency_group_strategy.rb
|
586
|
+
- lib/dependabot/pull_request_creator/branch_namer/multi_ecosystem_strategy.rb
|
572
587
|
- lib/dependabot/pull_request_creator/branch_namer/solo_strategy.rb
|
573
588
|
- lib/dependabot/pull_request_creator/codecommit.rb
|
574
589
|
- lib/dependabot/pull_request_creator/commit_signer.rb
|
@@ -610,7 +625,7 @@ licenses:
|
|
610
625
|
- MIT
|
611
626
|
metadata:
|
612
627
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
613
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
628
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.315.0
|
614
629
|
rdoc_options: []
|
615
630
|
require_paths:
|
616
631
|
- lib
|
@@ -618,14 +633,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
618
633
|
requirements:
|
619
634
|
- - ">="
|
620
635
|
- !ruby/object:Gem::Version
|
621
|
-
version: 3.
|
636
|
+
version: 3.3.0
|
622
637
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
623
638
|
requirements:
|
624
639
|
- - ">="
|
625
640
|
- !ruby/object:Gem::Version
|
626
641
|
version: 3.3.7
|
627
642
|
requirements: []
|
628
|
-
rubygems_version: 3.6.
|
643
|
+
rubygems_version: 3.6.9
|
629
644
|
specification_version: 4
|
630
645
|
summary: Shared code used across Dependabot Core
|
631
646
|
test_files: []
|