dependabot-helm 0.402.0 → 0.403.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: 9b304ef01a7abd3e8b754af59a846e913e1ee5d88ceff9cecfa26f04dabb8be1
4
- data.tar.gz: 0df2acdd54edb333ec859941bf965b910ae24dc31df8aa0425282ba126010f23
3
+ metadata.gz: a5253094d06486bd961a35fe66c8d1da5591c711be1e52a7d9d3af1433ed1d31
4
+ data.tar.gz: 0f3b05054523f8bb2bb122104e721b4be51b69bc856b683c81a4983d9531ed45
5
5
  SHA512:
6
- metadata.gz: 20eeb495ab29fb49c19933bcc4f8f6f76f15ec5c03f76dadf33bac6ab4a115e110a9ea318c94cdfb18ca6e38725c26465dfcabc1b73270092a4e1a1144dcbb4b
7
- data.tar.gz: 131cec5c4fdfdc225c1cab68fb5c9d370a126a255bb128e6b75a0eb50c74469b2294c2e99d2c7900bbdfb1687813c785168c8041403f3151153de7f7e5e082d1
6
+ metadata.gz: 0513cd80b1b5cd1f938ddad7831550c32729fed73dcaeff5ed67f0ed2c00538ad6a41fa1efcc02e29e1fa9020e99fcfc637adc6a4f8d01c43870e23d2ef586e5
7
+ data.tar.gz: ad99f9e80a7e785315e3dde4713b5399236fc43180fa39a904fdb7b6b8dc4baff733d3ae76c431fe12062389448ae336c208f0e05041e3accf62cad7c5536ec1
@@ -505,9 +505,11 @@ module Dependabot
505
505
  def fetch_latest_image_version
506
506
  docker_dependency = build_docker_dependency
507
507
 
508
+ docker_cooldown = docker_cooldown_options
509
+
508
510
  Dependabot.logger.info("Delegating to Docker UpdateChecker for image: #{docker_dependency.name}")
509
511
 
510
- docker_checker = if cooldown_enabled?
512
+ docker_checker = if docker_cooldown
511
513
  Dependabot::UpdateCheckers.for_package_manager("docker").new(
512
514
  dependency: docker_dependency,
513
515
  dependency_files: dependency_files,
@@ -515,7 +517,7 @@ module Dependabot
515
517
  ignored_versions: ignored_versions,
516
518
  security_advisories: security_advisories,
517
519
  raise_on_ignored: raise_on_ignored,
518
- update_cooldown: update_cooldown
520
+ update_cooldown: docker_cooldown
519
521
  )
520
522
  else
521
523
  Dependabot::UpdateCheckers.for_package_manager("docker").new(
@@ -534,7 +536,7 @@ module Dependabot
534
536
 
535
537
  return unless docker_checker.can_update?(requirements_to_unlock: :none)
536
538
 
537
- version_class.new(latest_version)
539
+ ImageTag.new(latest_version)
538
540
  end
539
541
 
540
542
  sig { params(tags: T::Array[String], repo_url: String).returns(T::Array[GitTagWithDetail]) }
@@ -583,6 +585,9 @@ module Dependabot
583
585
  end
584
586
 
585
587
  registry = requirement.source_string("registry")
588
+ # The parser folds a detected registry into the name (e.g. "quay.io/org/app"), but the
589
+ # Docker checker builds the repository path from the name and the host from the registry.
590
+ name = name.delete_prefix("#{registry}/") if registry
586
591
 
587
592
  Dependency.new(
588
593
  name: name,
@@ -600,6 +605,21 @@ module Dependabot
600
605
  )
601
606
  end
602
607
 
608
+ # The Docker checker matches include/exclude against the shortened image name, so resolve
609
+ # them here against the original Helm dependency name and delegate a pattern-free cooldown.
610
+ sig { returns(T.nilable(Dependabot::Package::ReleaseCooldownOptions)) }
611
+ def docker_cooldown_options
612
+ cooldown = update_cooldown
613
+ return nil if cooldown.nil? || !cooldown_enabled? || !cooldown.included?(dependency.name)
614
+
615
+ Dependabot::Package::ReleaseCooldownOptions.new(
616
+ default_days: cooldown.default_days,
617
+ semver_major_days: cooldown.semver_major_days,
618
+ semver_minor_days: cooldown.semver_minor_days,
619
+ semver_patch_days: cooldown.semver_patch_days
620
+ )
621
+ end
622
+
603
623
  sig { returns(T::Boolean) }
604
624
  def cooldown_enabled?
605
625
  # This is a simple check to see if user has put cooldown days.
@@ -107,6 +107,23 @@ module Dependabot
107
107
  Dependabot::Version.new(valid ? group : 0)
108
108
  end
109
109
  end
110
+
111
+ # A Docker image tag. It compares like a Helm::Version, but is written back exactly as the
112
+ # registry publishes it, so "v1.5.0" and "1.2.3-alpine" keep their prefix and suffix.
113
+ class ImageTag < Version
114
+ extend T::Sig
115
+
116
+ sig { override.params(version: VersionParameter).void }
117
+ def initialize(version)
118
+ @tag = T.let(version.to_s, String)
119
+ super
120
+ end
121
+
122
+ sig { override.returns(T.nilable(String)) }
123
+ def to_s
124
+ @tag
125
+ end
126
+ end
110
127
  end
111
128
  end
112
129
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-helm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.402.0
4
+ version: 0.403.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -15,28 +15,28 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.402.0
18
+ version: 0.403.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.402.0
25
+ version: 0.403.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: dependabot-docker
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - '='
31
31
  - !ruby/object:Gem::Version
32
- version: 0.402.0
32
+ version: 0.403.0
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - '='
38
38
  - !ruby/object:Gem::Version
39
- version: 0.402.0
39
+ version: 0.403.0
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: debug
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -275,7 +275,7 @@ licenses:
275
275
  - MIT
276
276
  metadata:
277
277
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
278
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.402.0
278
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.403.0
279
279
  rdoc_options: []
280
280
  require_paths:
281
281
  - lib