diff --git a/lib/manager/docker-compose/extract.ts b/lib/manager/docker-compose/extract.ts index b0034782552a9dfd2c13db9aaa07b9a8e1c8133e..549f2f922094c79f14c7fd6aa66024bd71d9b538 100644 --- a/lib/manager/docker-compose/extract.ts +++ b/lib/manager/docker-compose/extract.ts @@ -55,22 +55,30 @@ export function extractPackageFile( logger.warn({ fileName, err }, 'Parsing Docker Compose config YAML'); return null; } - const lineMapper = new LineMapper(content, /^\s*image:/); + try { + const lineMapper = new LineMapper(content, /^\s*image:/); - // Image name/tags for services are only eligible for update if they don't - // use variables and if the image is not built locally - const deps = Object.values(config.services || {}) - .filter(service => service.image && !service.build) - .map(service => { - const dep = getDep(service.image); - const lineNumber = lineMapper.pluckLineNumber(service.image); - dep.managerData = { lineNumber }; - return dep; - }); + // Image name/tags for services are only eligible for update if they don't + // use variables and if the image is not built locally + const deps = Object.values(config.services || {}) + .filter(service => service.image && !service.build) + .map(service => { + const dep = getDep(service.image); + const lineNumber = lineMapper.pluckLineNumber(service.image); + dep.managerData = { lineNumber }; + return dep; + }); - logger.trace({ deps }, 'Docker Compose image'); - if (!deps.length) { + logger.trace({ deps }, 'Docker Compose image'); + if (!deps.length) { + return null; + } + return { deps }; + } catch (err) /* istanbul ignore next */ { + logger.warn( + { fileName, content, err }, + 'Error extracting Docker Compose file' + ); return null; } - return { deps }; }