From cda4e7c21e6df953eebe6be38dc8dcfe7f27c82f Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Tue, 1 Sep 2020 14:23:28 +0200
Subject: [PATCH] fix: revert config cache

---
 lib/util/cache/repository/index.spec.ts       |  3 +-
 lib/util/cache/repository/index.ts            |  2 +-
 lib/workers/repository/init/cache.spec.ts     | 28 +++-------------
 lib/workers/repository/init/cache.ts          | 32 -------------------
 lib/workers/repository/init/config.ts         |  9 ------
 .../repository/process/extract-update.spec.ts |  4 +--
 6 files changed, 9 insertions(+), 69 deletions(-)

diff --git a/lib/util/cache/repository/index.spec.ts b/lib/util/cache/repository/index.spec.ts
index 3aa2437dbd..f6d635a029 100644
--- a/lib/util/cache/repository/index.spec.ts
+++ b/lib/util/cache/repository/index.spec.ts
@@ -33,7 +33,6 @@ describe('lib/util/cache/repository', () => {
       repositoryCache: 'enabled',
     });
     expect(repositoryCache.getCache()).toEqual({
-      init: {},
       repository: 'abc/def',
       scan: {},
     });
@@ -49,6 +48,6 @@ describe('lib/util/cache/repository', () => {
     expect(fs.outputFile.mock.calls).toHaveLength(1);
   });
   it('gets', () => {
-    expect(repositoryCache.getCache()).toEqual({ init: {}, scan: {} });
+    expect(repositoryCache.getCache()).toEqual({ scan: {} });
   });
 });
