dependabot-docker 0.357.0 → 0.358.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: f0da7bb48effe8a5b86cd862f5d2d30b8f369d7d6df87ad7fd1de3c867662973
4
- data.tar.gz: 94868e4f0f7125a5191c38e7f2972de495e71bd83472a4af9fc26e5581ed026a
3
+ metadata.gz: 833270b93fa24ef85cea2fbd0819ad22cca0de52ef92494abde150812cb223eb
4
+ data.tar.gz: 51ddd06f0d81281929a636c781493d69bd082af3853862d2e9916388b7f56ed4
5
5
  SHA512:
6
- metadata.gz: 88dbdf2a7461c50790a195a74310149ccf2ae5377dc062f61030e65144b508a11ae25b0969aa9e38b41ce11254cdb9d74ecb1aee419664217e5b6f1a53ccb928
7
- data.tar.gz: c1910c37b0a9738b3a06d6cb76016bae3e8d79bd0849b178f7a3dd91df57939eb46e84f2cdf57143004beca0254b43df353bfa21be7a5964744256dec7839e91
6
+ metadata.gz: b8b00cf0309f237360aff90b7b3c75a6c81a6f2bb8b7d3c1cba93e32ae70005e4d28d15ef684f241268824c941f17670052328ce71cc8ca418032199badba6ec
7
+ data.tar.gz: b22d67a41edd6f4a8ee35b9b8a9254e533659000615b185840d46827669220ed5b091b9cd212ff9563f3755379fd57c82cd5d48aa68cbe214691e4a8abbcb919
@@ -38,9 +38,38 @@ module Dependabot
38
38
  name.match?(FileParser::DIGEST)
39
39
  end
40
40
 
41
- sig { returns(T.nilable(T::Boolean)) }
41
+ sig { returns(T::Boolean) }
42
42
  def looks_like_prerelease?
43
- numeric_version&.match?(/[a-zA-Z]/)
43
+ return false unless comparable?
44
+
45
+ # Don't treat SHA-suffixed tags as prereleases (e.g., v3.10.0-169-gfe040d3)
46
+ return false if format == :sha_suffixed
47
+
48
+ # Check for common prerelease patterns in the tag name
49
+ # The version regex splits things like "1.0.0-alpha" into version="1.0.0" and suffix="-alpha"
50
+ # So we need to check the full name or the combination of version and suffix
51
+ prerelease_patterns = [
52
+ /alpha/i, # matches: alpha, ALPHA
53
+ /beta/i, # matches: beta, BETA
54
+ /rc\d*/i, # matches: rc, RC, RC1, rc2, etc.
55
+ /dev/i, # matches: dev, DEV
56
+ /preview/i, # matches: preview, PREVIEW
57
+ /\bpre\b/i, # matches: pre, PRE as a whole word
58
+ /nightly/i, # matches: nightly, NIGHTLY
59
+ /snapshot/i, # matches: snapshot, SNAPSHOT
60
+ /canary/i, # matches: canary, CANARY
61
+ /unstable/i, # matches: unstable, UNSTABLE
62
+ /\d+[a-z]\d*/, # matches: 3.15.0a2, 1.0b1 (version followed by letter and optional number)
63
+ /[a-z]+\d+$/, # matches: alpha1, beta2, rc3 at the end
64
+ /\.post\d+/i, # matches: .post1, .POST2 (Python PEP 440 post-release)
65
+ /\.dev\d+/i # matches: .dev0, .DEV1 (Python PEP 440 development release)
66
+ ]
67
+
68
+ # Check both the version part and the suffix part
69
+ version_matches = version && prerelease_patterns.any? { |pattern| T.must(version).match?(pattern) }
70
+ suffix_matches = suffix && prerelease_patterns.any? { |pattern| T.must(suffix).match?(pattern) }
71
+
72
+ !!(version_matches || suffix_matches)
44
73
  end
45
74
 
46
75
  sig do
@@ -104,9 +104,23 @@ module Dependabot
104
104
  sig { returns(T::Boolean) }
105
105
  def digest_up_to_date?
106
106
  digest_requirements.all? do |req|
107
- next true unless updated_digest
108
-
109
- req.fetch(:source).fetch(:digest) == updated_digest
107
+ source = req.fetch(:source)
108
+ source_digest = source.fetch(:digest)
109
+ source_tag = source[:tag]
110
+
111
+ expected_digest =
112
+ if source_tag
113
+ latest_tag = latest_tag_from(source_tag)
114
+ digest_of(latest_tag.name)
115
+ else
116
+ updated_digest
117
+ end
118
+
119
+ # If we can't determine an expected digest (for example if the registry does not return digests)
120
+ # assume it's up to date
121
+ next true if expected_digest.nil?
122
+
123
+ source_digest == expected_digest
110
124
  end
111
125
  end
112
126
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-docker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.357.0
4
+ version: 0.358.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.357.0
18
+ version: 0.358.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.357.0
25
+ version: 0.358.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -261,7 +261,7 @@ licenses:
261
261
  - MIT
262
262
  metadata:
263
263
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
264
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.357.0
264
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.358.0
265
265
  rdoc_options: []
266
266
  require_paths:
267
267
  - lib