dependabot-docker 0.393.0 → 0.395.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: 631a60bfcb79a600a89602befd184d8af5f3aff6e93ddcd636b0ba3a57092b67
|
|
4
|
+
data.tar.gz: 9c19a951e4fc1eeaa5448706eda907a35c15fd3ff3d8226a0b67531f437f8a08
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4f129aaf0c6612c022f276e4b84233c7d7f0276a2b393d603fdffa69a209c4f292eea55c7d7981ab365ee209d6f477a36f95c16cdcbbdf0d1515149e3f848320
|
|
7
|
+
data.tar.gz: 82d0113a5eb41bee3c43a0840c55a3b7738c2c1b45d24edc39a1bee41cd2af8a5d6d282a39154555a5862e42f21314583ec58fec6e52ceaf7265c149b43faf31
|
|
@@ -54,6 +54,8 @@ module Dependabot
|
|
|
54
54
|
|
|
55
55
|
manifest_files.each do |file|
|
|
56
56
|
dependency_set += workfile_file_dependencies(file)
|
|
57
|
+
rescue Dependabot::DependencyFileNotParseable => e
|
|
58
|
+
Dependabot.logger.warn("Failed to parse YAML file #{file.path}: #{e.message}")
|
|
57
59
|
end
|
|
58
60
|
|
|
59
61
|
dependency_set.dependencies
|
|
@@ -107,7 +109,6 @@ module Dependabot
|
|
|
107
109
|
|
|
108
110
|
dependency_set
|
|
109
111
|
rescue Psych::SyntaxError, Psych::DisallowedClass, Psych::BadAlias => e
|
|
110
|
-
Dependabot.logger.error("Failed to parse file #{file.path}: #{e.message}")
|
|
111
112
|
raise Dependabot::DependencyFileNotParseable.new(file.path, e.message)
|
|
112
113
|
end
|
|
113
114
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
require "sorbet-runtime"
|
|
5
5
|
require "dependabot/file_fetchers"
|
|
6
6
|
require "dependabot/file_fetchers/base"
|
|
7
|
+
require "dependabot/notices"
|
|
7
8
|
require "dependabot/shared/shared_file_updater"
|
|
8
9
|
|
|
9
10
|
module Dependabot
|
|
@@ -28,6 +29,21 @@ module Dependabot
|
|
|
28
29
|
def container_image_regex
|
|
29
30
|
%r{^#{FROM_REGEX}\s+(docker\.io/)?}o
|
|
30
31
|
end
|
|
32
|
+
|
|
33
|
+
sig { override.returns(T::Array[Dependabot::Notice]) }
|
|
34
|
+
def notices
|
|
35
|
+
return [] unless dependencies.any? { |dependency| dependency.metadata[:docker_cooldown_date_unavailable] }
|
|
36
|
+
|
|
37
|
+
[Dependabot::Notice.new(
|
|
38
|
+
mode: Dependabot::Notice::NoticeMode::WARN,
|
|
39
|
+
type: "docker_cooldown_date_unavailable",
|
|
40
|
+
package_manager_name: "docker",
|
|
41
|
+
title: "Docker cooldown was not applied",
|
|
42
|
+
description: "Cooldown could not be applied because no publication date was available from the registry.",
|
|
43
|
+
show_in_pr: true,
|
|
44
|
+
show_alert: false
|
|
45
|
+
)]
|
|
46
|
+
end
|
|
31
47
|
end
|
|
32
48
|
end
|
|
33
49
|
end
|
|
@@ -48,7 +48,7 @@ require "dependabot/experiments"
|
|
|
48
48
|
|
|
49
49
|
module Dependabot
|
|
50
50
|
module Docker
|
|
51
|
-
# rubocop:disable Metrics/ClassLength
|
|
51
|
+
# rubocop:disable-next Metrics/ClassLength
|
|
52
52
|
class UpdateChecker < Dependabot::UpdateCheckers::Base
|
|
53
53
|
extend T::Sig
|
|
54
54
|
|
|
@@ -443,7 +443,10 @@ module Dependabot
|
|
|
443
443
|
|
|
444
444
|
# If we can't determine publication details, skip cooldown for this tag and use it
|
|
445
445
|
# rather than blocking the update when the registry doesn't support the required API calls
|
|
446
|
-
|
|
446
|
+
if !details || !details.released_at
|
|
447
|
+
mark_cooldown_date_unavailable if cooldown_days_for(tag).positive?
|
|
448
|
+
return [tag]
|
|
449
|
+
end
|
|
447
450
|
|
|
448
451
|
return [tag] unless cooldown_period?(T.must(details.released_at), tag)
|
|
449
452
|
|
|
@@ -508,17 +511,14 @@ module Dependabot
|
|
|
508
511
|
sig { params(headers: T::Hash[Symbol, String], tag_name: String).returns(T.nilable(Time)) }
|
|
509
512
|
def published_date_from_response_headers(headers, tag_name)
|
|
510
513
|
last_modified = headers[:last_modified]
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
# Fall back to the image config blob's "created" timestamp when Last-Modified
|
|
520
|
-
# is absent (e.g., Docker Hub multi-arch manifest lists).
|
|
521
|
-
published_date || fetch_image_config_created(tag_name)
|
|
514
|
+
return nil unless last_modified
|
|
515
|
+
|
|
516
|
+
Time.parse(last_modified)
|
|
517
|
+
rescue ArgumentError, TypeError => e
|
|
518
|
+
Dependabot.logger.info(
|
|
519
|
+
"Invalid Last-Modified header for #{docker_repo_name}:#{tag_name}: #{e.message}"
|
|
520
|
+
)
|
|
521
|
+
nil
|
|
522
522
|
end
|
|
523
523
|
|
|
524
524
|
sig do
|
|
@@ -1051,15 +1051,26 @@ module Dependabot
|
|
|
1051
1051
|
|
|
1052
1052
|
sig { params(release_date: Time, candidate_tag: Dependabot::Docker::Tag).returns(T::Boolean) }
|
|
1053
1053
|
def cooldown_period?(release_date, candidate_tag)
|
|
1054
|
+
Dependabot::UpdateCheckers::CooldownCalculation.within_cooldown_window?(
|
|
1055
|
+
release_date, cooldown_days_for(candidate_tag)
|
|
1056
|
+
)
|
|
1057
|
+
end
|
|
1058
|
+
|
|
1059
|
+
sig { params(candidate_tag: Dependabot::Docker::Tag).returns(Integer) }
|
|
1060
|
+
def cooldown_days_for(candidate_tag)
|
|
1054
1061
|
cooldown = @update_cooldown
|
|
1055
|
-
return
|
|
1062
|
+
return 0 unless cooldown
|
|
1056
1063
|
|
|
1057
1064
|
current_version = dependency.version ? comparable_version_from(version_tag) : nil
|
|
1058
1065
|
new_version = comparable_version_from(candidate_tag)
|
|
1059
|
-
|
|
1066
|
+
Dependabot::UpdateCheckers::CooldownCalculation.cooldown_days_for(
|
|
1060
1067
|
cooldown, current_version, new_version
|
|
1061
1068
|
)
|
|
1062
|
-
|
|
1069
|
+
end
|
|
1070
|
+
|
|
1071
|
+
sig { void }
|
|
1072
|
+
def mark_cooldown_date_unavailable
|
|
1073
|
+
dependency.metadata[:docker_cooldown_date_unavailable] = true
|
|
1063
1074
|
end
|
|
1064
1075
|
|
|
1065
1076
|
# Builds the PackageRelease version for a tag. Non-comparable tags (e.g.
|
|
@@ -1089,7 +1100,10 @@ module Dependabot
|
|
|
1089
1100
|
return false unless cooldown
|
|
1090
1101
|
|
|
1091
1102
|
released_at = publication_detail(Tag.new(tag_name))&.released_at
|
|
1092
|
-
|
|
1103
|
+
unless released_at
|
|
1104
|
+
mark_cooldown_date_unavailable if cooldown.default_days.positive?
|
|
1105
|
+
return false
|
|
1106
|
+
end
|
|
1093
1107
|
|
|
1094
1108
|
Dependabot::UpdateCheckers::CooldownCalculation.within_cooldown_window?(
|
|
1095
1109
|
released_at, cooldown.default_days
|
|
@@ -1700,7 +1714,6 @@ module Dependabot
|
|
|
1700
1714
|
)
|
|
1701
1715
|
end
|
|
1702
1716
|
end
|
|
1703
|
-
# rubocop:enable Metrics/ClassLength
|
|
1704
1717
|
end
|
|
1705
1718
|
end
|
|
1706
1719
|
|
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.
|
|
4
|
+
version: 0.395.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.395.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.395.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: debug
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -169,28 +169,28 @@ dependencies:
|
|
|
169
169
|
requirements:
|
|
170
170
|
- - "~>"
|
|
171
171
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '
|
|
172
|
+
version: '1.1'
|
|
173
173
|
type: :development
|
|
174
174
|
prerelease: false
|
|
175
175
|
version_requirements: !ruby/object:Gem::Requirement
|
|
176
176
|
requirements:
|
|
177
177
|
- - "~>"
|
|
178
178
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: '
|
|
179
|
+
version: '1.1'
|
|
180
180
|
- !ruby/object:Gem::Dependency
|
|
181
|
-
name:
|
|
181
|
+
name: turbo_tests2
|
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
|
183
183
|
requirements:
|
|
184
184
|
- - "~>"
|
|
185
185
|
- !ruby/object:Gem::Version
|
|
186
|
-
version:
|
|
186
|
+
version: 3.2.7
|
|
187
187
|
type: :development
|
|
188
188
|
prerelease: false
|
|
189
189
|
version_requirements: !ruby/object:Gem::Requirement
|
|
190
190
|
requirements:
|
|
191
191
|
- - "~>"
|
|
192
192
|
- !ruby/object:Gem::Version
|
|
193
|
-
version:
|
|
193
|
+
version: 3.2.7
|
|
194
194
|
- !ruby/object:Gem::Dependency
|
|
195
195
|
name: vcr
|
|
196
196
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -266,7 +266,7 @@ licenses:
|
|
|
266
266
|
- MIT
|
|
267
267
|
metadata:
|
|
268
268
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
269
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
|
269
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.395.0
|
|
270
270
|
rdoc_options: []
|
|
271
271
|
require_paths:
|
|
272
272
|
- lib
|