From d499cb0cd563d23c834734c17849adf4f460b1e2 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Fri, 25 Jan 2019 07:02:13 +0100 Subject: [PATCH] fix(docker): skip sources containing variables --- lib/manager/dockerfile/extract.js | 6 ++++++ test/_fixtures/docker-compose/docker-compose.1.yml | 3 +++ .../docker-compose/__snapshots__/extract.spec.js.snap | 6 ++++++ test/manager/docker-compose/extract.spec.js | 2 +- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/manager/dockerfile/extract.js b/lib/manager/dockerfile/extract.js index 526d3da748..fc61e2fec7 100644 --- a/lib/manager/dockerfile/extract.js +++ b/lib/manager/dockerfile/extract.js @@ -7,6 +7,11 @@ module.exports = { function splitImageParts(currentFrom) { let dockerRegistry; + if (currentFrom.includes('${')) { + return { + skipReason: 'contains-variable', + }; + } const split = currentFrom.split('/'); if (split.length > 1 && split[0].includes('.')) { [dockerRegistry] = split; @@ -41,6 +46,7 @@ function getDep(currentFrom) { const purl = getPurl(dep.dockerRegistry, dep.depName); dep.purl = purl; if ( + dep.depName && (dep.depName === 'node' || dep.depName.endsWith('/node')) && dep.depName !== 'calico/node' ) { diff --git a/test/_fixtures/docker-compose/docker-compose.1.yml b/test/_fixtures/docker-compose/docker-compose.1.yml index 36ceccedd8..d3e7d8eaa1 100644 --- a/test/_fixtures/docker-compose/docker-compose.1.yml +++ b/test/_fixtures/docker-compose/docker-compose.1.yml @@ -87,6 +87,9 @@ services: placement: constraints: [node.role == manager] + edplugins: + image: ${IMAGE:-synkodevelopers/edplugins}:${TAG:-latest} + networks: frontend: backend: diff --git a/test/manager/docker-compose/__snapshots__/extract.spec.js.snap b/test/manager/docker-compose/__snapshots__/extract.spec.js.snap index 5403859b63..5b5ebf67d1 100644 --- a/test/manager/docker-compose/__snapshots__/extract.spec.js.snap +++ b/test/manager/docker-compose/__snapshots__/extract.spec.js.snap @@ -80,5 +80,11 @@ Array [ "lineNumber": 79, "purl": "pkg:docker/dockersamples/visualizer", }, + Object { + "currentFrom": "\${IMAGE:-synkodevelopers/edplugins}:\${TAG:-latest}", + "lineNumber": 90, + "purl": "pkg:docker/undefined", + "skipReason": "contains-variable", + }, ] `; diff --git a/test/manager/docker-compose/extract.spec.js b/test/manager/docker-compose/extract.spec.js index 06d3aeff28..6d280b84ea 100644 --- a/test/manager/docker-compose/extract.spec.js +++ b/test/manager/docker-compose/extract.spec.js @@ -20,7 +20,7 @@ describe('lib/manager/docker-compose/extract', () => { it('extracts multiple image lines', () => { const res = extractPackageFile(yamlFile, config); expect(res.deps).toMatchSnapshot(); - expect(res.deps).toHaveLength(7); + expect(res.deps).toHaveLength(8); }); }); }); -- GitLab