Skip to content

Commit b8fc51c

Browse files
committed
Load repository properties and store them in the Config
1 parent e1f97a6 commit b8fc51c

File tree

5 files changed

+75
-3
lines changed

5 files changed

+75
-3
lines changed

lib/init-action.js

Lines changed: 53 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/config-utils.test.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@ function createTestInitConfigInputs(
8282
externalRepoAuth: "token",
8383
url: "https://github.example.com",
8484
apiURL: undefined,
85-
registriesAuthTokens: undefined,
8685
},
8786
features: createFeatures([]),
87+
repositoryProperties: {},
8888
logger: getRunnerLogger(true),
89-
},
89+
} satisfies configUtils.InitConfigInputs,
9090
overrides,
9191
);
9292
}
@@ -223,6 +223,7 @@ test("load code quality config", async (t) => {
223223
extraQueryExclusions: [],
224224
overlayDatabaseMode: OverlayDatabaseMode.None,
225225
useOverlayDatabaseCaching: false,
226+
repositoryProperties: {},
226227
};
227228

228229
t.deepEqual(config, expectedConfig);
@@ -461,6 +462,7 @@ test("load non-empty input", async (t) => {
461462
extraQueryExclusions: [],
462463
overlayDatabaseMode: OverlayDatabaseMode.None,
463464
useOverlayDatabaseCaching: false,
465+
repositoryProperties: {},
464466
};
465467

466468
const languagesInput = "javascript";

src/config-utils.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { CachingKind, getCachingKind } from "./caching-utils";
1919
import { type CodeQL } from "./codeql";
2020
import { shouldPerformDiffInformedAnalysis } from "./diff-informed-analysis-utils";
2121
import { Feature, FeatureEnablement } from "./feature-flags";
22+
import { RepositoryProperties } from "./feature-flags/properties";
2223
import { getGitRoot, isAnalyzingDefaultBranch } from "./git-utils";
2324
import { KnownLanguage, Language } from "./languages";
2425
import { Logger } from "./logging";
@@ -197,6 +198,11 @@ export interface Config {
197198
* `OverlayBase`.
198199
*/
199200
useOverlayDatabaseCaching: boolean;
201+
202+
/**
203+
* A partial mapping from repository properties that affect us to their values.
204+
*/
205+
repositoryProperties: RepositoryProperties;
200206
}
201207

202208
/**
@@ -532,6 +538,7 @@ export interface InitConfigInputs {
532538
githubVersion: GitHubVersion;
533539
apiDetails: api.GitHubApiCombinedDetails;
534540
features: FeatureEnablement;
541+
repositoryProperties: RepositoryProperties;
535542
logger: Logger;
536543
}
537544

@@ -559,6 +566,7 @@ export async function initActionState(
559566
sourceRoot,
560567
githubVersion,
561568
features,
569+
repositoryProperties,
562570
logger,
563571
}: InitConfigInputs,
564572
userConfig: UserConfig,
@@ -631,6 +639,7 @@ export async function initActionState(
631639
extraQueryExclusions: [],
632640
overlayDatabaseMode: OverlayDatabaseMode.None,
633641
useOverlayDatabaseCaching: false,
642+
repositoryProperties,
634643
};
635644
}
636645

src/init-action.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import {
3232
} from "./diagnostics";
3333
import { EnvVar } from "./environment";
3434
import { Feature, Features } from "./feature-flags";
35+
import { loadPropertiesFromApi } from "./feature-flags/properties";
3536
import {
3637
checkInstallPython311,
3738
checkPacksForOverlayCompatibility,
@@ -196,6 +197,12 @@ async function run() {
196197
logger,
197198
);
198199

200+
// Fetch the values of known repository properties that affect us.
201+
const repositoryProperties = await loadPropertiesFromApi(
202+
logger,
203+
repositoryNwo,
204+
);
205+
199206
const jobRunUuid = uuidV4();
200207
logger.info(`Job run UUID is ${jobRunUuid}.`);
201208
core.exportVariable(EnvVar.JOB_RUN_UUID, jobRunUuid);
@@ -317,6 +324,7 @@ async function run() {
317324
githubVersion: gitHubVersion,
318325
apiDetails,
319326
features,
327+
repositoryProperties,
320328
logger,
321329
});
322330

src/testing-utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@ export function createTestConfig(overrides: Partial<Config>): Config {
378378
extraQueryExclusions: [],
379379
overlayDatabaseMode: OverlayDatabaseMode.None,
380380
useOverlayDatabaseCaching: false,
381+
repositoryProperties: {},
381382
} satisfies Config,
382383
overrides,
383384
);

0 commit comments

Comments
 (0)