dependabot-docker 0.393.0 → 0.394.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: 40871e6fa5bfd72e639398d41c618a392600f4083a884fa5fe9312729978b325
|
|
4
|
+
data.tar.gz: b8aa69d5e13805c63e7355f3161c72b30c8220b369ea099d5bdb7cc05c61664e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 30654c530493ff9ff60f7fa6599e4018b35b984c75020648aa5a8e8c486c46f7fbf7745a8c73382a9cacd1f746281150d99a46274875e04229b60fbb5f68a158
|
|
7
|
+
data.tar.gz: 59667acd511aaef2640934fccbf22513c75a18e28e43db50eb28ae12039dc7349207905021cc1fa1accd95121680fb4d361a44eaa950e7df1477f0d4333ca42d
|
|
@@ -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
|
|
@@ -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
|
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.394.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.394.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.394.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: debug
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -169,14 +169,14 @@ 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
181
|
name: turbo_tests
|
|
182
182
|
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.394.0
|
|
270
270
|
rdoc_options: []
|
|
271
271
|
require_paths:
|
|
272
272
|
- lib
|