mirror of
https://github.com/github/codeql-action
synced 2026-05-25 15:00:36 +03:00
fix: improve error handling and logging for diff range path resolution
This commit is contained in:
Generated
+15
-1
@@ -162327,10 +162327,19 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
}
|
||||
async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs2.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let contents;
|
||||
try {
|
||||
contents = await fs2.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let diffRanges;
|
||||
@@ -162347,6 +162356,11 @@ async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
);
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === void 0) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. Failing to avoid omitting files from the analysis."
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is."
|
||||
);
|
||||
|
||||
Generated
+15
-1
@@ -107922,10 +107922,19 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
}
|
||||
async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs3.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let contents;
|
||||
try {
|
||||
contents = await fs3.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let diffRanges;
|
||||
@@ -107942,6 +107951,11 @@ async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
);
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === void 0) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. Failing to avoid omitting files from the analysis."
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is."
|
||||
);
|
||||
|
||||
Generated
+15
-1
@@ -104381,10 +104381,19 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
}
|
||||
async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs2.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let contents;
|
||||
try {
|
||||
contents = await fs2.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let diffRanges;
|
||||
@@ -104401,6 +104410,11 @@ async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
);
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === void 0) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. Failing to avoid omitting files from the analysis."
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is."
|
||||
);
|
||||
|
||||
Generated
+15
-1
@@ -165839,10 +165839,19 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
}
|
||||
async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs3.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let contents;
|
||||
try {
|
||||
contents = await fs3.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let diffRanges;
|
||||
@@ -165859,6 +165868,11 @@ async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
);
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === void 0) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. Failing to avoid omitting files from the analysis."
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is."
|
||||
);
|
||||
|
||||
Generated
+23
-9
@@ -105491,10 +105491,19 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
}
|
||||
async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs3.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let contents;
|
||||
try {
|
||||
contents = await fs3.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let diffRanges;
|
||||
@@ -105511,6 +105520,11 @@ async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
);
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === void 0) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. Failing to avoid omitting files from the analysis."
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is."
|
||||
);
|
||||
@@ -110588,8 +110602,8 @@ async function loadRepositoryProperties(repositoryNwo, logger) {
|
||||
}
|
||||
}
|
||||
async function computeAndPersistDiffRanges(codeql, features, logger) {
|
||||
try {
|
||||
await withGroupAsync("Compute PR diff ranges", async () => {
|
||||
await withGroupAsync("Computing PR diff ranges", async () => {
|
||||
try {
|
||||
const branches = await getDiffInformedAnalysisBranches(
|
||||
codeql,
|
||||
features,
|
||||
@@ -110607,12 +110621,12 @@ async function computeAndPersistDiffRanges(codeql, features, logger) {
|
||||
logger.info(
|
||||
`Persisted ${ranges.length} diff range(s) across ${distinctFiles} file(s).`
|
||||
);
|
||||
});
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to compute and persist PR diff ranges: ${getErrorMessage(e)}`
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to compute and persist PR diff ranges: ${getErrorMessage(e)}`
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
async function recordZstdAvailability(config, zstdAvailability) {
|
||||
addNoLanguageDiagnostic(
|
||||
|
||||
Generated
+15
-1
@@ -104374,10 +104374,19 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
}
|
||||
async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs2.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let contents;
|
||||
try {
|
||||
contents = await fs2.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let diffRanges;
|
||||
@@ -104394,6 +104403,11 @@ async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
);
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === void 0) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. Failing to avoid omitting files from the analysis."
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is."
|
||||
);
|
||||
|
||||
Generated
+15
-1
@@ -104265,10 +104265,19 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
}
|
||||
async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs3.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let contents;
|
||||
try {
|
||||
contents = await fs3.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let diffRanges;
|
||||
@@ -104285,6 +104294,11 @@ async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
);
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === void 0) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. Failing to avoid omitting files from the analysis."
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is."
|
||||
);
|
||||
|
||||
Generated
+15
-1
@@ -107530,10 +107530,19 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
}
|
||||
async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs3.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let contents;
|
||||
try {
|
||||
contents = await fs3.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let diffRanges;
|
||||
@@ -107550,6 +107559,11 @@ async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
);
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === void 0) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. Failing to avoid omitting files from the analysis."
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is."
|
||||
);
|
||||
|
||||
Generated
+15
-1
@@ -107240,10 +107240,19 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
}
|
||||
async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs3.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let contents;
|
||||
try {
|
||||
contents = await fs3.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
let diffRanges;
|
||||
@@ -107260,6 +107269,11 @@ async function getDiffRangeFilePaths(sourceRoot, logger) {
|
||||
);
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === void 0) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. Failing to avoid omitting files from the analysis."
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is."
|
||||
);
|
||||
|
||||
+8
-8
@@ -849,8 +849,8 @@ async function computeAndPersistDiffRanges(
|
||||
features: FeatureEnablement,
|
||||
logger: Logger,
|
||||
): Promise<void> {
|
||||
try {
|
||||
await withGroupAsync("Compute PR diff ranges", async () => {
|
||||
await withGroupAsync("Computing PR diff ranges", async () => {
|
||||
try {
|
||||
const branches = await getDiffInformedAnalysisBranches(
|
||||
codeql,
|
||||
features,
|
||||
@@ -868,12 +868,12 @@ async function computeAndPersistDiffRanges(
|
||||
logger.info(
|
||||
`Persisted ${ranges.length} diff range(s) across ${distinctFiles} file(s).`,
|
||||
);
|
||||
});
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to compute and persist PR diff ranges: ${getErrorMessage(e)}`,
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to compute and persist PR diff ranges: ${getErrorMessage(e)}`,
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
async function recordZstdAvailability(
|
||||
config: configUtils.Config,
|
||||
|
||||
+18
-1
@@ -5,6 +5,7 @@ import * as actionsCache from "@actions/cache";
|
||||
|
||||
import * as actionsUtil from "../actions-util";
|
||||
import {
|
||||
getOptionalInput,
|
||||
getRequiredInput,
|
||||
getTemporaryDirectory,
|
||||
getWorkflowRunAttempt,
|
||||
@@ -178,10 +179,20 @@ async function getDiffRangeFilePaths(
|
||||
): Promise<string[]> {
|
||||
const jsonFilePath = actionsUtil.getDiffRangesJsonFilePath();
|
||||
|
||||
if (!fs.existsSync(jsonFilePath)) {
|
||||
logger.debug(
|
||||
`No diff ranges JSON file found at ${jsonFilePath}; skipping.`,
|
||||
);
|
||||
return [];
|
||||
}
|
||||
|
||||
let contents: string;
|
||||
try {
|
||||
contents = await fs.promises.readFile(jsonFilePath, "utf8");
|
||||
} catch {
|
||||
} catch (e) {
|
||||
logger.warning(
|
||||
`Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`,
|
||||
);
|
||||
return [];
|
||||
}
|
||||
|
||||
@@ -203,6 +214,12 @@ async function getDiffRangeFilePaths(
|
||||
// getFileOidsUnderPath output). Convert and filter accordingly.
|
||||
const repoRoot = await getGitRoot(sourceRoot);
|
||||
if (repoRoot === undefined) {
|
||||
if (getOptionalInput("source-root")) {
|
||||
throw new Error(
|
||||
"Cannot determine git root to convert diff range paths relative to source-root. " +
|
||||
"Failing to avoid omitting files from the analysis.",
|
||||
);
|
||||
}
|
||||
logger.warning(
|
||||
"Cannot determine git root; returning diff range paths as-is.",
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user