Merge pull request #3117 from github/mbg/csharp/new-cache-key-calculation

Support non-lock files for C# cache key computation
This commit is contained in:
Michael B. Gale
2025-11-12 11:03:09 +00:00
committed by GitHub
19 changed files with 1055 additions and 274 deletions

View File

@@ -119928,6 +119928,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",

202
lib/analyze-action.js generated
View File

@@ -88173,6 +88173,7 @@ var fs6 = __toESM(require("fs"));
var path6 = __toESM(require("path"));
// src/caching-utils.ts
var crypto = __toESM(require("crypto"));
var core6 = __toESM(require_core());
async function getTotalCacheSize(paths, logger, quiet = false) {
const sizes = await Promise.all(
@@ -88183,6 +88184,11 @@ async function getTotalCacheSize(paths, logger, quiet = false) {
function shouldStoreCache(kind) {
return kind === "full" /* Full */ || kind === "store" /* Store */;
}
var cacheKeyHashLength = 16;
function createCacheKeyHash(components) {
const componentsJson = JSON.stringify(components);
return crypto.createHash("sha256").update(componentsJson).digest("hex").substring(0, cacheKeyHashLength);
}
// src/config/db-config.ts
var jsonschema = __toESM(require_lib3());
@@ -88208,7 +88214,6 @@ var bundleVersion = "codeql-bundle-v2.23.3";
var cliVersion = "2.23.3";
// src/overlay-database-utils.ts
var crypto = __toESM(require("crypto"));
var fs3 = __toESM(require("fs"));
var path3 = __toESM(require("path"));
var actionsCache = __toESM(require_cache3());
@@ -88620,10 +88625,6 @@ async function getCacheRestoreKeyPrefix(config, codeQlVersion) {
const componentsHash = createCacheKeyHash(cacheKeyComponents);
return `${CACHE_PREFIX}-${CACHE_VERSION}-${componentsHash}-${languages}-${codeQlVersion}-`;
}
function createCacheKeyHash(components) {
const componentsJson = JSON.stringify(components);
return crypto.createHash("sha256").update(componentsJson).digest("hex").substring(0, 16);
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
@@ -88657,6 +88658,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
@@ -91053,66 +91059,107 @@ var CODEQL_DEPENDENCY_CACHE_VERSION = 1;
function getJavaTempDependencyDir() {
return (0, import_path.join)(getTemporaryDirectory(), "codeql_java", "repository");
}
function getDefaultCacheConfig() {
return {
java: {
paths: [
// Maven
(0, import_path.join)(os3.homedir(), ".m2", "repository"),
// Gradle
(0, import_path.join)(os3.homedir(), ".gradle", "caches"),
// CodeQL Java build-mode: none
getJavaTempDependencyDir()
],
hash: [
// Maven
"**/pom.xml",
// Gradle
"**/*.gradle*",
"**/gradle-wrapper.properties",
"buildSrc/**/Versions.kt",
"buildSrc/**/Dependencies.kt",
"gradle/*.versions.toml",
"**/versions.properties"
]
},
csharp: {
paths: [(0, import_path.join)(os3.homedir(), ".nuget", "packages")],
hash: [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
]
},
go: {
paths: [(0, import_path.join)(os3.homedir(), "go", "pkg", "mod")],
hash: ["**/go.sum"]
}
};
function getJavaDependencyDirs() {
return [
// Maven
(0, import_path.join)(os3.homedir(), ".m2", "repository"),
// Gradle
(0, import_path.join)(os3.homedir(), ".gradle", "caches"),
// CodeQL Java build-mode: none
getJavaTempDependencyDir()
];
}
async function makePatternCheck(patterns) {
const globber = await makeGlobber(patterns);
if ((await globber.glob()).length === 0) {
return void 0;
}
return patterns;
}
var CSHARP_BASE_PATTERNS = [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
];
var CSHARP_EXTRA_PATTERNS = [
"**/*.csproj",
"**/packages.config",
"**/nuget.config"
];
async function getCsharpHashPatterns(codeql, features) {
const basePatterns = await internal.makePatternCheck(CSHARP_BASE_PATTERNS);
if (basePatterns !== void 0) {
return basePatterns;
}
if (await features.getValue("csharp_new_cache_key" /* CsharpNewCacheKey */, codeql)) {
return internal.makePatternCheck(CSHARP_EXTRA_PATTERNS);
}
return void 0;
}
var defaultCacheConfigs = {
java: {
getDependencyPaths: getJavaDependencyDirs,
getHashPatterns: async () => internal.makePatternCheck([
// Maven
"**/pom.xml",
// Gradle
"**/*.gradle*",
"**/gradle-wrapper.properties",
"buildSrc/**/Versions.kt",
"buildSrc/**/Dependencies.kt",
"gradle/*.versions.toml",
"**/versions.properties"
])
},
csharp: {
getDependencyPaths: () => [(0, import_path.join)(os3.homedir(), ".nuget", "packages")],
getHashPatterns: getCsharpHashPatterns
},
go: {
getDependencyPaths: () => [(0, import_path.join)(os3.homedir(), "go", "pkg", "mod")],
getHashPatterns: async () => internal.makePatternCheck(["**/go.sum"])
}
};
async function makeGlobber(patterns) {
return glob.create(patterns.join("\n"));
}
async function uploadDependencyCaches(config, logger, minimizeJavaJars) {
async function checkHashPatterns(codeql, features, language, cacheConfig, checkType, logger) {
const patterns = await cacheConfig.getHashPatterns(codeql, features);
if (patterns === void 0) {
logger.info(
`Skipping ${checkType} of dependency cache for ${language} as we cannot calculate a hash for the cache key.`
);
}
return patterns;
}
async function uploadDependencyCaches(codeql, features, config, logger) {
const status = [];
for (const language of config.languages) {
const cacheConfig = getDefaultCacheConfig()[language];
const cacheConfig = defaultCacheConfigs[language];
if (cacheConfig === void 0) {
logger.info(
`Skipping upload of dependency cache for ${language} as we have no caching configuration for it.`
);
continue;
}
const globber = await makeGlobber(cacheConfig.hash);
if ((await globber.glob()).length === 0) {
const patterns = await checkHashPatterns(
codeql,
features,
language,
cacheConfig,
"upload",
logger
);
if (patterns === void 0) {
status.push({ language, result: "no-hash" /* NoHash */ });
logger.info(
`Skipping upload of dependency cache for ${language} as we cannot calculate a hash for the cache key.`
);
continue;
}
const size = await getTotalCacheSize(cacheConfig.paths, logger, true);
const size = await getTotalCacheSize(
cacheConfig.getDependencyPaths(),
logger,
true
);
if (size === 0) {
status.push({ language, result: "empty" /* Empty */ });
logger.info(
@@ -91120,13 +91167,13 @@ async function uploadDependencyCaches(config, logger, minimizeJavaJars) {
);
continue;
}
const key = await cacheKey2(language, cacheConfig, minimizeJavaJars);
const key = await cacheKey2(codeql, features, language, patterns);
logger.info(
`Uploading cache of size ${size} for ${language} with key ${key}...`
);
try {
const start = performance.now();
await actionsCache3.saveCache(cacheConfig.paths, key);
await actionsCache3.saveCache(cacheConfig.getDependencyPaths(), key);
const upload_duration_ms = Math.round(performance.now() - start);
status.push({
language,
@@ -91148,22 +91195,50 @@ async function uploadDependencyCaches(config, logger, minimizeJavaJars) {
}
return status;
}
async function cacheKey2(language, cacheConfig, minimizeJavaJars = false) {
const hash2 = await glob.hashFiles(cacheConfig.hash.join("\n"));
return `${await cachePrefix2(language, minimizeJavaJars)}${hash2}`;
async function cacheKey2(codeql, features, language, patterns) {
const hash2 = await glob.hashFiles(patterns.join("\n"));
return `${await cachePrefix2(codeql, features, language)}${hash2}`;
}
async function cachePrefix2(language, minimizeJavaJars) {
async function getFeaturePrefix(codeql, features, language) {
const enabledFeatures = [];
const addFeatureIfEnabled = async (feature) => {
if (await features.getValue(feature, codeql)) {
enabledFeatures.push(feature);
}
};
if (language === "java" /* java */) {
const minimizeJavaJars = await features.getValue(
"java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */,
codeql
);
if (minimizeJavaJars) {
return "minify-";
}
} else if (language === "csharp" /* csharp */) {
await addFeatureIfEnabled("csharp_new_cache_key" /* CsharpNewCacheKey */);
}
if (enabledFeatures.length > 0) {
return `${createCacheKeyHash(enabledFeatures)}-`;
}
return "";
}
async function cachePrefix2(codeql, features, language) {
const runnerOs = getRequiredEnvParam("RUNNER_OS");
const customPrefix = process.env["CODEQL_ACTION_DEPENDENCY_CACHE_PREFIX" /* DEPENDENCY_CACHING_PREFIX */];
let prefix = CODEQL_DEPENDENCY_CACHE_PREFIX;
if (customPrefix !== void 0 && customPrefix.length > 0) {
prefix = `${prefix}-${customPrefix}`;
}
if (language === "java" /* java */ && minimizeJavaJars) {
prefix = `minify-${prefix}`;
const featurePrefix = await getFeaturePrefix(codeql, features, language);
if (featurePrefix === "minify-") {
return `${featurePrefix}${prefix}-${CODEQL_DEPENDENCY_CACHE_VERSION}-${runnerOs}-${language}-`;
} else {
return `${prefix}-${featurePrefix}${CODEQL_DEPENDENCY_CACHE_VERSION}-${runnerOs}-${language}-`;
}
return `${prefix}-${CODEQL_DEPENDENCY_CACHE_VERSION}-${runnerOs}-${language}-`;
}
var internal = {
makePatternCheck
};
// src/diagnostics.ts
var import_fs = require("fs");
@@ -93976,14 +94051,11 @@ async function run() {
logger
);
if (shouldStoreCache(config.dependencyCachingEnabled)) {
const minimizeJavaJars = await features.getValue(
"java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */,
codeql
);
dependencyCacheResults = await uploadDependencyCaches(
codeql,
features,
config,
logger,
minimizeJavaJars
logger
);
}
if (isInTestMode()) {

View File

@@ -83977,6 +83977,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",

View File

@@ -123309,6 +123309,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",

204
lib/init-action.js generated
View File

@@ -85234,6 +85234,7 @@ function wrapApiConfigurationError(e) {
}
// src/caching-utils.ts
var crypto = __toESM(require("crypto"));
var core6 = __toESM(require_core());
async function getTotalCacheSize(paths, logger, quiet = false) {
const sizes = await Promise.all(
@@ -85266,6 +85267,11 @@ function getCachingKind(input) {
return "none" /* None */;
}
}
var cacheKeyHashLength = 16;
function createCacheKeyHash(components) {
const componentsJson = JSON.stringify(components);
return crypto.createHash("sha256").update(componentsJson).digest("hex").substring(0, cacheKeyHashLength);
}
function getDependencyCachingEnabled() {
const dependencyCaching = getOptionalInput("dependency-caching") || process.env["CODEQL_ACTION_DEPENDENCY_CACHING" /* DEPENDENCY_CACHING */];
if (dependencyCaching !== void 0) return getCachingKind(dependencyCaching);
@@ -85632,7 +85638,6 @@ var bundleVersion = "codeql-bundle-v2.23.3";
var cliVersion = "2.23.3";
// src/overlay-database-utils.ts
var crypto = __toESM(require("crypto"));
var fs3 = __toESM(require("fs"));
var path4 = __toESM(require("path"));
var actionsCache = __toESM(require_cache3());
@@ -86034,10 +86039,6 @@ async function getCacheRestoreKeyPrefix(config, codeQlVersion) {
const componentsHash = createCacheKeyHash(cacheKeyComponents);
return `${CACHE_PREFIX}-${CACHE_VERSION}-${componentsHash}-${languages}-${codeQlVersion}-`;
}
function createCacheKeyHash(components) {
const componentsJson = JSON.stringify(components);
return crypto.createHash("sha256").update(componentsJson).digest("hex").substring(0, 16);
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
@@ -86071,6 +86072,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
@@ -87240,68 +87246,105 @@ var CODEQL_DEPENDENCY_CACHE_VERSION = 1;
function getJavaTempDependencyDir() {
return (0, import_path.join)(getTemporaryDirectory(), "codeql_java", "repository");
}
function getDefaultCacheConfig() {
return {
java: {
paths: [
// Maven
(0, import_path.join)(os2.homedir(), ".m2", "repository"),
// Gradle
(0, import_path.join)(os2.homedir(), ".gradle", "caches"),
// CodeQL Java build-mode: none
getJavaTempDependencyDir()
],
hash: [
// Maven
"**/pom.xml",
// Gradle
"**/*.gradle*",
"**/gradle-wrapper.properties",
"buildSrc/**/Versions.kt",
"buildSrc/**/Dependencies.kt",
"gradle/*.versions.toml",
"**/versions.properties"
]
},
csharp: {
paths: [(0, import_path.join)(os2.homedir(), ".nuget", "packages")],
hash: [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
]
},
go: {
paths: [(0, import_path.join)(os2.homedir(), "go", "pkg", "mod")],
hash: ["**/go.sum"]
}
};
function getJavaDependencyDirs() {
return [
// Maven
(0, import_path.join)(os2.homedir(), ".m2", "repository"),
// Gradle
(0, import_path.join)(os2.homedir(), ".gradle", "caches"),
// CodeQL Java build-mode: none
getJavaTempDependencyDir()
];
}
async function makePatternCheck(patterns) {
const globber = await makeGlobber(patterns);
if ((await globber.glob()).length === 0) {
return void 0;
}
return patterns;
}
var CSHARP_BASE_PATTERNS = [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
];
var CSHARP_EXTRA_PATTERNS = [
"**/*.csproj",
"**/packages.config",
"**/nuget.config"
];
async function getCsharpHashPatterns(codeql, features) {
const basePatterns = await internal.makePatternCheck(CSHARP_BASE_PATTERNS);
if (basePatterns !== void 0) {
return basePatterns;
}
if (await features.getValue("csharp_new_cache_key" /* CsharpNewCacheKey */, codeql)) {
return internal.makePatternCheck(CSHARP_EXTRA_PATTERNS);
}
return void 0;
}
var defaultCacheConfigs = {
java: {
getDependencyPaths: getJavaDependencyDirs,
getHashPatterns: async () => internal.makePatternCheck([
// Maven
"**/pom.xml",
// Gradle
"**/*.gradle*",
"**/gradle-wrapper.properties",
"buildSrc/**/Versions.kt",
"buildSrc/**/Dependencies.kt",
"gradle/*.versions.toml",
"**/versions.properties"
])
},
csharp: {
getDependencyPaths: () => [(0, import_path.join)(os2.homedir(), ".nuget", "packages")],
getHashPatterns: getCsharpHashPatterns
},
go: {
getDependencyPaths: () => [(0, import_path.join)(os2.homedir(), "go", "pkg", "mod")],
getHashPatterns: async () => internal.makePatternCheck(["**/go.sum"])
}
};
async function makeGlobber(patterns) {
return glob.create(patterns.join("\n"));
}
async function downloadDependencyCaches(languages, logger, minimizeJavaJars) {
async function checkHashPatterns(codeql, features, language, cacheConfig, checkType, logger) {
const patterns = await cacheConfig.getHashPatterns(codeql, features);
if (patterns === void 0) {
logger.info(
`Skipping ${checkType} of dependency cache for ${language} as we cannot calculate a hash for the cache key.`
);
}
return patterns;
}
async function downloadDependencyCaches(codeql, features, languages, logger) {
const status = [];
for (const language of languages) {
const cacheConfig = getDefaultCacheConfig()[language];
const cacheConfig = defaultCacheConfigs[language];
if (cacheConfig === void 0) {
logger.info(
`Skipping download of dependency cache for ${language} as we have no caching configuration for it.`
);
continue;
}
const globber = await makeGlobber(cacheConfig.hash);
if ((await globber.glob()).length === 0) {
const patterns = await checkHashPatterns(
codeql,
features,
language,
cacheConfig,
"download",
logger
);
if (patterns === void 0) {
status.push({ language, hit_kind: "no-hash" /* NoHash */ });
logger.info(
`Skipping download of dependency cache for ${language} as we cannot calculate a hash for the cache key.`
);
continue;
}
const primaryKey = await cacheKey2(language, cacheConfig, minimizeJavaJars);
const primaryKey = await cacheKey2(codeql, features, language, patterns);
const restoreKeys = [
await cachePrefix2(language, minimizeJavaJars)
await cachePrefix2(codeql, features, language)
];
logger.info(
`Downloading cache for ${language} with key ${primaryKey} and restore keys ${restoreKeys.join(
@@ -87310,7 +87353,7 @@ async function downloadDependencyCaches(languages, logger, minimizeJavaJars) {
);
const start = performance.now();
const hitKey = await actionsCache3.restoreCache(
cacheConfig.paths,
cacheConfig.getDependencyPaths(),
primaryKey,
restoreKeys
);
@@ -87326,22 +87369,50 @@ async function downloadDependencyCaches(languages, logger, minimizeJavaJars) {
}
return status;
}
async function cacheKey2(language, cacheConfig, minimizeJavaJars = false) {
const hash = await glob.hashFiles(cacheConfig.hash.join("\n"));
return `${await cachePrefix2(language, minimizeJavaJars)}${hash}`;
async function cacheKey2(codeql, features, language, patterns) {
const hash = await glob.hashFiles(patterns.join("\n"));
return `${await cachePrefix2(codeql, features, language)}${hash}`;
}
async function cachePrefix2(language, minimizeJavaJars) {
async function getFeaturePrefix(codeql, features, language) {
const enabledFeatures = [];
const addFeatureIfEnabled = async (feature) => {
if (await features.getValue(feature, codeql)) {
enabledFeatures.push(feature);
}
};
if (language === "java" /* java */) {
const minimizeJavaJars = await features.getValue(
"java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */,
codeql
);
if (minimizeJavaJars) {
return "minify-";
}
} else if (language === "csharp" /* csharp */) {
await addFeatureIfEnabled("csharp_new_cache_key" /* CsharpNewCacheKey */);
}
if (enabledFeatures.length > 0) {
return `${createCacheKeyHash(enabledFeatures)}-`;
}
return "";
}
async function cachePrefix2(codeql, features, language) {
const runnerOs = getRequiredEnvParam("RUNNER_OS");
const customPrefix = process.env["CODEQL_ACTION_DEPENDENCY_CACHE_PREFIX" /* DEPENDENCY_CACHING_PREFIX */];
let prefix = CODEQL_DEPENDENCY_CACHE_PREFIX;
if (customPrefix !== void 0 && customPrefix.length > 0) {
prefix = `${prefix}-${customPrefix}`;
}
if (language === "java" /* java */ && minimizeJavaJars) {
prefix = `minify-${prefix}`;
const featurePrefix = await getFeaturePrefix(codeql, features, language);
if (featurePrefix === "minify-") {
return `${featurePrefix}${prefix}-${CODEQL_DEPENDENCY_CACHE_VERSION}-${runnerOs}-${language}-`;
} else {
return `${prefix}-${featurePrefix}${CODEQL_DEPENDENCY_CACHE_VERSION}-${runnerOs}-${language}-`;
}
return `${prefix}-${CODEQL_DEPENDENCY_CACHE_VERSION}-${runnerOs}-${language}-`;
}
var internal = {
makePatternCheck
};
// src/diagnostics.ts
var import_fs = require("fs");
@@ -89705,7 +89776,7 @@ async function getWorkflowAbsolutePath(logger) {
async function checkWorkflow(logger, codeql) {
if (!isDynamicWorkflow() && process.env["CODEQL_ACTION_SKIP_WORKFLOW_VALIDATION" /* SKIP_WORKFLOW_VALIDATION */] !== "true") {
core12.startGroup("Validating workflow");
const validateWorkflowResult = await internal.validateWorkflow(
const validateWorkflowResult = await internal2.validateWorkflow(
codeql,
logger
);
@@ -89719,7 +89790,7 @@ async function checkWorkflow(logger, codeql) {
core12.endGroup();
}
}
var internal = {
var internal2 = {
validateWorkflow
};
@@ -90068,15 +90139,12 @@ exec ${goBinaryPath} "$@"`
core13.exportVariable(envVar, "false");
}
}
const minimizeJavaJars = await features.getValue(
"java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */,
codeql
);
if (shouldRestoreCache(config.dependencyCachingEnabled)) {
dependencyCachingResults = await downloadDependencyCaches(
codeql,
features,
config.languages,
logger,
minimizeJavaJars
logger
);
}
if (await codeQlVersionAtLeast(codeql, "2.17.1")) {
@@ -90114,7 +90182,7 @@ exec ${goBinaryPath} "$@"`
logger.debug(
`${"CODEQL_EXTRACTOR_JAVA_OPTION_MINIMIZE_DEPENDENCY_JARS" /* JAVA_EXTRACTOR_MINIMIZE_DEPENDENCY_JARS */} is already set to '${process.env["CODEQL_EXTRACTOR_JAVA_OPTION_MINIMIZE_DEPENDENCY_JARS" /* JAVA_EXTRACTOR_MINIMIZE_DEPENDENCY_JARS */]}', so the Action will not override it.`
);
} else if (minimizeJavaJars && config.dependencyCachingEnabled && config.buildMode === "none" /* None */ && config.languages.includes("java" /* java */)) {
} else if (await features.getValue("java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */, codeql) && config.dependencyCachingEnabled && config.buildMode === "none" /* None */ && config.languages.includes("java" /* java */)) {
core13.exportVariable(
"CODEQL_EXTRACTOR_JAVA_OPTION_MINIMIZE_DEPENDENCY_JARS" /* JAVA_EXTRACTOR_MINIMIZE_DEPENDENCY_JARS */,
"true"

View File

@@ -83968,6 +83968,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",

View File

@@ -83596,14 +83596,17 @@ var fs3 = __toESM(require("fs"));
var path3 = __toESM(require("path"));
var actionsCache = __toESM(require_cache3());
// src/git-utils.ts
// src/caching-utils.ts
var core6 = __toESM(require_core());
// src/git-utils.ts
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
core6.debug(`Running git command: git ${args.join(" ")}`);
core7.debug(`Running git command: git ${args.join(" ")}`);
try {
await new toolrunner2.ToolRunner(await io3.which("git", true), args, {
silent: true,
@@ -83623,7 +83626,7 @@ var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
if (stderr.includes("not a git repository")) {
reason = "The checkout path provided to the action does not appear to be a git repository.";
}
core6.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
core7.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
throw error4;
}
};
@@ -83734,7 +83737,7 @@ async function getRef() {
) !== head;
if (hasChangedRef) {
const newRef = ref.replace(pull_ref_regex, "refs/pull/$1/head");
core6.debug(
core7.debug(
`No longer on merge commit, rewriting ref from ${ref} to ${newRef}.`
);
return newRef;
@@ -83760,16 +83763,16 @@ async function isAnalyzingDefaultBranch() {
}
// src/logging.ts
var core7 = __toESM(require_core());
var core8 = __toESM(require_core());
function getActionsLogger() {
return {
debug: core7.debug,
info: core7.info,
warning: core7.warning,
error: core7.error,
isDebug: core7.isDebug,
startGroup: core7.startGroup,
endGroup: core7.endGroup
debug: core8.debug,
info: core8.info,
warning: core8.warning,
error: core8.error,
isDebug: core8.isDebug,
startGroup: core8.startGroup,
endGroup: core8.endGroup
};
}
function formatDuration(durationMs) {
@@ -83877,6 +83880,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
@@ -84562,9 +84570,6 @@ var AnalysisKind = /* @__PURE__ */ ((AnalysisKind2) => {
})(AnalysisKind || {});
var supportedAnalysisKinds = new Set(Object.values(AnalysisKind));
// src/caching-utils.ts
var core8 = __toESM(require_core());
// src/config/db-config.ts
var jsonschema = __toESM(require_lib4());
var semver4 = __toESM(require_semver2());

View File

@@ -119334,6 +119334,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",

View File

@@ -99996,6 +99996,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",

5
lib/upload-lib.js generated
View File

@@ -87034,6 +87034,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",

View File

@@ -119500,6 +119500,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",

View File

@@ -86512,14 +86512,17 @@ var fs3 = __toESM(require("fs"));
var path3 = __toESM(require("path"));
var actionsCache = __toESM(require_cache3());
// src/git-utils.ts
// src/caching-utils.ts
var core6 = __toESM(require_core());
// src/git-utils.ts
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
core6.debug(`Running git command: git ${args.join(" ")}`);
core7.debug(`Running git command: git ${args.join(" ")}`);
try {
await new toolrunner2.ToolRunner(await io3.which("git", true), args, {
silent: true,
@@ -86539,7 +86542,7 @@ var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
if (stderr.includes("not a git repository")) {
reason = "The checkout path provided to the action does not appear to be a git repository.";
}
core6.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
core7.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
throw error4;
}
};
@@ -86684,7 +86687,7 @@ async function getRef() {
) !== head;
if (hasChangedRef) {
const newRef = ref.replace(pull_ref_regex, "refs/pull/$1/head");
core6.debug(
core7.debug(
`No longer on merge commit, rewriting ref from ${ref} to ${newRef}.`
);
return newRef;
@@ -86710,16 +86713,16 @@ async function isAnalyzingDefaultBranch() {
}
// src/logging.ts
var core7 = __toESM(require_core());
var core8 = __toESM(require_core());
function getActionsLogger() {
return {
debug: core7.debug,
info: core7.info,
warning: core7.warning,
error: core7.error,
isDebug: core7.isDebug,
startGroup: core7.startGroup,
endGroup: core7.endGroup
debug: core8.debug,
info: core8.info,
warning: core8.warning,
error: core8.error,
isDebug: core8.isDebug,
startGroup: core8.startGroup,
endGroup: core8.endGroup
};
}
function formatDuration(durationMs) {
@@ -86827,6 +86830,11 @@ var featureConfig = {
legacyApi: true,
minimumVersion: "2.15.0"
},
["csharp_new_cache_key" /* CsharpNewCacheKey */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CSHARP_NEW_CACHE_KEY",
minimumVersion: void 0
},
["diff_informed_queries" /* DiffInformedQueries */]: {
defaultValue: true,
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
@@ -87262,9 +87270,6 @@ var core9 = __toESM(require_core());
var fs6 = __toESM(require("fs"));
var path6 = __toESM(require("path"));
// src/caching-utils.ts
var core8 = __toESM(require_core());
// src/config/db-config.ts
var jsonschema = __toESM(require_lib4());
var semver4 = __toESM(require_semver2());