From ff2318547d11a8bb07cff63070ced83502a9e04e Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Sat, 7 May 2022 16:22:04 +0200
Subject: [PATCH] fix: log sidecar sha (#15499)

---
 lib/util/exec/docker/index.ts | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/lib/util/exec/docker/index.ts b/lib/util/exec/docker/index.ts
index 13addcd106..277de66e8a 100644
--- a/lib/util/exec/docker/index.ts
+++ b/lib/util/exec/docker/index.ts
@@ -9,16 +9,27 @@ import { ensureTrailingSlash } from '../../url';
 import { rawExec } from '../common';
 import type { DockerOptions, Opt, VolumeOption, VolumesPair } from '../types';
 
-const prefetchedImages = new Set<string>();
+const prefetchedImages = new Map<string, string>();
+
+const digestRegex = regEx('Digest: (.*?)\n');
 
 export async function prefetchDockerImage(taggedImage: string): Promise<void> {
   if (prefetchedImages.has(taggedImage)) {
-    logger.debug(`Docker image is already prefetched: ${taggedImage}`);
+    logger.debug(
+      `Docker image is already prefetched: ${taggedImage}@${prefetchedImages.get(
+        taggedImage
+      )}`
+    );
   } else {
     logger.debug(`Fetching Docker image: ${taggedImage}`);
-    prefetchedImages.add(taggedImage);
-    await rawExec(`docker pull ${taggedImage}`, { encoding: 'utf-8' });
-    logger.debug(`Finished fetching Docker image`);
+    const res = await rawExec(`docker pull ${taggedImage}`, {
+      encoding: 'utf-8',
+    });
+    const imageDigest = digestRegex.exec(res?.stdout)?.[1] ?? 'unknown';
+    logger.debug(
+      `Finished fetching Docker image ${taggedImage}@${imageDigest}`
+    );
+    prefetchedImages.set(taggedImage, imageDigest);
   }
 }
 
-- 
GitLab