diff --git a/lib/util/cache/repository/index.ts b/lib/util/cache/repository/index.ts
index a88c933497..0612ab0dc6 100644
--- a/lib/util/cache/repository/index.ts
+++ b/lib/util/cache/repository/index.ts
@@ -60,7 +60,7 @@ export async function initialize(config: RenovateConfig): Promise<void> {
 
 export function getCache(): Cache {
   cache = cache || Object.create({});
-  cache.init = cache.init || Object.create({});
+  delete cache.init;
   cache.scan = cache.scan || Object.create({});
   return cache;
 }
diff --git a/lib/workers/repository/init/cache.spec.ts b/lib/workers/repository/init/cache.spec.ts
index 124ac43449..720e45e28c 100644
--- a/lib/workers/repository/init/cache.spec.ts
+++ b/lib/workers/repository/init/cache.spec.ts
@@ -1,32 +1,14 @@
 import { RenovateConfig, getConfig } from '../../../../test/util';
-import {
-  getResolvedConfig,
-  initializeCaches,
-  setResolvedConfig,
-} from './cache';
+import { initializeCaches } from './cache';
 
 describe('workers/repository/init/cache', () => {
-  describe('getCachedConfig()', () => {
+  describe('initializeCaches()', () => {
     let config: RenovateConfig;
-    beforeEach(async () => {
+    beforeEach(() => {
       config = { ...getConfig() };
-      await initializeCaches(config);
     });
-    it('returns null if no sha provided', () => {
-      expect(getResolvedConfig(null)).toBeNull();
-    });
-    it('returns null if no match', () => {
-      expect(getResolvedConfig('abc123')).toBeNull();
-    });
-    it('returns null if resolved config sha does not match', () => {
-      config.defaultBranchSha = 'abc123';
-      setResolvedConfig(config);
-      expect(getResolvedConfig('def456')).toBeNull();
-    });
-    it('returns matching resolved config', () => {
-      config.defaultBranchSha = 'abc123';
-      setResolvedConfig(config);
-      expect(getResolvedConfig('abc123')).not.toBeNull();
+    it('initializes', async () => {
+      expect(await initializeCaches(config)).toBeUndefined();
     });
   });
 });
diff --git a/lib/workers/repository/init/cache.ts b/lib/workers/repository/init/cache.ts
index 4ece6b76db..d2f4587f66 100644
--- a/lib/workers/repository/init/cache.ts
+++ b/lib/workers/repository/init/cache.ts
@@ -1,5 +1,4 @@
 import { RenovateConfig } from '../../../config';
-import { logger } from '../../../logger';
 import * as memCache from '../../../util/cache/memory';
 import * as repositoryCache from '../../../util/cache/repository';
 
@@ -7,34 +6,3 @@ export async function initializeCaches(config: RenovateConfig): Promise<void> {
   memCache.init();
   await repositoryCache.initialize(config);
 }
-
-export function getResolvedConfig(
-  defaultBranchSha: string
-): RenovateConfig | null {
-  if (!defaultBranchSha) {
-    logger.trace('No defaultBranchSha, so no cached config possible');
-    return null;
-  }
-  const { resolvedConfig } = repositoryCache.getCache().init;
-  if (!resolvedConfig) {
-    logger.debug('No cache.init.resolvedConfig');
-    return null;
-  }
-  if (defaultBranchSha === resolvedConfig.defaultBranchSha) {
-    logger.debug({ defaultBranchSha }, 'Cached resolvedConfig is valid');
-    return resolvedConfig;
-  }
-  logger.debug(
-    {
-      cachedSha: resolvedConfig.defaultBranchSha,
-      defaultBranchSha,
-    },
-    'Cached resolvedConfig is out of date'
-  );
-  return null;
-}
-
-export function setResolvedConfig(config: RenovateConfig): void {
-  const cache = repositoryCache.getCache();
-  cache.init.resolvedConfig = config;
-}
diff --git a/lib/workers/repository/init/config.ts b/lib/workers/repository/init/config.ts
index ac5c2ae46f..efe4f53f8e 100644
--- a/lib/workers/repository/init/config.ts
+++ b/lib/workers/repository/init/config.ts
@@ -10,7 +10,6 @@ import * as presets from '../../../config/presets';
 import { CONFIG_VALIDATION } from '../../../constants/error-messages';
 import * as npmApi from '../../../datasource/npm';
 import { logger } from '../../../logger';
-import { getCache } from '../../../util/cache/repository';
 import { readLocalFile } from '../../../util/fs';
 import {
   checkoutBranch,
@@ -19,7 +18,6 @@ import {
 } from '../../../util/git';
 import * as hostRules from '../../../util/host-rules';
 import { checkOnboardingBranch } from '../onboarding/branch';
-import { getResolvedConfig, setResolvedConfig } from './cache';
 import { RepoFileConfig } from './common';
 import { flattenPackageRules } from './flatten';
 import { detectSemanticCommits } from './semantic';
@@ -131,8 +129,6 @@ export async function mergeRenovateConfig(
 ): Promise<RenovateConfig> {
   let returnConfig = { ...config };
   const repoConfig = await detectRepoFileConfig();
-  const cache = getCache();
-  cache.init.repoConfig = repoConfig;
   checkForRepoConfigError(repoConfig);
   const migratedConfig = await migrateAndValidate(
     config,
@@ -212,16 +208,11 @@ export async function getRepoConfig(
 ): Promise<RenovateConfig> {
   let config = { ...config_ };
   config.defaultBranchSha = getBranchCommit(config.defaultBranch);
-  const resolvedConfig = getResolvedConfig(config.defaultBranchSha);
-  if (resolvedConfig) {
-    return resolvedConfig;
-  }
   config.baseBranch = config.defaultBranch;
   config.baseBranchSha = await checkoutBranch(config.baseBranch);
   config = await checkOnboardingBranch(config);
   config = await mergeRenovateConfig(config);
   config.semanticCommits =
     config.semanticCommits ?? (await detectSemanticCommits());
-  setResolvedConfig(config);
   return config;
 }
diff --git a/lib/workers/repository/process/extract-update.spec.ts b/lib/workers/repository/process/extract-update.spec.ts
index 96a83ffd81..d2698d8919 100644
--- a/lib/workers/repository/process/extract-update.spec.ts
+++ b/lib/workers/repository/process/extract-update.spec.ts
@@ -26,7 +26,7 @@ describe('workers/repository/process/extract-update', () => {
         repoIsOnboarded: true,
         suppressNotifications: ['deprecationWarningIssues'],
       };
-      repositoryCache.getCache.mockReturnValueOnce({ init: {}, scan: {} });
+      repositoryCache.getCache.mockReturnValueOnce({ scan: {} });
       const packageFiles = await extract(config);
       const res = await lookup(config, packageFiles);
       expect(res).toMatchSnapshot();
@@ -38,7 +38,7 @@ describe('workers/repository/process/extract-update', () => {
         repoIsOnboarded: true,
         suppressNotifications: ['deprecationWarningIssues'],
       };
-      repositoryCache.getCache.mockReturnValueOnce({ init: {}, scan: {} });
+      repositoryCache.getCache.mockReturnValueOnce({ scan: {} });
       const packageFiles = await extract(config);
       expect(packageFiles).toMatchSnapshot();
     });
-- 
GitLab