From 5c30ae46c128cd17cd9e481541d335b9e7bb4e68 Mon Sep 17 00:00:00 2001 From: Chuan-kai Lin Date: Thu, 11 Sep 2025 12:31:29 -0700 Subject: [PATCH] Stop saving config in initConfig() --- lib/init-action.js | 1 - src/config-utils.test.ts | 7 +++++-- src/config-utils.ts | 3 --- src/init-action.ts | 8 ++++---- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/init-action.js b/lib/init-action.js index dab7782f8..209232427 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -87687,7 +87687,6 @@ async function initConfig(inputs) { exclude: { tags: "exclude-from-incremental" } }); } - await saveConfig(config, logger); return config; } function parseRegistries(registriesInput) { diff --git a/src/config-utils.test.ts b/src/config-utils.test.ts index f2aa21d12..bc7307c19 100644 --- a/src/config-utils.test.ts +++ b/src/config-utils.test.ts @@ -229,7 +229,7 @@ test("load code quality config", async (t) => { }); }); -test("loading config saves config", async (t) => { +test("loading a saved config produces the same config", async (t) => { return await withTmpDir(async (tempDir) => { const logger = getRunnerLogger(true); @@ -259,6 +259,7 @@ test("loading config saves config", async (t) => { logger, }), ); + await configUtils.saveConfig(config1, logger); // The saved config file should now exist t.true(fs.existsSync(configUtils.getPathToParsedConfigFile(tempDir))); @@ -300,7 +301,7 @@ test("loading config with version mismatch throws", async (t) => { .stub(actionsUtil, "getActionVersion") .returns("does-not-exist"); - await configUtils.initConfig( + const config = await configUtils.initConfig( createTestInitConfigInputs({ languagesInput: "javascript,python", tempDir, @@ -309,6 +310,8 @@ test("loading config with version mismatch throws", async (t) => { logger, }), ); + // initConfig does not save the config, so we do it here. + await configUtils.saveConfig(config, logger); // Restore `getActionVersion`. getActionVersionStub.restore(); diff --git a/src/config-utils.ts b/src/config-utils.ts index c84e9ecfc..93a3cce47 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -1189,9 +1189,6 @@ export async function initConfig(inputs: InitConfigInputs): Promise { exclude: { tags: "exclude-from-incremental" }, }); } - - // Save the config so we can easily access it again in the future - await saveConfig(config, logger); return config; } diff --git a/src/init-action.ts b/src/init-action.ts index 4e9446b84..aa97b65fc 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -681,10 +681,10 @@ async function run() { logUnwrittenDiagnostics(); } - // We may have updated the config returned from `initConfig`, e.g. to revert - // to `OverlayDatabaseMode.None` if we failed to download an overlay-base - // database. So we save the config again, to ensure that the `analyze` step - // reads the correct config. + // We save the config here instead of at the end of `initConfig` because we + // may have updated the config returned from `initConfig`, e.g. to revert to + // `OverlayDatabaseMode.None` if we failed to download an overlay-base + // database. await configUtils.saveConfig(config, logger); await sendCompletedStatusReport( startedAt,