From 42ea27a92645a03bb4f56cf41b4c584b74c91eee Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 21 Mar 2018 05:16:03 +0100
Subject: [PATCH] fix: skip looking up scratch base image (docker)

---
 lib/manager/docker/extract.js       | 4 +++-
 test/manager/docker/extract.spec.js | 4 ++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/manager/docker/extract.js b/lib/manager/docker/extract.js
index 94f2437c59..5da249d5a2 100644
--- a/lib/manager/docker/extract.js
+++ b/lib/manager/docker/extract.js
@@ -40,7 +40,9 @@ function extractDependencies(content) {
     const [currentDepTag, currentDigest] = currentDepTagDigest.split('@');
     const [depName, currentTag] = currentDepTag.split(':');
     logger.info({ depName, currentTag, currentDigest }, 'Dockerfile FROM');
-    if (stageNames.includes(currentFrom)) {
+    if (currentFrom === 'scratch') {
+      logger.debug('Skipping scratch');
+    } else if (stageNames.includes(currentFrom)) {
       logger.debug({ currentFrom }, 'Skipping alias FROM');
     } else {
       deps.push({
diff --git a/test/manager/docker/extract.spec.js b/test/manager/docker/extract.spec.js
index 2f7c44bd94..c44e17038f 100644
--- a/test/manager/docker/extract.spec.js
+++ b/test/manager/docker/extract.spec.js
@@ -91,6 +91,10 @@ describe('lib/manager/docker/extract', () => {
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(2);
     });
+    it('skips scratchs', () => {
+      const res = extractDependencies('FROM scratch\nADD foo\n', config);
+      expect(res).toHaveLength(0);
+    });
     it('skips named multistage FROM tags', () => {
       const res = extractDependencies(
         'FROM node:6.12.3 as frontend\n\n# comment\nENV foo=bar\nFROM frontend\n',
-- 
GitLab