From 8d99c9b8b8cbc56bcf3d785df2c324629a50dabf Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Sat, 6 Oct 2018 14:45:32 +0200
Subject: [PATCH] fix(terraform): skip local references

---
 lib/manager/terraform/extract.js                          | 6 ++++--
 test/_fixtures/terraform/1.tf                             | 4 ++++
 test/manager/terraform/__snapshots__/extract.spec.js.snap | 5 +++++
 test/manager/terraform/extract.spec.js                    | 4 ++--
 4 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/lib/manager/terraform/extract.js b/lib/manager/terraform/extract.js
index 2e7e0f157f..2f3913823e 100644
--- a/lib/manager/terraform/extract.js
+++ b/lib/manager/terraform/extract.js
@@ -64,7 +64,9 @@ function extractDependencies(content) {
       }
     } else {
       const moduleParts = dep.source.split('//')[0].split('/');
-      if (moduleParts.length === 3) {
+      if (moduleParts[0] === '..') {
+        dep.skipReason = 'local';
+      } else if (moduleParts.length === 3) {
         dep.depType = 'terraform';
         dep.depName = moduleParts.join('/');
         dep.depNameShort = dep.depName;
@@ -84,7 +86,7 @@ function extractDependencies(content) {
         } else {
           dep.skipReason = 'unsupported-version';
         }
-      } else {
+      } else if (!dep.skipReason) {
         dep.skipReason = 'no-version';
       }
     }
diff --git a/test/_fixtures/terraform/1.tf b/test/_fixtures/terraform/1.tf
index d462a98546..e7f6168dbd 100644
--- a/test/_fixtures/terraform/1.tf
+++ b/test/_fixtures/terraform/1.tf
@@ -86,3 +86,7 @@ module "consul3" {
   source = "hashicorp/consul/aws"
   version = ">= 1.0.0, <= 2.0.0"
 }
+
+module "relative" {
+  source = "../../modules/fe"
+}
diff --git a/test/manager/terraform/__snapshots__/extract.spec.js.snap b/test/manager/terraform/__snapshots__/extract.spec.js.snap
index 16d34b98c8..482742af44 100644
--- a/test/manager/terraform/__snapshots__/extract.spec.js.snap
+++ b/test/manager/terraform/__snapshots__/extract.spec.js.snap
@@ -137,6 +137,11 @@ Object {
       "source": "hashicorp/consul/aws",
       "versionScheme": "semverHashicorp",
     },
+    Object {
+      "moduleName": "relative",
+      "skipReason": "local",
+      "source": "../../modules/fe",
+    },
   ],
 }
 `;
diff --git a/test/manager/terraform/extract.spec.js b/test/manager/terraform/extract.spec.js
index 6c8b080d83..8bc2b097c6 100644
--- a/test/manager/terraform/extract.spec.js
+++ b/test/manager/terraform/extract.spec.js
@@ -17,8 +17,8 @@ describe('lib/manager/terraform/extract', () => {
     it('extracts', () => {
       const res = extractDependencies(tf1);
       expect(res).toMatchSnapshot();
-      expect(res.deps).toHaveLength(12);
-      expect(res.deps.filter(dep => dep.skipReason)).toHaveLength(3);
+      expect(res.deps).toHaveLength(13);
+      expect(res.deps.filter(dep => dep.skipReason)).toHaveLength(4);
     });
   });
 });
-- 
GitLab