mirror of
https://github.com/github/codeql-action.git
synced 2026-10-30 01:27:22 +00:00
Switch CommandCacheKey back to an enum
The code reads better/simpler as an `enum`.
This commit is contained in:
107
lib/entry-points.js
generated
107
lib/entry-points.js
generated
@@ -149863,7 +149863,7 @@ var path15 = __toESM(require("path"));
|
||||
var core10 = __toESM(require_core());
|
||||
var toolrunner3 = __toESM(require_toolrunner());
|
||||
|
||||
// src/cache.ts
|
||||
// src/cli/output-cache.ts
|
||||
var fs6 = __toESM(require("fs"));
|
||||
var path6 = __toESM(require("path"));
|
||||
|
||||
@@ -149908,11 +149908,28 @@ function formatDuration(durationMs) {
|
||||
return `${minutes}m${seconds}s`;
|
||||
}
|
||||
|
||||
// src/cache.ts
|
||||
// src/cli/output-cache.ts
|
||||
var COMMAND_CACHE_FILENAME = "codeql-action-command-cache.json";
|
||||
var CommandCacheKey = {
|
||||
Version: "version",
|
||||
ResolveLanguages: "resolveLanguages"
|
||||
function isVersionInfo(x) {
|
||||
return isObject(x) && validateSchema(
|
||||
{
|
||||
version: string,
|
||||
features: optional(object),
|
||||
overlayVersion: optional(number)
|
||||
},
|
||||
x
|
||||
);
|
||||
}
|
||||
function isResolveLanguagesOutput(x) {
|
||||
return isObject(x) && isObject(x.extractors) && Object.values(x.extractors).every(
|
||||
(extractorList) => isArray(extractorList) && extractorList.every(
|
||||
(extractor) => isObject(extractor) && isString(extractor.extractor_root)
|
||||
)
|
||||
) && (x.aliases === void 0 || isObject(x.aliases) && Object.values(x.aliases).every((alias) => isString(alias)));
|
||||
}
|
||||
var commandCacheValidators = {
|
||||
["version" /* Version */]: isVersionInfo,
|
||||
["resolve languages" /* ResolveLanguages */]: isResolveLanguagesOutput
|
||||
};
|
||||
var inMemoryCache = /* @__PURE__ */ new Map();
|
||||
var logger = getActionsLogger();
|
||||
@@ -149948,18 +149965,20 @@ function cacheCommandOutput(key, cmd, output) {
|
||||
const entry = { cmd, output };
|
||||
inMemoryCache.set(key, entry);
|
||||
}
|
||||
function getCachedCommandOutput(key, cmd, validate) {
|
||||
function getCachedCommandOutput(key, cmd) {
|
||||
const memoized = inMemoryCache.get(key);
|
||||
if (memoized !== void 0) {
|
||||
return memoized.output;
|
||||
}
|
||||
const entry = readCommandCacheFile()[key];
|
||||
if (!isObject(entry) || !isString(entry.cmd) || cmd !== void 0 && entry.cmd !== cmd || validate !== void 0 && !validate(entry.output)) {
|
||||
if (!isObject(entry) || !isString(entry.cmd) || cmd !== void 0 && entry.cmd !== cmd || !commandCacheValidators[key](entry.output)) {
|
||||
logger.warning("Received invalid data from the command-cache file.");
|
||||
return void 0;
|
||||
}
|
||||
cacheCommandOutput(key, entry.cmd, entry.output);
|
||||
return entry.output;
|
||||
const cachedEntry = entry;
|
||||
const output = cachedEntry.output;
|
||||
cacheCommandOutput(key, cachedEntry.cmd, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
// src/cli-errors.ts
|
||||
@@ -153676,23 +153695,6 @@ async function getCombinedTracerConfig(codeql, config) {
|
||||
}
|
||||
|
||||
// src/codeql.ts
|
||||
function isVersionInfo(x) {
|
||||
return isObject(x) && validateSchema(
|
||||
{
|
||||
version: string,
|
||||
features: optional(object),
|
||||
overlayVersion: optional(number)
|
||||
},
|
||||
x
|
||||
);
|
||||
}
|
||||
function isResolveLanguagesOutput(x) {
|
||||
return isObject(x) && isObject(x.extractors) && Object.values(x.extractors).every(
|
||||
(extractorList) => isArray(extractorList) && extractorList.every(
|
||||
(extractor) => isObject(extractor) && isString(extractor.extractor_root)
|
||||
)
|
||||
) && (x.aliases === void 0 || isObject(x.aliases) && Object.values(x.aliases).every((alias) => isString(alias)));
|
||||
}
|
||||
var cachedCodeQL = void 0;
|
||||
var CODEQL_MINIMUM_VERSION = "2.19.4";
|
||||
var CODEQL_NEXT_MINIMUM_VERSION = "2.19.4";
|
||||
@@ -153755,8 +153757,8 @@ async function getCodeQL(cmd) {
|
||||
}
|
||||
return cachedCodeQL;
|
||||
}
|
||||
async function getCachedOrRun(key, cmd, run9, validate) {
|
||||
let result = getCachedCommandOutput(key, cmd, validate);
|
||||
async function getCachedOrRun(key, cmd, run9) {
|
||||
let result = getCachedCommandOutput(key, cmd);
|
||||
if (result === void 0) {
|
||||
result = await run9();
|
||||
cacheCommandOutput(key, cmd, result);
|
||||
@@ -153770,12 +153772,11 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
||||
},
|
||||
async getVersion() {
|
||||
return getCachedOrRun(
|
||||
CommandCacheKey.Version,
|
||||
"version" /* Version */,
|
||||
cmd,
|
||||
() => runCliJson(cmd, ["version", "--format=json"], {
|
||||
noStreamStdout: true
|
||||
}),
|
||||
isVersionInfo
|
||||
})
|
||||
);
|
||||
},
|
||||
async printVersion() {
|
||||
@@ -153931,28 +153932,23 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
||||
await runCli(cmd, args);
|
||||
},
|
||||
async resolveLanguages() {
|
||||
return getCachedOrRun(
|
||||
CommandCacheKey.ResolveLanguages,
|
||||
cmd,
|
||||
async () => {
|
||||
const isFilterToLanguagesWithQueriesSupported = await this.supportsFeature(
|
||||
"builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
||||
);
|
||||
return runCliJson(cmd, [
|
||||
"resolve",
|
||||
"languages",
|
||||
"--format=betterjson",
|
||||
"--extractor-options-verbosity=4",
|
||||
"--extractor-include-aliases",
|
||||
// TODO: Unconditionally include `--filter-to-languages-with-queries`
|
||||
// once CODEQL_MINIMUM_VERSION is at least v2.23.0
|
||||
// — the first version to support this flag.
|
||||
...isFilterToLanguagesWithQueriesSupported ? ["--filter-to-languages-with-queries"] : [],
|
||||
...getExtraOptionsFromEnv(["resolve", "languages"])
|
||||
]);
|
||||
},
|
||||
isResolveLanguagesOutput
|
||||
);
|
||||
return getCachedOrRun("resolve languages" /* ResolveLanguages */, cmd, async () => {
|
||||
const isFilterToLanguagesWithQueriesSupported = await this.supportsFeature(
|
||||
"builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
||||
);
|
||||
return runCliJson(cmd, [
|
||||
"resolve",
|
||||
"languages",
|
||||
"--format=betterjson",
|
||||
"--extractor-options-verbosity=4",
|
||||
"--extractor-include-aliases",
|
||||
// TODO: Unconditionally include `--filter-to-languages-with-queries`
|
||||
// once CODEQL_MINIMUM_VERSION is at least v2.23.0
|
||||
// — the first version to support this flag.
|
||||
...isFilterToLanguagesWithQueriesSupported ? ["--filter-to-languages-with-queries"] : [],
|
||||
...getExtraOptionsFromEnv(["resolve", "languages"])
|
||||
]);
|
||||
});
|
||||
},
|
||||
async resolveBuildEnvironment(workingDir, language) {
|
||||
const codeqlArgs = [
|
||||
@@ -155213,9 +155209,8 @@ async function createStatusReportBase(actionName, status, actionStartedAt, confi
|
||||
}
|
||||
const runnerOs = getRequiredEnvParam("RUNNER_OS");
|
||||
const codeQlCliVersion = getCachedCommandOutput(
|
||||
CommandCacheKey.Version,
|
||||
void 0,
|
||||
isVersionInfo
|
||||
"version" /* Version */,
|
||||
void 0
|
||||
);
|
||||
const actionRef = process.env["GITHUB_ACTION_REF"] || "";
|
||||
const testingEnvironment = getTestingEnvironment();
|
||||
|
||||
Reference in New Issue
Block a user