dependabot-common 0.180.1 → 0.180.4

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: 78a0ef5629fded48927793df03c46c21d8267c7ae0c11d7d82b205e4631bab57
4
- data.tar.gz: 0ab2b1947a8359b54a383cb585e3dee16c5d9df3782d41f8e3869706eb8908d4
3
+ metadata.gz: 69c13790844f3adc89fca6098d10347c8cbc3b107cba4fd5c79d97ae6f95da72
4
+ data.tar.gz: c1cf5f0b739777e8e32aea9fcf8ff94091855ef476d764d9c9e7e58b2f1630b9
5
5
  SHA512:
6
- metadata.gz: e39c4b42f4457511f735454feeca2692f8509daab3d8a4d649c09673a210d8de59c05dec5c3b0cb841fb54c51281c5416800757069345e9f277180e32694c117
7
- data.tar.gz: fee93691d7efdfcea45131c9ad1a191d567e68bcf47b5e213a875ca73a296eb4174d44bd9c02fe8f6edb1f498b89c35763b33cfee2f34abdf2a3cb32f5555dac
6
+ metadata.gz: 97ef272ff9eb8e81378a1b194bd6248fc24f4c583f76a2e18bd4c665d5509a9f373e7f68587b429cd38f384065d4ea27573bcbe077921d34a52f6d27bc87cc9d
7
+ data.tar.gz: 1419172a90084a996e486ad4a5269507ffa0bffa8b6bd38eed62f19f0916ba7e4a6ce834de00ae2e296f2ddca3fbaa4db67f6eef5846b6404a9a9eb03cd49704
@@ -86,25 +86,27 @@ module Dependabot
86
86
  raise Dependabot::GitDependencyReferenceNotFound, dependency.name
87
87
  end
88
88
 
89
- # rubocop:disable Metrics/PerceivedComplexity
90
- # rubocop:disable Metrics/AbcSize
91
- def local_tag_for_latest_version
92
- tags =
93
- local_tags.
94
- select { |t| version_tag?(t.name) && matches_existing_prefix?(t.name) }
95
- filtered = tags.
96
- reject { |t| tag_included_in_ignore_requirements?(t) }
97
- if @raise_on_ignored && filter_lower_versions(filtered).empty? && filter_lower_versions(tags).any?
98
- raise Dependabot::AllVersionsIgnored
99
- end
89
+ def local_tags_for_latest_version_commit_sha
90
+ tags = allowed_version_tags
91
+ max_tag = max_version_tag(tags)
92
+
93
+ return [] unless max_tag
94
+
95
+ tags.
96
+ select { |t| t.commit_sha == max_tag.commit_sha }.
97
+ map do |t|
98
+ version = t.name.match(VERSION_REGEX).named_captures.fetch("version")
99
+ {
100
+ tag: t.name,
101
+ version: version_class.new(version),
102
+ commit_sha: t.commit_sha,
103
+ tag_sha: t.tag_sha
104
+ }
105
+ end
106
+ end
100
107
 
101
- tag = filtered.
102
- reject { |t| tag_is_prerelease?(t) && !wants_prerelease? }.
103
- max_by do |t|
104
- version = t.name.match(VERSION_REGEX).named_captures.
105
- fetch("version")
106
- version_class.new(version)
107
- end
108
+ def local_tag_for_latest_version
109
+ tag = max_version_tag(allowed_version_tags)
108
110
 
109
111
  return unless tag
110
112
 
@@ -116,8 +118,29 @@ module Dependabot
116
118
  tag_sha: tag.tag_sha
117
119
  }
118
120
  end
119
- # rubocop:enable Metrics/AbcSize
120
- # rubocop:enable Metrics/PerceivedComplexity
121
+
122
+ def max_version_tag(tags)
123
+ tags.
124
+ max_by do |t|
125
+ version = t.name.match(VERSION_REGEX).named_captures.
126
+ fetch("version")
127
+ version_class.new(version)
128
+ end
129
+ end
130
+
131
+ def allowed_version_tags
132
+ tags =
133
+ local_tags.
134
+ select { |t| version_tag?(t.name) && matches_existing_prefix?(t.name) }
135
+ filtered = tags.
136
+ reject { |t| tag_included_in_ignore_requirements?(t) }
137
+ if @raise_on_ignored && filter_lower_versions(filtered).empty? && filter_lower_versions(tags).any?
138
+ raise Dependabot::AllVersionsIgnored
139
+ end
140
+
141
+ filtered.
142
+ reject { |t| tag_is_prerelease?(t) && !wants_prerelease? }
143
+ end
121
144
 
122
145
  def current_version
123
146
  return unless dependency.version && version_tag?(dependency.version)
@@ -271,6 +271,7 @@ module Dependabot
271
271
  end
272
272
 
273
273
  def fetch_gitlab_file_list
274
+ branch = default_gitlab_branch
274
275
  gitlab_client.repo_tree(source.repo).map do |file|
275
276
  type = case file.type
276
277
  when "blob" then "file"
@@ -281,8 +282,8 @@ module Dependabot
281
282
  name: file.name,
282
283
  type: type,
283
284
  size: 100, # GitLab doesn't return file size
284
- html_url: "#{source.url}/blob/master/#{file.path}",
285
- download_url: "#{source.url}/raw/master/#{file.path}"
285
+ html_url: "#{source.url}/blob/#{branch}/#{file.path}",
286
+ download_url: "#{source.url}/raw/#{branch}/#{file.path}"
286
287
  )
287
288
  end
288
289
  rescue Gitlab::Error::NotFound
@@ -355,6 +356,11 @@ module Dependabot
355
356
  @default_bitbucket_branch ||=
356
357
  bitbucket_client.fetch_default_branch(source.repo)
357
358
  end
359
+
360
+ def default_gitlab_branch
361
+ @default_gitlab_branch ||=
362
+ gitlab_client.fetch_default_branch(source.repo)
363
+ end
358
364
  end
359
365
  end
360
366
  end
@@ -210,7 +210,7 @@ module Dependabot
210
210
  elsif new_tag
211
211
  "commits/#{new_tag}"
212
212
  else
213
- "commits/master"
213
+ "commits/#{default_gitlab_branch}"
214
214
  end
215
215
  end
216
216
 
@@ -321,6 +321,11 @@ module Dependabot
321
321
  MetadataFinders::Base::PACKAGE_MANAGERS_WITH_RELIABLE_DIRECTORIES.
322
322
  include?(dependency.package_manager)
323
323
  end
324
+
325
+ def default_gitlab_branch
326
+ @default_gitlab_branch ||=
327
+ gitlab_client.fetch_default_branch(source.repo)
328
+ end
324
329
  end
325
330
  end
326
331
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dependabot
4
- VERSION = "0.180.1"
4
+ VERSION = "0.180.4"
5
5
  end
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.180.1
4
+ version: 0.180.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-23 00:00:00.000000000 Z
11
+ date: 2022-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport