Skip to content

Commit 4191f52

Browse files
committed
Address review comments
1 parent 898ae16 commit 4191f52

File tree

7 files changed

+164
-113
lines changed

7 files changed

+164
-113
lines changed

lib/init-action-post.js

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

lib/init-action.js

Lines changed: 24 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/config-utils.ts

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -768,14 +768,30 @@ export async function getOverlayDatabaseMode(
768768
codeScanningConfig,
769769
)
770770
) {
771-
const diskUsage = await checkDiskUsage(logger);
772771
const performResourceChecks = !(await features.getValue(
773772
Feature.OverlayAnalysisSkipResourceChecks,
774773
codeql,
775774
));
775+
const checkOverlayStatus = await features.getValue(
776+
Feature.OverlayAnalysisStatusCheck,
777+
);
778+
const diskUsage =
779+
performResourceChecks || checkOverlayStatus
780+
? await checkDiskUsage(logger)
781+
: undefined;
776782
if (
783+
performResourceChecks &&
784+
!(await runnerSupportsOverlayAnalysis(diskUsage, ramInput, logger))
785+
) {
786+
overlayDatabaseMode = OverlayDatabaseMode.None;
787+
} else if (checkOverlayStatus && diskUsage === undefined) {
788+
logger.warning(
789+
`Unable to determine disk usage, therefore setting overlay database mode to ${OverlayDatabaseMode.None}.`,
790+
);
791+
overlayDatabaseMode = OverlayDatabaseMode.None;
792+
} else if (
793+
checkOverlayStatus &&
777794
diskUsage &&
778-
(await features.getValue(Feature.OverlayAnalysisStatusCheck)) &&
779795
(await shouldSkipOverlayAnalysis(codeql, languages, diskUsage, logger))
780796
) {
781797
logger.info(
@@ -785,11 +801,6 @@ export async function getOverlayDatabaseMode(
785801
);
786802
overlayDatabaseMode = OverlayDatabaseMode.None;
787803
skippedDueToCachedStatus = true;
788-
} else if (
789-
performResourceChecks &&
790-
!(await runnerSupportsOverlayAnalysis(diskUsage, ramInput, logger))
791-
) {
792-
overlayDatabaseMode = OverlayDatabaseMode.None;
793804
} else if (isAnalyzingPullRequest()) {
794805
overlayDatabaseMode = OverlayDatabaseMode.Overlay;
795806
useOverlayDatabaseCaching = true;
@@ -1046,14 +1057,15 @@ export async function initConfig(
10461057
config,
10471058
makeDiagnostic(
10481059
"codeql-action/overlay-skipped-due-to-cached-status",
1049-
"Skipped improved incremental analysis because it failed previously on this runner",
1060+
"Skipped improved incremental analysis because it failed previously with similar hardware resources",
10501061
{
10511062
attributes: {
10521063
languages: config.languages,
10531064
},
10541065
markdownMessage:
1055-
`Improved incremental analysis was skipped because it failed previously on this runner. ` +
1056-
"Improved incremental analysis may require a significant amount of disk space on some repositories. " +
1066+
`Improved incremental analysis was skipped because it previously failed for this repository ` +
1067+
`with CodeQL version ${(await inputs.codeql.getVersion()).version} on a runner with similar hardware resources. ` +
1068+
"Improved incremental analysis may require a significant amount of disk space for some repositories. " +
10571069
"If you want to enable improved incremental analysis, increase the disk space available " +
10581070
"to the runner. If that doesn't help, contact GitHub Support for further assistance.\n\n" +
10591071
"Improved incremental analysis will be automatically retried when the next version of CodeQL is released. " +

src/init-action-post-helper.test.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ import * as uploadLib from "./upload-lib";
2222
import * as util from "./util";
2323
import * as workflow from "./workflow";
2424

25+
const NUM_BYTES_PER_GIB = 1024 * 1024 * 1024;
26+
2527
setupTests(test);
2628

2729
test("init-post action with debug mode off", async (t) => {
@@ -319,8 +321,8 @@ test("saves overlay status when overlay-base analysis did not complete successfu
319321
delete process.env[EnvVar.ANALYZE_DID_COMPLETE_SUCCESSFULLY];
320322

321323
const diskUsage: util.DiskUsage = {
322-
numAvailableBytes: 100 * 1024 * 1024 * 1024,
323-
numTotalBytes: 200 * 1024 * 1024 * 1024,
324+
numAvailableBytes: 100 * NUM_BYTES_PER_GIB,
325+
numTotalBytes: 200 * NUM_BYTES_PER_GIB,
324326
};
325327
sinon.stub(util, "checkDiskUsage").resolves(diskUsage);
326328

@@ -382,8 +384,8 @@ test("does not save overlay status when OverlayAnalysisStatusSave feature flag i
382384
delete process.env[EnvVar.ANALYZE_DID_COMPLETE_SUCCESSFULLY];
383385

384386
sinon.stub(util, "checkDiskUsage").resolves({
385-
numAvailableBytes: 100 * 1024 * 1024 * 1024,
386-
numTotalBytes: 200 * 1024 * 1024 * 1024,
387+
numAvailableBytes: 100 * NUM_BYTES_PER_GIB,
388+
numTotalBytes: 200 * NUM_BYTES_PER_GIB,
387389
});
388390

389391
const saveOverlayStatusStub = sinon
@@ -419,8 +421,8 @@ test("does not save overlay status when build successful", async (t) => {
419421
process.env[EnvVar.ANALYZE_DID_COMPLETE_SUCCESSFULLY] = "true";
420422

421423
sinon.stub(util, "checkDiskUsage").resolves({
422-
numAvailableBytes: 100 * 1024 * 1024 * 1024,
423-
numTotalBytes: 200 * 1024 * 1024 * 1024,
424+
numAvailableBytes: 100 * NUM_BYTES_PER_GIB,
425+
numTotalBytes: 200 * NUM_BYTES_PER_GIB,
424426
});
425427

426428
const saveOverlayStatusStub = sinon
@@ -455,8 +457,8 @@ test("does not save overlay status when overlay not enabled", async (t) => {
455457
delete process.env[EnvVar.ANALYZE_DID_COMPLETE_SUCCESSFULLY];
456458

457459
sinon.stub(util, "checkDiskUsage").resolves({
458-
numAvailableBytes: 100 * 1024 * 1024 * 1024,
459-
numTotalBytes: 200 * 1024 * 1024 * 1024,
460+
numAvailableBytes: 100 * NUM_BYTES_PER_GIB,
461+
numTotalBytes: 200 * NUM_BYTES_PER_GIB,
460462
});
461463

462464
const saveOverlayStatusStub = sinon

0 commit comments

Comments
 (0)