dependabot-terraform 0.155.1 → 0.156.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51d974767fa123e36602001d5e912b941f320337c393102382b79bcfcd0a87ab
4
- data.tar.gz: 7b856f87b9d0ee6066c2341fdb4b03774e555bcb6084d50f850fb25e42de604b
3
+ metadata.gz: d510e2ed189deaa3b6949fefd68fd73852f77728080bd1e96776eb91718f4eb7
4
+ data.tar.gz: 83a3ad61c89ce7606d103328b9500f37ae0e089c5c47041dd37d01e660b83ea8
5
5
  SHA512:
6
- metadata.gz: a90b8caecc2bdbf7df6b38747ae6cf798e047341243849f6a120d5dbe5d1e6f3c56250feb40c9dc1cae4093f3e634a1250ec9e37054faaf2773dbd75a2cd06d0
7
- data.tar.gz: 3ccc5a928652f5f22deec3412683bbdf83642e3b04606ae97049f353a0da2509c98ad33d9a234449e5754a313c827d0b6533f233a8d8479c76e2cf1f6a944196
6
+ metadata.gz: 48cf7e4734bd72c8a15351a85682e9b5526667276c6c685dd2b4144f00862d5dbf1b17a05629fe661f4ab145d378f4e14e5a744db0e66b0513c144e5fe996195
7
+ data.tar.gz: 9c583cdb4cf467046d2ece09d80f8ab881cd18708d6ee41f5077915302cbfcd88b4807127237078acfd421d9e02ac244b7de4ebb86f2a5e5674c53b084f24377
@@ -17,3 +17,6 @@ Dependabot::PullRequestCreator::Labeler.
17
17
  require "dependabot/dependency"
18
18
  Dependabot::Dependency.
19
19
  register_production_check("terraform", ->(_) { true })
20
+
21
+ require "dependabot/utils"
22
+ Dependabot::Utils.register_always_clone("terraform")
@@ -11,6 +11,8 @@ module Dependabot
11
11
  class FileUpdater < Dependabot::FileUpdaters::Base
12
12
  include FileSelector
13
13
 
14
+ PRIVATE_MODULE_ERROR = /Could not download module.*code from\n.*\"(?<repo>\S+)\":/.freeze
15
+
14
16
  def self.updated_files_regex
15
17
  [/\.tf$/, /\.hcl$/]
16
18
  end
@@ -102,9 +104,8 @@ module Dependabot
102
104
  declaration_regex = lockfile_declaration_regex(provider_source)
103
105
  lockfile_dependency_removed = content.sub(declaration_regex, "")
104
106
 
105
- SharedHelpers.in_a_temporary_directory do
106
- write_dependency_files
107
-
107
+ base_dir = dependency_files.first.directory
108
+ SharedHelpers.in_a_temporary_repo_directory(base_dir, repo_contents_path) do
108
109
  File.write(".terraform.lock.hcl", lockfile_dependency_removed)
109
110
  SharedHelpers.run_shell_command("terraform providers lock #{provider_source}")
110
111
 
@@ -123,19 +124,25 @@ module Dependabot
123
124
  # NOTE: Modules need to be installed before terraform can update the
124
125
  # lockfile
125
126
  @retrying_lock = true
126
- SharedHelpers.run_shell_command("terraform init")
127
+ run_terraform_init
127
128
  retry
128
129
  end
129
130
 
130
131
  content
131
132
  end
132
133
 
133
- def write_dependency_files
134
- dependency_files.each do |file|
135
- # Do not include the .terraform directory or .terraform.lock.hcl
136
- next if file.name.include?(".terraform")
134
+ def run_terraform_init
135
+ SharedHelpers.with_git_configured(credentials: credentials) do
136
+ # -backend=false option used to ignore any backend configuration, as these won't be accessible
137
+ # -input=false option used to immediately fail if it needs user input
138
+ # -no-color option used to prevent any color characters being printed in the output
139
+ SharedHelpers.run_shell_command("terraform init -backend=false -input=false -no-color")
140
+ rescue SharedHelpers::HelperSubprocessFailed => e
141
+ output = e.message
137
142
 
138
- File.write(file.name, file.content)
143
+ if output.match?(PRIVATE_MODULE_ERROR)
144
+ raise PrivateSourceAuthenticationFailure, output.match(PRIVATE_MODULE_ERROR).named_captures.fetch("repo")
145
+ end
139
146
  end
140
147
  end
141
148
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.155.1
4
+ version: 0.156.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-23 00:00:00.000000000 Z
11
+ date: 2021-06-30 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.155.1
19
+ version: 0.156.4
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.155.1
26
+ version: 0.156.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.16.0
103
+ version: 1.18.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.16.0
110
+ version: 1.18.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement