From 77e48684e77ea0fb65e316bd444c0e45eb699463 Mon Sep 17 00:00:00 2001
From: Hasan Awad <90554456+hasanwhitesource@users.noreply.github.com>
Date: Mon, 28 Feb 2022 20:47:19 +0200
Subject: [PATCH] fix(pr): pr table for digests (#14337)

---
 lib/workers/pr/body/updates-table.ts            |  2 +-
 lib/workers/repository/updates/generate.spec.ts | 15 +++++++++++++++
 lib/workers/repository/updates/generate.ts      |  2 +-
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/lib/workers/pr/body/updates-table.ts b/lib/workers/pr/body/updates-table.ts
index 5e368b8823..ea41b9ee67 100644
--- a/lib/workers/pr/body/updates-table.ts
+++ b/lib/workers/pr/body/updates-table.ts
@@ -59,7 +59,7 @@ export function getPrUpdatesTable(config: BranchConfig): string {
           if (value) {
             res[header] = template
               .compile(value, upgrade)
-              .replace(regEx(/^``$/), '');
+              .replace(regEx(/``/g), '');
           } else {
             res[header] = '';
           }
diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts
index e0bed221d5..779ce363cd 100644
--- a/lib/workers/repository/updates/generate.spec.ts
+++ b/lib/workers/repository/updates/generate.spec.ts
@@ -1,6 +1,7 @@
 import { defaultConfig, partial } from '../../../../test/util';
 import type { UpdateType } from '../../../config/types';
 import { NpmDatasource } from '../../../datasource/npm';
+import type { LookupUpdate } from '../../../manager/types';
 import type { BranchUpgradeConfig } from '../../types';
 import { generateBranchConfig } from './generate';
 
@@ -341,6 +342,20 @@ describe('workers/repository/updates/generate', () => {
       expect(res.recreateClosed).toBeTrue();
       expect(res.groupName).toBeDefined();
     });
+    it('pins digest to table', () => {
+      const branch = [
+        partial<LookupUpdate & BranchUpgradeConfig>({
+          ...defaultConfig,
+          depName: 'foo-image',
+          newDigest: 'abcdefg987612345',
+          currentDigest: '',
+          updateType: 'pin',
+        }),
+      ];
+      const res = generateBranchConfig(branch);
+      expect(res.upgrades[0].displayFrom).toBe('');
+      expect(res.upgrades[0].displayTo).toBe('abcdefg');
+    });
     it('fixes different messages', () => {
       const branch = [
         {
diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts
index d9cae64c97..dd24c2c1d5 100644
--- a/lib/workers/repository/updates/generate.ts
+++ b/lib/workers/repository/updates/generate.ts
@@ -115,7 +115,7 @@ export function generateBranchConfig(
         upgrade.newDigestShort ||
         upgrade.newDigest.replace('sha256:', '').substring(0, 7);
     }
-    if (upgrade.isDigest) {
+    if (upgrade.isDigest || upgrade.updateType === 'pin') {
       upgrade.displayFrom = upgrade.currentDigestShort;
       upgrade.displayTo = upgrade.newDigestShort;
     } else if (upgrade.isLockfileUpdate) {
-- 
GitLab