Skip to content

Commit 9f77ff1

Browse files
committed
Make "insufficient resources" reason more specific
1 parent 0158d05 commit 9f77ff1

File tree

4 files changed

+29
-25
lines changed

4 files changed

+29
-25
lines changed

lib/init-action.js

Lines changed: 8 additions & 7 deletions
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: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,7 +1234,7 @@ test(
12341234
{
12351235
overlayDatabaseMode: OverlayDatabaseMode.None,
12361236
useOverlayDatabaseCaching: false,
1237-
disabledReason: OverlayDisabledReason.InsufficientResources,
1237+
disabledReason: OverlayDisabledReason.InsufficientDiskSpace,
12381238
},
12391239
);
12401240

@@ -1253,7 +1253,7 @@ test(
12531253
{
12541254
overlayDatabaseMode: OverlayDatabaseMode.None,
12551255
useOverlayDatabaseCaching: false,
1256-
disabledReason: OverlayDisabledReason.InsufficientResources,
1256+
disabledReason: OverlayDisabledReason.InsufficientDiskSpace,
12571257
},
12581258
);
12591259

@@ -1298,7 +1298,7 @@ test(
12981298
{
12991299
overlayDatabaseMode: OverlayDatabaseMode.None,
13001300
useOverlayDatabaseCaching: false,
1301-
disabledReason: OverlayDisabledReason.InsufficientResources,
1301+
disabledReason: OverlayDisabledReason.InsufficientDiskSpace,
13021302
},
13031303
);
13041304

@@ -1342,7 +1342,7 @@ test(
13421342
{
13431343
overlayDatabaseMode: OverlayDatabaseMode.None,
13441344
useOverlayDatabaseCaching: false,
1345-
disabledReason: OverlayDisabledReason.InsufficientResources,
1345+
disabledReason: OverlayDisabledReason.InsufficientDiskSpace,
13461346
},
13471347
);
13481348

@@ -1361,7 +1361,7 @@ test(
13611361
{
13621362
overlayDatabaseMode: OverlayDatabaseMode.None,
13631363
useOverlayDatabaseCaching: false,
1364-
disabledReason: OverlayDisabledReason.InsufficientResources,
1364+
disabledReason: OverlayDisabledReason.InsufficientMemory,
13651365
},
13661366
);
13671367

@@ -1638,7 +1638,7 @@ test(
16381638
{
16391639
overlayDatabaseMode: OverlayDatabaseMode.None,
16401640
useOverlayDatabaseCaching: false,
1641-
disabledReason: OverlayDisabledReason.InsufficientResources,
1641+
disabledReason: OverlayDisabledReason.InsufficientDiskSpace,
16421642
},
16431643
);
16441644

@@ -1679,7 +1679,7 @@ test(
16791679
{
16801680
overlayDatabaseMode: OverlayDatabaseMode.None,
16811681
useOverlayDatabaseCaching: false,
1682-
disabledReason: OverlayDisabledReason.InsufficientResources,
1682+
disabledReason: OverlayDisabledReason.InsufficientDiskSpace,
16831683
},
16841684
);
16851685

@@ -1698,7 +1698,7 @@ test(
16981698
{
16991699
overlayDatabaseMode: OverlayDatabaseMode.None,
17001700
useOverlayDatabaseCaching: false,
1701-
disabledReason: OverlayDisabledReason.InsufficientResources,
1701+
disabledReason: OverlayDisabledReason.InsufficientMemory,
17021702
},
17031703
);
17041704

src/config-utils.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -759,20 +759,20 @@ async function runnerHasSufficientMemory(
759759
* Checks if the runner supports overlay analysis based on available disk space
760760
* and the maximum memory CodeQL will be allowed to use.
761761
*/
762-
async function runnerSupportsOverlayAnalysis(
762+
async function getResourceDisabledReason(
763763
codeql: CodeQL,
764764
diskUsage: DiskUsage | undefined,
765765
ramInput: string | undefined,
766766
logger: Logger,
767767
useV2ResourceChecks: boolean,
768-
): Promise<boolean> {
768+
): Promise<OverlayDisabledReason | undefined> {
769769
if (!runnerHasSufficientDiskSpace(diskUsage, logger, useV2ResourceChecks)) {
770-
return false;
770+
return OverlayDisabledReason.InsufficientDiskSpace;
771771
}
772772
if (!(await runnerHasSufficientMemory(codeql, ramInput, logger))) {
773-
return false;
773+
return OverlayDisabledReason.InsufficientMemory;
774774
}
775-
return true;
775+
return undefined;
776776
}
777777

778778
/**
@@ -860,18 +860,19 @@ export async function getOverlayDatabaseMode(
860860
performResourceChecks || checkOverlayStatus
861861
? await checkDiskUsage(logger)
862862
: undefined;
863+
let resourceDisabledReason: OverlayDisabledReason | undefined;
863864
if (
864865
performResourceChecks &&
865-
!(await runnerSupportsOverlayAnalysis(
866+
(resourceDisabledReason = await getResourceDisabledReason(
866867
codeql,
867868
diskUsage,
868869
ramInput,
869870
logger,
870871
useV2ResourceChecks,
871-
))
872+
)) !== undefined
872873
) {
873874
overlayDatabaseMode = OverlayDatabaseMode.None;
874-
disabledReason = OverlayDisabledReason.InsufficientResources;
875+
disabledReason = resourceDisabledReason;
875876
} else if (checkOverlayStatus && diskUsage === undefined) {
876877
logger.warning(
877878
`Unable to determine disk usage, therefore setting overlay database mode to ${OverlayDatabaseMode.None}.`,

src/overlay/diagnostics.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ export enum OverlayDisabledReason {
2424
IncompatibleCodeQl = "incompatible-codeql",
2525
/** The Git version could not be determined or is too old. */
2626
IncompatibleGit = "incompatible-git",
27-
/** The runner does not have enough disk space or memory. */
28-
InsufficientResources = "insufficient-resources",
27+
/** The runner does not have enough disk space to perform overlay analysis. */
28+
InsufficientDiskSpace = "insufficient-disk-space",
29+
/** The runner does not have enough memory to perform overlay analysis. */
30+
InsufficientMemory = "insufficient-memory",
2931
/** The source root is not inside a git repository. */
3032
NoGitRoot = "no-git-root",
3133
/** Overlay analysis was skipped because it previously failed with similar hardware resources. */

0 commit comments

Comments
 (0)