Skip to content

Commit 3e48797

Browse files
committed
Load repository properties and store them in the Config
1 parent 54a4588 commit 3e48797

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
@@ -25,6 +25,7 @@ import {
2525
import { shouldPerformDiffInformedAnalysis } from "./diff-informed-analysis-utils";
2626
import * as errorMessages from "./error-messages";
2727
import { Feature, FeatureEnablement } from "./feature-flags";
28+
import { RepositoryProperties } from "./feature-flags/properties";
2829
import { getGitRoot, isAnalyzingDefaultBranch } from "./git-utils";
2930
import { KnownLanguage, Language } from "./languages";
3031
import { Logger } from "./logging";
@@ -167,6 +168,11 @@ export interface Config {
167168
* `OverlayBase`.
168169
*/
169170
useOverlayDatabaseCaching: boolean;
171+
172+
/**
173+
* A partial mapping from repository properties that affect us to their values.
174+
*/
175+
repositoryProperties: RepositoryProperties;
170176
}
171177

172178
export async function getSupportedLanguageMap(
@@ -389,6 +395,7 @@ export interface InitConfigInputs {
389395
githubVersion: GitHubVersion;
390396
apiDetails: api.GitHubApiCombinedDetails;
391397
features: FeatureEnablement;
398+
repositoryProperties: RepositoryProperties;
392399
logger: Logger;
393400
}
394401

@@ -416,6 +423,7 @@ export async function initActionState(
416423
sourceRoot,
417424
githubVersion,
418425
features,
426+
repositoryProperties,
419427
logger,
420428
}: InitConfigInputs,
421429
userConfig: UserConfig,
@@ -488,6 +496,7 @@ export async function initActionState(
488496
extraQueryExclusions: [],
489497
overlayDatabaseMode: OverlayDatabaseMode.None,
490498
useOverlayDatabaseCaching: false,
499+
repositoryProperties,
491500
};
492501
}
493502

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)