mirror of
https://github.com/github/codeql-action.git
synced 2025-12-06 15:58:06 +08:00
Compare commits
16 Commits
v3
...
cklin/over
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8475d6a7fa | ||
|
|
f338c0a332 | ||
|
|
1b32ed334b | ||
|
|
ef45800e5c | ||
|
|
c35d1b3eb4 | ||
|
|
eb5531f129 | ||
|
|
c4d96bef6a | ||
|
|
c3d80a1a64 | ||
|
|
57444ccc63 | ||
|
|
25b6845641 | ||
|
|
c079287f80 | ||
|
|
fcd4657460 | ||
|
|
9ebca4c820 | ||
|
|
046ce56f57 | ||
|
|
f6247bb37b | ||
|
|
6e69a927f6 |
498
lib/analyze-action-post.js
generated
498
lib/analyze-action-post.js
generated
@@ -24984,11 +24984,11 @@ var require_valid = __commonJS({
|
||||
"node_modules/semver/functions/valid.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var parse = require_parse2();
|
||||
var valid3 = (version, options) => {
|
||||
var valid4 = (version, options) => {
|
||||
const v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
};
|
||||
module2.exports = valid3;
|
||||
module2.exports = valid4;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25195,8 +25195,8 @@ var require_lt = __commonJS({
|
||||
"node_modules/semver/functions/lt.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var compare = require_compare();
|
||||
var lt = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt;
|
||||
var lt2 = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt2;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25248,7 +25248,7 @@ var require_cmp = __commonJS({
|
||||
var neq = require_neq();
|
||||
var gt = require_gt();
|
||||
var gte5 = require_gte();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var cmp = (a, op, b, loose) => {
|
||||
switch (op) {
|
||||
@@ -25279,7 +25279,7 @@ var require_cmp = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -26033,7 +26033,7 @@ var require_outside = __commonJS({
|
||||
var Range2 = require_range();
|
||||
var satisfies2 = require_satisfies();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var gte5 = require_gte();
|
||||
var outside = (version, range, hilo, options) => {
|
||||
@@ -26044,12 +26044,12 @@ var require_outside = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -26229,12 +26229,12 @@ var require_subset = __commonJS({
|
||||
}
|
||||
}
|
||||
const eqSet = /* @__PURE__ */ new Set();
|
||||
let gt, lt;
|
||||
let gt, lt2;
|
||||
for (const c of sub) {
|
||||
if (c.operator === ">" || c.operator === ">=") {
|
||||
gt = higherGT(gt, c, options);
|
||||
} else if (c.operator === "<" || c.operator === "<=") {
|
||||
lt = lowerLT(lt, c, options);
|
||||
lt2 = lowerLT(lt2, c, options);
|
||||
} else {
|
||||
eqSet.add(c.semver);
|
||||
}
|
||||
@@ -26243,11 +26243,11 @@ var require_subset = __commonJS({
|
||||
return null;
|
||||
}
|
||||
let gtltComp;
|
||||
if (gt && lt) {
|
||||
gtltComp = compare(gt.semver, lt.semver, options);
|
||||
if (gt && lt2) {
|
||||
gtltComp = compare(gt.semver, lt2.semver, options);
|
||||
if (gtltComp > 0) {
|
||||
return null;
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt2.operator !== "<=")) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -26255,7 +26255,7 @@ var require_subset = __commonJS({
|
||||
if (gt && !satisfies2(eq, String(gt), options)) {
|
||||
return null;
|
||||
}
|
||||
if (lt && !satisfies2(eq, String(lt), options)) {
|
||||
if (lt2 && !satisfies2(eq, String(lt2), options)) {
|
||||
return null;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26267,9 +26267,9 @@ var require_subset = __commonJS({
|
||||
}
|
||||
let higher, lower;
|
||||
let hasDomLT, hasDomGT;
|
||||
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
|
||||
let needDomLTPre = lt2 && !options.includePrerelease && lt2.semver.prerelease.length ? lt2.semver : false;
|
||||
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt2.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26290,29 +26290,29 @@ var require_subset = __commonJS({
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (lt) {
|
||||
if (lt2) {
|
||||
if (needDomLTPre) {
|
||||
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
}
|
||||
if (c.operator === "<" || c.operator === "<=") {
|
||||
lower = lowerLT(lt, c, options);
|
||||
if (lower === c && lower !== lt) {
|
||||
lower = lowerLT(lt2, c, options);
|
||||
if (lower === c && lower !== lt2) {
|
||||
return false;
|
||||
}
|
||||
} else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
|
||||
} else if (lt2.operator === "<=" && !satisfies2(lt2.semver, String(c), options)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!c.operator && (lt || gt) && gtltComp !== 0) {
|
||||
if (!c.operator && (lt2 || gt) && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (gt && hasDomLT && !lt && gtltComp !== 0) {
|
||||
if (gt && hasDomLT && !lt2 && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (lt && hasDomGT && !gt && gtltComp !== 0) {
|
||||
if (lt2 && hasDomGT && !gt && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (needDomGTPre || needDomLTPre) {
|
||||
@@ -26347,7 +26347,7 @@ var require_semver2 = __commonJS({
|
||||
var SemVer = require_semver();
|
||||
var identifiers = require_identifiers();
|
||||
var parse = require_parse2();
|
||||
var valid3 = require_valid();
|
||||
var valid4 = require_valid();
|
||||
var clean3 = require_clean();
|
||||
var inc = require_inc();
|
||||
var diff = require_diff();
|
||||
@@ -26362,7 +26362,7 @@ var require_semver2 = __commonJS({
|
||||
var sort = require_sort();
|
||||
var rsort = require_rsort();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var eq = require_eq();
|
||||
var neq = require_neq();
|
||||
var gte5 = require_gte();
|
||||
@@ -26385,7 +26385,7 @@ var require_semver2 = __commonJS({
|
||||
var subset = require_subset();
|
||||
module2.exports = {
|
||||
parse,
|
||||
valid: valid3,
|
||||
valid: valid4,
|
||||
clean: clean3,
|
||||
inc,
|
||||
diff,
|
||||
@@ -26400,7 +26400,7 @@ var require_semver2 = __commonJS({
|
||||
sort,
|
||||
rsort,
|
||||
gt,
|
||||
lt,
|
||||
lt: lt2,
|
||||
eq,
|
||||
neq,
|
||||
gte: gte5,
|
||||
@@ -29974,8 +29974,8 @@ var require_semver3 = __commonJS({
|
||||
return null;
|
||||
}
|
||||
}
|
||||
exports2.valid = valid3;
|
||||
function valid3(version, options) {
|
||||
exports2.valid = valid4;
|
||||
function valid4(version, options) {
|
||||
var v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
}
|
||||
@@ -30295,8 +30295,8 @@ var require_semver3 = __commonJS({
|
||||
function gt(a, b, loose) {
|
||||
return compare(a, b, loose) > 0;
|
||||
}
|
||||
exports2.lt = lt;
|
||||
function lt(a, b, loose) {
|
||||
exports2.lt = lt2;
|
||||
function lt2(a, b, loose) {
|
||||
return compare(a, b, loose) < 0;
|
||||
}
|
||||
exports2.eq = eq;
|
||||
@@ -30341,7 +30341,7 @@ var require_semver3 = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -30878,12 +30878,12 @@ var require_semver3 = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -31085,7 +31085,7 @@ var require_cacheUtils = __commonJS({
|
||||
var crypto = __importStar4(require("crypto"));
|
||||
var fs7 = __importStar4(require("fs"));
|
||||
var path6 = __importStar4(require("path"));
|
||||
var semver8 = __importStar4(require_semver3());
|
||||
var semver9 = __importStar4(require_semver3());
|
||||
var util = __importStar4(require("util"));
|
||||
var constants_1 = require_constants7();
|
||||
var versionSalt = "1.0";
|
||||
@@ -31182,7 +31182,7 @@ var require_cacheUtils = __commonJS({
|
||||
function getCompressionMethod() {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const versionOutput = yield getVersion("zstd", ["--quiet"]);
|
||||
const version = semver8.clean(versionOutput);
|
||||
const version = semver9.clean(versionOutput);
|
||||
core14.debug(`zstd version: ${version}`);
|
||||
if (versionOutput === "") {
|
||||
return constants_1.CompressionMethod.Gzip;
|
||||
@@ -73493,7 +73493,7 @@ var require_manifest = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var core_1 = require_core();
|
||||
var os = require("os");
|
||||
var cp = require("child_process");
|
||||
@@ -73507,7 +73507,7 @@ var require_manifest = __commonJS({
|
||||
for (const candidate of candidates) {
|
||||
const version = candidate.version;
|
||||
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
|
||||
if (semver8.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
file = candidate.files.find((item) => {
|
||||
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
|
||||
let chk = item.arch === archFilter && item.platform === platFilter;
|
||||
@@ -73516,7 +73516,7 @@ var require_manifest = __commonJS({
|
||||
if (osVersion === item.platform_version) {
|
||||
chk = true;
|
||||
} else {
|
||||
chk = semver8.satisfies(osVersion, item.platform_version);
|
||||
chk = semver9.satisfies(osVersion, item.platform_version);
|
||||
}
|
||||
}
|
||||
return chk;
|
||||
@@ -73746,7 +73746,7 @@ var require_tool_cache = __commonJS({
|
||||
var os = __importStar4(require("os"));
|
||||
var path6 = __importStar4(require("path"));
|
||||
var httpm = __importStar4(require_lib());
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var stream = __importStar4(require("stream"));
|
||||
var util = __importStar4(require("util"));
|
||||
var assert_1 = require("assert");
|
||||
@@ -74020,7 +74020,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function cacheDir(sourceDir, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core14.debug(`source dir: ${sourceDir}`);
|
||||
@@ -74039,7 +74039,7 @@ var require_tool_cache = __commonJS({
|
||||
exports2.cacheDir = cacheDir;
|
||||
function cacheFile(sourceFile, targetFile, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core14.debug(`source file: ${sourceFile}`);
|
||||
@@ -74070,7 +74070,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
let toolPath = "";
|
||||
if (versionSpec) {
|
||||
versionSpec = semver8.clean(versionSpec) || "";
|
||||
versionSpec = semver9.clean(versionSpec) || "";
|
||||
const cachePath = path6.join(_getCacheDirectory(), toolName, versionSpec, arch);
|
||||
core14.debug(`checking cache: ${cachePath}`);
|
||||
if (fs7.existsSync(cachePath) && fs7.existsSync(`${cachePath}.complete`)) {
|
||||
@@ -74154,7 +74154,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function _createToolPath(tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const folderPath = path6.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path6.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
core14.debug(`destination ${folderPath}`);
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
yield io6.rmRF(folderPath);
|
||||
@@ -74164,31 +74164,31 @@ var require_tool_cache = __commonJS({
|
||||
});
|
||||
}
|
||||
function _completeToolPath(tool, version, arch) {
|
||||
const folderPath = path6.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path6.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
fs7.writeFileSync(markerPath, "");
|
||||
core14.debug("finished caching tool");
|
||||
}
|
||||
function isExplicitVersion(versionSpec) {
|
||||
const c = semver8.clean(versionSpec) || "";
|
||||
const c = semver9.clean(versionSpec) || "";
|
||||
core14.debug(`isExplicit: ${c}`);
|
||||
const valid3 = semver8.valid(c) != null;
|
||||
core14.debug(`explicit? ${valid3}`);
|
||||
return valid3;
|
||||
const valid4 = semver9.valid(c) != null;
|
||||
core14.debug(`explicit? ${valid4}`);
|
||||
return valid4;
|
||||
}
|
||||
exports2.isExplicitVersion = isExplicitVersion;
|
||||
function evaluateVersions(versions, versionSpec) {
|
||||
let version = "";
|
||||
core14.debug(`evaluating ${versions.length} versions`);
|
||||
versions = versions.sort((a, b) => {
|
||||
if (semver8.gt(a, b)) {
|
||||
if (semver9.gt(a, b)) {
|
||||
return 1;
|
||||
}
|
||||
return -1;
|
||||
});
|
||||
for (let i = versions.length - 1; i >= 0; i--) {
|
||||
const potential = versions[i];
|
||||
const satisfied = semver8.satisfies(potential, versionSpec);
|
||||
const satisfied = semver9.satisfies(potential, versionSpec);
|
||||
if (satisfied) {
|
||||
version = potential;
|
||||
break;
|
||||
@@ -81746,7 +81746,7 @@ var require_stream_writable = __commonJS({
|
||||
pna.nextTick(cb, er);
|
||||
}
|
||||
function validChunk(stream, state, chunk, cb) {
|
||||
var valid3 = true;
|
||||
var valid4 = true;
|
||||
var er = false;
|
||||
if (chunk === null) {
|
||||
er = new TypeError("May not write null values to stream");
|
||||
@@ -81756,9 +81756,9 @@ var require_stream_writable = __commonJS({
|
||||
if (er) {
|
||||
stream.emit("error", er);
|
||||
pna.nextTick(cb, er);
|
||||
valid3 = false;
|
||||
valid4 = false;
|
||||
}
|
||||
return valid3;
|
||||
return valid4;
|
||||
}
|
||||
Writable.prototype.write = function(chunk, encoding, cb) {
|
||||
var state = this._writableState;
|
||||
@@ -117550,10 +117550,191 @@ var PACK_IDENTIFIER_PATTERN = (function() {
|
||||
// src/feature-flags.ts
|
||||
var semver4 = __toESM(require_semver2());
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var fs2 = __toESM(require("fs"));
|
||||
var path2 = __toESM(require("path"));
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
// src/tools-features.ts
|
||||
var semver3 = __toESM(require_semver2());
|
||||
function isSupportedToolsFeature(versionInfo, feature) {
|
||||
return !!versionInfo.features && versionInfo.features[feature];
|
||||
}
|
||||
var SafeArtifactUploadVersion = "2.20.3";
|
||||
function isSafeArtifactUpload(codeQlVersion) {
|
||||
return !codeQlVersion ? true : semver3.gte(codeQlVersion, SafeArtifactUploadVersion);
|
||||
}
|
||||
|
||||
// src/feature-flags.ts
|
||||
var featureConfig = {
|
||||
["cleanup_trap_caches" /* CleanupTrapCaches */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["cpp_dependency_installation_enabled" /* CppDependencyInstallation */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
|
||||
legacyApi: true,
|
||||
minimumVersion: "2.15.0"
|
||||
},
|
||||
["diff_informed_queries" /* DiffInformedQueries */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
|
||||
minimumVersion: "2.21.0"
|
||||
},
|
||||
["disable_csharp_buildless" /* DisableCsharpBuildless */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_CSHARP_BUILDLESS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_java_buildless_enabled" /* DisableJavaBuildlessEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_JAVA_BUILDLESS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_kotlin_analysis_enabled" /* DisableKotlinAnalysisEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_DISABLE_KOTLIN_ANALYSIS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["export_diagnostics_enabled" /* ExportDiagnosticsEnabled */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_EXPORT_DIAGNOSTICS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
||||
},
|
||||
["overlay_analysis" /* OverlayAnalysis */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_actions" /* OverlayAnalysisActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_actions" /* OverlayAnalysisCodeScanningActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_cpp" /* OverlayAnalysisCodeScanningCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_csharp" /* OverlayAnalysisCodeScanningCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_go" /* OverlayAnalysisCodeScanningGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_java" /* OverlayAnalysisCodeScanningJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_javascript" /* OverlayAnalysisCodeScanningJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_python" /* OverlayAnalysisCodeScanningPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_ruby" /* OverlayAnalysisCodeScanningRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_rust" /* OverlayAnalysisCodeScanningRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_swift" /* OverlayAnalysisCodeScanningSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_cpp" /* OverlayAnalysisCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_csharp" /* OverlayAnalysisCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_go" /* OverlayAnalysisGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_java" /* OverlayAnalysisJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_javascript" /* OverlayAnalysisJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_python" /* OverlayAnalysisPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_ruby" /* OverlayAnalysisRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_rust" /* OverlayAnalysisRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_swift" /* OverlayAnalysisSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */
|
||||
},
|
||||
["use_repository_properties" /* UseRepositoryProperties */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_USE_REPOSITORY_PROPERTIES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["qa_telemetry_enabled" /* QaTelemetryEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_QA_TELEMETRY",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
minimumVersion: "2.23.0"
|
||||
}
|
||||
};
|
||||
|
||||
// src/git-utils.ts
|
||||
var core7 = __toESM(require_core());
|
||||
@@ -117718,6 +117899,12 @@ async function isAnalyzingDefaultBranch() {
|
||||
return currentRef === defaultBranch;
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var fs2 = __toESM(require("fs"));
|
||||
var path2 = __toESM(require("path"));
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
function getActionsLogger() {
|
||||
@@ -117733,7 +117920,6 @@ function withGroup(groupName, f) {
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var CODEQL_OVERLAY_MINIMUM_VERSION = "2.22.4";
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 15e3;
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
|
||||
async function writeBaseDatabaseOidsFile(config, sourceRoot) {
|
||||
@@ -117793,192 +117979,6 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
return changes;
|
||||
}
|
||||
|
||||
// src/tools-features.ts
|
||||
var semver3 = __toESM(require_semver2());
|
||||
function isSupportedToolsFeature(versionInfo, feature) {
|
||||
return !!versionInfo.features && versionInfo.features[feature];
|
||||
}
|
||||
var SafeArtifactUploadVersion = "2.20.3";
|
||||
function isSafeArtifactUpload(codeQlVersion) {
|
||||
return !codeQlVersion ? true : semver3.gte(codeQlVersion, SafeArtifactUploadVersion);
|
||||
}
|
||||
|
||||
// src/feature-flags.ts
|
||||
var featureConfig = {
|
||||
["cleanup_trap_caches" /* CleanupTrapCaches */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["cpp_dependency_installation_enabled" /* CppDependencyInstallation */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
|
||||
legacyApi: true,
|
||||
minimumVersion: "2.15.0"
|
||||
},
|
||||
["diff_informed_queries" /* DiffInformedQueries */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
|
||||
minimumVersion: "2.21.0"
|
||||
},
|
||||
["disable_csharp_buildless" /* DisableCsharpBuildless */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_CSHARP_BUILDLESS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_java_buildless_enabled" /* DisableJavaBuildlessEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_JAVA_BUILDLESS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_kotlin_analysis_enabled" /* DisableKotlinAnalysisEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_DISABLE_KOTLIN_ANALYSIS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["export_diagnostics_enabled" /* ExportDiagnosticsEnabled */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_EXPORT_DIAGNOSTICS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
||||
},
|
||||
["overlay_analysis" /* OverlayAnalysis */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: CODEQL_OVERLAY_MINIMUM_VERSION
|
||||
},
|
||||
["overlay_analysis_actions" /* OverlayAnalysisActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_actions" /* OverlayAnalysisCodeScanningActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_cpp" /* OverlayAnalysisCodeScanningCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_csharp" /* OverlayAnalysisCodeScanningCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_go" /* OverlayAnalysisCodeScanningGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_java" /* OverlayAnalysisCodeScanningJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_javascript" /* OverlayAnalysisCodeScanningJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_python" /* OverlayAnalysisCodeScanningPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_ruby" /* OverlayAnalysisCodeScanningRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_rust" /* OverlayAnalysisCodeScanningRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_swift" /* OverlayAnalysisCodeScanningSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_cpp" /* OverlayAnalysisCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_csharp" /* OverlayAnalysisCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_go" /* OverlayAnalysisGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_java" /* OverlayAnalysisJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_javascript" /* OverlayAnalysisJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_python" /* OverlayAnalysisPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_ruby" /* OverlayAnalysisRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_rust" /* OverlayAnalysisRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_swift" /* OverlayAnalysisSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */
|
||||
},
|
||||
["use_repository_properties" /* UseRepositoryProperties */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_USE_REPOSITORY_PROPERTIES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["qa_telemetry_enabled" /* QaTelemetryEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_QA_TELEMETRY",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
minimumVersion: "2.23.0"
|
||||
}
|
||||
};
|
||||
|
||||
// src/trap-caching.ts
|
||||
var actionsCache2 = __toESM(require_cache3());
|
||||
|
||||
@@ -118053,20 +118053,20 @@ function appendExtraQueryExclusions(extraQueryExclusions, cliConfig) {
|
||||
// src/setup-codeql.ts
|
||||
var toolcache3 = __toESM(require_tool_cache());
|
||||
var import_fast_deep_equal = __toESM(require_fast_deep_equal());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var semver8 = __toESM(require_semver2());
|
||||
|
||||
// src/tar.ts
|
||||
var import_toolrunner = __toESM(require_toolrunner());
|
||||
var io4 = __toESM(require_io());
|
||||
var toolcache = __toESM(require_tool_cache());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
|
||||
// src/tools-download.ts
|
||||
var core9 = __toESM(require_core());
|
||||
var import_http_client = __toESM(require_lib());
|
||||
var toolcache2 = __toESM(require_tool_cache());
|
||||
var import_follow_redirects = __toESM(require_follow_redirects());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024;
|
||||
|
||||
// src/tracer-config.ts
|
||||
|
||||
1168
lib/analyze-action.js
generated
1168
lib/analyze-action.js
generated
File diff suppressed because it is too large
Load Diff
594
lib/autobuild-action.js
generated
594
lib/autobuild-action.js
generated
@@ -24984,11 +24984,11 @@ var require_valid = __commonJS({
|
||||
"node_modules/semver/functions/valid.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var parse = require_parse2();
|
||||
var valid3 = (version, options) => {
|
||||
var valid4 = (version, options) => {
|
||||
const v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
};
|
||||
module2.exports = valid3;
|
||||
module2.exports = valid4;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25195,8 +25195,8 @@ var require_lt = __commonJS({
|
||||
"node_modules/semver/functions/lt.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var compare = require_compare();
|
||||
var lt = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt;
|
||||
var lt2 = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt2;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25248,7 +25248,7 @@ var require_cmp = __commonJS({
|
||||
var neq = require_neq();
|
||||
var gt = require_gt();
|
||||
var gte5 = require_gte();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var cmp = (a, op, b, loose) => {
|
||||
switch (op) {
|
||||
@@ -25279,7 +25279,7 @@ var require_cmp = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -26033,7 +26033,7 @@ var require_outside = __commonJS({
|
||||
var Range2 = require_range();
|
||||
var satisfies2 = require_satisfies();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var gte5 = require_gte();
|
||||
var outside = (version, range, hilo, options) => {
|
||||
@@ -26044,12 +26044,12 @@ var require_outside = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -26229,12 +26229,12 @@ var require_subset = __commonJS({
|
||||
}
|
||||
}
|
||||
const eqSet = /* @__PURE__ */ new Set();
|
||||
let gt, lt;
|
||||
let gt, lt2;
|
||||
for (const c of sub) {
|
||||
if (c.operator === ">" || c.operator === ">=") {
|
||||
gt = higherGT(gt, c, options);
|
||||
} else if (c.operator === "<" || c.operator === "<=") {
|
||||
lt = lowerLT(lt, c, options);
|
||||
lt2 = lowerLT(lt2, c, options);
|
||||
} else {
|
||||
eqSet.add(c.semver);
|
||||
}
|
||||
@@ -26243,11 +26243,11 @@ var require_subset = __commonJS({
|
||||
return null;
|
||||
}
|
||||
let gtltComp;
|
||||
if (gt && lt) {
|
||||
gtltComp = compare(gt.semver, lt.semver, options);
|
||||
if (gt && lt2) {
|
||||
gtltComp = compare(gt.semver, lt2.semver, options);
|
||||
if (gtltComp > 0) {
|
||||
return null;
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt2.operator !== "<=")) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -26255,7 +26255,7 @@ var require_subset = __commonJS({
|
||||
if (gt && !satisfies2(eq, String(gt), options)) {
|
||||
return null;
|
||||
}
|
||||
if (lt && !satisfies2(eq, String(lt), options)) {
|
||||
if (lt2 && !satisfies2(eq, String(lt2), options)) {
|
||||
return null;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26267,9 +26267,9 @@ var require_subset = __commonJS({
|
||||
}
|
||||
let higher, lower;
|
||||
let hasDomLT, hasDomGT;
|
||||
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
|
||||
let needDomLTPre = lt2 && !options.includePrerelease && lt2.semver.prerelease.length ? lt2.semver : false;
|
||||
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt2.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26290,29 +26290,29 @@ var require_subset = __commonJS({
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (lt) {
|
||||
if (lt2) {
|
||||
if (needDomLTPre) {
|
||||
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
}
|
||||
if (c.operator === "<" || c.operator === "<=") {
|
||||
lower = lowerLT(lt, c, options);
|
||||
if (lower === c && lower !== lt) {
|
||||
lower = lowerLT(lt2, c, options);
|
||||
if (lower === c && lower !== lt2) {
|
||||
return false;
|
||||
}
|
||||
} else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
|
||||
} else if (lt2.operator === "<=" && !satisfies2(lt2.semver, String(c), options)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!c.operator && (lt || gt) && gtltComp !== 0) {
|
||||
if (!c.operator && (lt2 || gt) && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (gt && hasDomLT && !lt && gtltComp !== 0) {
|
||||
if (gt && hasDomLT && !lt2 && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (lt && hasDomGT && !gt && gtltComp !== 0) {
|
||||
if (lt2 && hasDomGT && !gt && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (needDomGTPre || needDomLTPre) {
|
||||
@@ -26347,7 +26347,7 @@ var require_semver2 = __commonJS({
|
||||
var SemVer = require_semver();
|
||||
var identifiers = require_identifiers();
|
||||
var parse = require_parse2();
|
||||
var valid3 = require_valid();
|
||||
var valid4 = require_valid();
|
||||
var clean3 = require_clean();
|
||||
var inc = require_inc();
|
||||
var diff = require_diff();
|
||||
@@ -26362,7 +26362,7 @@ var require_semver2 = __commonJS({
|
||||
var sort = require_sort();
|
||||
var rsort = require_rsort();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var eq = require_eq();
|
||||
var neq = require_neq();
|
||||
var gte5 = require_gte();
|
||||
@@ -26385,7 +26385,7 @@ var require_semver2 = __commonJS({
|
||||
var subset = require_subset();
|
||||
module2.exports = {
|
||||
parse,
|
||||
valid: valid3,
|
||||
valid: valid4,
|
||||
clean: clean3,
|
||||
inc,
|
||||
diff,
|
||||
@@ -26400,7 +26400,7 @@ var require_semver2 = __commonJS({
|
||||
sort,
|
||||
rsort,
|
||||
gt,
|
||||
lt,
|
||||
lt: lt2,
|
||||
eq,
|
||||
neq,
|
||||
gte: gte5,
|
||||
@@ -29974,8 +29974,8 @@ var require_semver3 = __commonJS({
|
||||
return null;
|
||||
}
|
||||
}
|
||||
exports2.valid = valid3;
|
||||
function valid3(version, options) {
|
||||
exports2.valid = valid4;
|
||||
function valid4(version, options) {
|
||||
var v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
}
|
||||
@@ -30295,8 +30295,8 @@ var require_semver3 = __commonJS({
|
||||
function gt(a, b, loose) {
|
||||
return compare(a, b, loose) > 0;
|
||||
}
|
||||
exports2.lt = lt;
|
||||
function lt(a, b, loose) {
|
||||
exports2.lt = lt2;
|
||||
function lt2(a, b, loose) {
|
||||
return compare(a, b, loose) < 0;
|
||||
}
|
||||
exports2.eq = eq;
|
||||
@@ -30341,7 +30341,7 @@ var require_semver3 = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -30878,12 +30878,12 @@ var require_semver3 = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -31085,7 +31085,7 @@ var require_cacheUtils = __commonJS({
|
||||
var crypto = __importStar4(require("crypto"));
|
||||
var fs7 = __importStar4(require("fs"));
|
||||
var path7 = __importStar4(require("path"));
|
||||
var semver8 = __importStar4(require_semver3());
|
||||
var semver9 = __importStar4(require_semver3());
|
||||
var util = __importStar4(require("util"));
|
||||
var constants_1 = require_constants7();
|
||||
var versionSalt = "1.0";
|
||||
@@ -31182,7 +31182,7 @@ var require_cacheUtils = __commonJS({
|
||||
function getCompressionMethod() {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const versionOutput = yield getVersion("zstd", ["--quiet"]);
|
||||
const version = semver8.clean(versionOutput);
|
||||
const version = semver9.clean(versionOutput);
|
||||
core14.debug(`zstd version: ${version}`);
|
||||
if (versionOutput === "") {
|
||||
return constants_1.CompressionMethod.Gzip;
|
||||
@@ -73493,7 +73493,7 @@ var require_manifest = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var core_1 = require_core();
|
||||
var os2 = require("os");
|
||||
var cp = require("child_process");
|
||||
@@ -73507,7 +73507,7 @@ var require_manifest = __commonJS({
|
||||
for (const candidate of candidates) {
|
||||
const version = candidate.version;
|
||||
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
|
||||
if (semver8.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
file = candidate.files.find((item) => {
|
||||
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
|
||||
let chk = item.arch === archFilter && item.platform === platFilter;
|
||||
@@ -73516,7 +73516,7 @@ var require_manifest = __commonJS({
|
||||
if (osVersion === item.platform_version) {
|
||||
chk = true;
|
||||
} else {
|
||||
chk = semver8.satisfies(osVersion, item.platform_version);
|
||||
chk = semver9.satisfies(osVersion, item.platform_version);
|
||||
}
|
||||
}
|
||||
return chk;
|
||||
@@ -73746,7 +73746,7 @@ var require_tool_cache = __commonJS({
|
||||
var os2 = __importStar4(require("os"));
|
||||
var path7 = __importStar4(require("path"));
|
||||
var httpm = __importStar4(require_lib());
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var stream = __importStar4(require("stream"));
|
||||
var util = __importStar4(require("util"));
|
||||
var assert_1 = require("assert");
|
||||
@@ -74020,7 +74020,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function cacheDir(sourceDir, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os2.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core14.debug(`source dir: ${sourceDir}`);
|
||||
@@ -74039,7 +74039,7 @@ var require_tool_cache = __commonJS({
|
||||
exports2.cacheDir = cacheDir;
|
||||
function cacheFile(sourceFile, targetFile, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os2.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core14.debug(`source file: ${sourceFile}`);
|
||||
@@ -74070,7 +74070,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
let toolPath = "";
|
||||
if (versionSpec) {
|
||||
versionSpec = semver8.clean(versionSpec) || "";
|
||||
versionSpec = semver9.clean(versionSpec) || "";
|
||||
const cachePath = path7.join(_getCacheDirectory(), toolName, versionSpec, arch);
|
||||
core14.debug(`checking cache: ${cachePath}`);
|
||||
if (fs7.existsSync(cachePath) && fs7.existsSync(`${cachePath}.complete`)) {
|
||||
@@ -74154,7 +74154,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function _createToolPath(tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const folderPath = path7.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
core14.debug(`destination ${folderPath}`);
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
yield io5.rmRF(folderPath);
|
||||
@@ -74164,31 +74164,31 @@ var require_tool_cache = __commonJS({
|
||||
});
|
||||
}
|
||||
function _completeToolPath(tool, version, arch) {
|
||||
const folderPath = path7.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
fs7.writeFileSync(markerPath, "");
|
||||
core14.debug("finished caching tool");
|
||||
}
|
||||
function isExplicitVersion(versionSpec) {
|
||||
const c = semver8.clean(versionSpec) || "";
|
||||
const c = semver9.clean(versionSpec) || "";
|
||||
core14.debug(`isExplicit: ${c}`);
|
||||
const valid3 = semver8.valid(c) != null;
|
||||
core14.debug(`explicit? ${valid3}`);
|
||||
return valid3;
|
||||
const valid4 = semver9.valid(c) != null;
|
||||
core14.debug(`explicit? ${valid4}`);
|
||||
return valid4;
|
||||
}
|
||||
exports2.isExplicitVersion = isExplicitVersion;
|
||||
function evaluateVersions(versions, versionSpec) {
|
||||
let version = "";
|
||||
core14.debug(`evaluating ${versions.length} versions`);
|
||||
versions = versions.sort((a, b) => {
|
||||
if (semver8.gt(a, b)) {
|
||||
if (semver9.gt(a, b)) {
|
||||
return 1;
|
||||
}
|
||||
return -1;
|
||||
});
|
||||
for (let i = versions.length - 1; i >= 0; i--) {
|
||||
const potential = versions[i];
|
||||
const satisfied = semver8.satisfies(potential, versionSpec);
|
||||
const satisfied = semver9.satisfies(potential, versionSpec);
|
||||
if (satisfied) {
|
||||
version = potential;
|
||||
break;
|
||||
@@ -78290,249 +78290,14 @@ var PACK_IDENTIFIER_PATTERN = (function() {
|
||||
})();
|
||||
|
||||
// src/feature-flags.ts
|
||||
var fs3 = __toESM(require("fs"));
|
||||
var path3 = __toESM(require("path"));
|
||||
var fs2 = __toESM(require("fs"));
|
||||
var path2 = __toESM(require("path"));
|
||||
var semver4 = __toESM(require_semver2());
|
||||
|
||||
// src/defaults.json
|
||||
var bundleVersion = "codeql-bundle-v2.23.1";
|
||||
var cliVersion = "2.23.1";
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var fs2 = __toESM(require("fs"));
|
||||
var path2 = __toESM(require("path"));
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
|
||||
// src/git-utils.ts
|
||||
var core7 = __toESM(require_core());
|
||||
var toolrunner2 = __toESM(require_toolrunner());
|
||||
var io3 = __toESM(require_io());
|
||||
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
|
||||
let stdout = "";
|
||||
let stderr = "";
|
||||
core7.debug(`Running git command: git ${args.join(" ")}`);
|
||||
try {
|
||||
await new toolrunner2.ToolRunner(await io3.which("git", true), args, {
|
||||
silent: true,
|
||||
listeners: {
|
||||
stdout: (data) => {
|
||||
stdout += data.toString();
|
||||
},
|
||||
stderr: (data) => {
|
||||
stderr += data.toString();
|
||||
}
|
||||
},
|
||||
cwd: workingDirectory
|
||||
}).exec();
|
||||
return stdout;
|
||||
} catch (error2) {
|
||||
let reason = stderr;
|
||||
if (stderr.includes("not a git repository")) {
|
||||
reason = "The checkout path provided to the action does not appear to be a git repository.";
|
||||
}
|
||||
core7.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
|
||||
throw error2;
|
||||
}
|
||||
};
|
||||
var getCommitOid = async function(checkoutPath, ref = "HEAD") {
|
||||
try {
|
||||
const stdout = await runGitCommand(
|
||||
checkoutPath,
|
||||
["rev-parse", ref],
|
||||
"Continuing with commit SHA from user input or environment."
|
||||
);
|
||||
return stdout.trim();
|
||||
} catch {
|
||||
return getOptionalInput("sha") || getRequiredEnvParam("GITHUB_SHA");
|
||||
}
|
||||
};
|
||||
var decodeGitFilePath = function(filePath) {
|
||||
if (filePath.startsWith('"') && filePath.endsWith('"')) {
|
||||
filePath = filePath.substring(1, filePath.length - 1);
|
||||
return filePath.replace(
|
||||
/\\([abfnrtv\\"]|[0-7]{1,3})/g,
|
||||
(_match, seq2) => {
|
||||
switch (seq2[0]) {
|
||||
case "a":
|
||||
return "\x07";
|
||||
case "b":
|
||||
return "\b";
|
||||
case "f":
|
||||
return "\f";
|
||||
case "n":
|
||||
return "\n";
|
||||
case "r":
|
||||
return "\r";
|
||||
case "t":
|
||||
return " ";
|
||||
case "v":
|
||||
return "\v";
|
||||
case "\\":
|
||||
return "\\";
|
||||
case '"':
|
||||
return '"';
|
||||
default:
|
||||
return String.fromCharCode(parseInt(seq2, 8));
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
return filePath;
|
||||
};
|
||||
var getFileOidsUnderPath = async function(basePath) {
|
||||
const stdout = await runGitCommand(
|
||||
basePath,
|
||||
["ls-files", "--recurse-submodules", "--format=%(objectname)_%(path)"],
|
||||
"Cannot list Git OIDs of tracked files."
|
||||
);
|
||||
const fileOidMap = {};
|
||||
const regex = /^([0-9a-f]{40})_(.+)$/;
|
||||
for (const line of stdout.split("\n")) {
|
||||
if (line) {
|
||||
const match = line.match(regex);
|
||||
if (match) {
|
||||
const oid = match[1];
|
||||
const path7 = decodeGitFilePath(match[2]);
|
||||
fileOidMap[path7] = oid;
|
||||
} else {
|
||||
throw new Error(`Unexpected "git ls-files" output: ${line}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
return fileOidMap;
|
||||
};
|
||||
function getRefFromEnv() {
|
||||
let refEnv;
|
||||
try {
|
||||
refEnv = getRequiredEnvParam("GITHUB_REF");
|
||||
} catch (e) {
|
||||
const maybeRef = process.env["CODE_SCANNING_REF"];
|
||||
if (maybeRef === void 0 || maybeRef.length === 0) {
|
||||
throw e;
|
||||
}
|
||||
refEnv = maybeRef;
|
||||
}
|
||||
return refEnv;
|
||||
}
|
||||
async function getRef() {
|
||||
const refInput = getOptionalInput("ref");
|
||||
const shaInput = getOptionalInput("sha");
|
||||
const checkoutPath = getOptionalInput("checkout_path") || getOptionalInput("source-root") || getRequiredEnvParam("GITHUB_WORKSPACE");
|
||||
const hasRefInput = !!refInput;
|
||||
const hasShaInput = !!shaInput;
|
||||
if ((hasRefInput || hasShaInput) && !(hasRefInput && hasShaInput)) {
|
||||
throw new ConfigurationError(
|
||||
"Both 'ref' and 'sha' are required if one of them is provided."
|
||||
);
|
||||
}
|
||||
const ref = refInput || getRefFromEnv();
|
||||
const sha = shaInput || getRequiredEnvParam("GITHUB_SHA");
|
||||
if (refInput) {
|
||||
return refInput;
|
||||
}
|
||||
const pull_ref_regex = /refs\/pull\/(\d+)\/merge/;
|
||||
if (!pull_ref_regex.test(ref)) {
|
||||
return ref;
|
||||
}
|
||||
const head = await getCommitOid(checkoutPath, "HEAD");
|
||||
const hasChangedRef = sha !== head && await getCommitOid(
|
||||
checkoutPath,
|
||||
ref.replace(/^refs\/pull\//, "refs/remotes/pull/")
|
||||
) !== head;
|
||||
if (hasChangedRef) {
|
||||
const newRef = ref.replace(pull_ref_regex, "refs/pull/$1/head");
|
||||
core7.debug(
|
||||
`No longer on merge commit, rewriting ref from ${ref} to ${newRef}.`
|
||||
);
|
||||
return newRef;
|
||||
} else {
|
||||
return ref;
|
||||
}
|
||||
}
|
||||
function removeRefsHeadsPrefix(ref) {
|
||||
return ref.startsWith("refs/heads/") ? ref.slice("refs/heads/".length) : ref;
|
||||
}
|
||||
async function isAnalyzingDefaultBranch() {
|
||||
if (process.env.CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH === "true") {
|
||||
return true;
|
||||
}
|
||||
let currentRef = await getRef();
|
||||
currentRef = removeRefsHeadsPrefix(currentRef);
|
||||
const event = getWorkflowEvent();
|
||||
let defaultBranch = event?.repository?.default_branch;
|
||||
if (getWorkflowEventName() === "schedule") {
|
||||
defaultBranch = removeRefsHeadsPrefix(getRefFromEnv());
|
||||
}
|
||||
return currentRef === defaultBranch;
|
||||
}
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
function getActionsLogger() {
|
||||
return core8;
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var CODEQL_OVERLAY_MINIMUM_VERSION = "2.22.4";
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 15e3;
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
|
||||
async function writeBaseDatabaseOidsFile(config, sourceRoot) {
|
||||
const gitFileOids = await getFileOidsUnderPath(sourceRoot);
|
||||
const gitFileOidsJson = JSON.stringify(gitFileOids);
|
||||
const baseDatabaseOidsFilePath = getBaseDatabaseOidsFilePath(config);
|
||||
await fs2.promises.writeFile(baseDatabaseOidsFilePath, gitFileOidsJson);
|
||||
}
|
||||
async function readBaseDatabaseOidsFile(config, logger) {
|
||||
const baseDatabaseOidsFilePath = getBaseDatabaseOidsFilePath(config);
|
||||
try {
|
||||
const contents = await fs2.promises.readFile(
|
||||
baseDatabaseOidsFilePath,
|
||||
"utf-8"
|
||||
);
|
||||
return JSON.parse(contents);
|
||||
} catch (e) {
|
||||
logger.error(
|
||||
`Failed to read overlay-base file OIDs from ${baseDatabaseOidsFilePath}: ${e.message || e}`
|
||||
);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
function getBaseDatabaseOidsFilePath(config) {
|
||||
return path2.join(config.dbLocation, "base-database-oids.json");
|
||||
}
|
||||
async function writeOverlayChangesFile(config, sourceRoot, logger) {
|
||||
const baseFileOids = await readBaseDatabaseOidsFile(config, logger);
|
||||
const overlayFileOids = await getFileOidsUnderPath(sourceRoot);
|
||||
const changedFiles = computeChangedFiles(baseFileOids, overlayFileOids);
|
||||
logger.info(
|
||||
`Found ${changedFiles.length} changed file(s) under ${sourceRoot}.`
|
||||
);
|
||||
const changedFilesJson = JSON.stringify({ changes: changedFiles });
|
||||
const overlayChangesFile = path2.join(
|
||||
getTemporaryDirectory(),
|
||||
"overlay-changes.json"
|
||||
);
|
||||
logger.debug(
|
||||
`Writing overlay changed files to ${overlayChangesFile}: ${changedFilesJson}`
|
||||
);
|
||||
await fs2.promises.writeFile(overlayChangesFile, changedFilesJson);
|
||||
return overlayChangesFile;
|
||||
}
|
||||
function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
const changes = [];
|
||||
for (const [file, oid] of Object.entries(overlayFileOids)) {
|
||||
if (!(file in baseFileOids) || baseFileOids[file] !== oid) {
|
||||
changes.push(file);
|
||||
}
|
||||
}
|
||||
for (const file of Object.keys(baseFileOids)) {
|
||||
if (!(file in overlayFileOids)) {
|
||||
changes.push(file);
|
||||
}
|
||||
}
|
||||
return changes;
|
||||
}
|
||||
|
||||
// src/tools-features.ts
|
||||
var semver3 = __toESM(require_semver2());
|
||||
function isSupportedToolsFeature(versionInfo, feature) {
|
||||
@@ -78591,7 +78356,7 @@ var featureConfig = {
|
||||
["overlay_analysis" /* OverlayAnalysis */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: CODEQL_OVERLAY_MINIMUM_VERSION
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_actions" /* OverlayAnalysisActions */]: {
|
||||
defaultValue: false,
|
||||
@@ -78723,7 +78488,7 @@ var Features = class {
|
||||
this.gitHubFeatureFlags = new GitHubFeatureFlags(
|
||||
gitHubVersion,
|
||||
repositoryNwo,
|
||||
path3.join(tempDir, FEATURE_FLAGS_FILE_NAME),
|
||||
path2.join(tempDir, FEATURE_FLAGS_FILE_NAME),
|
||||
logger
|
||||
);
|
||||
}
|
||||
@@ -78902,12 +78667,12 @@ var GitHubFeatureFlags = class {
|
||||
}
|
||||
async readLocalFlags() {
|
||||
try {
|
||||
if (fs3.existsSync(this.featureFlagsFile)) {
|
||||
if (fs2.existsSync(this.featureFlagsFile)) {
|
||||
this.logger.debug(
|
||||
`Loading feature flags from ${this.featureFlagsFile}`
|
||||
);
|
||||
return JSON.parse(
|
||||
fs3.readFileSync(this.featureFlagsFile, "utf8")
|
||||
fs2.readFileSync(this.featureFlagsFile, "utf8")
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
@@ -78920,7 +78685,7 @@ var GitHubFeatureFlags = class {
|
||||
async writeLocalFlags(flags) {
|
||||
try {
|
||||
this.logger.debug(`Writing feature flags to ${this.featureFlagsFile}`);
|
||||
fs3.writeFileSync(this.featureFlagsFile, JSON.stringify(flags));
|
||||
fs2.writeFileSync(this.featureFlagsFile, JSON.stringify(flags));
|
||||
} catch (e) {
|
||||
this.logger.warning(
|
||||
`Error writing cached feature flags file ${this.featureFlagsFile}: ${e}.`
|
||||
@@ -78981,6 +78746,241 @@ var GitHubFeatureFlags = class {
|
||||
}
|
||||
};
|
||||
|
||||
// src/git-utils.ts
|
||||
var core7 = __toESM(require_core());
|
||||
var toolrunner2 = __toESM(require_toolrunner());
|
||||
var io3 = __toESM(require_io());
|
||||
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
|
||||
let stdout = "";
|
||||
let stderr = "";
|
||||
core7.debug(`Running git command: git ${args.join(" ")}`);
|
||||
try {
|
||||
await new toolrunner2.ToolRunner(await io3.which("git", true), args, {
|
||||
silent: true,
|
||||
listeners: {
|
||||
stdout: (data) => {
|
||||
stdout += data.toString();
|
||||
},
|
||||
stderr: (data) => {
|
||||
stderr += data.toString();
|
||||
}
|
||||
},
|
||||
cwd: workingDirectory
|
||||
}).exec();
|
||||
return stdout;
|
||||
} catch (error2) {
|
||||
let reason = stderr;
|
||||
if (stderr.includes("not a git repository")) {
|
||||
reason = "The checkout path provided to the action does not appear to be a git repository.";
|
||||
}
|
||||
core7.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
|
||||
throw error2;
|
||||
}
|
||||
};
|
||||
var getCommitOid = async function(checkoutPath, ref = "HEAD") {
|
||||
try {
|
||||
const stdout = await runGitCommand(
|
||||
checkoutPath,
|
||||
["rev-parse", ref],
|
||||
"Continuing with commit SHA from user input or environment."
|
||||
);
|
||||
return stdout.trim();
|
||||
} catch {
|
||||
return getOptionalInput("sha") || getRequiredEnvParam("GITHUB_SHA");
|
||||
}
|
||||
};
|
||||
var decodeGitFilePath = function(filePath) {
|
||||
if (filePath.startsWith('"') && filePath.endsWith('"')) {
|
||||
filePath = filePath.substring(1, filePath.length - 1);
|
||||
return filePath.replace(
|
||||
/\\([abfnrtv\\"]|[0-7]{1,3})/g,
|
||||
(_match, seq2) => {
|
||||
switch (seq2[0]) {
|
||||
case "a":
|
||||
return "\x07";
|
||||
case "b":
|
||||
return "\b";
|
||||
case "f":
|
||||
return "\f";
|
||||
case "n":
|
||||
return "\n";
|
||||
case "r":
|
||||
return "\r";
|
||||
case "t":
|
||||
return " ";
|
||||
case "v":
|
||||
return "\v";
|
||||
case "\\":
|
||||
return "\\";
|
||||
case '"':
|
||||
return '"';
|
||||
default:
|
||||
return String.fromCharCode(parseInt(seq2, 8));
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
return filePath;
|
||||
};
|
||||
var getFileOidsUnderPath = async function(basePath) {
|
||||
const stdout = await runGitCommand(
|
||||
basePath,
|
||||
["ls-files", "--recurse-submodules", "--format=%(objectname)_%(path)"],
|
||||
"Cannot list Git OIDs of tracked files."
|
||||
);
|
||||
const fileOidMap = {};
|
||||
const regex = /^([0-9a-f]{40})_(.+)$/;
|
||||
for (const line of stdout.split("\n")) {
|
||||
if (line) {
|
||||
const match = line.match(regex);
|
||||
if (match) {
|
||||
const oid = match[1];
|
||||
const path7 = decodeGitFilePath(match[2]);
|
||||
fileOidMap[path7] = oid;
|
||||
} else {
|
||||
throw new Error(`Unexpected "git ls-files" output: ${line}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
return fileOidMap;
|
||||
};
|
||||
function getRefFromEnv() {
|
||||
let refEnv;
|
||||
try {
|
||||
refEnv = getRequiredEnvParam("GITHUB_REF");
|
||||
} catch (e) {
|
||||
const maybeRef = process.env["CODE_SCANNING_REF"];
|
||||
if (maybeRef === void 0 || maybeRef.length === 0) {
|
||||
throw e;
|
||||
}
|
||||
refEnv = maybeRef;
|
||||
}
|
||||
return refEnv;
|
||||
}
|
||||
async function getRef() {
|
||||
const refInput = getOptionalInput("ref");
|
||||
const shaInput = getOptionalInput("sha");
|
||||
const checkoutPath = getOptionalInput("checkout_path") || getOptionalInput("source-root") || getRequiredEnvParam("GITHUB_WORKSPACE");
|
||||
const hasRefInput = !!refInput;
|
||||
const hasShaInput = !!shaInput;
|
||||
if ((hasRefInput || hasShaInput) && !(hasRefInput && hasShaInput)) {
|
||||
throw new ConfigurationError(
|
||||
"Both 'ref' and 'sha' are required if one of them is provided."
|
||||
);
|
||||
}
|
||||
const ref = refInput || getRefFromEnv();
|
||||
const sha = shaInput || getRequiredEnvParam("GITHUB_SHA");
|
||||
if (refInput) {
|
||||
return refInput;
|
||||
}
|
||||
const pull_ref_regex = /refs\/pull\/(\d+)\/merge/;
|
||||
if (!pull_ref_regex.test(ref)) {
|
||||
return ref;
|
||||
}
|
||||
const head = await getCommitOid(checkoutPath, "HEAD");
|
||||
const hasChangedRef = sha !== head && await getCommitOid(
|
||||
checkoutPath,
|
||||
ref.replace(/^refs\/pull\//, "refs/remotes/pull/")
|
||||
) !== head;
|
||||
if (hasChangedRef) {
|
||||
const newRef = ref.replace(pull_ref_regex, "refs/pull/$1/head");
|
||||
core7.debug(
|
||||
`No longer on merge commit, rewriting ref from ${ref} to ${newRef}.`
|
||||
);
|
||||
return newRef;
|
||||
} else {
|
||||
return ref;
|
||||
}
|
||||
}
|
||||
function removeRefsHeadsPrefix(ref) {
|
||||
return ref.startsWith("refs/heads/") ? ref.slice("refs/heads/".length) : ref;
|
||||
}
|
||||
async function isAnalyzingDefaultBranch() {
|
||||
if (process.env.CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH === "true") {
|
||||
return true;
|
||||
}
|
||||
let currentRef = await getRef();
|
||||
currentRef = removeRefsHeadsPrefix(currentRef);
|
||||
const event = getWorkflowEvent();
|
||||
let defaultBranch = event?.repository?.default_branch;
|
||||
if (getWorkflowEventName() === "schedule") {
|
||||
defaultBranch = removeRefsHeadsPrefix(getRefFromEnv());
|
||||
}
|
||||
return currentRef === defaultBranch;
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var fs3 = __toESM(require("fs"));
|
||||
var path3 = __toESM(require("path"));
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
function getActionsLogger() {
|
||||
return core8;
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 15e3;
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
|
||||
async function writeBaseDatabaseOidsFile(config, sourceRoot) {
|
||||
const gitFileOids = await getFileOidsUnderPath(sourceRoot);
|
||||
const gitFileOidsJson = JSON.stringify(gitFileOids);
|
||||
const baseDatabaseOidsFilePath = getBaseDatabaseOidsFilePath(config);
|
||||
await fs3.promises.writeFile(baseDatabaseOidsFilePath, gitFileOidsJson);
|
||||
}
|
||||
async function readBaseDatabaseOidsFile(config, logger) {
|
||||
const baseDatabaseOidsFilePath = getBaseDatabaseOidsFilePath(config);
|
||||
try {
|
||||
const contents = await fs3.promises.readFile(
|
||||
baseDatabaseOidsFilePath,
|
||||
"utf-8"
|
||||
);
|
||||
return JSON.parse(contents);
|
||||
} catch (e) {
|
||||
logger.error(
|
||||
`Failed to read overlay-base file OIDs from ${baseDatabaseOidsFilePath}: ${e.message || e}`
|
||||
);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
function getBaseDatabaseOidsFilePath(config) {
|
||||
return path3.join(config.dbLocation, "base-database-oids.json");
|
||||
}
|
||||
async function writeOverlayChangesFile(config, sourceRoot, logger) {
|
||||
const baseFileOids = await readBaseDatabaseOidsFile(config, logger);
|
||||
const overlayFileOids = await getFileOidsUnderPath(sourceRoot);
|
||||
const changedFiles = computeChangedFiles(baseFileOids, overlayFileOids);
|
||||
logger.info(
|
||||
`Found ${changedFiles.length} changed file(s) under ${sourceRoot}.`
|
||||
);
|
||||
const changedFilesJson = JSON.stringify({ changes: changedFiles });
|
||||
const overlayChangesFile = path3.join(
|
||||
getTemporaryDirectory(),
|
||||
"overlay-changes.json"
|
||||
);
|
||||
logger.debug(
|
||||
`Writing overlay changed files to ${overlayChangesFile}: ${changedFilesJson}`
|
||||
);
|
||||
await fs3.promises.writeFile(overlayChangesFile, changedFilesJson);
|
||||
return overlayChangesFile;
|
||||
}
|
||||
function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
const changes = [];
|
||||
for (const [file, oid] of Object.entries(overlayFileOids)) {
|
||||
if (!(file in baseFileOids) || baseFileOids[file] !== oid) {
|
||||
changes.push(file);
|
||||
}
|
||||
}
|
||||
for (const file of Object.keys(baseFileOids)) {
|
||||
if (!(file in overlayFileOids)) {
|
||||
changes.push(file);
|
||||
}
|
||||
}
|
||||
return changes;
|
||||
}
|
||||
|
||||
// src/trap-caching.ts
|
||||
var actionsCache2 = __toESM(require_cache3());
|
||||
|
||||
@@ -79055,20 +79055,20 @@ function appendExtraQueryExclusions(extraQueryExclusions, cliConfig) {
|
||||
// src/setup-codeql.ts
|
||||
var toolcache3 = __toESM(require_tool_cache());
|
||||
var import_fast_deep_equal = __toESM(require_fast_deep_equal());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var semver8 = __toESM(require_semver2());
|
||||
|
||||
// src/tar.ts
|
||||
var import_toolrunner = __toESM(require_toolrunner());
|
||||
var io4 = __toESM(require_io());
|
||||
var toolcache = __toESM(require_tool_cache());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
|
||||
// src/tools-download.ts
|
||||
var core9 = __toESM(require_core());
|
||||
var import_http_client = __toESM(require_lib());
|
||||
var toolcache2 = __toESM(require_tool_cache());
|
||||
var import_follow_redirects = __toESM(require_follow_redirects());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024;
|
||||
|
||||
// src/tracer-config.ts
|
||||
|
||||
1122
lib/init-action-post.js
generated
1122
lib/init-action-post.js
generated
File diff suppressed because it is too large
Load Diff
1654
lib/init-action.js
generated
1654
lib/init-action.js
generated
File diff suppressed because it is too large
Load Diff
484
lib/resolve-environment-action.js
generated
484
lib/resolve-environment-action.js
generated
@@ -24984,11 +24984,11 @@ var require_valid = __commonJS({
|
||||
"node_modules/semver/functions/valid.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var parse = require_parse2();
|
||||
var valid3 = (version, options) => {
|
||||
var valid4 = (version, options) => {
|
||||
const v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
};
|
||||
module2.exports = valid3;
|
||||
module2.exports = valid4;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25195,8 +25195,8 @@ var require_lt = __commonJS({
|
||||
"node_modules/semver/functions/lt.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var compare = require_compare();
|
||||
var lt = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt;
|
||||
var lt2 = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt2;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25248,7 +25248,7 @@ var require_cmp = __commonJS({
|
||||
var neq = require_neq();
|
||||
var gt = require_gt();
|
||||
var gte5 = require_gte();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var cmp = (a, op, b, loose) => {
|
||||
switch (op) {
|
||||
@@ -25279,7 +25279,7 @@ var require_cmp = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -26033,7 +26033,7 @@ var require_outside = __commonJS({
|
||||
var Range2 = require_range();
|
||||
var satisfies2 = require_satisfies();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var gte5 = require_gte();
|
||||
var outside = (version, range, hilo, options) => {
|
||||
@@ -26044,12 +26044,12 @@ var require_outside = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -26229,12 +26229,12 @@ var require_subset = __commonJS({
|
||||
}
|
||||
}
|
||||
const eqSet = /* @__PURE__ */ new Set();
|
||||
let gt, lt;
|
||||
let gt, lt2;
|
||||
for (const c of sub) {
|
||||
if (c.operator === ">" || c.operator === ">=") {
|
||||
gt = higherGT(gt, c, options);
|
||||
} else if (c.operator === "<" || c.operator === "<=") {
|
||||
lt = lowerLT(lt, c, options);
|
||||
lt2 = lowerLT(lt2, c, options);
|
||||
} else {
|
||||
eqSet.add(c.semver);
|
||||
}
|
||||
@@ -26243,11 +26243,11 @@ var require_subset = __commonJS({
|
||||
return null;
|
||||
}
|
||||
let gtltComp;
|
||||
if (gt && lt) {
|
||||
gtltComp = compare(gt.semver, lt.semver, options);
|
||||
if (gt && lt2) {
|
||||
gtltComp = compare(gt.semver, lt2.semver, options);
|
||||
if (gtltComp > 0) {
|
||||
return null;
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt2.operator !== "<=")) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -26255,7 +26255,7 @@ var require_subset = __commonJS({
|
||||
if (gt && !satisfies2(eq, String(gt), options)) {
|
||||
return null;
|
||||
}
|
||||
if (lt && !satisfies2(eq, String(lt), options)) {
|
||||
if (lt2 && !satisfies2(eq, String(lt2), options)) {
|
||||
return null;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26267,9 +26267,9 @@ var require_subset = __commonJS({
|
||||
}
|
||||
let higher, lower;
|
||||
let hasDomLT, hasDomGT;
|
||||
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
|
||||
let needDomLTPre = lt2 && !options.includePrerelease && lt2.semver.prerelease.length ? lt2.semver : false;
|
||||
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt2.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26290,29 +26290,29 @@ var require_subset = __commonJS({
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (lt) {
|
||||
if (lt2) {
|
||||
if (needDomLTPre) {
|
||||
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
}
|
||||
if (c.operator === "<" || c.operator === "<=") {
|
||||
lower = lowerLT(lt, c, options);
|
||||
if (lower === c && lower !== lt) {
|
||||
lower = lowerLT(lt2, c, options);
|
||||
if (lower === c && lower !== lt2) {
|
||||
return false;
|
||||
}
|
||||
} else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
|
||||
} else if (lt2.operator === "<=" && !satisfies2(lt2.semver, String(c), options)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!c.operator && (lt || gt) && gtltComp !== 0) {
|
||||
if (!c.operator && (lt2 || gt) && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (gt && hasDomLT && !lt && gtltComp !== 0) {
|
||||
if (gt && hasDomLT && !lt2 && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (lt && hasDomGT && !gt && gtltComp !== 0) {
|
||||
if (lt2 && hasDomGT && !gt && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (needDomGTPre || needDomLTPre) {
|
||||
@@ -26347,7 +26347,7 @@ var require_semver2 = __commonJS({
|
||||
var SemVer = require_semver();
|
||||
var identifiers = require_identifiers();
|
||||
var parse = require_parse2();
|
||||
var valid3 = require_valid();
|
||||
var valid4 = require_valid();
|
||||
var clean3 = require_clean();
|
||||
var inc = require_inc();
|
||||
var diff = require_diff();
|
||||
@@ -26362,7 +26362,7 @@ var require_semver2 = __commonJS({
|
||||
var sort = require_sort();
|
||||
var rsort = require_rsort();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var eq = require_eq();
|
||||
var neq = require_neq();
|
||||
var gte5 = require_gte();
|
||||
@@ -26385,7 +26385,7 @@ var require_semver2 = __commonJS({
|
||||
var subset = require_subset();
|
||||
module2.exports = {
|
||||
parse,
|
||||
valid: valid3,
|
||||
valid: valid4,
|
||||
clean: clean3,
|
||||
inc,
|
||||
diff,
|
||||
@@ -26400,7 +26400,7 @@ var require_semver2 = __commonJS({
|
||||
sort,
|
||||
rsort,
|
||||
gt,
|
||||
lt,
|
||||
lt: lt2,
|
||||
eq,
|
||||
neq,
|
||||
gte: gte5,
|
||||
@@ -29974,8 +29974,8 @@ var require_semver3 = __commonJS({
|
||||
return null;
|
||||
}
|
||||
}
|
||||
exports2.valid = valid3;
|
||||
function valid3(version, options) {
|
||||
exports2.valid = valid4;
|
||||
function valid4(version, options) {
|
||||
var v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
}
|
||||
@@ -30295,8 +30295,8 @@ var require_semver3 = __commonJS({
|
||||
function gt(a, b, loose) {
|
||||
return compare(a, b, loose) > 0;
|
||||
}
|
||||
exports2.lt = lt;
|
||||
function lt(a, b, loose) {
|
||||
exports2.lt = lt2;
|
||||
function lt2(a, b, loose) {
|
||||
return compare(a, b, loose) < 0;
|
||||
}
|
||||
exports2.eq = eq;
|
||||
@@ -30341,7 +30341,7 @@ var require_semver3 = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -30878,12 +30878,12 @@ var require_semver3 = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -31085,7 +31085,7 @@ var require_cacheUtils = __commonJS({
|
||||
var crypto = __importStar4(require("crypto"));
|
||||
var fs5 = __importStar4(require("fs"));
|
||||
var path5 = __importStar4(require("path"));
|
||||
var semver8 = __importStar4(require_semver3());
|
||||
var semver9 = __importStar4(require_semver3());
|
||||
var util = __importStar4(require("util"));
|
||||
var constants_1 = require_constants7();
|
||||
var versionSalt = "1.0";
|
||||
@@ -31182,7 +31182,7 @@ var require_cacheUtils = __commonJS({
|
||||
function getCompressionMethod() {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const versionOutput = yield getVersion("zstd", ["--quiet"]);
|
||||
const version = semver8.clean(versionOutput);
|
||||
const version = semver9.clean(versionOutput);
|
||||
core13.debug(`zstd version: ${version}`);
|
||||
if (versionOutput === "") {
|
||||
return constants_1.CompressionMethod.Gzip;
|
||||
@@ -73493,7 +73493,7 @@ var require_manifest = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var core_1 = require_core();
|
||||
var os2 = require("os");
|
||||
var cp = require("child_process");
|
||||
@@ -73507,7 +73507,7 @@ var require_manifest = __commonJS({
|
||||
for (const candidate of candidates) {
|
||||
const version = candidate.version;
|
||||
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
|
||||
if (semver8.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
file = candidate.files.find((item) => {
|
||||
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
|
||||
let chk = item.arch === archFilter && item.platform === platFilter;
|
||||
@@ -73516,7 +73516,7 @@ var require_manifest = __commonJS({
|
||||
if (osVersion === item.platform_version) {
|
||||
chk = true;
|
||||
} else {
|
||||
chk = semver8.satisfies(osVersion, item.platform_version);
|
||||
chk = semver9.satisfies(osVersion, item.platform_version);
|
||||
}
|
||||
}
|
||||
return chk;
|
||||
@@ -73746,7 +73746,7 @@ var require_tool_cache = __commonJS({
|
||||
var os2 = __importStar4(require("os"));
|
||||
var path5 = __importStar4(require("path"));
|
||||
var httpm = __importStar4(require_lib());
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var stream = __importStar4(require("stream"));
|
||||
var util = __importStar4(require("util"));
|
||||
var assert_1 = require("assert");
|
||||
@@ -74020,7 +74020,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function cacheDir(sourceDir, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os2.arch();
|
||||
core13.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core13.debug(`source dir: ${sourceDir}`);
|
||||
@@ -74039,7 +74039,7 @@ var require_tool_cache = __commonJS({
|
||||
exports2.cacheDir = cacheDir;
|
||||
function cacheFile(sourceFile, targetFile, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os2.arch();
|
||||
core13.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core13.debug(`source file: ${sourceFile}`);
|
||||
@@ -74070,7 +74070,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
let toolPath = "";
|
||||
if (versionSpec) {
|
||||
versionSpec = semver8.clean(versionSpec) || "";
|
||||
versionSpec = semver9.clean(versionSpec) || "";
|
||||
const cachePath = path5.join(_getCacheDirectory(), toolName, versionSpec, arch);
|
||||
core13.debug(`checking cache: ${cachePath}`);
|
||||
if (fs5.existsSync(cachePath) && fs5.existsSync(`${cachePath}.complete`)) {
|
||||
@@ -74154,7 +74154,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function _createToolPath(tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const folderPath = path5.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path5.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
core13.debug(`destination ${folderPath}`);
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
yield io5.rmRF(folderPath);
|
||||
@@ -74164,31 +74164,31 @@ var require_tool_cache = __commonJS({
|
||||
});
|
||||
}
|
||||
function _completeToolPath(tool, version, arch) {
|
||||
const folderPath = path5.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path5.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
fs5.writeFileSync(markerPath, "");
|
||||
core13.debug("finished caching tool");
|
||||
}
|
||||
function isExplicitVersion(versionSpec) {
|
||||
const c = semver8.clean(versionSpec) || "";
|
||||
const c = semver9.clean(versionSpec) || "";
|
||||
core13.debug(`isExplicit: ${c}`);
|
||||
const valid3 = semver8.valid(c) != null;
|
||||
core13.debug(`explicit? ${valid3}`);
|
||||
return valid3;
|
||||
const valid4 = semver9.valid(c) != null;
|
||||
core13.debug(`explicit? ${valid4}`);
|
||||
return valid4;
|
||||
}
|
||||
exports2.isExplicitVersion = isExplicitVersion;
|
||||
function evaluateVersions(versions, versionSpec) {
|
||||
let version = "";
|
||||
core13.debug(`evaluating ${versions.length} versions`);
|
||||
versions = versions.sort((a, b) => {
|
||||
if (semver8.gt(a, b)) {
|
||||
if (semver9.gt(a, b)) {
|
||||
return 1;
|
||||
}
|
||||
return -1;
|
||||
});
|
||||
for (let i = versions.length - 1; i >= 0; i--) {
|
||||
const potential = versions[i];
|
||||
const satisfied = semver8.satisfies(potential, versionSpec);
|
||||
const satisfied = semver9.satisfies(potential, versionSpec);
|
||||
if (satisfied) {
|
||||
version = potential;
|
||||
break;
|
||||
@@ -78291,10 +78291,187 @@ var PACK_IDENTIFIER_PATTERN = (function() {
|
||||
// src/feature-flags.ts
|
||||
var semver4 = __toESM(require_semver2());
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var fs2 = __toESM(require("fs"));
|
||||
var path2 = __toESM(require("path"));
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
// src/tools-features.ts
|
||||
var semver3 = __toESM(require_semver2());
|
||||
function isSupportedToolsFeature(versionInfo, feature) {
|
||||
return !!versionInfo.features && versionInfo.features[feature];
|
||||
}
|
||||
|
||||
// src/feature-flags.ts
|
||||
var featureConfig = {
|
||||
["cleanup_trap_caches" /* CleanupTrapCaches */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["cpp_dependency_installation_enabled" /* CppDependencyInstallation */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
|
||||
legacyApi: true,
|
||||
minimumVersion: "2.15.0"
|
||||
},
|
||||
["diff_informed_queries" /* DiffInformedQueries */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
|
||||
minimumVersion: "2.21.0"
|
||||
},
|
||||
["disable_csharp_buildless" /* DisableCsharpBuildless */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_CSHARP_BUILDLESS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_java_buildless_enabled" /* DisableJavaBuildlessEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_JAVA_BUILDLESS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_kotlin_analysis_enabled" /* DisableKotlinAnalysisEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_DISABLE_KOTLIN_ANALYSIS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["export_diagnostics_enabled" /* ExportDiagnosticsEnabled */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_EXPORT_DIAGNOSTICS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
||||
},
|
||||
["overlay_analysis" /* OverlayAnalysis */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_actions" /* OverlayAnalysisActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_actions" /* OverlayAnalysisCodeScanningActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_cpp" /* OverlayAnalysisCodeScanningCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_csharp" /* OverlayAnalysisCodeScanningCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_go" /* OverlayAnalysisCodeScanningGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_java" /* OverlayAnalysisCodeScanningJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_javascript" /* OverlayAnalysisCodeScanningJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_python" /* OverlayAnalysisCodeScanningPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_ruby" /* OverlayAnalysisCodeScanningRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_rust" /* OverlayAnalysisCodeScanningRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_swift" /* OverlayAnalysisCodeScanningSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_cpp" /* OverlayAnalysisCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_csharp" /* OverlayAnalysisCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_go" /* OverlayAnalysisGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_java" /* OverlayAnalysisJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_javascript" /* OverlayAnalysisJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_python" /* OverlayAnalysisPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_ruby" /* OverlayAnalysisRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_rust" /* OverlayAnalysisRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_swift" /* OverlayAnalysisSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */
|
||||
},
|
||||
["use_repository_properties" /* UseRepositoryProperties */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_USE_REPOSITORY_PROPERTIES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["qa_telemetry_enabled" /* QaTelemetryEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_QA_TELEMETRY",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
minimumVersion: "2.23.0"
|
||||
}
|
||||
};
|
||||
|
||||
// src/git-utils.ts
|
||||
var core7 = __toESM(require_core());
|
||||
@@ -78459,6 +78636,12 @@ async function isAnalyzingDefaultBranch() {
|
||||
return currentRef === defaultBranch;
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var fs2 = __toESM(require("fs"));
|
||||
var path2 = __toESM(require("path"));
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
function getActionsLogger() {
|
||||
@@ -78466,7 +78649,6 @@ function getActionsLogger() {
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var CODEQL_OVERLAY_MINIMUM_VERSION = "2.22.4";
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 15e3;
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
|
||||
async function writeBaseDatabaseOidsFile(config, sourceRoot) {
|
||||
@@ -78526,188 +78708,6 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
return changes;
|
||||
}
|
||||
|
||||
// src/tools-features.ts
|
||||
var semver3 = __toESM(require_semver2());
|
||||
function isSupportedToolsFeature(versionInfo, feature) {
|
||||
return !!versionInfo.features && versionInfo.features[feature];
|
||||
}
|
||||
|
||||
// src/feature-flags.ts
|
||||
var featureConfig = {
|
||||
["cleanup_trap_caches" /* CleanupTrapCaches */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["cpp_dependency_installation_enabled" /* CppDependencyInstallation */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
|
||||
legacyApi: true,
|
||||
minimumVersion: "2.15.0"
|
||||
},
|
||||
["diff_informed_queries" /* DiffInformedQueries */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
|
||||
minimumVersion: "2.21.0"
|
||||
},
|
||||
["disable_csharp_buildless" /* DisableCsharpBuildless */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_CSHARP_BUILDLESS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_java_buildless_enabled" /* DisableJavaBuildlessEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_JAVA_BUILDLESS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_kotlin_analysis_enabled" /* DisableKotlinAnalysisEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_DISABLE_KOTLIN_ANALYSIS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["export_diagnostics_enabled" /* ExportDiagnosticsEnabled */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_EXPORT_DIAGNOSTICS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
||||
},
|
||||
["overlay_analysis" /* OverlayAnalysis */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: CODEQL_OVERLAY_MINIMUM_VERSION
|
||||
},
|
||||
["overlay_analysis_actions" /* OverlayAnalysisActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_actions" /* OverlayAnalysisCodeScanningActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_cpp" /* OverlayAnalysisCodeScanningCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_csharp" /* OverlayAnalysisCodeScanningCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_go" /* OverlayAnalysisCodeScanningGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_java" /* OverlayAnalysisCodeScanningJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_javascript" /* OverlayAnalysisCodeScanningJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_python" /* OverlayAnalysisCodeScanningPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_ruby" /* OverlayAnalysisCodeScanningRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_rust" /* OverlayAnalysisCodeScanningRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_swift" /* OverlayAnalysisCodeScanningSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_cpp" /* OverlayAnalysisCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_csharp" /* OverlayAnalysisCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_go" /* OverlayAnalysisGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_java" /* OverlayAnalysisJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_javascript" /* OverlayAnalysisJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_python" /* OverlayAnalysisPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_ruby" /* OverlayAnalysisRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_rust" /* OverlayAnalysisRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_swift" /* OverlayAnalysisSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */
|
||||
},
|
||||
["use_repository_properties" /* UseRepositoryProperties */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_USE_REPOSITORY_PROPERTIES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["qa_telemetry_enabled" /* QaTelemetryEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_QA_TELEMETRY",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
minimumVersion: "2.23.0"
|
||||
}
|
||||
};
|
||||
|
||||
// src/trap-caching.ts
|
||||
var actionsCache2 = __toESM(require_cache3());
|
||||
|
||||
@@ -78788,20 +78788,20 @@ var toolrunner3 = __toESM(require_toolrunner());
|
||||
// src/setup-codeql.ts
|
||||
var toolcache3 = __toESM(require_tool_cache());
|
||||
var import_fast_deep_equal = __toESM(require_fast_deep_equal());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var semver8 = __toESM(require_semver2());
|
||||
|
||||
// src/tar.ts
|
||||
var import_toolrunner = __toESM(require_toolrunner());
|
||||
var io4 = __toESM(require_io());
|
||||
var toolcache = __toESM(require_tool_cache());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
|
||||
// src/tools-download.ts
|
||||
var core9 = __toESM(require_core());
|
||||
var import_http_client = __toESM(require_lib());
|
||||
var toolcache2 = __toESM(require_tool_cache());
|
||||
var import_follow_redirects = __toESM(require_follow_redirects());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024;
|
||||
|
||||
// src/tracer-config.ts
|
||||
|
||||
156
lib/start-proxy-action-post.js
generated
156
lib/start-proxy-action-post.js
generated
@@ -24984,11 +24984,11 @@ var require_valid = __commonJS({
|
||||
"node_modules/semver/functions/valid.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var parse = require_parse2();
|
||||
var valid3 = (version, options) => {
|
||||
var valid4 = (version, options) => {
|
||||
const v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
};
|
||||
module2.exports = valid3;
|
||||
module2.exports = valid4;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25195,8 +25195,8 @@ var require_lt = __commonJS({
|
||||
"node_modules/semver/functions/lt.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var compare = require_compare();
|
||||
var lt = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt;
|
||||
var lt2 = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt2;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25248,7 +25248,7 @@ var require_cmp = __commonJS({
|
||||
var neq = require_neq();
|
||||
var gt = require_gt();
|
||||
var gte5 = require_gte();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var cmp = (a, op, b, loose) => {
|
||||
switch (op) {
|
||||
@@ -25279,7 +25279,7 @@ var require_cmp = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -26033,7 +26033,7 @@ var require_outside = __commonJS({
|
||||
var Range2 = require_range();
|
||||
var satisfies2 = require_satisfies();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var gte5 = require_gte();
|
||||
var outside = (version, range, hilo, options) => {
|
||||
@@ -26044,12 +26044,12 @@ var require_outside = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -26229,12 +26229,12 @@ var require_subset = __commonJS({
|
||||
}
|
||||
}
|
||||
const eqSet = /* @__PURE__ */ new Set();
|
||||
let gt, lt;
|
||||
let gt, lt2;
|
||||
for (const c of sub) {
|
||||
if (c.operator === ">" || c.operator === ">=") {
|
||||
gt = higherGT(gt, c, options);
|
||||
} else if (c.operator === "<" || c.operator === "<=") {
|
||||
lt = lowerLT(lt, c, options);
|
||||
lt2 = lowerLT(lt2, c, options);
|
||||
} else {
|
||||
eqSet.add(c.semver);
|
||||
}
|
||||
@@ -26243,11 +26243,11 @@ var require_subset = __commonJS({
|
||||
return null;
|
||||
}
|
||||
let gtltComp;
|
||||
if (gt && lt) {
|
||||
gtltComp = compare(gt.semver, lt.semver, options);
|
||||
if (gt && lt2) {
|
||||
gtltComp = compare(gt.semver, lt2.semver, options);
|
||||
if (gtltComp > 0) {
|
||||
return null;
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt2.operator !== "<=")) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -26255,7 +26255,7 @@ var require_subset = __commonJS({
|
||||
if (gt && !satisfies2(eq, String(gt), options)) {
|
||||
return null;
|
||||
}
|
||||
if (lt && !satisfies2(eq, String(lt), options)) {
|
||||
if (lt2 && !satisfies2(eq, String(lt2), options)) {
|
||||
return null;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26267,9 +26267,9 @@ var require_subset = __commonJS({
|
||||
}
|
||||
let higher, lower;
|
||||
let hasDomLT, hasDomGT;
|
||||
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
|
||||
let needDomLTPre = lt2 && !options.includePrerelease && lt2.semver.prerelease.length ? lt2.semver : false;
|
||||
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt2.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26290,29 +26290,29 @@ var require_subset = __commonJS({
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (lt) {
|
||||
if (lt2) {
|
||||
if (needDomLTPre) {
|
||||
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
}
|
||||
if (c.operator === "<" || c.operator === "<=") {
|
||||
lower = lowerLT(lt, c, options);
|
||||
if (lower === c && lower !== lt) {
|
||||
lower = lowerLT(lt2, c, options);
|
||||
if (lower === c && lower !== lt2) {
|
||||
return false;
|
||||
}
|
||||
} else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
|
||||
} else if (lt2.operator === "<=" && !satisfies2(lt2.semver, String(c), options)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!c.operator && (lt || gt) && gtltComp !== 0) {
|
||||
if (!c.operator && (lt2 || gt) && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (gt && hasDomLT && !lt && gtltComp !== 0) {
|
||||
if (gt && hasDomLT && !lt2 && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (lt && hasDomGT && !gt && gtltComp !== 0) {
|
||||
if (lt2 && hasDomGT && !gt && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (needDomGTPre || needDomLTPre) {
|
||||
@@ -26347,7 +26347,7 @@ var require_semver2 = __commonJS({
|
||||
var SemVer = require_semver();
|
||||
var identifiers = require_identifiers();
|
||||
var parse = require_parse2();
|
||||
var valid3 = require_valid();
|
||||
var valid4 = require_valid();
|
||||
var clean3 = require_clean();
|
||||
var inc = require_inc();
|
||||
var diff = require_diff();
|
||||
@@ -26362,7 +26362,7 @@ var require_semver2 = __commonJS({
|
||||
var sort = require_sort();
|
||||
var rsort = require_rsort();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var eq = require_eq();
|
||||
var neq = require_neq();
|
||||
var gte5 = require_gte();
|
||||
@@ -26385,7 +26385,7 @@ var require_semver2 = __commonJS({
|
||||
var subset = require_subset();
|
||||
module2.exports = {
|
||||
parse,
|
||||
valid: valid3,
|
||||
valid: valid4,
|
||||
clean: clean3,
|
||||
inc,
|
||||
diff,
|
||||
@@ -26400,7 +26400,7 @@ var require_semver2 = __commonJS({
|
||||
sort,
|
||||
rsort,
|
||||
gt,
|
||||
lt,
|
||||
lt: lt2,
|
||||
eq,
|
||||
neq,
|
||||
gte: gte5,
|
||||
@@ -29974,8 +29974,8 @@ var require_semver3 = __commonJS({
|
||||
return null;
|
||||
}
|
||||
}
|
||||
exports2.valid = valid3;
|
||||
function valid3(version, options) {
|
||||
exports2.valid = valid4;
|
||||
function valid4(version, options) {
|
||||
var v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
}
|
||||
@@ -30295,8 +30295,8 @@ var require_semver3 = __commonJS({
|
||||
function gt(a, b, loose) {
|
||||
return compare(a, b, loose) > 0;
|
||||
}
|
||||
exports2.lt = lt;
|
||||
function lt(a, b, loose) {
|
||||
exports2.lt = lt2;
|
||||
function lt2(a, b, loose) {
|
||||
return compare(a, b, loose) < 0;
|
||||
}
|
||||
exports2.eq = eq;
|
||||
@@ -30341,7 +30341,7 @@ var require_semver3 = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -30878,12 +30878,12 @@ var require_semver3 = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -31085,7 +31085,7 @@ var require_cacheUtils = __commonJS({
|
||||
var crypto = __importStar4(require("crypto"));
|
||||
var fs2 = __importStar4(require("fs"));
|
||||
var path2 = __importStar4(require("path"));
|
||||
var semver8 = __importStar4(require_semver3());
|
||||
var semver9 = __importStar4(require_semver3());
|
||||
var util = __importStar4(require("util"));
|
||||
var constants_1 = require_constants7();
|
||||
var versionSalt = "1.0";
|
||||
@@ -31182,7 +31182,7 @@ var require_cacheUtils = __commonJS({
|
||||
function getCompressionMethod() {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const versionOutput = yield getVersion("zstd", ["--quiet"]);
|
||||
const version = semver8.clean(versionOutput);
|
||||
const version = semver9.clean(versionOutput);
|
||||
core14.debug(`zstd version: ${version}`);
|
||||
if (versionOutput === "") {
|
||||
return constants_1.CompressionMethod.Gzip;
|
||||
@@ -80406,7 +80406,7 @@ var require_stream_writable = __commonJS({
|
||||
pna.nextTick(cb, er);
|
||||
}
|
||||
function validChunk(stream, state, chunk, cb) {
|
||||
var valid3 = true;
|
||||
var valid4 = true;
|
||||
var er = false;
|
||||
if (chunk === null) {
|
||||
er = new TypeError("May not write null values to stream");
|
||||
@@ -80416,9 +80416,9 @@ var require_stream_writable = __commonJS({
|
||||
if (er) {
|
||||
stream.emit("error", er);
|
||||
pna.nextTick(cb, er);
|
||||
valid3 = false;
|
||||
valid4 = false;
|
||||
}
|
||||
return valid3;
|
||||
return valid4;
|
||||
}
|
||||
Writable.prototype.write = function(chunk, encoding, cb) {
|
||||
var state = this._writableState;
|
||||
@@ -111969,7 +111969,7 @@ var require_manifest = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var core_1 = require_core();
|
||||
var os = require("os");
|
||||
var cp = require("child_process");
|
||||
@@ -111983,7 +111983,7 @@ var require_manifest = __commonJS({
|
||||
for (const candidate of candidates) {
|
||||
const version = candidate.version;
|
||||
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
|
||||
if (semver8.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
file = candidate.files.find((item) => {
|
||||
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
|
||||
let chk = item.arch === archFilter && item.platform === platFilter;
|
||||
@@ -111992,7 +111992,7 @@ var require_manifest = __commonJS({
|
||||
if (osVersion === item.platform_version) {
|
||||
chk = true;
|
||||
} else {
|
||||
chk = semver8.satisfies(osVersion, item.platform_version);
|
||||
chk = semver9.satisfies(osVersion, item.platform_version);
|
||||
}
|
||||
}
|
||||
return chk;
|
||||
@@ -112222,7 +112222,7 @@ var require_tool_cache = __commonJS({
|
||||
var os = __importStar4(require("os"));
|
||||
var path2 = __importStar4(require("path"));
|
||||
var httpm = __importStar4(require_lib());
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var stream = __importStar4(require("stream"));
|
||||
var util = __importStar4(require("util"));
|
||||
var assert_1 = require("assert");
|
||||
@@ -112496,7 +112496,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function cacheDir(sourceDir, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core14.debug(`source dir: ${sourceDir}`);
|
||||
@@ -112515,7 +112515,7 @@ var require_tool_cache = __commonJS({
|
||||
exports2.cacheDir = cacheDir;
|
||||
function cacheFile(sourceFile, targetFile, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core14.debug(`source file: ${sourceFile}`);
|
||||
@@ -112546,7 +112546,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
let toolPath = "";
|
||||
if (versionSpec) {
|
||||
versionSpec = semver8.clean(versionSpec) || "";
|
||||
versionSpec = semver9.clean(versionSpec) || "";
|
||||
const cachePath = path2.join(_getCacheDirectory(), toolName, versionSpec, arch);
|
||||
core14.debug(`checking cache: ${cachePath}`);
|
||||
if (fs2.existsSync(cachePath) && fs2.existsSync(`${cachePath}.complete`)) {
|
||||
@@ -112630,7 +112630,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function _createToolPath(tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const folderPath = path2.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path2.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
core14.debug(`destination ${folderPath}`);
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
yield io6.rmRF(folderPath);
|
||||
@@ -112640,31 +112640,31 @@ var require_tool_cache = __commonJS({
|
||||
});
|
||||
}
|
||||
function _completeToolPath(tool, version, arch) {
|
||||
const folderPath = path2.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path2.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
fs2.writeFileSync(markerPath, "");
|
||||
core14.debug("finished caching tool");
|
||||
}
|
||||
function isExplicitVersion(versionSpec) {
|
||||
const c = semver8.clean(versionSpec) || "";
|
||||
const c = semver9.clean(versionSpec) || "";
|
||||
core14.debug(`isExplicit: ${c}`);
|
||||
const valid3 = semver8.valid(c) != null;
|
||||
core14.debug(`explicit? ${valid3}`);
|
||||
return valid3;
|
||||
const valid4 = semver9.valid(c) != null;
|
||||
core14.debug(`explicit? ${valid4}`);
|
||||
return valid4;
|
||||
}
|
||||
exports2.isExplicitVersion = isExplicitVersion;
|
||||
function evaluateVersions(versions, versionSpec) {
|
||||
let version = "";
|
||||
core14.debug(`evaluating ${versions.length} versions`);
|
||||
versions = versions.sort((a, b) => {
|
||||
if (semver8.gt(a, b)) {
|
||||
if (semver9.gt(a, b)) {
|
||||
return 1;
|
||||
}
|
||||
return -1;
|
||||
});
|
||||
for (let i = versions.length - 1; i >= 0; i--) {
|
||||
const potential = versions[i];
|
||||
const satisfied = semver8.satisfies(potential, versionSpec);
|
||||
const satisfied = semver9.satisfies(potential, versionSpec);
|
||||
if (satisfied) {
|
||||
version = potential;
|
||||
break;
|
||||
@@ -117190,25 +117190,6 @@ var PACK_IDENTIFIER_PATTERN = (function() {
|
||||
// src/feature-flags.ts
|
||||
var semver4 = __toESM(require_semver2());
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
|
||||
// src/git-utils.ts
|
||||
var core7 = __toESM(require_core());
|
||||
var toolrunner2 = __toESM(require_toolrunner());
|
||||
var io3 = __toESM(require_io());
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
function getActionsLogger() {
|
||||
return core8;
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var CODEQL_OVERLAY_MINIMUM_VERSION = "2.22.4";
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 15e3;
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
|
||||
|
||||
// src/tools-features.ts
|
||||
var semver3 = __toESM(require_semver2());
|
||||
|
||||
@@ -117262,7 +117243,7 @@ var featureConfig = {
|
||||
["overlay_analysis" /* OverlayAnalysis */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: CODEQL_OVERLAY_MINIMUM_VERSION
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_actions" /* OverlayAnalysisActions */]: {
|
||||
defaultValue: false,
|
||||
@@ -117388,6 +117369,25 @@ var featureConfig = {
|
||||
}
|
||||
};
|
||||
|
||||
// src/git-utils.ts
|
||||
var core7 = __toESM(require_core());
|
||||
var toolrunner2 = __toESM(require_toolrunner());
|
||||
var io3 = __toESM(require_io());
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
function getActionsLogger() {
|
||||
return core8;
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 15e3;
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
|
||||
|
||||
// src/trap-caching.ts
|
||||
var actionsCache2 = __toESM(require_cache3());
|
||||
|
||||
@@ -117593,20 +117593,20 @@ var cliErrorsConfig = {
|
||||
// src/setup-codeql.ts
|
||||
var toolcache3 = __toESM(require_tool_cache());
|
||||
var import_fast_deep_equal = __toESM(require_fast_deep_equal());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var semver8 = __toESM(require_semver2());
|
||||
|
||||
// src/tar.ts
|
||||
var import_toolrunner = __toESM(require_toolrunner());
|
||||
var io4 = __toESM(require_io());
|
||||
var toolcache = __toESM(require_tool_cache());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
|
||||
// src/tools-download.ts
|
||||
var core9 = __toESM(require_core());
|
||||
var import_http_client = __toESM(require_lib());
|
||||
var toolcache2 = __toESM(require_tool_cache());
|
||||
var import_follow_redirects = __toESM(require_follow_redirects());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024;
|
||||
|
||||
// src/dependency-caching.ts
|
||||
|
||||
572
lib/upload-lib.js
generated
572
lib/upload-lib.js
generated
@@ -20239,16 +20239,16 @@ var require_attribute = __commonJS({
|
||||
var result = new ValidatorResult(instance, schema2, options, ctx);
|
||||
var self2 = this;
|
||||
schema2.allOf.forEach(function(v, i) {
|
||||
var valid3 = self2.validateSchema(instance, v, options, ctx);
|
||||
if (!valid3.valid) {
|
||||
var valid4 = self2.validateSchema(instance, v, options, ctx);
|
||||
if (!valid4.valid) {
|
||||
var id = v.$id || v.id;
|
||||
var msg = id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
|
||||
result.addError({
|
||||
name: "allOf",
|
||||
argument: { id: msg, length: valid3.errors.length, valid: valid3 },
|
||||
message: "does not match allOf schema " + msg + " with " + valid3.errors.length + " error[s]:"
|
||||
argument: { id: msg, length: valid4.errors.length, valid: valid4 },
|
||||
message: "does not match allOf schema " + msg + " with " + valid4.errors.length + " error[s]:"
|
||||
});
|
||||
result.importErrors(valid3);
|
||||
result.importErrors(valid4);
|
||||
}
|
||||
});
|
||||
return result;
|
||||
@@ -20537,8 +20537,8 @@ var require_attribute = __commonJS({
|
||||
if (typeof schema2.exclusiveMinimum === "boolean") return;
|
||||
if (!this.types.number(instance)) return;
|
||||
var result = new ValidatorResult(instance, schema2, options, ctx);
|
||||
var valid3 = instance > schema2.exclusiveMinimum;
|
||||
if (!valid3) {
|
||||
var valid4 = instance > schema2.exclusiveMinimum;
|
||||
if (!valid4) {
|
||||
result.addError({
|
||||
name: "exclusiveMinimum",
|
||||
argument: schema2.exclusiveMinimum,
|
||||
@@ -20551,8 +20551,8 @@ var require_attribute = __commonJS({
|
||||
if (typeof schema2.exclusiveMaximum === "boolean") return;
|
||||
if (!this.types.number(instance)) return;
|
||||
var result = new ValidatorResult(instance, schema2, options, ctx);
|
||||
var valid3 = instance < schema2.exclusiveMaximum;
|
||||
if (!valid3) {
|
||||
var valid4 = instance < schema2.exclusiveMaximum;
|
||||
if (!valid4) {
|
||||
result.addError({
|
||||
name: "exclusiveMaximum",
|
||||
argument: schema2.exclusiveMaximum,
|
||||
@@ -32130,11 +32130,11 @@ var require_valid = __commonJS({
|
||||
"node_modules/semver/functions/valid.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var parse = require_parse4();
|
||||
var valid3 = (version, options) => {
|
||||
var valid4 = (version, options) => {
|
||||
const v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
};
|
||||
module2.exports = valid3;
|
||||
module2.exports = valid4;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -32341,8 +32341,8 @@ var require_lt = __commonJS({
|
||||
"node_modules/semver/functions/lt.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var compare2 = require_compare();
|
||||
var lt = (a, b, loose) => compare2(a, b, loose) < 0;
|
||||
module2.exports = lt;
|
||||
var lt2 = (a, b, loose) => compare2(a, b, loose) < 0;
|
||||
module2.exports = lt2;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -32394,7 +32394,7 @@ var require_cmp = __commonJS({
|
||||
var neq = require_neq();
|
||||
var gt = require_gt();
|
||||
var gte5 = require_gte();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var cmp = (a, op, b, loose) => {
|
||||
switch (op) {
|
||||
@@ -32425,7 +32425,7 @@ var require_cmp = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -33179,7 +33179,7 @@ var require_outside = __commonJS({
|
||||
var Range2 = require_range();
|
||||
var satisfies2 = require_satisfies();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var gte5 = require_gte();
|
||||
var outside = (version, range, hilo, options) => {
|
||||
@@ -33190,12 +33190,12 @@ var require_outside = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -33375,12 +33375,12 @@ var require_subset = __commonJS({
|
||||
}
|
||||
}
|
||||
const eqSet = /* @__PURE__ */ new Set();
|
||||
let gt, lt;
|
||||
let gt, lt2;
|
||||
for (const c of sub) {
|
||||
if (c.operator === ">" || c.operator === ">=") {
|
||||
gt = higherGT(gt, c, options);
|
||||
} else if (c.operator === "<" || c.operator === "<=") {
|
||||
lt = lowerLT(lt, c, options);
|
||||
lt2 = lowerLT(lt2, c, options);
|
||||
} else {
|
||||
eqSet.add(c.semver);
|
||||
}
|
||||
@@ -33389,11 +33389,11 @@ var require_subset = __commonJS({
|
||||
return null;
|
||||
}
|
||||
let gtltComp;
|
||||
if (gt && lt) {
|
||||
gtltComp = compare2(gt.semver, lt.semver, options);
|
||||
if (gt && lt2) {
|
||||
gtltComp = compare2(gt.semver, lt2.semver, options);
|
||||
if (gtltComp > 0) {
|
||||
return null;
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt2.operator !== "<=")) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -33401,7 +33401,7 @@ var require_subset = __commonJS({
|
||||
if (gt && !satisfies2(eq, String(gt), options)) {
|
||||
return null;
|
||||
}
|
||||
if (lt && !satisfies2(eq, String(lt), options)) {
|
||||
if (lt2 && !satisfies2(eq, String(lt2), options)) {
|
||||
return null;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -33413,9 +33413,9 @@ var require_subset = __commonJS({
|
||||
}
|
||||
let higher, lower;
|
||||
let hasDomLT, hasDomGT;
|
||||
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
|
||||
let needDomLTPre = lt2 && !options.includePrerelease && lt2.semver.prerelease.length ? lt2.semver : false;
|
||||
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt2.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -33436,29 +33436,29 @@ var require_subset = __commonJS({
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (lt) {
|
||||
if (lt2) {
|
||||
if (needDomLTPre) {
|
||||
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
}
|
||||
if (c.operator === "<" || c.operator === "<=") {
|
||||
lower = lowerLT(lt, c, options);
|
||||
if (lower === c && lower !== lt) {
|
||||
lower = lowerLT(lt2, c, options);
|
||||
if (lower === c && lower !== lt2) {
|
||||
return false;
|
||||
}
|
||||
} else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
|
||||
} else if (lt2.operator === "<=" && !satisfies2(lt2.semver, String(c), options)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!c.operator && (lt || gt) && gtltComp !== 0) {
|
||||
if (!c.operator && (lt2 || gt) && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (gt && hasDomLT && !lt && gtltComp !== 0) {
|
||||
if (gt && hasDomLT && !lt2 && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (lt && hasDomGT && !gt && gtltComp !== 0) {
|
||||
if (lt2 && hasDomGT && !gt && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (needDomGTPre || needDomLTPre) {
|
||||
@@ -33493,7 +33493,7 @@ var require_semver2 = __commonJS({
|
||||
var SemVer = require_semver();
|
||||
var identifiers = require_identifiers();
|
||||
var parse = require_parse4();
|
||||
var valid3 = require_valid();
|
||||
var valid4 = require_valid();
|
||||
var clean3 = require_clean();
|
||||
var inc = require_inc();
|
||||
var diff = require_diff();
|
||||
@@ -33508,7 +33508,7 @@ var require_semver2 = __commonJS({
|
||||
var sort = require_sort();
|
||||
var rsort = require_rsort();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var eq = require_eq();
|
||||
var neq = require_neq();
|
||||
var gte5 = require_gte();
|
||||
@@ -33531,7 +33531,7 @@ var require_semver2 = __commonJS({
|
||||
var subset = require_subset();
|
||||
module2.exports = {
|
||||
parse,
|
||||
valid: valid3,
|
||||
valid: valid4,
|
||||
clean: clean3,
|
||||
inc,
|
||||
diff,
|
||||
@@ -33546,7 +33546,7 @@ var require_semver2 = __commonJS({
|
||||
sort,
|
||||
rsort,
|
||||
gt,
|
||||
lt,
|
||||
lt: lt2,
|
||||
eq,
|
||||
neq,
|
||||
gte: gte5,
|
||||
@@ -37120,8 +37120,8 @@ var require_semver3 = __commonJS({
|
||||
return null;
|
||||
}
|
||||
}
|
||||
exports2.valid = valid3;
|
||||
function valid3(version, options) {
|
||||
exports2.valid = valid4;
|
||||
function valid4(version, options) {
|
||||
var v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
}
|
||||
@@ -37441,8 +37441,8 @@ var require_semver3 = __commonJS({
|
||||
function gt(a, b, loose) {
|
||||
return compare2(a, b, loose) > 0;
|
||||
}
|
||||
exports2.lt = lt;
|
||||
function lt(a, b, loose) {
|
||||
exports2.lt = lt2;
|
||||
function lt2(a, b, loose) {
|
||||
return compare2(a, b, loose) < 0;
|
||||
}
|
||||
exports2.eq = eq;
|
||||
@@ -37487,7 +37487,7 @@ var require_semver3 = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -38024,12 +38024,12 @@ var require_semver3 = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -38231,7 +38231,7 @@ var require_cacheUtils = __commonJS({
|
||||
var crypto = __importStar4(require("crypto"));
|
||||
var fs14 = __importStar4(require("fs"));
|
||||
var path15 = __importStar4(require("path"));
|
||||
var semver8 = __importStar4(require_semver3());
|
||||
var semver9 = __importStar4(require_semver3());
|
||||
var util = __importStar4(require("util"));
|
||||
var constants_1 = require_constants10();
|
||||
var versionSalt = "1.0";
|
||||
@@ -38328,7 +38328,7 @@ var require_cacheUtils = __commonJS({
|
||||
function getCompressionMethod() {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const versionOutput = yield getVersion("zstd", ["--quiet"]);
|
||||
const version = semver8.clean(versionOutput);
|
||||
const version = semver9.clean(versionOutput);
|
||||
core12.debug(`zstd version: ${version}`);
|
||||
if (versionOutput === "") {
|
||||
return constants_1.CompressionMethod.Gzip;
|
||||
@@ -80639,7 +80639,7 @@ var require_manifest = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var core_1 = require_core();
|
||||
var os2 = require("os");
|
||||
var cp = require("child_process");
|
||||
@@ -80653,7 +80653,7 @@ var require_manifest = __commonJS({
|
||||
for (const candidate of candidates) {
|
||||
const version = candidate.version;
|
||||
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
|
||||
if (semver8.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
file = candidate.files.find((item) => {
|
||||
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
|
||||
let chk = item.arch === archFilter && item.platform === platFilter;
|
||||
@@ -80662,7 +80662,7 @@ var require_manifest = __commonJS({
|
||||
if (osVersion === item.platform_version) {
|
||||
chk = true;
|
||||
} else {
|
||||
chk = semver8.satisfies(osVersion, item.platform_version);
|
||||
chk = semver9.satisfies(osVersion, item.platform_version);
|
||||
}
|
||||
}
|
||||
return chk;
|
||||
@@ -80892,7 +80892,7 @@ var require_tool_cache = __commonJS({
|
||||
var os2 = __importStar4(require("os"));
|
||||
var path15 = __importStar4(require("path"));
|
||||
var httpm = __importStar4(require_lib());
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var stream2 = __importStar4(require("stream"));
|
||||
var util = __importStar4(require("util"));
|
||||
var assert_1 = require("assert");
|
||||
@@ -81166,7 +81166,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function cacheDir(sourceDir, tool, version, arch2) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch2 = arch2 || os2.arch();
|
||||
core12.debug(`Caching tool ${tool} ${version} ${arch2}`);
|
||||
core12.debug(`source dir: ${sourceDir}`);
|
||||
@@ -81185,7 +81185,7 @@ var require_tool_cache = __commonJS({
|
||||
exports2.cacheDir = cacheDir;
|
||||
function cacheFile(sourceFile, targetFile, tool, version, arch2) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch2 = arch2 || os2.arch();
|
||||
core12.debug(`Caching tool ${tool} ${version} ${arch2}`);
|
||||
core12.debug(`source file: ${sourceFile}`);
|
||||
@@ -81216,7 +81216,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
let toolPath = "";
|
||||
if (versionSpec) {
|
||||
versionSpec = semver8.clean(versionSpec) || "";
|
||||
versionSpec = semver9.clean(versionSpec) || "";
|
||||
const cachePath = path15.join(_getCacheDirectory(), toolName, versionSpec, arch2);
|
||||
core12.debug(`checking cache: ${cachePath}`);
|
||||
if (fs14.existsSync(cachePath) && fs14.existsSync(`${cachePath}.complete`)) {
|
||||
@@ -81300,7 +81300,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function _createToolPath(tool, version, arch2) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const folderPath = path15.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
|
||||
const folderPath = path15.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
|
||||
core12.debug(`destination ${folderPath}`);
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
yield io6.rmRF(folderPath);
|
||||
@@ -81310,31 +81310,31 @@ var require_tool_cache = __commonJS({
|
||||
});
|
||||
}
|
||||
function _completeToolPath(tool, version, arch2) {
|
||||
const folderPath = path15.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
|
||||
const folderPath = path15.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
fs14.writeFileSync(markerPath, "");
|
||||
core12.debug("finished caching tool");
|
||||
}
|
||||
function isExplicitVersion(versionSpec) {
|
||||
const c = semver8.clean(versionSpec) || "";
|
||||
const c = semver9.clean(versionSpec) || "";
|
||||
core12.debug(`isExplicit: ${c}`);
|
||||
const valid3 = semver8.valid(c) != null;
|
||||
core12.debug(`explicit? ${valid3}`);
|
||||
return valid3;
|
||||
const valid4 = semver9.valid(c) != null;
|
||||
core12.debug(`explicit? ${valid4}`);
|
||||
return valid4;
|
||||
}
|
||||
exports2.isExplicitVersion = isExplicitVersion;
|
||||
function evaluateVersions(versions, versionSpec) {
|
||||
let version = "";
|
||||
core12.debug(`evaluating ${versions.length} versions`);
|
||||
versions = versions.sort((a, b) => {
|
||||
if (semver8.gt(a, b)) {
|
||||
if (semver9.gt(a, b)) {
|
||||
return 1;
|
||||
}
|
||||
return -1;
|
||||
});
|
||||
for (let i = versions.length - 1; i >= 0; i--) {
|
||||
const potential = versions[i];
|
||||
const satisfied = semver8.satisfies(potential, versionSpec);
|
||||
const satisfied = semver9.satisfies(potential, versionSpec);
|
||||
if (satisfied) {
|
||||
version = potential;
|
||||
break;
|
||||
@@ -88942,8 +88942,8 @@ var PACK_IDENTIFIER_PATTERN = (function() {
|
||||
})();
|
||||
|
||||
// src/diff-informed-analysis-utils.ts
|
||||
var fs6 = __toESM(require("fs"));
|
||||
var path8 = __toESM(require("path"));
|
||||
var fs5 = __toESM(require("fs"));
|
||||
var path7 = __toESM(require("path"));
|
||||
|
||||
// src/feature-flags.ts
|
||||
var semver4 = __toESM(require_semver2());
|
||||
@@ -88952,10 +88952,206 @@ var semver4 = __toESM(require_semver2());
|
||||
var bundleVersion = "codeql-bundle-v2.23.1";
|
||||
var cliVersion = "2.23.1";
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var fs5 = __toESM(require("fs"));
|
||||
var path7 = __toESM(require("path"));
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
// src/tools-features.ts
|
||||
var semver3 = __toESM(require_semver2());
|
||||
function isSupportedToolsFeature(versionInfo, feature) {
|
||||
return !!versionInfo.features && versionInfo.features[feature];
|
||||
}
|
||||
|
||||
// src/feature-flags.ts
|
||||
var CODEQL_VERSION_ZSTD_BUNDLE = "2.19.0";
|
||||
var featureConfig = {
|
||||
["cleanup_trap_caches" /* CleanupTrapCaches */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["cpp_dependency_installation_enabled" /* CppDependencyInstallation */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
|
||||
legacyApi: true,
|
||||
minimumVersion: "2.15.0"
|
||||
},
|
||||
["diff_informed_queries" /* DiffInformedQueries */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
|
||||
minimumVersion: "2.21.0"
|
||||
},
|
||||
["disable_csharp_buildless" /* DisableCsharpBuildless */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_CSHARP_BUILDLESS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_java_buildless_enabled" /* DisableJavaBuildlessEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_JAVA_BUILDLESS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_kotlin_analysis_enabled" /* DisableKotlinAnalysisEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_DISABLE_KOTLIN_ANALYSIS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["export_diagnostics_enabled" /* ExportDiagnosticsEnabled */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_EXPORT_DIAGNOSTICS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
||||
},
|
||||
["overlay_analysis" /* OverlayAnalysis */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_actions" /* OverlayAnalysisActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_actions" /* OverlayAnalysisCodeScanningActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_cpp" /* OverlayAnalysisCodeScanningCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_csharp" /* OverlayAnalysisCodeScanningCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_go" /* OverlayAnalysisCodeScanningGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_java" /* OverlayAnalysisCodeScanningJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_javascript" /* OverlayAnalysisCodeScanningJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_python" /* OverlayAnalysisCodeScanningPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_ruby" /* OverlayAnalysisCodeScanningRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_rust" /* OverlayAnalysisCodeScanningRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_swift" /* OverlayAnalysisCodeScanningSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_cpp" /* OverlayAnalysisCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_csharp" /* OverlayAnalysisCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_go" /* OverlayAnalysisGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_java" /* OverlayAnalysisJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_javascript" /* OverlayAnalysisJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_python" /* OverlayAnalysisPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_ruby" /* OverlayAnalysisRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_rust" /* OverlayAnalysisRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_swift" /* OverlayAnalysisSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */
|
||||
},
|
||||
["use_repository_properties" /* UseRepositoryProperties */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_USE_REPOSITORY_PROPERTIES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["qa_telemetry_enabled" /* QaTelemetryEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_QA_TELEMETRY",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
minimumVersion: "2.23.0"
|
||||
}
|
||||
};
|
||||
|
||||
// src/diff-informed-analysis-utils.ts
|
||||
function getDiffRangesJsonFilePath() {
|
||||
return path7.join(getTemporaryDirectory(), "pr-diff-range.json");
|
||||
}
|
||||
function readDiffRangesJsonFile(logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs5.existsSync(jsonFilePath)) {
|
||||
logger.debug(`Diff ranges JSON file does not exist at ${jsonFilePath}`);
|
||||
return void 0;
|
||||
}
|
||||
const jsonContents = fs5.readFileSync(jsonFilePath, "utf8");
|
||||
logger.debug(
|
||||
`Read pr-diff-range JSON file from ${jsonFilePath}:
|
||||
${jsonContents}`
|
||||
);
|
||||
return JSON.parse(jsonContents);
|
||||
}
|
||||
|
||||
// src/git-utils.ts
|
||||
var core7 = __toESM(require_core());
|
||||
@@ -89154,6 +89350,12 @@ async function isAnalyzingDefaultBranch() {
|
||||
return currentRef === defaultBranch;
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var fs6 = __toESM(require("fs"));
|
||||
var path8 = __toESM(require("path"));
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
function formatDuration(durationMs) {
|
||||
@@ -89169,19 +89371,18 @@ function formatDuration(durationMs) {
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var CODEQL_OVERLAY_MINIMUM_VERSION = "2.22.4";
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 15e3;
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
|
||||
async function writeBaseDatabaseOidsFile(config, sourceRoot) {
|
||||
const gitFileOids = await getFileOidsUnderPath(sourceRoot);
|
||||
const gitFileOidsJson = JSON.stringify(gitFileOids);
|
||||
const baseDatabaseOidsFilePath = getBaseDatabaseOidsFilePath(config);
|
||||
await fs5.promises.writeFile(baseDatabaseOidsFilePath, gitFileOidsJson);
|
||||
await fs6.promises.writeFile(baseDatabaseOidsFilePath, gitFileOidsJson);
|
||||
}
|
||||
async function readBaseDatabaseOidsFile(config, logger) {
|
||||
const baseDatabaseOidsFilePath = getBaseDatabaseOidsFilePath(config);
|
||||
try {
|
||||
const contents = await fs5.promises.readFile(
|
||||
const contents = await fs6.promises.readFile(
|
||||
baseDatabaseOidsFilePath,
|
||||
"utf-8"
|
||||
);
|
||||
@@ -89194,7 +89395,7 @@ async function readBaseDatabaseOidsFile(config, logger) {
|
||||
}
|
||||
}
|
||||
function getBaseDatabaseOidsFilePath(config) {
|
||||
return path7.join(config.dbLocation, "base-database-oids.json");
|
||||
return path8.join(config.dbLocation, "base-database-oids.json");
|
||||
}
|
||||
async function writeOverlayChangesFile(config, sourceRoot, logger) {
|
||||
const baseFileOids = await readBaseDatabaseOidsFile(config, logger);
|
||||
@@ -89204,14 +89405,14 @@ async function writeOverlayChangesFile(config, sourceRoot, logger) {
|
||||
`Found ${changedFiles.length} changed file(s) under ${sourceRoot}.`
|
||||
);
|
||||
const changedFilesJson = JSON.stringify({ changes: changedFiles });
|
||||
const overlayChangesFile = path7.join(
|
||||
const overlayChangesFile = path8.join(
|
||||
getTemporaryDirectory(),
|
||||
"overlay-changes.json"
|
||||
);
|
||||
logger.debug(
|
||||
`Writing overlay changed files to ${overlayChangesFile}: ${changedFilesJson}`
|
||||
);
|
||||
await fs5.promises.writeFile(overlayChangesFile, changedFilesJson);
|
||||
await fs6.promises.writeFile(overlayChangesFile, changedFilesJson);
|
||||
return overlayChangesFile;
|
||||
}
|
||||
function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
@@ -89229,207 +89430,6 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
|
||||
return changes;
|
||||
}
|
||||
|
||||
// src/tools-features.ts
|
||||
var semver3 = __toESM(require_semver2());
|
||||
function isSupportedToolsFeature(versionInfo, feature) {
|
||||
return !!versionInfo.features && versionInfo.features[feature];
|
||||
}
|
||||
|
||||
// src/feature-flags.ts
|
||||
var CODEQL_VERSION_ZSTD_BUNDLE = "2.19.0";
|
||||
var featureConfig = {
|
||||
["cleanup_trap_caches" /* CleanupTrapCaches */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["cpp_dependency_installation_enabled" /* CppDependencyInstallation */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
|
||||
legacyApi: true,
|
||||
minimumVersion: "2.15.0"
|
||||
},
|
||||
["diff_informed_queries" /* DiffInformedQueries */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_DIFF_INFORMED_QUERIES",
|
||||
minimumVersion: "2.21.0"
|
||||
},
|
||||
["disable_csharp_buildless" /* DisableCsharpBuildless */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_CSHARP_BUILDLESS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_java_buildless_enabled" /* DisableJavaBuildlessEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_JAVA_BUILDLESS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["disable_kotlin_analysis_enabled" /* DisableKotlinAnalysisEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_DISABLE_KOTLIN_ANALYSIS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["export_diagnostics_enabled" /* ExportDiagnosticsEnabled */]: {
|
||||
defaultValue: true,
|
||||
envVar: "CODEQL_ACTION_EXPORT_DIAGNOSTICS",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
||||
},
|
||||
["overlay_analysis" /* OverlayAnalysis */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: CODEQL_OVERLAY_MINIMUM_VERSION
|
||||
},
|
||||
["overlay_analysis_actions" /* OverlayAnalysisActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_actions" /* OverlayAnalysisCodeScanningActions */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_ACTIONS",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_cpp" /* OverlayAnalysisCodeScanningCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_csharp" /* OverlayAnalysisCodeScanningCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_go" /* OverlayAnalysisCodeScanningGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_java" /* OverlayAnalysisCodeScanningJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_javascript" /* OverlayAnalysisCodeScanningJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_python" /* OverlayAnalysisCodeScanningPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_ruby" /* OverlayAnalysisCodeScanningRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_rust" /* OverlayAnalysisCodeScanningRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_code_scanning_swift" /* OverlayAnalysisCodeScanningSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_cpp" /* OverlayAnalysisCpp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CPP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_csharp" /* OverlayAnalysisCsharp */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CSHARP",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_go" /* OverlayAnalysisGo */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_GO",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_java" /* OverlayAnalysisJava */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVA",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_javascript" /* OverlayAnalysisJavascript */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVASCRIPT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_python" /* OverlayAnalysisPython */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_PYTHON",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_ruby" /* OverlayAnalysisRuby */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUBY",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_rust" /* OverlayAnalysisRust */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUST",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_swift" /* OverlayAnalysisSwift */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SWIFT",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION",
|
||||
minimumVersion: void 0,
|
||||
toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */
|
||||
},
|
||||
["use_repository_properties" /* UseRepositoryProperties */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_USE_REPOSITORY_PROPERTIES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["qa_telemetry_enabled" /* QaTelemetryEnabled */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_QA_TELEMETRY",
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
minimumVersion: "2.23.0"
|
||||
}
|
||||
};
|
||||
|
||||
// src/diff-informed-analysis-utils.ts
|
||||
function getDiffRangesJsonFilePath() {
|
||||
return path8.join(getTemporaryDirectory(), "pr-diff-range.json");
|
||||
}
|
||||
function readDiffRangesJsonFile(logger) {
|
||||
const jsonFilePath = getDiffRangesJsonFilePath();
|
||||
if (!fs6.existsSync(jsonFilePath)) {
|
||||
logger.debug(`Diff ranges JSON file does not exist at ${jsonFilePath}`);
|
||||
return void 0;
|
||||
}
|
||||
const jsonContents = fs6.readFileSync(jsonFilePath, "utf8");
|
||||
logger.debug(
|
||||
`Read pr-diff-range JSON file from ${jsonFilePath}:
|
||||
${jsonContents}`
|
||||
);
|
||||
return JSON.parse(jsonContents);
|
||||
}
|
||||
|
||||
// src/trap-caching.ts
|
||||
var actionsCache2 = __toESM(require_cache3());
|
||||
|
||||
@@ -89506,7 +89506,7 @@ var fs10 = __toESM(require("fs"));
|
||||
var path11 = __toESM(require("path"));
|
||||
var toolcache3 = __toESM(require_tool_cache());
|
||||
var import_fast_deep_equal = __toESM(require_fast_deep_equal());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var semver8 = __toESM(require_semver2());
|
||||
|
||||
// node_modules/uuid/dist-node/stringify.js
|
||||
var byteToHex = [];
|
||||
@@ -89569,7 +89569,7 @@ var stream = __toESM(require("stream"));
|
||||
var import_toolrunner = __toESM(require_toolrunner());
|
||||
var io4 = __toESM(require_io());
|
||||
var toolcache = __toESM(require_tool_cache());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
var MIN_REQUIRED_BSD_TAR_VERSION = "3.4.3";
|
||||
var MIN_REQUIRED_GNU_TAR_VERSION = "1.31";
|
||||
async function getTarVersion() {
|
||||
@@ -89611,9 +89611,9 @@ async function isZstdAvailable(logger) {
|
||||
case "gnu":
|
||||
return {
|
||||
available: foundZstdBinary && // GNU tar only uses major and minor version numbers
|
||||
semver5.gte(
|
||||
semver5.coerce(version),
|
||||
semver5.coerce(MIN_REQUIRED_GNU_TAR_VERSION)
|
||||
semver6.gte(
|
||||
semver6.coerce(version),
|
||||
semver6.coerce(MIN_REQUIRED_GNU_TAR_VERSION)
|
||||
),
|
||||
foundZstdBinary,
|
||||
version: tarVersion
|
||||
@@ -89622,7 +89622,7 @@ async function isZstdAvailable(logger) {
|
||||
return {
|
||||
available: foundZstdBinary && // Do a loose comparison since these version numbers don't contain
|
||||
// a patch version number.
|
||||
semver5.gte(version, MIN_REQUIRED_BSD_TAR_VERSION),
|
||||
semver6.gte(version, MIN_REQUIRED_BSD_TAR_VERSION),
|
||||
foundZstdBinary,
|
||||
version: tarVersion
|
||||
};
|
||||
@@ -89729,7 +89729,7 @@ var core9 = __toESM(require_core());
|
||||
var import_http_client = __toESM(require_lib());
|
||||
var toolcache2 = __toESM(require_tool_cache());
|
||||
var import_follow_redirects = __toESM(require_follow_redirects());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024;
|
||||
var TOOLCACHE_TOOL_NAME = "CodeQL";
|
||||
function makeDownloadFirstToolsDownloadDurations(downloadDurationMs, extractionDurationMs) {
|
||||
@@ -89859,7 +89859,7 @@ function getToolcacheDirectory(version) {
|
||||
return path10.join(
|
||||
getRequiredEnvParam("RUNNER_TOOL_CACHE"),
|
||||
TOOLCACHE_TOOL_NAME,
|
||||
semver6.clean(version) || version,
|
||||
semver7.clean(version) || version,
|
||||
os.arch() || ""
|
||||
);
|
||||
}
|
||||
@@ -89983,13 +89983,13 @@ function tryGetTagNameFromUrl(url2, logger) {
|
||||
return match[1];
|
||||
}
|
||||
function convertToSemVer(version, logger) {
|
||||
if (!semver7.valid(version)) {
|
||||
if (!semver8.valid(version)) {
|
||||
logger.debug(
|
||||
`Bundle version ${version} is not in SemVer format. Will treat it as pre-release 0.0.0-${version}.`
|
||||
);
|
||||
version = `0.0.0-${version}`;
|
||||
}
|
||||
const s = semver7.clean(version);
|
||||
const s = semver8.clean(version);
|
||||
if (!s) {
|
||||
throw new Error(`Bundle version ${version} is not in SemVer format.`);
|
||||
}
|
||||
@@ -90063,7 +90063,7 @@ async function getCodeQLSource(toolsInput, defaultCliVersion, apiDetails, varian
|
||||
url2 = toolsInput;
|
||||
if (tagName) {
|
||||
const bundleVersion3 = tryGetBundleVersionFromTagName(tagName, logger);
|
||||
if (bundleVersion3 && semver7.valid(bundleVersion3)) {
|
||||
if (bundleVersion3 && semver8.valid(bundleVersion3)) {
|
||||
cliVersion2 = convertToSemVer(bundleVersion3, logger);
|
||||
}
|
||||
}
|
||||
@@ -90333,7 +90333,7 @@ async function setupCodeQLBundle(toolsInput, apiDetails, tempDir, variant, defau
|
||||
async function useZstdBundle(cliVersion2, tarSupportsZstd) {
|
||||
return (
|
||||
// In testing, gzip performs better than zstd on Windows.
|
||||
process.platform !== "win32" && tarSupportsZstd && semver7.gte(cliVersion2, CODEQL_VERSION_ZSTD_BUNDLE)
|
||||
process.platform !== "win32" && tarSupportsZstd && semver8.gte(cliVersion2, CODEQL_VERSION_ZSTD_BUNDLE)
|
||||
);
|
||||
}
|
||||
function getTempExtractionDir(tempDir) {
|
||||
|
||||
172
lib/upload-sarif-action-post.js
generated
172
lib/upload-sarif-action-post.js
generated
@@ -24984,11 +24984,11 @@ var require_valid = __commonJS({
|
||||
"node_modules/semver/functions/valid.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var parse = require_parse2();
|
||||
var valid3 = (version, options) => {
|
||||
var valid4 = (version, options) => {
|
||||
const v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
};
|
||||
module2.exports = valid3;
|
||||
module2.exports = valid4;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25195,8 +25195,8 @@ var require_lt = __commonJS({
|
||||
"node_modules/semver/functions/lt.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var compare = require_compare();
|
||||
var lt = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt;
|
||||
var lt2 = (a, b, loose) => compare(a, b, loose) < 0;
|
||||
module2.exports = lt2;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25248,7 +25248,7 @@ var require_cmp = __commonJS({
|
||||
var neq = require_neq();
|
||||
var gt = require_gt();
|
||||
var gte5 = require_gte();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var cmp = (a, op, b, loose) => {
|
||||
switch (op) {
|
||||
@@ -25279,7 +25279,7 @@ var require_cmp = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -26033,7 +26033,7 @@ var require_outside = __commonJS({
|
||||
var Range2 = require_range();
|
||||
var satisfies2 = require_satisfies();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var lte = require_lte();
|
||||
var gte5 = require_gte();
|
||||
var outside = (version, range, hilo, options) => {
|
||||
@@ -26044,12 +26044,12 @@ var require_outside = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -26229,12 +26229,12 @@ var require_subset = __commonJS({
|
||||
}
|
||||
}
|
||||
const eqSet = /* @__PURE__ */ new Set();
|
||||
let gt, lt;
|
||||
let gt, lt2;
|
||||
for (const c of sub) {
|
||||
if (c.operator === ">" || c.operator === ">=") {
|
||||
gt = higherGT(gt, c, options);
|
||||
} else if (c.operator === "<" || c.operator === "<=") {
|
||||
lt = lowerLT(lt, c, options);
|
||||
lt2 = lowerLT(lt2, c, options);
|
||||
} else {
|
||||
eqSet.add(c.semver);
|
||||
}
|
||||
@@ -26243,11 +26243,11 @@ var require_subset = __commonJS({
|
||||
return null;
|
||||
}
|
||||
let gtltComp;
|
||||
if (gt && lt) {
|
||||
gtltComp = compare(gt.semver, lt.semver, options);
|
||||
if (gt && lt2) {
|
||||
gtltComp = compare(gt.semver, lt2.semver, options);
|
||||
if (gtltComp > 0) {
|
||||
return null;
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
|
||||
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt2.operator !== "<=")) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -26255,7 +26255,7 @@ var require_subset = __commonJS({
|
||||
if (gt && !satisfies2(eq, String(gt), options)) {
|
||||
return null;
|
||||
}
|
||||
if (lt && !satisfies2(eq, String(lt), options)) {
|
||||
if (lt2 && !satisfies2(eq, String(lt2), options)) {
|
||||
return null;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26267,9 +26267,9 @@ var require_subset = __commonJS({
|
||||
}
|
||||
let higher, lower;
|
||||
let hasDomLT, hasDomGT;
|
||||
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
|
||||
let needDomLTPre = lt2 && !options.includePrerelease && lt2.semver.prerelease.length ? lt2.semver : false;
|
||||
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt2.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
for (const c of dom) {
|
||||
@@ -26290,29 +26290,29 @@ var require_subset = __commonJS({
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (lt) {
|
||||
if (lt2) {
|
||||
if (needDomLTPre) {
|
||||
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
|
||||
needDomLTPre = false;
|
||||
}
|
||||
}
|
||||
if (c.operator === "<" || c.operator === "<=") {
|
||||
lower = lowerLT(lt, c, options);
|
||||
if (lower === c && lower !== lt) {
|
||||
lower = lowerLT(lt2, c, options);
|
||||
if (lower === c && lower !== lt2) {
|
||||
return false;
|
||||
}
|
||||
} else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
|
||||
} else if (lt2.operator === "<=" && !satisfies2(lt2.semver, String(c), options)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!c.operator && (lt || gt) && gtltComp !== 0) {
|
||||
if (!c.operator && (lt2 || gt) && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (gt && hasDomLT && !lt && gtltComp !== 0) {
|
||||
if (gt && hasDomLT && !lt2 && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (lt && hasDomGT && !gt && gtltComp !== 0) {
|
||||
if (lt2 && hasDomGT && !gt && gtltComp !== 0) {
|
||||
return false;
|
||||
}
|
||||
if (needDomGTPre || needDomLTPre) {
|
||||
@@ -26347,7 +26347,7 @@ var require_semver2 = __commonJS({
|
||||
var SemVer = require_semver();
|
||||
var identifiers = require_identifiers();
|
||||
var parse = require_parse2();
|
||||
var valid3 = require_valid();
|
||||
var valid4 = require_valid();
|
||||
var clean3 = require_clean();
|
||||
var inc = require_inc();
|
||||
var diff = require_diff();
|
||||
@@ -26362,7 +26362,7 @@ var require_semver2 = __commonJS({
|
||||
var sort = require_sort();
|
||||
var rsort = require_rsort();
|
||||
var gt = require_gt();
|
||||
var lt = require_lt();
|
||||
var lt2 = require_lt();
|
||||
var eq = require_eq();
|
||||
var neq = require_neq();
|
||||
var gte5 = require_gte();
|
||||
@@ -26385,7 +26385,7 @@ var require_semver2 = __commonJS({
|
||||
var subset = require_subset();
|
||||
module2.exports = {
|
||||
parse,
|
||||
valid: valid3,
|
||||
valid: valid4,
|
||||
clean: clean3,
|
||||
inc,
|
||||
diff,
|
||||
@@ -26400,7 +26400,7 @@ var require_semver2 = __commonJS({
|
||||
sort,
|
||||
rsort,
|
||||
gt,
|
||||
lt,
|
||||
lt: lt2,
|
||||
eq,
|
||||
neq,
|
||||
gte: gte5,
|
||||
@@ -74490,7 +74490,7 @@ var require_stream_writable = __commonJS({
|
||||
pna.nextTick(cb, er);
|
||||
}
|
||||
function validChunk(stream, state, chunk, cb) {
|
||||
var valid3 = true;
|
||||
var valid4 = true;
|
||||
var er = false;
|
||||
if (chunk === null) {
|
||||
er = new TypeError("May not write null values to stream");
|
||||
@@ -74500,9 +74500,9 @@ var require_stream_writable = __commonJS({
|
||||
if (er) {
|
||||
stream.emit("error", er);
|
||||
pna.nextTick(cb, er);
|
||||
valid3 = false;
|
||||
valid4 = false;
|
||||
}
|
||||
return valid3;
|
||||
return valid4;
|
||||
}
|
||||
Writable.prototype.write = function(chunk, encoding, cb) {
|
||||
var state = this._writableState;
|
||||
@@ -107798,8 +107798,8 @@ var require_semver3 = __commonJS({
|
||||
return null;
|
||||
}
|
||||
}
|
||||
exports2.valid = valid3;
|
||||
function valid3(version, options) {
|
||||
exports2.valid = valid4;
|
||||
function valid4(version, options) {
|
||||
var v = parse(version, options);
|
||||
return v ? v.version : null;
|
||||
}
|
||||
@@ -108119,8 +108119,8 @@ var require_semver3 = __commonJS({
|
||||
function gt(a, b, loose) {
|
||||
return compare(a, b, loose) > 0;
|
||||
}
|
||||
exports2.lt = lt;
|
||||
function lt(a, b, loose) {
|
||||
exports2.lt = lt2;
|
||||
function lt2(a, b, loose) {
|
||||
return compare(a, b, loose) < 0;
|
||||
}
|
||||
exports2.eq = eq;
|
||||
@@ -108165,7 +108165,7 @@ var require_semver3 = __commonJS({
|
||||
case ">=":
|
||||
return gte5(a, b, loose);
|
||||
case "<":
|
||||
return lt(a, b, loose);
|
||||
return lt2(a, b, loose);
|
||||
case "<=":
|
||||
return lte(a, b, loose);
|
||||
default:
|
||||
@@ -108702,12 +108702,12 @@ var require_semver3 = __commonJS({
|
||||
case ">":
|
||||
gtfn = gt;
|
||||
ltefn = lte;
|
||||
ltfn = lt;
|
||||
ltfn = lt2;
|
||||
comp = ">";
|
||||
ecomp = ">=";
|
||||
break;
|
||||
case "<":
|
||||
gtfn = lt;
|
||||
gtfn = lt2;
|
||||
ltefn = gte5;
|
||||
ltfn = gt;
|
||||
comp = "<";
|
||||
@@ -108909,7 +108909,7 @@ var require_cacheUtils = __commonJS({
|
||||
var crypto = __importStar4(require("crypto"));
|
||||
var fs2 = __importStar4(require("fs"));
|
||||
var path2 = __importStar4(require("path"));
|
||||
var semver8 = __importStar4(require_semver3());
|
||||
var semver9 = __importStar4(require_semver3());
|
||||
var util = __importStar4(require("util"));
|
||||
var constants_1 = require_constants10();
|
||||
var versionSalt = "1.0";
|
||||
@@ -109006,7 +109006,7 @@ var require_cacheUtils = __commonJS({
|
||||
function getCompressionMethod() {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const versionOutput = yield getVersion("zstd", ["--quiet"]);
|
||||
const version = semver8.clean(versionOutput);
|
||||
const version = semver9.clean(versionOutput);
|
||||
core14.debug(`zstd version: ${version}`);
|
||||
if (versionOutput === "") {
|
||||
return constants_1.CompressionMethod.Gzip;
|
||||
@@ -111969,7 +111969,7 @@ var require_manifest = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var core_1 = require_core();
|
||||
var os = require("os");
|
||||
var cp = require("child_process");
|
||||
@@ -111983,7 +111983,7 @@ var require_manifest = __commonJS({
|
||||
for (const candidate of candidates) {
|
||||
const version = candidate.version;
|
||||
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
|
||||
if (semver8.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
|
||||
file = candidate.files.find((item) => {
|
||||
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
|
||||
let chk = item.arch === archFilter && item.platform === platFilter;
|
||||
@@ -111992,7 +111992,7 @@ var require_manifest = __commonJS({
|
||||
if (osVersion === item.platform_version) {
|
||||
chk = true;
|
||||
} else {
|
||||
chk = semver8.satisfies(osVersion, item.platform_version);
|
||||
chk = semver9.satisfies(osVersion, item.platform_version);
|
||||
}
|
||||
}
|
||||
return chk;
|
||||
@@ -112222,7 +112222,7 @@ var require_tool_cache = __commonJS({
|
||||
var os = __importStar4(require("os"));
|
||||
var path2 = __importStar4(require("path"));
|
||||
var httpm = __importStar4(require_lib());
|
||||
var semver8 = __importStar4(require_semver2());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var stream = __importStar4(require("stream"));
|
||||
var util = __importStar4(require("util"));
|
||||
var assert_1 = require("assert");
|
||||
@@ -112496,7 +112496,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function cacheDir(sourceDir, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core14.debug(`source dir: ${sourceDir}`);
|
||||
@@ -112515,7 +112515,7 @@ var require_tool_cache = __commonJS({
|
||||
exports2.cacheDir = cacheDir;
|
||||
function cacheFile(sourceFile, targetFile, tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver8.clean(version) || version;
|
||||
version = semver9.clean(version) || version;
|
||||
arch = arch || os.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch}`);
|
||||
core14.debug(`source file: ${sourceFile}`);
|
||||
@@ -112546,7 +112546,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
let toolPath = "";
|
||||
if (versionSpec) {
|
||||
versionSpec = semver8.clean(versionSpec) || "";
|
||||
versionSpec = semver9.clean(versionSpec) || "";
|
||||
const cachePath = path2.join(_getCacheDirectory(), toolName, versionSpec, arch);
|
||||
core14.debug(`checking cache: ${cachePath}`);
|
||||
if (fs2.existsSync(cachePath) && fs2.existsSync(`${cachePath}.complete`)) {
|
||||
@@ -112630,7 +112630,7 @@ var require_tool_cache = __commonJS({
|
||||
}
|
||||
function _createToolPath(tool, version, arch) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const folderPath = path2.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path2.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
core14.debug(`destination ${folderPath}`);
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
yield io6.rmRF(folderPath);
|
||||
@@ -112640,31 +112640,31 @@ var require_tool_cache = __commonJS({
|
||||
});
|
||||
}
|
||||
function _completeToolPath(tool, version, arch) {
|
||||
const folderPath = path2.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
|
||||
const folderPath = path2.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
|
||||
const markerPath = `${folderPath}.complete`;
|
||||
fs2.writeFileSync(markerPath, "");
|
||||
core14.debug("finished caching tool");
|
||||
}
|
||||
function isExplicitVersion(versionSpec) {
|
||||
const c = semver8.clean(versionSpec) || "";
|
||||
const c = semver9.clean(versionSpec) || "";
|
||||
core14.debug(`isExplicit: ${c}`);
|
||||
const valid3 = semver8.valid(c) != null;
|
||||
core14.debug(`explicit? ${valid3}`);
|
||||
return valid3;
|
||||
const valid4 = semver9.valid(c) != null;
|
||||
core14.debug(`explicit? ${valid4}`);
|
||||
return valid4;
|
||||
}
|
||||
exports2.isExplicitVersion = isExplicitVersion;
|
||||
function evaluateVersions(versions, versionSpec) {
|
||||
let version = "";
|
||||
core14.debug(`evaluating ${versions.length} versions`);
|
||||
versions = versions.sort((a, b) => {
|
||||
if (semver8.gt(a, b)) {
|
||||
if (semver9.gt(a, b)) {
|
||||
return 1;
|
||||
}
|
||||
return -1;
|
||||
});
|
||||
for (let i = versions.length - 1; i >= 0; i--) {
|
||||
const potential = versions[i];
|
||||
const satisfied = semver8.satisfies(potential, versionSpec);
|
||||
const satisfied = semver9.satisfies(potential, versionSpec);
|
||||
if (satisfied) {
|
||||
version = potential;
|
||||
break;
|
||||
@@ -117341,33 +117341,6 @@ var PACK_IDENTIFIER_PATTERN = (function() {
|
||||
// src/feature-flags.ts
|
||||
var semver4 = __toESM(require_semver2());
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
|
||||
// src/git-utils.ts
|
||||
var core7 = __toESM(require_core());
|
||||
var toolrunner2 = __toESM(require_toolrunner());
|
||||
var io3 = __toESM(require_io());
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
function getActionsLogger() {
|
||||
return core8;
|
||||
}
|
||||
function withGroup(groupName, f) {
|
||||
core8.startGroup(groupName);
|
||||
try {
|
||||
return f();
|
||||
} finally {
|
||||
core8.endGroup();
|
||||
}
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var CODEQL_OVERLAY_MINIMUM_VERSION = "2.22.4";
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 15e3;
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
|
||||
|
||||
// src/tools-features.ts
|
||||
var semver3 = __toESM(require_semver2());
|
||||
var SafeArtifactUploadVersion = "2.20.3";
|
||||
@@ -117425,7 +117398,7 @@ var featureConfig = {
|
||||
["overlay_analysis" /* OverlayAnalysis */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: CODEQL_OVERLAY_MINIMUM_VERSION
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["overlay_analysis_actions" /* OverlayAnalysisActions */]: {
|
||||
defaultValue: false,
|
||||
@@ -117551,6 +117524,33 @@ var featureConfig = {
|
||||
}
|
||||
};
|
||||
|
||||
// src/git-utils.ts
|
||||
var core7 = __toESM(require_core());
|
||||
var toolrunner2 = __toESM(require_toolrunner());
|
||||
var io3 = __toESM(require_io());
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
function getActionsLogger() {
|
||||
return core8;
|
||||
}
|
||||
function withGroup(groupName, f) {
|
||||
core8.startGroup(groupName);
|
||||
try {
|
||||
return f();
|
||||
} finally {
|
||||
core8.endGroup();
|
||||
}
|
||||
}
|
||||
|
||||
// src/overlay-database-utils.ts
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 15e3;
|
||||
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
|
||||
|
||||
// src/trap-caching.ts
|
||||
var actionsCache2 = __toESM(require_cache3());
|
||||
|
||||
@@ -117583,20 +117583,20 @@ var OVERLAY_ANALYSIS_CODE_SCANNING_FEATURES = {
|
||||
// src/setup-codeql.ts
|
||||
var toolcache3 = __toESM(require_tool_cache());
|
||||
var import_fast_deep_equal = __toESM(require_fast_deep_equal());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var semver8 = __toESM(require_semver2());
|
||||
|
||||
// src/tar.ts
|
||||
var import_toolrunner = __toESM(require_toolrunner());
|
||||
var io4 = __toESM(require_io());
|
||||
var toolcache = __toESM(require_tool_cache());
|
||||
var semver5 = __toESM(require_semver2());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
|
||||
// src/tools-download.ts
|
||||
var core9 = __toESM(require_core());
|
||||
var import_http_client = __toESM(require_lib());
|
||||
var toolcache2 = __toESM(require_tool_cache());
|
||||
var import_follow_redirects = __toESM(require_follow_redirects());
|
||||
var semver6 = __toESM(require_semver2());
|
||||
var semver7 = __toESM(require_semver2());
|
||||
var STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024;
|
||||
|
||||
// src/dependency-caching.ts
|
||||
|
||||
730
lib/upload-sarif-action.js
generated
730
lib/upload-sarif-action.js
generated
File diff suppressed because it is too large
Load Diff
@@ -260,6 +260,26 @@ export async function listActionsCaches(
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* List the most recently created Actions cache entry across all refs that
|
||||
* match the provided key.
|
||||
*/
|
||||
export async function getMostRecentActionsCacheEntry(
|
||||
key: string,
|
||||
): Promise<ActionsCacheItem | undefined> {
|
||||
const repositoryNwo = getRepositoryNwo();
|
||||
|
||||
const cacheItems = await getApiClient().rest.actions.getActionsCacheList({
|
||||
owner: repositoryNwo.owner,
|
||||
repo: repositoryNwo.repo,
|
||||
key,
|
||||
sort: "created_at",
|
||||
direction: "desc",
|
||||
per_page: 1,
|
||||
});
|
||||
return cacheItems.data.actions_caches[0];
|
||||
}
|
||||
|
||||
/** Delete an Actions cache item by its ID. */
|
||||
export async function deleteActionsCache(id: number) {
|
||||
const repositoryNwo = getRepositoryNwo();
|
||||
|
||||
@@ -65,16 +65,6 @@ function createTestInitConfigInputs(
|
||||
debugDatabaseName: "",
|
||||
repository: { owner: "github", repo: "example" },
|
||||
tempDir: "",
|
||||
codeql: createStubCodeQL({
|
||||
async betterResolveLanguages() {
|
||||
return {
|
||||
extractors: {
|
||||
html: [{ extractor_root: "" }],
|
||||
javascript: [{ extractor_root: "" }],
|
||||
},
|
||||
};
|
||||
},
|
||||
}),
|
||||
workspacePath: "",
|
||||
sourceRoot: "",
|
||||
githubVersion,
|
||||
@@ -99,6 +89,20 @@ function createConfigFile(inputFileContents: string, tmpDir: string): string {
|
||||
return configFilePath;
|
||||
}
|
||||
|
||||
// Returns a default CodeQL stub for tests
|
||||
function createDefaultTestCodeQL() {
|
||||
return createStubCodeQL({
|
||||
async betterResolveLanguages() {
|
||||
return {
|
||||
extractors: {
|
||||
html: [{ extractor_root: "" }],
|
||||
javascript: [{ extractor_root: "" }],
|
||||
},
|
||||
};
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
type GetContentsResponse = { content?: string } | object[];
|
||||
|
||||
function mockGetContents(
|
||||
@@ -153,19 +157,19 @@ test("load empty config", async (t) => {
|
||||
languagesInput: languages,
|
||||
repository: { owner: "github", repo: "example" },
|
||||
tempDir,
|
||||
codeql,
|
||||
logger,
|
||||
}),
|
||||
codeql,
|
||||
);
|
||||
|
||||
const expectedConfig = await configUtils.initActionState(
|
||||
createTestInitConfigInputs({
|
||||
languagesInput: languages,
|
||||
tempDir,
|
||||
codeql,
|
||||
logger,
|
||||
}),
|
||||
{},
|
||||
codeql,
|
||||
);
|
||||
|
||||
t.deepEqual(config, expectedConfig);
|
||||
@@ -193,9 +197,9 @@ test("load code quality config", async (t) => {
|
||||
languagesInput: languages,
|
||||
repository: { owner: "github", repo: "example" },
|
||||
tempDir,
|
||||
codeql,
|
||||
logger,
|
||||
}),
|
||||
codeql,
|
||||
);
|
||||
|
||||
// And the config we expect it to result in
|
||||
@@ -277,10 +281,10 @@ test("initActionState doesn't throw if there are queries configured in the repos
|
||||
languagesInput: languages,
|
||||
repository: { owner: "github", repo: "example" },
|
||||
tempDir,
|
||||
codeql,
|
||||
repositoryProperties,
|
||||
logger,
|
||||
}),
|
||||
codeql,
|
||||
);
|
||||
|
||||
t.deepEqual(config, expectedConfig);
|
||||
@@ -313,10 +317,10 @@ test("loading a saved config produces the same config", async (t) => {
|
||||
createTestInitConfigInputs({
|
||||
languagesInput: "javascript,python",
|
||||
tempDir,
|
||||
codeql,
|
||||
workspacePath: tempDir,
|
||||
logger,
|
||||
}),
|
||||
codeql,
|
||||
);
|
||||
await configUtils.saveConfig(config1, logger);
|
||||
|
||||
@@ -364,10 +368,10 @@ test("loading config with version mismatch throws", async (t) => {
|
||||
createTestInitConfigInputs({
|
||||
languagesInput: "javascript,python",
|
||||
tempDir,
|
||||
codeql,
|
||||
workspacePath: tempDir,
|
||||
logger,
|
||||
}),
|
||||
codeql,
|
||||
);
|
||||
// initConfig does not save the config, so we do it here.
|
||||
await configUtils.saveConfig(config, logger);
|
||||
@@ -394,6 +398,7 @@ test("load input outside of workspace", async (t) => {
|
||||
tempDir,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
createDefaultTestCodeQL(),
|
||||
);
|
||||
throw new Error("initConfig did not throw error");
|
||||
} catch (err) {
|
||||
@@ -421,6 +426,7 @@ test("load non-local input with invalid repo syntax", async (t) => {
|
||||
tempDir,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
createDefaultTestCodeQL(),
|
||||
);
|
||||
throw new Error("initConfig did not throw error");
|
||||
} catch (err) {
|
||||
@@ -450,6 +456,7 @@ test("load non-existent input", async (t) => {
|
||||
tempDir,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
createDefaultTestCodeQL(),
|
||||
);
|
||||
throw new Error("initConfig did not throw error");
|
||||
} catch (err) {
|
||||
@@ -534,9 +541,9 @@ test("load non-empty input", async (t) => {
|
||||
debugArtifactName: "my-artifact",
|
||||
debugDatabaseName: "my-db",
|
||||
tempDir,
|
||||
codeql,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
codeql,
|
||||
);
|
||||
|
||||
// Should exactly equal the object we constructed earlier
|
||||
@@ -582,16 +589,15 @@ test("Using config input and file together, config input should be used.", async
|
||||
// Only JS, python packs will be ignored
|
||||
const languagesInput = "javascript";
|
||||
|
||||
const config = await configUtils.initConfig(
|
||||
createTestInitConfigInputs({
|
||||
languagesInput,
|
||||
configFile: configFilePath,
|
||||
configInput,
|
||||
tempDir,
|
||||
codeql,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
);
|
||||
const inputs = createTestInitConfigInputs({
|
||||
languagesInput,
|
||||
configFile: configFilePath,
|
||||
configInput,
|
||||
tempDir,
|
||||
workspacePath: tempDir,
|
||||
});
|
||||
configUtils.amendInputConfigFile(inputs, inputs.logger);
|
||||
const config = await configUtils.initConfig(inputs, codeql);
|
||||
|
||||
t.deepEqual(config.originalUserInput, yaml.load(configInput));
|
||||
});
|
||||
@@ -637,9 +643,9 @@ test("API client used when reading remote config", async (t) => {
|
||||
languagesInput,
|
||||
configFile,
|
||||
tempDir,
|
||||
codeql,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
codeql,
|
||||
);
|
||||
t.assert(spyGetContents.called);
|
||||
});
|
||||
@@ -658,6 +664,7 @@ test("Remote config handles the case where a directory is provided", async (t) =
|
||||
tempDir,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
createDefaultTestCodeQL(),
|
||||
);
|
||||
throw new Error("initConfig did not throw error");
|
||||
} catch (err) {
|
||||
@@ -686,6 +693,7 @@ test("Invalid format of remote config handled correctly", async (t) => {
|
||||
tempDir,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
createDefaultTestCodeQL(),
|
||||
);
|
||||
throw new Error("initConfig did not throw error");
|
||||
} catch (err) {
|
||||
@@ -712,9 +720,9 @@ test("No detected languages", async (t) => {
|
||||
await configUtils.initConfig(
|
||||
createTestInitConfigInputs({
|
||||
tempDir,
|
||||
codeql,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
codeql,
|
||||
);
|
||||
throw new Error("initConfig did not throw error");
|
||||
} catch (err) {
|
||||
@@ -737,6 +745,7 @@ test("Unknown languages", async (t) => {
|
||||
tempDir,
|
||||
workspacePath: tempDir,
|
||||
}),
|
||||
createDefaultTestCodeQL(),
|
||||
);
|
||||
throw new Error("initConfig did not throw error");
|
||||
} catch (err) {
|
||||
@@ -987,7 +996,7 @@ interface OverlayDatabaseModeTestSetup {
|
||||
isDefaultBranch: boolean;
|
||||
repositoryOwner: string;
|
||||
buildMode: BuildMode | undefined;
|
||||
languages: Language[];
|
||||
languages: string[];
|
||||
codeqlVersion: string;
|
||||
gitRoot: string | undefined;
|
||||
codeScanningConfig: configUtils.UserConfig;
|
||||
@@ -1014,6 +1023,8 @@ const getOverlayDatabaseModeMacro = test.macro({
|
||||
expected: {
|
||||
overlayDatabaseMode: OverlayDatabaseMode;
|
||||
useOverlayDatabaseCaching: boolean;
|
||||
preliminaryOverlayDatabaseMode?: OverlayDatabaseMode;
|
||||
preliminaryUseOverlayDatabaseCaching?: boolean;
|
||||
},
|
||||
) => {
|
||||
return await withTmpDir(async (tempDir) => {
|
||||
@@ -1075,13 +1086,51 @@ const getOverlayDatabaseModeMacro = test.macro({
|
||||
repository,
|
||||
features,
|
||||
setup.languages,
|
||||
setup.languages.join(","),
|
||||
tempDir, // sourceRoot
|
||||
setup.buildMode,
|
||||
setup.codeScanningConfig,
|
||||
logger,
|
||||
);
|
||||
|
||||
t.deepEqual(result, expected);
|
||||
const expectedResult = {
|
||||
overlayDatabaseMode: expected.overlayDatabaseMode,
|
||||
useOverlayDatabaseCaching: expected.useOverlayDatabaseCaching,
|
||||
};
|
||||
t.deepEqual(result, expectedResult);
|
||||
|
||||
let configFile: string | undefined;
|
||||
if (Object.keys(setup.codeScanningConfig).length > 0) {
|
||||
configFile = createConfigFile(
|
||||
yaml.dump(setup.codeScanningConfig),
|
||||
tempDir,
|
||||
);
|
||||
}
|
||||
|
||||
// Test getPreliminaryOverlayDatabaseMode as well
|
||||
const preliminaryResult =
|
||||
await configUtils.getPreliminaryOverlayDatabaseMode(
|
||||
createTestInitConfigInputs({
|
||||
languagesInput: setup.languages.join(","),
|
||||
configFile,
|
||||
features,
|
||||
tempDir,
|
||||
workspacePath: tempDir,
|
||||
sourceRoot: tempDir,
|
||||
repository,
|
||||
logger,
|
||||
}),
|
||||
);
|
||||
|
||||
const expectedPreliminaryResult = {
|
||||
overlayDatabaseMode:
|
||||
expected.preliminaryOverlayDatabaseMode ??
|
||||
expected.overlayDatabaseMode,
|
||||
useOverlayDatabaseCaching:
|
||||
expected.preliminaryUseOverlayDatabaseCaching ??
|
||||
expected.useOverlayDatabaseCaching,
|
||||
};
|
||||
t.deepEqual(preliminaryResult, expectedPreliminaryResult);
|
||||
} finally {
|
||||
// Restore the original environment
|
||||
process.env = originalEnv;
|
||||
@@ -1336,6 +1385,20 @@ test(
|
||||
},
|
||||
);
|
||||
|
||||
test(
|
||||
getOverlayDatabaseModeMacro,
|
||||
"Overlay analysis on PR when feature enabled via language alias",
|
||||
{
|
||||
languages: ["javascript-typescript"],
|
||||
features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript],
|
||||
isPullRequest: true,
|
||||
},
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||
useOverlayDatabaseCaching: true,
|
||||
},
|
||||
);
|
||||
|
||||
test(
|
||||
getOverlayDatabaseModeMacro,
|
||||
"Overlay analysis on PR when feature enabled with custom analysis",
|
||||
@@ -1492,6 +1555,20 @@ test(
|
||||
},
|
||||
);
|
||||
|
||||
test(
|
||||
getOverlayDatabaseModeMacro,
|
||||
"No overlay analysis on PR when the language is unknown",
|
||||
{
|
||||
languages: ["cobol"],
|
||||
features: [Feature.OverlayAnalysis],
|
||||
isPullRequest: true,
|
||||
},
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
},
|
||||
);
|
||||
|
||||
test(
|
||||
getOverlayDatabaseModeMacro,
|
||||
"Overlay PR analysis by env for dsp-testing",
|
||||
@@ -1559,6 +1636,8 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
preliminaryOverlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||
preliminaryUseOverlayDatabaseCaching: false,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1573,6 +1652,8 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
preliminaryOverlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||
preliminaryUseOverlayDatabaseCaching: false,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1586,6 +1667,8 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
preliminaryOverlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||
preliminaryUseOverlayDatabaseCaching: false,
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ import {
|
||||
CODEQL_OVERLAY_MINIMUM_VERSION,
|
||||
OverlayDatabaseMode,
|
||||
} from "./overlay-database-utils";
|
||||
import * as overlayLanguageAliases from "./overlay-language-aliases.json";
|
||||
import { RepositoryNwo } from "./repository";
|
||||
import { downloadTrapCaches } from "./trap-caching";
|
||||
import {
|
||||
@@ -331,6 +332,36 @@ export async function getLanguages(
|
||||
return languages;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the (unverified) languages for overlay analysis.
|
||||
*
|
||||
* This is a simplified version of `getLanguages` that only resolves language
|
||||
* aliases but does not check if the languages are actually supported by the
|
||||
* CodeQL CLI. It is intended to be used for overlay analysis preparations
|
||||
* before the CodeQL CLI is available.
|
||||
*/
|
||||
async function getUnverifiedLanguagesForOverlay(
|
||||
languagesInput: string | undefined,
|
||||
repository: RepositoryNwo,
|
||||
sourceRoot: string,
|
||||
logger: Logger,
|
||||
): Promise<string[]> {
|
||||
// Obtain languages without filtering them.
|
||||
const { rawLanguages } = await getRawLanguages(
|
||||
languagesInput,
|
||||
repository,
|
||||
sourceRoot,
|
||||
logger,
|
||||
);
|
||||
const languageAliases = overlayLanguageAliases as Record<string, string>;
|
||||
|
||||
const languagesSet: string[] = [];
|
||||
for (const language of rawLanguages) {
|
||||
languagesSet.push(languageAliases[language] || language);
|
||||
}
|
||||
return languagesSet;
|
||||
}
|
||||
|
||||
export function getRawLanguagesNoAutodetect(
|
||||
languagesInput: string | undefined,
|
||||
): string[] {
|
||||
@@ -389,7 +420,6 @@ export interface InitConfigInputs {
|
||||
debugDatabaseName: string;
|
||||
repository: RepositoryNwo;
|
||||
tempDir: string;
|
||||
codeql: CodeQL;
|
||||
workspacePath: string;
|
||||
sourceRoot: string;
|
||||
githubVersion: GitHubVersion;
|
||||
@@ -419,7 +449,6 @@ export async function initActionState(
|
||||
debugDatabaseName,
|
||||
repository,
|
||||
tempDir,
|
||||
codeql,
|
||||
sourceRoot,
|
||||
githubVersion,
|
||||
features,
|
||||
@@ -427,6 +456,7 @@ export async function initActionState(
|
||||
logger,
|
||||
}: InitConfigInputs,
|
||||
userConfig: UserConfig,
|
||||
codeql: CodeQL,
|
||||
): Promise<Config> {
|
||||
const analysisKinds = await parseAnalysisKinds(analysisKindsInput);
|
||||
|
||||
@@ -539,12 +569,48 @@ async function downloadCacheWithTime(
|
||||
return { trapCaches, trapCacheDownloadTime };
|
||||
}
|
||||
|
||||
/**
|
||||
* Amends the input config file if configInput is provided.
|
||||
* If configInput is set, it takes precedence over configFile.
|
||||
*
|
||||
* This function should be called only once on any specific `InitConfigInputs`
|
||||
* object. Otherwise it could emit a false warning.
|
||||
*/
|
||||
export function amendInputConfigFile(
|
||||
inputs: InitConfigInputs,
|
||||
logger: Logger,
|
||||
): void {
|
||||
// if configInput is set, it takes precedence over configFile
|
||||
if (inputs.configInput) {
|
||||
if (inputs.configFile) {
|
||||
logger.warning(
|
||||
`Both a config file and config input were provided. Ignoring config file.`,
|
||||
);
|
||||
}
|
||||
inputs.configFile = userConfigFromActionPath(inputs.tempDir);
|
||||
fs.writeFileSync(inputs.configFile, inputs.configInput);
|
||||
logger.debug(`Using config from action input: ${inputs.configFile}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load user configuration from a file or return an empty configuration
|
||||
* if no config file is specified.
|
||||
*/
|
||||
async function loadUserConfig(
|
||||
configFile: string,
|
||||
configFile: string | undefined,
|
||||
workspacePath: string,
|
||||
apiDetails: api.GitHubApiCombinedDetails,
|
||||
tempDir: string,
|
||||
logger: Logger,
|
||||
): Promise<UserConfig> {
|
||||
if (!configFile) {
|
||||
logger.debug("No configuration file was provided");
|
||||
return {};
|
||||
}
|
||||
|
||||
logger.debug(`Using configuration file: ${configFile}`);
|
||||
|
||||
if (isLocal(configFile)) {
|
||||
if (configFile !== userConfigFromActionPath(tempDir)) {
|
||||
// If the config file is not generated by the Action, it should be relative to the workspace.
|
||||
@@ -589,32 +655,38 @@ const OVERLAY_ANALYSIS_CODE_SCANNING_FEATURES: Record<Language, Feature> = {
|
||||
};
|
||||
|
||||
async function isOverlayAnalysisFeatureEnabled(
|
||||
repository: RepositoryNwo,
|
||||
features: FeatureEnablement,
|
||||
codeql: CodeQL,
|
||||
languages: Language[],
|
||||
codeScanningConfig: UserConfig,
|
||||
languagesInput: string | undefined,
|
||||
repository: RepositoryNwo,
|
||||
sourceRoot: string,
|
||||
features: FeatureEnablement,
|
||||
logger: Logger,
|
||||
): Promise<boolean> {
|
||||
// TODO: Remove the repository owner check once support for overlay analysis
|
||||
// stabilizes, and no more backward-incompatible changes are expected.
|
||||
if (!["github", "dsp-testing"].includes(repository.owner)) {
|
||||
return false;
|
||||
}
|
||||
if (!(await features.getValue(Feature.OverlayAnalysis, codeql))) {
|
||||
if (!(await features.getValue(Feature.OverlayAnalysis))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const languages = await getUnverifiedLanguagesForOverlay(
|
||||
languagesInput,
|
||||
repository,
|
||||
sourceRoot,
|
||||
logger,
|
||||
);
|
||||
|
||||
let enableForCodeScanningOnly = false;
|
||||
for (const language of languages) {
|
||||
const feature = OVERLAY_ANALYSIS_FEATURES[language];
|
||||
if (feature && (await features.getValue(feature, codeql))) {
|
||||
if (feature && (await features.getValue(feature))) {
|
||||
continue;
|
||||
}
|
||||
const codeScanningFeature =
|
||||
OVERLAY_ANALYSIS_CODE_SCANNING_FEATURES[language];
|
||||
if (
|
||||
codeScanningFeature &&
|
||||
(await features.getValue(codeScanningFeature, codeql))
|
||||
) {
|
||||
if (codeScanningFeature && (await features.getValue(codeScanningFeature))) {
|
||||
enableForCodeScanningOnly = true;
|
||||
continue;
|
||||
}
|
||||
@@ -652,14 +724,18 @@ async function isOverlayAnalysisFeatureEnabled(
|
||||
* For `Overlay` and `OverlayBase`, the function performs further checks and
|
||||
* reverts to `None` if any check should fail.
|
||||
*
|
||||
* If `codeql` or `languages` is undefined, the function will skip checks that
|
||||
* depend on them.
|
||||
*
|
||||
* @returns An object containing the overlay database mode and whether the
|
||||
* action should perform overlay-base database caching.
|
||||
*/
|
||||
export async function getOverlayDatabaseMode(
|
||||
codeql: CodeQL,
|
||||
codeql: CodeQL | undefined,
|
||||
repository: RepositoryNwo,
|
||||
features: FeatureEnablement,
|
||||
languages: Language[],
|
||||
languages: Language[] | undefined,
|
||||
languagesInput: string | undefined,
|
||||
sourceRoot: string,
|
||||
buildMode: BuildMode | undefined,
|
||||
codeScanningConfig: UserConfig,
|
||||
@@ -686,11 +762,12 @@ export async function getOverlayDatabaseMode(
|
||||
);
|
||||
} else if (
|
||||
await isOverlayAnalysisFeatureEnabled(
|
||||
repository,
|
||||
features,
|
||||
codeql,
|
||||
languages,
|
||||
codeScanningConfig,
|
||||
languagesInput,
|
||||
repository,
|
||||
sourceRoot,
|
||||
features,
|
||||
logger,
|
||||
)
|
||||
) {
|
||||
if (isAnalyzingPullRequest()) {
|
||||
@@ -720,6 +797,8 @@ export async function getOverlayDatabaseMode(
|
||||
}
|
||||
|
||||
if (
|
||||
codeql !== undefined &&
|
||||
languages !== undefined &&
|
||||
buildMode !== BuildMode.None &&
|
||||
(
|
||||
await Promise.all(
|
||||
@@ -734,7 +813,10 @@ export async function getOverlayDatabaseMode(
|
||||
);
|
||||
return nonOverlayAnalysis;
|
||||
}
|
||||
if (!(await codeQlVersionAtLeast(codeql, CODEQL_OVERLAY_MINIMUM_VERSION))) {
|
||||
if (
|
||||
codeql !== undefined &&
|
||||
!(await codeQlVersionAtLeast(codeql, CODEQL_OVERLAY_MINIMUM_VERSION))
|
||||
) {
|
||||
logger.warning(
|
||||
`Cannot build an ${overlayDatabaseMode} database because ` +
|
||||
`the CodeQL CLI is older than ${CODEQL_OVERLAY_MINIMUM_VERSION}. ` +
|
||||
@@ -757,6 +839,62 @@ export async function getOverlayDatabaseMode(
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Get preliminary overlay database mode using only the information available
|
||||
* in InitConfigInputs, without depending on CodeQL.
|
||||
*
|
||||
* This is a simplified version of getOverlayDatabaseMode that can be called
|
||||
* before the CodeQL CLI is available.
|
||||
*
|
||||
* @param inputs The initialization configuration inputs.
|
||||
* @returns An object containing the overlay database mode and whether the
|
||||
* action should perform overlay-base database caching.
|
||||
*/
|
||||
export async function getPreliminaryOverlayDatabaseMode(
|
||||
inputs: InitConfigInputs,
|
||||
): Promise<{
|
||||
overlayDatabaseMode: OverlayDatabaseMode;
|
||||
useOverlayDatabaseCaching: boolean;
|
||||
}> {
|
||||
const userConfig = await loadUserConfig(
|
||||
inputs.configFile,
|
||||
inputs.workspacePath,
|
||||
inputs.apiDetails,
|
||||
inputs.tempDir,
|
||||
inputs.logger,
|
||||
);
|
||||
|
||||
const languages = await getUnverifiedLanguagesForOverlay(
|
||||
inputs.languagesInput,
|
||||
inputs.repository,
|
||||
inputs.sourceRoot,
|
||||
inputs.logger,
|
||||
);
|
||||
const augmentationProperties = await calculateAugmentation(
|
||||
inputs.packsInput,
|
||||
inputs.queriesInput,
|
||||
inputs.repositoryProperties,
|
||||
languages,
|
||||
);
|
||||
const computedConfig = generateCodeScanningConfig(
|
||||
inputs.logger,
|
||||
userConfig,
|
||||
augmentationProperties,
|
||||
);
|
||||
|
||||
return getOverlayDatabaseMode(
|
||||
undefined, // codeql
|
||||
inputs.repository,
|
||||
inputs.features,
|
||||
undefined, // languages
|
||||
inputs.languagesInput,
|
||||
inputs.sourceRoot,
|
||||
undefined, // buildMode
|
||||
computedConfig,
|
||||
inputs.logger,
|
||||
);
|
||||
}
|
||||
|
||||
function dbLocationOrDefault(
|
||||
dbLocation: string | undefined,
|
||||
tempDir: string,
|
||||
@@ -787,35 +925,20 @@ function hasQueryCustomisation(userConfig: UserConfig): boolean {
|
||||
* This will parse the config from the user input if present, or generate
|
||||
* a default config. The parsed config is then stored to a known location.
|
||||
*/
|
||||
export async function initConfig(inputs: InitConfigInputs): Promise<Config> {
|
||||
export async function initConfig(
|
||||
inputs: InitConfigInputs,
|
||||
codeql: CodeQL,
|
||||
): Promise<Config> {
|
||||
const { logger, tempDir } = inputs;
|
||||
|
||||
// if configInput is set, it takes precedence over configFile
|
||||
if (inputs.configInput) {
|
||||
if (inputs.configFile) {
|
||||
logger.warning(
|
||||
`Both a config file and config input were provided. Ignoring config file.`,
|
||||
);
|
||||
}
|
||||
inputs.configFile = userConfigFromActionPath(tempDir);
|
||||
fs.writeFileSync(inputs.configFile, inputs.configInput);
|
||||
logger.debug(`Using config from action input: ${inputs.configFile}`);
|
||||
}
|
||||
|
||||
let userConfig: UserConfig = {};
|
||||
if (!inputs.configFile) {
|
||||
logger.debug("No configuration file was provided");
|
||||
} else {
|
||||
logger.debug(`Using configuration file: ${inputs.configFile}`);
|
||||
userConfig = await loadUserConfig(
|
||||
inputs.configFile,
|
||||
inputs.workspacePath,
|
||||
inputs.apiDetails,
|
||||
tempDir,
|
||||
);
|
||||
}
|
||||
|
||||
const config = await initActionState(inputs, userConfig);
|
||||
const userConfig = await loadUserConfig(
|
||||
inputs.configFile,
|
||||
inputs.workspacePath,
|
||||
inputs.apiDetails,
|
||||
tempDir,
|
||||
logger,
|
||||
);
|
||||
const config = await initActionState(inputs, userConfig, codeql);
|
||||
|
||||
// If Code Quality analysis is the only enabled analysis kind, then we will initialise
|
||||
// the database for Code Quality. That entails disabling the default queries and only
|
||||
@@ -842,10 +965,11 @@ export async function initConfig(inputs: InitConfigInputs): Promise<Config> {
|
||||
// rest of the config has been populated.
|
||||
const { overlayDatabaseMode, useOverlayDatabaseCaching } =
|
||||
await getOverlayDatabaseMode(
|
||||
inputs.codeql,
|
||||
codeql,
|
||||
inputs.repository,
|
||||
inputs.features,
|
||||
config.languages,
|
||||
inputs.languagesInput,
|
||||
inputs.sourceRoot,
|
||||
config.buildMode,
|
||||
config.computedConfig,
|
||||
@@ -860,11 +984,7 @@ export async function initConfig(inputs: InitConfigInputs): Promise<Config> {
|
||||
|
||||
if (
|
||||
overlayDatabaseMode === OverlayDatabaseMode.Overlay ||
|
||||
(await shouldPerformDiffInformedAnalysis(
|
||||
inputs.codeql,
|
||||
inputs.features,
|
||||
logger,
|
||||
))
|
||||
(await shouldPerformDiffInformedAnalysis(codeql, inputs.features, logger))
|
||||
) {
|
||||
config.extraQueryExclusions.push({
|
||||
exclude: { tags: "exclude-from-incremental" },
|
||||
|
||||
@@ -7,7 +7,6 @@ import { getApiClient } from "./api-client";
|
||||
import type { CodeQL } from "./codeql";
|
||||
import * as defaults from "./defaults.json";
|
||||
import { Logger } from "./logging";
|
||||
import { CODEQL_OVERLAY_MINIMUM_VERSION } from "./overlay-database-utils";
|
||||
import { RepositoryNwo } from "./repository";
|
||||
import { ToolsFeature } from "./tools-features";
|
||||
import * as util from "./util";
|
||||
@@ -157,7 +156,7 @@ export const featureConfig: Record<
|
||||
[Feature.OverlayAnalysis]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
|
||||
minimumVersion: CODEQL_OVERLAY_MINIMUM_VERSION,
|
||||
minimumVersion: undefined,
|
||||
},
|
||||
[Feature.OverlayAnalysisActions]: {
|
||||
defaultValue: false,
|
||||
|
||||
@@ -42,9 +42,10 @@ import {
|
||||
runDatabaseInitCluster,
|
||||
} from "./init";
|
||||
import { KnownLanguage } from "./languages";
|
||||
import { getActionsLogger, Logger } from "./logging";
|
||||
import { getActionsLogger, Logger, withGroupAsync } from "./logging";
|
||||
import {
|
||||
downloadOverlayBaseDatabaseFromCache,
|
||||
getCodeQLVersionFromOverlayBaseDatabase,
|
||||
OverlayBaseDatabaseDownloadStats,
|
||||
OverlayDatabaseMode,
|
||||
} from "./overlay-database-utils";
|
||||
@@ -233,9 +234,83 @@ async function run() {
|
||||
if (statusReportBase !== undefined) {
|
||||
await sendStatusReport(statusReportBase);
|
||||
}
|
||||
|
||||
const inputs: configUtils.InitConfigInputs = {
|
||||
analysisKindsInput: getRequiredInput("analysis-kinds"),
|
||||
languagesInput: getOptionalInput("languages"),
|
||||
queriesInput: getOptionalInput("queries"),
|
||||
qualityQueriesInput: getOptionalInput("quality-queries"),
|
||||
packsInput: getOptionalInput("packs"),
|
||||
buildModeInput: getOptionalInput("build-mode"),
|
||||
configFile,
|
||||
dbLocation: getOptionalInput("db-location"),
|
||||
configInput: getOptionalInput("config"),
|
||||
trapCachingEnabled: getTrapCachingEnabled(),
|
||||
dependencyCachingEnabled: getDependencyCachingEnabled(),
|
||||
// Debug mode is enabled if:
|
||||
// - The `init` Action is passed `debug: true`.
|
||||
// - Actions step debugging is enabled (e.g. by [enabling debug logging for a rerun](https://docs.github.com/en/actions/managing-workflow-runs/re-running-workflows-and-jobs#re-running-all-the-jobs-in-a-workflow),
|
||||
// or by setting the `ACTIONS_STEP_DEBUG` secret to `true`).
|
||||
debugMode: getOptionalInput("debug") === "true" || core.isDebug(),
|
||||
debugArtifactName:
|
||||
getOptionalInput("debug-artifact-name") || DEFAULT_DEBUG_ARTIFACT_NAME,
|
||||
debugDatabaseName:
|
||||
getOptionalInput("debug-database-name") || DEFAULT_DEBUG_DATABASE_NAME,
|
||||
repository: repositoryNwo,
|
||||
tempDir: getTemporaryDirectory(),
|
||||
workspacePath: getRequiredEnvParam("GITHUB_WORKSPACE"),
|
||||
sourceRoot,
|
||||
githubVersion: gitHubVersion,
|
||||
apiDetails,
|
||||
features,
|
||||
repositoryProperties,
|
||||
logger,
|
||||
};
|
||||
configUtils.amendInputConfigFile(inputs, logger);
|
||||
|
||||
const codeQLDefaultVersionInfo = await features.getDefaultCliVersion(
|
||||
gitHubVersion.type,
|
||||
);
|
||||
|
||||
await withGroupAsync(
|
||||
"Compute CodeQL version to use for overlay analysis",
|
||||
async () => {
|
||||
if (getOptionalInput("tools")) {
|
||||
logger.info(
|
||||
"Nothing to do here because the workflow specified a tools input.",
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const { overlayDatabaseMode, useOverlayDatabaseCaching } =
|
||||
await configUtils.getPreliminaryOverlayDatabaseMode(inputs);
|
||||
if (overlayDatabaseMode !== OverlayDatabaseMode.Overlay) {
|
||||
logger.info(
|
||||
"Nothing to do here because we are not performing overlay analysis",
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (!useOverlayDatabaseCaching) {
|
||||
logger.info(
|
||||
`Nothing to do here because we are not using overlay database caching`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const codeQlVersionForOverlay =
|
||||
await getCodeQLVersionFromOverlayBaseDatabase(logger);
|
||||
if (codeQlVersionForOverlay === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
logger.info(
|
||||
`Using CodeQL version ${codeQlVersionForOverlay} for overlay analysis.`,
|
||||
);
|
||||
codeQLDefaultVersionInfo.cliVersion = codeQlVersionForOverlay;
|
||||
codeQLDefaultVersionInfo.tagName = `codeql-bundle-v${codeQlVersionForOverlay}`;
|
||||
},
|
||||
);
|
||||
|
||||
toolsFeatureFlagsValid = codeQLDefaultVersionInfo.toolsFeatureFlagsValid;
|
||||
const initCodeQLResult = await initCodeQL(
|
||||
getOptionalInput("tools"),
|
||||
@@ -288,47 +363,14 @@ async function run() {
|
||||
}
|
||||
|
||||
// Warn that `quality-queries` is deprecated if there is an argument for it.
|
||||
const qualityQueriesInput = getOptionalInput("quality-queries");
|
||||
|
||||
if (qualityQueriesInput !== undefined) {
|
||||
if (inputs.qualityQueriesInput !== undefined) {
|
||||
logger.warning(
|
||||
"The `quality-queries` input is deprecated and will be removed in a future version of the CodeQL Action. " +
|
||||
"Use the `analysis-kinds` input to configure different analysis kinds instead.",
|
||||
);
|
||||
}
|
||||
|
||||
config = await initConfig({
|
||||
analysisKindsInput: getRequiredInput("analysis-kinds"),
|
||||
languagesInput: getOptionalInput("languages"),
|
||||
queriesInput: getOptionalInput("queries"),
|
||||
qualityQueriesInput,
|
||||
packsInput: getOptionalInput("packs"),
|
||||
buildModeInput: getOptionalInput("build-mode"),
|
||||
configFile,
|
||||
dbLocation: getOptionalInput("db-location"),
|
||||
configInput: getOptionalInput("config"),
|
||||
trapCachingEnabled: getTrapCachingEnabled(),
|
||||
dependencyCachingEnabled: getDependencyCachingEnabled(),
|
||||
// Debug mode is enabled if:
|
||||
// - The `init` Action is passed `debug: true`.
|
||||
// - Actions step debugging is enabled (e.g. by [enabling debug logging for a rerun](https://docs.github.com/en/actions/managing-workflow-runs/re-running-workflows-and-jobs#re-running-all-the-jobs-in-a-workflow),
|
||||
// or by setting the `ACTIONS_STEP_DEBUG` secret to `true`).
|
||||
debugMode: getOptionalInput("debug") === "true" || core.isDebug(),
|
||||
debugArtifactName:
|
||||
getOptionalInput("debug-artifact-name") || DEFAULT_DEBUG_ARTIFACT_NAME,
|
||||
debugDatabaseName:
|
||||
getOptionalInput("debug-database-name") || DEFAULT_DEBUG_DATABASE_NAME,
|
||||
repository: repositoryNwo,
|
||||
tempDir: getTemporaryDirectory(),
|
||||
codeql,
|
||||
workspacePath: getRequiredEnvParam("GITHUB_WORKSPACE"),
|
||||
sourceRoot,
|
||||
githubVersion: gitHubVersion,
|
||||
apiDetails,
|
||||
features,
|
||||
repositoryProperties,
|
||||
logger,
|
||||
});
|
||||
config = await initConfig(inputs, codeql);
|
||||
|
||||
await checkInstallPython311(config.languages, codeql);
|
||||
} catch (unwrappedError) {
|
||||
|
||||
@@ -60,9 +60,10 @@ export async function initCodeQL(
|
||||
|
||||
export async function initConfig(
|
||||
inputs: configUtils.InitConfigInputs,
|
||||
codeql: CodeQL,
|
||||
): Promise<configUtils.Config> {
|
||||
return await withGroupAsync("Load language configuration", async () => {
|
||||
return await configUtils.initConfig(inputs);
|
||||
return await configUtils.initConfig(inputs, codeql);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,10 @@ import * as gitUtils from "./git-utils";
|
||||
import { getRunnerLogger } from "./logging";
|
||||
import {
|
||||
downloadOverlayBaseDatabaseFromCache,
|
||||
getCacheRestoreKeyPrefix,
|
||||
getCacheSaveKey,
|
||||
getCacheWorkflowKeyPrefix,
|
||||
getCodeQLVersionFromOverlayBaseDatabase,
|
||||
OverlayDatabaseMode,
|
||||
writeBaseDatabaseOidsFile,
|
||||
writeOverlayChangesFile,
|
||||
@@ -261,3 +265,197 @@ test(
|
||||
},
|
||||
false,
|
||||
);
|
||||
|
||||
test("overlay-base database cache keys remain stable", async (t) => {
|
||||
const config = createTestConfig({ languages: ["python", "javascript"] });
|
||||
const codeQlVersion = "2.23.0";
|
||||
const commitOid = "abc123def456";
|
||||
|
||||
sinon.stub(apiClient, "getAutomationID").resolves("test-automation-id/");
|
||||
sinon.stub(gitUtils, "getCommitOid").resolves(commitOid);
|
||||
|
||||
const saveKey = await getCacheSaveKey(config, codeQlVersion, "checkout-path");
|
||||
const expectedSaveKey =
|
||||
"codeql-overlay-base-database-1-c5666c509a2d9895-javascript_python-2.23.0-abc123def456";
|
||||
t.is(
|
||||
saveKey,
|
||||
expectedSaveKey,
|
||||
"Cache save key changed unexpectedly. " +
|
||||
"This may indicate breaking changes in the cache key generation logic.",
|
||||
);
|
||||
|
||||
const restoreKeyPrefix = await getCacheRestoreKeyPrefix(
|
||||
config,
|
||||
codeQlVersion,
|
||||
);
|
||||
const expectedRestoreKeyPrefix =
|
||||
"codeql-overlay-base-database-1-c5666c509a2d9895-javascript_python-2.23.0-";
|
||||
t.is(
|
||||
restoreKeyPrefix,
|
||||
expectedRestoreKeyPrefix,
|
||||
"Cache restore key prefix changed unexpectedly. " +
|
||||
"This may indicate breaking changes in the cache key generation logic.",
|
||||
);
|
||||
|
||||
const workflowKeyPrefix = await getCacheWorkflowKeyPrefix();
|
||||
const expectedWorkflowKeyPrefix =
|
||||
"codeql-overlay-base-database-1-c5666c509a2d9895-";
|
||||
t.is(
|
||||
workflowKeyPrefix,
|
||||
expectedWorkflowKeyPrefix,
|
||||
"Cache workflow key prefix changed unexpectedly. " +
|
||||
"This may indicate breaking changes in the cache key generation logic.",
|
||||
);
|
||||
|
||||
t.true(
|
||||
saveKey.startsWith(restoreKeyPrefix),
|
||||
`Expected save key "${saveKey}" to start with restore key prefix "${restoreKeyPrefix}"`,
|
||||
);
|
||||
t.true(
|
||||
restoreKeyPrefix.startsWith(workflowKeyPrefix),
|
||||
`Expected restore key prefix "${restoreKeyPrefix}" to start with workflow key prefix "${workflowKeyPrefix}"`,
|
||||
);
|
||||
});
|
||||
|
||||
/**
|
||||
* Helper function to generate a cache save key for testing.
|
||||
* Sets up the necessary sinon stubs and returns the generated cache key.
|
||||
*/
|
||||
async function generateTestCacheKey(codeQlVersion: string): Promise<string> {
|
||||
const config = createTestConfig({ languages: ["python", "javascript"] });
|
||||
const commitOid = "abc123def456";
|
||||
|
||||
sinon.stub(apiClient, "getAutomationID").resolves("test-automation-id/");
|
||||
sinon.stub(gitUtils, "getCommitOid").resolves(commitOid);
|
||||
|
||||
return await getCacheSaveKey(config, codeQlVersion, "checkout-path");
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to stub getMostRecentActionsCacheEntry with a given key and creation date.
|
||||
* Returns the stubbed function for cleanup if needed.
|
||||
*/
|
||||
function stubMostRecentActionsCacheEntry(key?: string, createdAt?: Date) {
|
||||
const cacheItem =
|
||||
key !== undefined || createdAt !== undefined
|
||||
? {
|
||||
key,
|
||||
created_at: createdAt?.toISOString(),
|
||||
}
|
||||
: undefined;
|
||||
|
||||
return sinon
|
||||
.stub(apiClient, "getMostRecentActionsCacheEntry")
|
||||
.resolves(cacheItem);
|
||||
}
|
||||
|
||||
test("getCodeQLVersionFromOverlayBaseDatabase returns version when cache entry is valid", async (t) => {
|
||||
const logger = getRunnerLogger(true);
|
||||
const cacheKey = await generateTestCacheKey("2.23.0");
|
||||
|
||||
stubMostRecentActionsCacheEntry(cacheKey, new Date());
|
||||
|
||||
const result = await getCodeQLVersionFromOverlayBaseDatabase(logger);
|
||||
t.is(result, "2.23.0", "Should return the extracted CodeQL version");
|
||||
});
|
||||
|
||||
test("getCodeQLVersionFromOverlayBaseDatabase returns undefined when no cache entries found", async (t) => {
|
||||
const logger = getRunnerLogger(true);
|
||||
|
||||
sinon.stub(apiClient, "getAutomationID").resolves("test-automation-id/");
|
||||
stubMostRecentActionsCacheEntry();
|
||||
|
||||
const result = await getCodeQLVersionFromOverlayBaseDatabase(logger);
|
||||
t.is(
|
||||
result,
|
||||
undefined,
|
||||
"Should return undefined when no cache entries found",
|
||||
);
|
||||
});
|
||||
|
||||
test("getCodeQLVersionFromOverlayBaseDatabase returns undefined when cache entry is too old", async (t) => {
|
||||
const logger = getRunnerLogger(true);
|
||||
const cacheKey = await generateTestCacheKey("2.23.0");
|
||||
|
||||
const oldDate = new Date();
|
||||
oldDate.setDate(oldDate.getDate() - 15); // 15 days ago (older than 14 day limit)
|
||||
|
||||
stubMostRecentActionsCacheEntry(cacheKey, oldDate);
|
||||
|
||||
const result = await getCodeQLVersionFromOverlayBaseDatabase(logger);
|
||||
t.is(
|
||||
result,
|
||||
undefined,
|
||||
"Should return undefined when cache entry is too old",
|
||||
);
|
||||
});
|
||||
|
||||
test("getCodeQLVersionFromOverlayBaseDatabase returns undefined when cache key format is invalid", async (t) => {
|
||||
const logger = getRunnerLogger(true);
|
||||
|
||||
sinon.stub(apiClient, "getAutomationID").resolves("test-automation-id/");
|
||||
stubMostRecentActionsCacheEntry("invalid-key-format", new Date());
|
||||
|
||||
const result = await getCodeQLVersionFromOverlayBaseDatabase(logger);
|
||||
t.is(
|
||||
result,
|
||||
undefined,
|
||||
"Should return undefined when cache key format is invalid",
|
||||
);
|
||||
});
|
||||
|
||||
test("getCodeQLVersionFromOverlayBaseDatabase returns undefined when CodeQL version is invalid semver", async (t) => {
|
||||
const logger = getRunnerLogger(true);
|
||||
const invalidCacheKey = await generateTestCacheKey("invalid.version");
|
||||
|
||||
stubMostRecentActionsCacheEntry(invalidCacheKey, new Date());
|
||||
|
||||
const result = await getCodeQLVersionFromOverlayBaseDatabase(logger);
|
||||
t.is(
|
||||
result,
|
||||
undefined,
|
||||
"Should return undefined when CodeQL version is invalid semver",
|
||||
);
|
||||
});
|
||||
|
||||
test("getCodeQLVersionFromOverlayBaseDatabase returns undefined when CodeQL version is too old", async (t) => {
|
||||
const logger = getRunnerLogger(true);
|
||||
const cacheKey = await generateTestCacheKey("2.20.0"); // Older than minimum required version (2.22.4)
|
||||
|
||||
stubMostRecentActionsCacheEntry(cacheKey, new Date());
|
||||
|
||||
const result = await getCodeQLVersionFromOverlayBaseDatabase(logger);
|
||||
t.is(
|
||||
result,
|
||||
undefined,
|
||||
"Should return undefined when CodeQL version is older than minimum required version",
|
||||
);
|
||||
});
|
||||
|
||||
test("getCodeQLVersionFromOverlayBaseDatabase returns undefined when cache entry has no key", async (t) => {
|
||||
const logger = getRunnerLogger(true);
|
||||
|
||||
sinon.stub(apiClient, "getAutomationID").resolves("test-automation-id/");
|
||||
stubMostRecentActionsCacheEntry(undefined, new Date());
|
||||
|
||||
const result = await getCodeQLVersionFromOverlayBaseDatabase(logger);
|
||||
t.is(
|
||||
result,
|
||||
undefined,
|
||||
"Should return undefined when cache entry has no key",
|
||||
);
|
||||
});
|
||||
|
||||
test("getCodeQLVersionFromOverlayBaseDatabase returns undefined when cache entry has no created_at", async (t) => {
|
||||
const logger = getRunnerLogger(true);
|
||||
const cacheKey = await generateTestCacheKey("2.23.0");
|
||||
|
||||
stubMostRecentActionsCacheEntry(cacheKey, undefined);
|
||||
|
||||
const result = await getCodeQLVersionFromOverlayBaseDatabase(logger);
|
||||
t.is(
|
||||
result,
|
||||
undefined,
|
||||
"Should return undefined when cache entry has no created_at",
|
||||
);
|
||||
});
|
||||
|
||||
@@ -3,9 +3,10 @@ import * as fs from "fs";
|
||||
import * as path from "path";
|
||||
|
||||
import * as actionsCache from "@actions/cache";
|
||||
import * as semver from "semver";
|
||||
|
||||
import { getRequiredInput, getTemporaryDirectory } from "./actions-util";
|
||||
import { getAutomationID } from "./api-client";
|
||||
import { getAutomationID, getMostRecentActionsCacheEntry } from "./api-client";
|
||||
import { type CodeQL } from "./codeql";
|
||||
import { type Config } from "./config-utils";
|
||||
import { getCommitOid, getFileOidsUnderPath } from "./git-utils";
|
||||
@@ -441,6 +442,64 @@ export async function downloadOverlayBaseDatabaseFromCache(
|
||||
};
|
||||
}
|
||||
|
||||
const IGNORE_DATABASES_OLDER_THAN_N_DAYS = 14;
|
||||
|
||||
export async function getCodeQLVersionFromOverlayBaseDatabase(
|
||||
logger: Logger,
|
||||
): Promise<string | undefined> {
|
||||
const keyPrefix = await getCacheWorkflowKeyPrefix();
|
||||
const cacheItem = await getMostRecentActionsCacheEntry(keyPrefix);
|
||||
|
||||
if (cacheItem?.created_at === undefined || cacheItem.key === undefined) {
|
||||
logger.info("No overlay-base database cache entries found");
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const cutoffTime = new Date();
|
||||
cutoffTime.setDate(cutoffTime.getDate() - IGNORE_DATABASES_OLDER_THAN_N_DAYS);
|
||||
|
||||
const cacheCreationTime = new Date(cacheItem.created_at);
|
||||
if (cacheCreationTime < cutoffTime) {
|
||||
logger.info(
|
||||
`Not considering overlay-base database cache entry ${cacheItem.key} ` +
|
||||
`because it is too old (created at ${cacheItem.created_at})`,
|
||||
);
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const keyParts = cacheItem.key.split("-");
|
||||
if (keyParts.length < 9) {
|
||||
logger.info(
|
||||
`Overlay-base database cache entry ${cacheItem.key} has invalid key format`,
|
||||
);
|
||||
return undefined;
|
||||
}
|
||||
const codeQlVersion = keyParts[keyParts.length - 2];
|
||||
|
||||
if (!semver.valid(codeQlVersion)) {
|
||||
logger.info(
|
||||
`Overlay-base database cache entry ${cacheItem.key} has invalid ` +
|
||||
`CodeQL version ${codeQlVersion}`,
|
||||
);
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (semver.lt(codeQlVersion, CODEQL_OVERLAY_MINIMUM_VERSION)) {
|
||||
logger.info(
|
||||
`Overlay-base database cache entry ${cacheItem.key} has ` +
|
||||
`CodeQL version ${codeQlVersion}, which is older than the ` +
|
||||
`minimum required version ${CODEQL_OVERLAY_MINIMUM_VERSION}`,
|
||||
);
|
||||
return undefined;
|
||||
}
|
||||
|
||||
logger.info(
|
||||
`Found overlay-base database cache entry ${cacheItem.key} ` +
|
||||
`created at ${cacheItem.created_at} with CodeQL version ${codeQlVersion}`,
|
||||
);
|
||||
return codeQlVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Computes the cache key for saving the overlay-base database to the GitHub
|
||||
* Actions cache.
|
||||
@@ -448,7 +507,7 @@ export async function downloadOverlayBaseDatabaseFromCache(
|
||||
* The key consists of the restore key prefix (which does not include the
|
||||
* commit SHA) and the commit SHA of the current checkout.
|
||||
*/
|
||||
async function getCacheSaveKey(
|
||||
export async function getCacheSaveKey(
|
||||
config: Config,
|
||||
codeQlVersion: string,
|
||||
checkoutPath: string,
|
||||
@@ -475,31 +534,42 @@ async function getCacheSaveKey(
|
||||
* not include the commit SHA. This allows us to restore the most recent
|
||||
* compatible overlay-base database.
|
||||
*/
|
||||
async function getCacheRestoreKeyPrefix(
|
||||
export async function getCacheRestoreKeyPrefix(
|
||||
config: Config,
|
||||
codeQlVersion: string,
|
||||
): Promise<string> {
|
||||
const languages = [...config.languages].sort().join("_");
|
||||
|
||||
const cacheKeyComponents = {
|
||||
automationID: await getAutomationID(),
|
||||
// Add more components here as needed in the future
|
||||
};
|
||||
const componentsHash = createCacheKeyHash(cacheKeyComponents);
|
||||
const workflowPrefix = await getCacheWorkflowKeyPrefix();
|
||||
|
||||
// For a cached overlay-base database to be considered compatible for overlay
|
||||
// analysis, all components in the cache restore key must match:
|
||||
//
|
||||
// CACHE_PREFIX: distinguishes overlay-base databases from other cache objects
|
||||
// CACHE_VERSION: cache format version
|
||||
// componentsHash: hash of additional components (see above for details)
|
||||
// workflowPrefix contains components that depend only on the workflow:
|
||||
// CACHE_PREFIX: distinguishes overlay-base databases from other cache objects
|
||||
// CACHE_VERSION: cache format version
|
||||
// componentsHash: hash of additional components (see above for details)
|
||||
// languages: the languages included in the overlay-base database
|
||||
// codeQlVersion: CodeQL bundle version
|
||||
//
|
||||
// Technically we can also include languages and codeQlVersion in the
|
||||
// componentsHash, but including them explicitly in the cache key makes it
|
||||
// easier to debug and understand the cache key structure.
|
||||
return `${CACHE_PREFIX}-${CACHE_VERSION}-${componentsHash}-${languages}-${codeQlVersion}-`;
|
||||
return `${workflowPrefix}${languages}-${codeQlVersion}-`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Computes the cache key prefix that depends only on the workflow.
|
||||
*
|
||||
* @returns A promise that resolves to the common cache key prefix in the format
|
||||
* `${CACHE_PREFIX}-${CACHE_VERSION}-${componentsHash}-`
|
||||
*/
|
||||
export async function getCacheWorkflowKeyPrefix(): Promise<string> {
|
||||
const cacheKeyComponents = {
|
||||
automationID: await getAutomationID(),
|
||||
// Add more components here as needed in the future
|
||||
};
|
||||
const componentsHash = createCacheKeyHash(cacheKeyComponents);
|
||||
return `${CACHE_PREFIX}-${CACHE_VERSION}-${componentsHash}-`;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
11
src/overlay-language-aliases.json
Normal file
11
src/overlay-language-aliases.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"c": "cpp",
|
||||
"c++": "cpp",
|
||||
"c-c++": "cpp",
|
||||
"c-cpp": "cpp",
|
||||
"c#": "csharp",
|
||||
"java-kotlin": "java",
|
||||
"kotlin": "java",
|
||||
"javascript-typescript": "javascript",
|
||||
"typescript": "javascript"
|
||||
}
|
||||
Reference in New Issue
Block a user