dependabot-docker 0.171.2 → 0.172.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: 74e07704ba26c521724e560de9e3904de7f10959c8ebec45cae65183dcc90ed6
4
- data.tar.gz: fbef4df44f0190031e60005c3bb46e597c2601f20a518086e98f6d6b9ac98c1b
3
+ metadata.gz: c51bf8c18d49414617bd327745b0a1869e8383cf5f3500059fa389e63361e833
4
+ data.tar.gz: 7bb677735c2ff6dd6daaf7f245d3af56f02121127f13b38b7f44473b171af7b0
5
5
  SHA512:
6
- metadata.gz: 7155a8ef686a52540d00871e9ffffda69740e6ccb7708d3e6a32ba2b82d345e4d397a1b3673decde550ac5e8b7cc7ffb6010552aae9450b79cbe44477574d838
7
- data.tar.gz: c9355f09c1326881a1239669a666f8c5729ff7935328646084c996c9e1efaba1cd0dc31c33ff08a594ba6c1d8eeaa86c63e72fa3af0d4d60f71a30d4632eb626
6
+ metadata.gz: 5e4f9376f2bf4bd99e466c51fdab7e951f84a82cd6ef7164e0c655d763a31338af6981a8a2911df2805cf42d152ea5f381bd546d10383c36f22bb07af277dfd3
7
+ data.tar.gz: 9fc9185746655203d1fa3a828aa873bfc2352cbe04b0670d115a8c72ac5504bd34d6c64713c284b57a11f371272115d1305461e4eb3bcd11b1355741a73a366c
@@ -16,15 +16,16 @@ module Dependabot
16
16
  # Details of Docker regular expressions is at
17
17
  # https://github.com/docker/distribution/blob/master/reference/regexp.go
18
18
  DOMAIN_COMPONENT =
19
- /(?:[[:alnum:]]|[[:alnum:]][[[:alnum:]]-]*[[:alnum:]])/.freeze
19
+ /[[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]]/.freeze
20
20
  DOMAIN = /(?:#{DOMAIN_COMPONENT}(?:\.#{DOMAIN_COMPONENT})+)/.freeze
21
21
  REGISTRY = /(?<registry>#{DOMAIN}(?::\d+)?)/.freeze
22
22
 
23
- NAME_COMPONENT = /(?:[a-z\d]+(?:(?:[._]|__|[-]*)[a-z\d]+)*)/.freeze
23
+ NAME_COMPONENT = /[a-z\d]+(?:(?:[._]|__|[-]*)[a-z\d]+)*/.freeze
24
24
  IMAGE = %r{(?<image>#{NAME_COMPONENT}(?:/#{NAME_COMPONENT})*)}.freeze
25
25
 
26
+ ARG = /ARG/i.freeze
26
27
  FROM = /FROM/i.freeze
27
- PLATFORM = /--platform\=(?<platform>\S+)/.freeze
28
+ PLATFORM = /--platform=(?<platform>\S+)/.freeze
28
29
  TAG = /:(?<tag>[\w][\w.-]{0,127})/.freeze
29
30
  DIGEST = /@(?<digest>[^\s]+)/.freeze
30
31
  NAME = /\s+AS\s+(?<name>[\w-]+)/.freeze
@@ -38,7 +39,14 @@ module Dependabot
38
39
  dependency_set = DependencySet.new
39
40
 
40
41
  dockerfiles.each do |dockerfile|
42
+ args = {}
41
43
  dockerfile.content.each_line do |line|
44
+ if ARG.match(line)
45
+ key_value = line.delete_prefix("ARG ").split("=")
46
+ args[key_value[0]] = key_value[1].delete_suffix("\n")
47
+ next
48
+ end
49
+ line = replace_args(line, args)
42
50
  next unless FROM_LINE.match?(line)
43
51
 
44
52
  parsed_from_line = FROM_LINE.match(line).named_captures
@@ -66,6 +74,13 @@ module Dependabot
66
74
 
67
75
  private
68
76
 
77
+ def replace_args(line, args)
78
+ line.gsub(/\${?\w+}?/) do |s|
79
+ escaped = s.delete_prefix("$").delete_prefix("{").delete_suffix("}")
80
+ args[escaped]
81
+ end
82
+ end
83
+
69
84
  def dockerfiles
70
85
  # The Docker file fetcher only fetches Dockerfiles, so no need to
71
86
  # filter here
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-docker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.171.2
4
+ version: 0.172.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-14 00:00:00.000000000 Z
11
+ date: 2022-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dependabot-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.171.2
19
+ version: 0.172.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.171.2
26
+ version: 0.172.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debug
29
29
  requirement: !ruby/object:Gem::Requirement