diff --git a/lib/workers/repository/cache.ts b/lib/workers/repository/cache.ts
index 09ec25a13605321abe4a6ebb5ee15a8ce12ab0eb..2b76554c02111404d5e50ba8b8d118c1911fde91 100644
--- a/lib/workers/repository/cache.ts
+++ b/lib/workers/repository/cache.ts
@@ -51,8 +51,7 @@ async function generateBranchCache(
   const { baseBranch, branchName } = branch;
   try {
     const sha = getBranchCommit(branchName) ?? null;
-    // TODO: fix types (#7154)
-    const baseBranchSha = getBranchCommit(baseBranch!)!;
+    const baseBranchSha = getBranchCommit(baseBranch);
     let prNo = null;
     let parentSha = null;
     let isModified = false;
@@ -64,8 +63,7 @@ async function generateBranchCache(
         prNo = branchPr.number;
       }
       isModified = await isBranchModified(branchName);
-      // TODO: fix types (#7154)
-      isBehindBase = await isBranchBehindBase(branchName, baseBranch!);
+      isBehindBase = await isBranchBehindBase(branchName, baseBranch);
     }
     const automerge = !!branch.automerge;
     const upgrades: BranchUpgradeCache[] = branch.upgrades
@@ -75,8 +73,7 @@ async function generateBranchCache(
     return {
       automerge,
       baseBranchSha,
-      // TODO: fix types (#7154)
-      baseBranch: baseBranch!,
+      baseBranch,
       branchFingerprint,
       branchName,
       isBehindBase,
diff --git a/lib/workers/repository/onboarding/pr/pr-list.spec.ts b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
index f5130eb5323783cdb44fd367857680fad2cb8aac..cc3de0bc72dc467a34dfcbfee44d73fe9b4abe63 100644
--- a/lib/workers/repository/onboarding/pr/pr-list.spec.ts
+++ b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
@@ -24,11 +24,12 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
     });
 
     it('has special lock file maintenance description', () => {
-      const branches = [
+      const branches: BranchConfig[] = [
         {
           prTitle: 'Lock file maintenance',
           schedule: ['before 5am'],
           branchName: 'renovate/lock-file-maintenance',
+          baseBranch: 'base',
           manager: 'some-manager',
           upgrades: [
             {
@@ -50,6 +51,7 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
 
           - Schedule: ["before 5am"]
           - Branch name: \`renovate/lock-file-maintenance\`
+          - Merge into: \`base\`
           - Regenerate lock files to use latest dependency versions
 
         </details>
@@ -59,10 +61,10 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
     });
 
     it('handles multiple', () => {
-      const branches = [
+      const branches: BranchConfig[] = [
         {
           prTitle: 'Pin dependencies',
-          baseBranch: 'some-other',
+          baseBranch: 'base',
           branchName: 'renovate/pin-dependencies',
           manager: 'some-manager',
           upgrades: [
@@ -85,6 +87,7 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
         {
           prTitle: 'Update a to v2',
           branchName: 'renovate/a-2.x',
+          baseBranch: '', // handles case where baseBranch name is falsy
           manager: 'some-manager',
           upgrades: [
             {
@@ -111,7 +114,7 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
         <summary>Pin dependencies</summary>
 
           - Branch name: \`renovate/pin-dependencies\`
-          - Merge into: \`some-other\`
+          - Merge into: \`base\`
           - Pin [a](https://a) to \`1.1.0\`
           - Pin b to \`1.5.3\`
 
diff --git a/lib/workers/repository/process/extract-update.spec.ts b/lib/workers/repository/process/extract-update.spec.ts
index 42c70a4b4f315e4cfe4172f10b362396477c605a..de4eebf437da5f7d9161a6b39cc55e7f20d2e749 100644
--- a/lib/workers/repository/process/extract-update.spec.ts
+++ b/lib/workers/repository/process/extract-update.spec.ts
@@ -18,7 +18,12 @@ const repositoryCache = mocked(_repositoryCache);
 
 branchify.branchifyUpgrades.mockResolvedValueOnce({
   branches: [
-    { manager: 'some-manager', branchName: 'some-branch', upgrades: [] },
+    {
+      manager: 'some-manager',
+      branchName: 'some-branch',
+      baseBranch: 'base',
+      upgrades: [],
+    },
   ],
   branchList: ['branchName'],
 });
@@ -40,6 +45,7 @@ describe('workers/repository/process/extract-update', () => {
           {
             branchName: 'some-branch',
             manager: 'some-manager',
+            baseBranch: 'base',
             upgrades: [],
           },
         ],
diff --git a/lib/workers/repository/process/write.spec.ts b/lib/workers/repository/process/write.spec.ts
index 3c927459236ffb5c26c7dcf824a99a9842784c24..9eb5a624b1ef904a5ac1012f4e37e69d1f8c15c0 100644
--- a/lib/workers/repository/process/write.spec.ts
+++ b/lib/workers/repository/process/write.spec.ts
@@ -5,7 +5,6 @@ import {
   git,
   logger,
   mocked,
-  partial,
 } from '../../../../test/util';
 import { GlobalConfig } from '../../../config/global';
 import { addMeta } from '../../../logger';
@@ -49,19 +48,40 @@ beforeEach(() => {
 describe('workers/repository/process/write', () => {
   describe('writeUpdates()', () => {
     it('stops after automerge', async () => {
-      const branches = partial<BranchConfig[]>([
-        { branchName: 'test_branch', manager: 'npm', upgrades: [] },
-        { branchName: 'test_branch', manager: 'npm', upgrades: [] },
+      const branches: BranchConfig[] = [
+        {
+          branchName: 'test_branch',
+          baseBranch: 'base',
+          manager: 'npm',
+          upgrades: [],
+        },
+        {
+          branchName: 'test_branch',
+          baseBranch: 'base',
+          manager: 'npm',
+          upgrades: [],
+        },
         {
           branchName: 'test_branch',
+          baseBranch: 'base',
           manager: 'npm',
           automergeType: 'pr-comment',
           ignoreTests: true,
           upgrades: [],
         },
-        { branchName: 'test_branch', manager: 'npm', upgrades: [] },
-        { branchName: 'test_branch', manager: 'npm', upgrades: [] },
-      ]);
+        {
+          branchName: 'test_branch',
+          baseBranch: 'base',
+          manager: 'npm',
+          upgrades: [],
+        },
+        {
+          branchName: 'test_branch',
+          baseBranch: 'base',
+          manager: 'npm',
+          upgrades: [],
+        },
+      ];
       git.branchExists.mockReturnValue(true);
       branchWorker.processBranch.mockResolvedValueOnce({
         branchExists: true,
@@ -88,9 +108,9 @@ describe('workers/repository/process/write', () => {
     it('increments branch counter', async () => {
       const branchName = 'branchName';
       const branches: BranchConfig[] = [
-        partial<BranchConfig>({ baseBranch: 'main', branchName, upgrades: [] }),
-        partial<BranchConfig>({ baseBranch: 'dev', branchName, upgrades: [] }),
-      ] as never;
+        { baseBranch: 'main', branchName, upgrades: [], manager: 'npm' },
+        { baseBranch: 'dev', branchName, upgrades: [], manager: 'npm' },
+      ];
       repoCache.getCache.mockReturnValueOnce({});
       branchWorker.processBranch.mockResolvedValueOnce({
         branchExists: true,
@@ -114,9 +134,10 @@ describe('workers/repository/process/write', () => {
     });
 
     it('return no-work if branch fingerprint is not different', async () => {
-      const branches = partial<BranchConfig[]>([
+      const branches: BranchConfig[] = [
         {
           branchName: 'new/some-branch',
+          baseBranch: 'base',
           manager: 'npm',
           upgrades: [
             {
@@ -124,7 +145,7 @@ describe('workers/repository/process/write', () => {
             } as BranchUpgradeConfig,
           ],
         },
-      ]);
+      ];
       repoCache.getCache.mockReturnValueOnce({
         branches: [
           {
@@ -142,9 +163,10 @@ describe('workers/repository/process/write', () => {
     });
 
     it('updates branch fingerprint when new commit is made', async () => {
-      const branches = partial<BranchConfig[]>([
+      const branches: BranchConfig[] = [
         {
           branchName: 'new/some-branch',
+          baseBranch: 'base',
           manager: 'npm',
           upgrades: [
             {
@@ -152,7 +174,7 @@ describe('workers/repository/process/write', () => {
             } as BranchUpgradeConfig,
           ],
         },
-      ]);
+      ];
       repoCache.getCache.mockReturnValueOnce({
         branches: [
           {
@@ -183,7 +205,7 @@ describe('workers/repository/process/write', () => {
     });
 
     it('caches same fingerprint when no commit is made', async () => {
-      const branches = partial<BranchConfig[]>([
+      const branches: BranchConfig[] = [
         {
           branchName: 'new/some-branch',
           baseBranch: 'base_branch',
@@ -194,7 +216,7 @@ describe('workers/repository/process/write', () => {
             } as BranchUpgradeConfig,
           ],
         },
-      ]);
+      ];
       const managers = [
         ...new Set(
           branches[0].upgrades
@@ -224,7 +246,7 @@ describe('workers/repository/process/write', () => {
     });
 
     it('creates new branchCache when cache is not enabled', async () => {
-      const branches = partial<BranchConfig[]>([
+      const branches: BranchConfig[] = [
         {
           branchName: 'new/some-branch',
           baseBranch: 'base_branch',
@@ -235,7 +257,7 @@ describe('workers/repository/process/write', () => {
             } as BranchUpgradeConfig,
           ],
         },
-      ]);
+      ];
       const repoCacheObj = {} as RepoCacheData;
       repoCache.getCache.mockReturnValueOnce(repoCacheObj);
       branchWorker.processBranch.mockResolvedValueOnce({
@@ -264,31 +286,43 @@ describe('workers/repository/process/write', () => {
   });
 
   describe('canSkipBranchUpdateCheck()', () => {
-    let branchCache = {} as BranchCache;
+    let branchCache: BranchCache = {
+      branchName: 'branch',
+      baseBranch: 'base',
+      baseBranchSha: 'base_sha',
+      sha: 'sha',
+      upgrades: [],
+      automerge: false,
+      prNo: null,
+      parentSha: null,
+    };
 
     it('returns false if no cache', () => {
       branchCache = {
+        ...branchCache,
         branchName: 'new/some-branch',
         sha: '111',
-      } as BranchCache;
+      };
       expect(canSkipBranchUpdateCheck(branchCache, '222')).toBe(false);
     });
 
     it('returns false when fingerprints are not same', () => {
       branchCache = {
+        ...branchCache,
         branchName: 'new/some-branch',
         sha: '111',
         branchFingerprint: '211',
-      } as BranchCache;
+      };
       expect(canSkipBranchUpdateCheck(branchCache, '222')).toBe(false);
     });
 
     it('returns true', () => {
       branchCache = {
+        ...branchCache,
         branchName: 'new/some-branch',
         sha: '111',
         branchFingerprint: '222',
-      } as BranchCache;
+      };
       expect(canSkipBranchUpdateCheck(branchCache, '222')).toBe(true);
     });
   });
@@ -308,15 +342,19 @@ describe('workers/repository/process/write', () => {
     });
 
     it('when base branch name is different updates it and invalidates isModified value', () => {
-      const repoCacheObj = {
+      const repoCacheObj: RepoCacheData = {
         branches: [
-          partial<BranchCache>({
+          {
             branchName: 'branch_name',
-            sha: 'sha',
             baseBranch: 'base_branch',
+            sha: 'sha',
             baseBranchSha: 'base_sha',
             isModified: true,
-          }),
+            upgrades: [],
+            automerge: false,
+            prNo: null,
+            parentSha: null,
+          },
         ],
       };
       repoCache.getCache.mockReturnValue(repoCacheObj);
@@ -327,19 +365,27 @@ describe('workers/repository/process/write', () => {
         sha: 'sha',
         baseBranch: 'new_base_branch',
         baseBranchSha: 'base_sha',
+        upgrades: [],
+        automerge: false,
+        prNo: null,
+        parentSha: null,
       });
     });
 
     it('when base branch sha is different updates it and invalidates related values', () => {
-      const repoCacheObj = {
+      const repoCacheObj: RepoCacheData = {
         branches: [
-          partial<BranchCache>({
+          {
             branchName: 'branch_name',
             sha: 'sha',
             baseBranch: 'base_branch',
             baseBranchSha: 'base_sha',
             isBehindBase: true,
-          }),
+            upgrades: [],
+            automerge: false,
+            prNo: null,
+            parentSha: null,
+          },
         ],
       };
       repoCache.getCache.mockReturnValue(repoCacheObj);
@@ -350,13 +396,17 @@ describe('workers/repository/process/write', () => {
         sha: 'sha',
         baseBranch: 'base_branch',
         baseBranchSha: 'new_base_sha',
+        upgrades: [],
+        automerge: false,
+        prNo: null,
+        parentSha: null,
       });
     });
 
     it('when branch sha is different updates it and invalidates related values', () => {
-      const repoCacheObj = {
+      const repoCacheObj: RepoCacheData = {
         branches: [
-          partial<BranchCache>({
+          {
             branchName: 'branch_name',
             sha: 'sha',
             baseBranch: 'base_branch',
@@ -364,7 +414,11 @@ describe('workers/repository/process/write', () => {
             isBehindBase: true,
             isModified: true,
             branchFingerprint: '123',
-          }),
+            upgrades: [],
+            automerge: false,
+            prNo: null,
+            parentSha: null,
+          },
         ],
       };
       repoCache.getCache.mockReturnValue(repoCacheObj);
@@ -375,6 +429,10 @@ describe('workers/repository/process/write', () => {
         sha: 'new_sha',
         baseBranch: 'base_branch',
         baseBranchSha: 'base_sha',
+        upgrades: [],
+        automerge: false,
+        prNo: null,
+        parentSha: null,
       });
     });
   });
diff --git a/lib/workers/repository/process/write.ts b/lib/workers/repository/process/write.ts
index 6041a8324e8fd58c76fa3ad40f4f7caa89dea4e5..7b8600fc104c2c950faafdbecea5a6dd1733ed7b 100644
--- a/lib/workers/repository/process/write.ts
+++ b/lib/workers/repository/process/write.ts
@@ -61,7 +61,7 @@ export function syncBranchState(
   // if base branch name has changed invalidate cached isModified state
   if (baseBranch !== branchState.baseBranch) {
     logger.debug('syncBranchState(): update baseBranch name');
-    branchState.baseBranch = baseBranch!;
+    branchState.baseBranch = baseBranch;
     delete branchState.isModified;
   }
 
@@ -120,8 +120,7 @@ export async function writeUpdates(
     }
     addMeta(meta);
     const branchExisted = branchExists(branchName);
-    // TODO: base branch name cannot be undefined - fix optional types (#7154)
-    const branchState = syncBranchState(branchName, baseBranch!);
+    const branchState = syncBranchState(branchName, baseBranch);
 
     const managers = [
       ...new Set(
@@ -148,8 +147,7 @@ export async function writeUpdates(
         : branchState.branchFingerprint;
 
     if (res?.commitSha) {
-      // TODO: base branch name cannot be undefined - fix optional types (#7154)
-      setBranchNewCommit(branchName, baseBranch!, res.commitSha);
+      setBranchNewCommit(branchName, baseBranch, res.commitSha);
     }
     if (
       branch.result === BranchResult.Automerged &&
diff --git a/lib/workers/repository/update/branch/execute-post-upgrade-commands.spec.ts b/lib/workers/repository/update/branch/execute-post-upgrade-commands.spec.ts
index 0e29fd3e1fe5624dad25ea84211cfd58dfdebb45..583a2c4d62cc1e85b3b32d0c078e55b3b1f50024 100644
--- a/lib/workers/repository/update/branch/execute-post-upgrade-commands.spec.ts
+++ b/lib/workers/repository/update/branch/execute-post-upgrade-commands.spec.ts
@@ -30,6 +30,7 @@ describe('workers/repository/update/branch/execute-post-upgrade-commands', () =>
         artifactErrors: [],
         upgrades: [],
         branchName: 'main',
+        baseBranch: 'base',
       };
       git.getRepoStatus.mockResolvedValueOnce(
         partial<StatusResult>({
diff --git a/lib/workers/repository/update/branch/index.ts b/lib/workers/repository/update/branch/index.ts
index a0692ecae05e96bfc5768009b0aa6a36115792da..88d559f24dbc5313ee38362519c368978bc1021f 100644
--- a/lib/workers/repository/update/branch/index.ts
+++ b/lib/workers/repository/update/branch/index.ts
@@ -1,4 +1,3 @@
-// TODO #7154
 import is from '@sindresorhus/is';
 import { DateTime } from 'luxon';
 import { GlobalConfig } from '../../../../config/global';
@@ -391,7 +390,7 @@ export async function processBranch(
     // TODO: types (#7154)
     logger.debug(`Using reuseExistingBranch: ${config.reuseExistingBranch!}`);
     if (!(config.reuseExistingBranch && config.skipBranchUpdate)) {
-      await checkoutBranch(config.baseBranch!);
+      await checkoutBranch(config.baseBranch);
       const res = await getUpdatedPackageFiles(config);
       // istanbul ignore if
       if (res.artifactErrors && config.artifactErrors) {
@@ -480,7 +479,7 @@ export async function processBranch(
 
       config.isConflicted ??=
         branchExists &&
-        (await isBranchConflicted(config.baseBranch!, config.branchName));
+        (await isBranchConflicted(config.baseBranch, config.branchName));
       config.forceCommit = forcedManually || config.isConflicted;
 
       config.stopUpdating = branchPr?.labels?.includes(
@@ -543,8 +542,8 @@ export async function processBranch(
       logger.info({ commitSha }, `Branch ${action}`);
       // TODO #7154
       setCachedConflictResult(
-        config.baseBranch!,
-        getBranchCommit(config.baseBranch!)!,
+        config.baseBranch,
+        getBranchCommit(config.baseBranch)!,
         config.branchName,
         commitSha,
         false
diff --git a/lib/workers/repository/update/branch/reuse.spec.ts b/lib/workers/repository/update/branch/reuse.spec.ts
index ce9ca6ccafe33768e82295ff6ecd0477f37c3248..db20ecc456b6e200a3839af7491802fc501eed26 100644
--- a/lib/workers/repository/update/branch/reuse.spec.ts
+++ b/lib/workers/repository/update/branch/reuse.spec.ts
@@ -20,6 +20,7 @@ describe('workers/repository/update/branch/reuse', () => {
       config = {
         manager: 'some-manager',
         branchName: 'renovate/some-branch',
+        baseBranch: 'base',
         rebaseLabel: 'rebase',
         rebaseWhen: 'behind-base-branch',
         upgrades: [],
diff --git a/lib/workers/repository/update/branch/reuse.ts b/lib/workers/repository/update/branch/reuse.ts
index 39e4e55f11bfd86f643b7ea1af098effdf558c50..767e2122561708218503f4aae8e568b5047c7363 100644
--- a/lib/workers/repository/update/branch/reuse.ts
+++ b/lib/workers/repository/update/branch/reuse.ts
@@ -1,4 +1,3 @@
-// TODO #7154
 import { GlobalConfig } from '../../../../config/global';
 import { logger } from '../../../../logger';
 import { platform } from '../../../../modules/platform';
@@ -62,8 +61,7 @@ export async function shouldReuseExistingBranch(
     (config.rebaseWhen === 'auto' &&
       (config.automerge || (await platform.getRepoForceRebase())))
   ) {
-    // TODO: fix types (#7154)
-    if (await isBranchBehindBase(branchName, baseBranch!)) {
+    if (await isBranchBehindBase(branchName, baseBranch)) {
       logger.debug(`Branch is behind base branch and needs rebasing`);
       // We can rebase the branch only if no PR or PR can be rebased
       if (await isBranchModified(branchName)) {
@@ -83,7 +81,7 @@ export async function shouldReuseExistingBranch(
   }
 
   // Now check if PR is unmergeable. If so then we also rebase
-  result.isConflicted = await isBranchConflicted(baseBranch!, branchName);
+  result.isConflicted = await isBranchConflicted(baseBranch, branchName);
   if (result.isConflicted) {
     logger.debug('Branch is conflicted');
 
diff --git a/lib/workers/repository/update/pr/automerge.ts b/lib/workers/repository/update/pr/automerge.ts
index 43b61104719ffa18f6024bcbfe8c0ece99423021..884d9bd60638612daca933d3e4969b4017c856c5 100644
--- a/lib/workers/repository/update/pr/automerge.ts
+++ b/lib/workers/repository/update/pr/automerge.ts
@@ -57,7 +57,7 @@ export async function checkAutoMerge(
   }
   const isConflicted =
     config.isConflicted ??
-    (await isBranchConflicted(config.baseBranch!, config.branchName));
+    (await isBranchConflicted(config.baseBranch, config.branchName));
   if (isConflicted) {
     logger.debug('PR is conflicted');
     return {
diff --git a/lib/workers/repository/update/pr/body/changelogs.spec.ts b/lib/workers/repository/update/pr/body/changelogs.spec.ts
index bfefb10bc4d4c1e65ea11308d05f28058152cb0d..01ffa96c20636c6a16c3f3d1cc3e4f83d83a221d 100644
--- a/lib/workers/repository/update/pr/body/changelogs.spec.ts
+++ b/lib/workers/repository/update/pr/body/changelogs.spec.ts
@@ -14,6 +14,7 @@ describe('workers/repository/update/pr/body/changelogs', () => {
     const res = getChangelogs({
       manager: 'some-manager',
       branchName: 'some-branch',
+      baseBranch: 'base',
       upgrades: [],
       hasReleaseNotes: false,
     });
@@ -34,6 +35,7 @@ describe('workers/repository/update/pr/body/changelogs', () => {
 
     const res = getChangelogs({
       branchName: 'some-branch',
+      baseBranch: 'base',
       manager: 'some-manager',
       upgrades: [
         {
diff --git a/lib/workers/repository/update/pr/body/config-description.spec.ts b/lib/workers/repository/update/pr/body/config-description.spec.ts
index 15c38da332d38619da166306b9b2b82af8bda270..47adb28a93425b96cf6126cf1fed1ac26db7dd92 100644
--- a/lib/workers/repository/update/pr/body/config-description.spec.ts
+++ b/lib/workers/repository/update/pr/body/config-description.spec.ts
@@ -11,6 +11,7 @@ describe('workers/repository/update/pr/body/config-description', () => {
   describe('getPrConfigDescription', () => {
     const config: BranchConfig = {
       manager: 'some-manager',
+      baseBranch: 'base',
       branchName: 'some-branch',
       upgrades: [],
     };
diff --git a/lib/workers/repository/update/pr/body/footer.spec.ts b/lib/workers/repository/update/pr/body/footer.spec.ts
index 51c1ec24e2e6e899d2987cf2f649a812533be46f..86952b25d56ba41ff236614edcda66d40b54cd33 100644
--- a/lib/workers/repository/update/pr/body/footer.spec.ts
+++ b/lib/workers/repository/update/pr/body/footer.spec.ts
@@ -14,6 +14,7 @@ describe('workers/repository/update/pr/body/footer', () => {
     expect(
       getPrFooter({
         manager: 'some-manager',
+        baseBranch: 'base',
         branchName: 'branch',
         upgrades: [],
       })
@@ -25,6 +26,7 @@ describe('workers/repository/update/pr/body/footer', () => {
     expect(
       getPrFooter({
         manager: 'some-manager',
+        baseBranch: 'base',
         branchName: 'branch',
         upgrades: [],
         prFooter: 'FOOTER',
diff --git a/lib/workers/repository/update/pr/body/header.spec.ts b/lib/workers/repository/update/pr/body/header.spec.ts
index 85f43a824ab23b9f1b3a36b6e1eee9a03fcc899c..c032ebe8d3f484c789bf2fb3fa4209a60b3c338c 100644
--- a/lib/workers/repository/update/pr/body/header.spec.ts
+++ b/lib/workers/repository/update/pr/body/header.spec.ts
@@ -14,6 +14,7 @@ describe('workers/repository/update/pr/body/header', () => {
     expect(
       getPrHeader({
         manager: 'some-manager',
+        baseBranch: 'base',
         branchName: 'branch',
         upgrades: [],
       })
@@ -26,6 +27,7 @@ describe('workers/repository/update/pr/body/header', () => {
       getPrHeader({
         manager: 'some-manager',
         branchName: 'branch',
+        baseBranch: 'base',
         upgrades: [],
         prHeader: 'HEADER',
       })
diff --git a/lib/workers/repository/update/pr/body/index.spec.ts b/lib/workers/repository/update/pr/body/index.spec.ts
index 670c85f64492fd3637e0c2057ecdaf0be30b8279..f9cb535adae1f9989f29e548219e05a118a1d7f8 100644
--- a/lib/workers/repository/update/pr/body/index.spec.ts
+++ b/lib/workers/repository/update/pr/body/index.spec.ts
@@ -55,6 +55,7 @@ describe('workers/repository/update/pr/body/index', () => {
         {
           manager: 'some-manager',
           branchName: 'some-branch',
+          baseBranch: 'base',
           upgrades: [],
         },
         {
@@ -82,6 +83,7 @@ describe('workers/repository/update/pr/body/index', () => {
       await getPrBody(
         {
           manager: 'some-manager',
+          baseBranch: 'base',
           branchName: 'some-branch',
           upgrades: [upgrade],
         },
@@ -118,6 +120,7 @@ describe('workers/repository/update/pr/body/index', () => {
       await getPrBody(
         {
           manager: 'some-manager',
+          baseBranch: 'base',
           branchName: 'some-branch',
           upgrades: [upgrade],
         },
@@ -144,6 +147,7 @@ describe('workers/repository/update/pr/body/index', () => {
         {
           manager: 'some-manager',
           branchName: 'some-branch',
+          baseBranch: 'base',
           upgrades: [],
           prBodyTemplate: 'PR BODY',
         },
@@ -164,6 +168,7 @@ describe('workers/repository/update/pr/body/index', () => {
       const res = await getPrBody(
         {
           manager: 'some-manager',
+          baseBranch: 'base',
           branchName: 'some-branch',
           upgrades: [],
           prBodyTemplate: ['aaa', '**Rebasing**: FOO', 'bbb'].join('\n'),
@@ -187,6 +192,7 @@ describe('workers/repository/update/pr/body/index', () => {
           manager: 'some-manager',
           branchName: 'some-branch',
           upgrades: [],
+          baseBranch: 'base',
           prBodyTemplate: 'PR BODY',
         },
         {
@@ -235,6 +241,7 @@ describe('workers/repository/update/pr/body/index', () => {
           upgrades: [],
           packageFiles,
           prBodyTemplate: '{{{warnings}}}',
+          baseBranch: 'base',
         },
         {
           debugData: {
diff --git a/lib/workers/repository/update/pr/body/notes.spec.ts b/lib/workers/repository/update/pr/body/notes.spec.ts
index fa201b5f1e21cf265f137e59f12746b051a9d3c5..7141511fb79da800d4b0544f73c5fc2c83e89358 100644
--- a/lib/workers/repository/update/pr/body/notes.spec.ts
+++ b/lib/workers/repository/update/pr/body/notes.spec.ts
@@ -15,6 +15,7 @@ describe('workers/repository/update/pr/body/notes', () => {
     const res = getPrNotes({
       manager: 'some-manager',
       branchName: 'branch',
+      baseBranch: 'base',
       upgrades: [
         {
           manager: 'some-manager',
@@ -33,6 +34,7 @@ describe('workers/repository/update/pr/body/notes', () => {
     const res = getPrNotes({
       manager: 'some-manager',
       branchName: 'branch',
+      baseBranch: 'base',
       upgrades: [
         {
           manager: 'some-manager',
@@ -48,6 +50,7 @@ describe('workers/repository/update/pr/body/notes', () => {
     const res = getPrExtraNotes({
       manager: 'some-manager',
       branchName: 'branch',
+      baseBranch: 'base',
       upgrades: [
         { manager: 'some-manager', branchName: 'branch', gitRef: true },
       ],
diff --git a/lib/workers/repository/update/pr/body/updates-table.spec.ts b/lib/workers/repository/update/pr/body/updates-table.spec.ts
index 82715c4b16c7f6002e66cff4dd3ac19820514c40..36f2154afbbcd8d413ac5b1fb478e4ce747b630b 100644
--- a/lib/workers/repository/update/pr/body/updates-table.spec.ts
+++ b/lib/workers/repository/update/pr/body/updates-table.spec.ts
@@ -6,6 +6,7 @@ describe('workers/repository/update/pr/body/updates-table', () => {
     const configObj: BranchConfig = {
       manager: 'some-manager',
       branchName: 'some-branch',
+      baseBranch: 'base',
       upgrades: [],
       prBodyColumns: undefined,
     };
@@ -90,6 +91,7 @@ describe('workers/repository/update/pr/body/updates-table', () => {
     const configObj: BranchConfig = {
       manager: 'some-manager',
       branchName: 'some-branch',
+      baseBranch: 'base',
       upgrades: [upgrade0, upgrade1, upgrade2, upgrade3],
       prBodyColumns: ['Package', 'Type', 'Update', 'Change', 'Pending'],
       prBodyDefinitions: {
diff --git a/lib/workers/repository/update/pr/index.spec.ts b/lib/workers/repository/update/pr/index.spec.ts
index fb4028badff6ee8d1edbab2ee9fc177e0ffdf089..03a82eaff3bf5caa139e67d0a615f3d3b6d7e7c3 100644
--- a/lib/workers/repository/update/pr/index.spec.ts
+++ b/lib/workers/repository/update/pr/index.spec.ts
@@ -60,6 +60,7 @@ describe('workers/repository/update/pr/index', () => {
     const config: BranchConfig = {
       manager: 'some-manager',
       branchName: sourceBranch,
+      baseBranch: 'base',
       upgrades: [],
       prTitle,
     };
diff --git a/lib/workers/types.ts b/lib/workers/types.ts
index 1da19fe992cae3caade42f0af9e1adeab3b150a1..efa26436052580e32f66aba2a2671aa2d7050d52 100644
--- a/lib/workers/types.ts
+++ b/lib/workers/types.ts
@@ -112,7 +112,7 @@ export interface BranchConfig
     PlatformPrOptions {
   automergeComment?: string;
   automergeType?: string;
-  baseBranch?: string;
+  baseBranch: string;
   errors?: ValidationMessage[];
   hasTypes?: boolean;
   dependencyDashboardChecks?: Record<string, string>;
diff --git a/test/util.ts b/test/util.ts
index e7aed38653f0c050db7f453a5c09835196aa70c9..4d893d8d997f797253577b4f8a6bf4f2bc5f4217 100644
--- a/test/util.ts
+++ b/test/util.ts
@@ -33,8 +33,10 @@ export function mockedFunction<T extends (...args: any[]) => any>(
  * Simply wrapper to create partial mocks.
  * @param obj Object to cast to final type
  */
-export function partial<T>(obj: Partial<T>): T {
-  return obj as T;
+export function partial<T>(obj: Partial<T>): T;
+export function partial<T>(obj: Partial<T>[]): T[];
+export function partial(obj: unknown): unknown {
+  return obj;
 }
 
 export const fs = mocked(_fs);