diff --git a/lib/manager/terraform/extract.js b/lib/manager/terraform/extract.js index 2e7e0f157f6356ddae6569969d949bc1bf109bf5..2f3913823e9b4eda08f23b3dd7cbbe24857c1914 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 d462a98546d56316964a259c0d8a8843ab5b58ed..e7f6168dbdf37e8841dd6efeae33d3ee565b09fa 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 16d34b98c8acec3affaf64310f0a8c1c2cf0c34b..482742af4425a69031a03b0e18d643c36ba6d77a 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 6c8b080d831da6d228b0748954766fb83d2d6750..8bc2b097c6c14a43a69029ae47287e1572ee8441 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); }); }); });