Add git version check for overlay analysis enablement

Overlay analysis depends on `getFileOidsUnderPath`, which uses
`git ls-files --format` option that requires Git 2.38.0+. This
change adds a check for the git version before enabling overlay
analysis.

Co-authored-by: henrymercer <14129055+henrymercer@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-12-16 16:22:23 +00:00
parent aff7998c4a
commit 89753aa84b
16 changed files with 755 additions and 497 deletions
+40 -39
View File
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare2 = require_compare();
var gte5 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -30964,7 +30964,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -31009,7 +31009,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -33162,8 +33162,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare2(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare2(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -33194,7 +33194,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -33739,7 +33739,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -33940,7 +33940,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";
@@ -34037,7 +34037,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;
@@ -77574,7 +77574,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");
@@ -77588,7 +77588,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;
@@ -77597,7 +77597,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;
@@ -78528,7 +78528,7 @@ var require_tool_cache = __commonJS({
var os = __importStar4(require("os"));
var path6 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
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");
@@ -78802,7 +78802,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}`);
@@ -78821,7 +78821,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}`);
@@ -78852,7 +78852,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`)) {
@@ -78936,7 +78936,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);
@@ -78946,15 +78946,15 @@ 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;
const valid3 = semver9.valid(c) != null;
core14.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -78963,14 +78963,14 @@ var require_tool_cache = __commonJS({
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;
@@ -84133,7 +84133,7 @@ var require_brace_expansion2 = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -84183,7 +84183,7 @@ var require_brace_expansion2 = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -97488,7 +97488,7 @@ var require_commonjs14 = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand_(str2, isTop) {
@@ -97537,7 +97537,7 @@ var require_commonjs14 = __commonJS({
const reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
const pad = n.some(isPadded);
N = [];
@@ -119751,7 +119751,7 @@ var PACK_IDENTIFIER_PATTERN = (function() {
})();
// src/feature-flags.ts
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/overlay-database-utils.ts
var fs2 = __toESM(require("fs"));
@@ -119762,6 +119762,7 @@ var actionsCache = __toESM(require_cache3());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -120005,13 +120006,13 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
var semver4 = __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);
return !codeQlVersion ? true : semver4.gte(codeQlVersion, SafeArtifactUploadVersion);
}
// src/feature-flags.ts
@@ -120291,20 +120292,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_io2());
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_lib6());
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
+46 -45
View File
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var gte5 = (a, b, loose) => compare3(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare3(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -30964,7 +30964,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -31009,7 +31009,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -33162,8 +33162,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare3(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare3(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -33194,7 +33194,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -33739,7 +33739,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -33940,7 +33940,7 @@ var require_cacheUtils = __commonJS({
var crypto2 = __importStar4(require("crypto"));
var fs17 = __importStar4(require("fs"));
var path16 = __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";
@@ -34037,7 +34037,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);
core15.debug(`zstd version: ${version}`);
if (versionOutput === "") {
return constants_1.CompressionMethod.Gzip;
@@ -77574,7 +77574,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 os5 = require("os");
var cp = require("child_process");
@@ -77588,7 +77588,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;
@@ -77597,7 +77597,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;
@@ -78528,7 +78528,7 @@ var require_tool_cache = __commonJS({
var os5 = __importStar4(require("os"));
var path16 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
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");
@@ -78802,7 +78802,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 || os5.arch();
core15.debug(`Caching tool ${tool} ${version} ${arch2}`);
core15.debug(`source dir: ${sourceDir}`);
@@ -78821,7 +78821,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 || os5.arch();
core15.debug(`Caching tool ${tool} ${version} ${arch2}`);
core15.debug(`source file: ${sourceFile}`);
@@ -78852,7 +78852,7 @@ var require_tool_cache = __commonJS({
}
let toolPath = "";
if (versionSpec) {
versionSpec = semver8.clean(versionSpec) || "";
versionSpec = semver9.clean(versionSpec) || "";
const cachePath = path16.join(_getCacheDirectory(), toolName, versionSpec, arch2);
core15.debug(`checking cache: ${cachePath}`);
if (fs17.existsSync(cachePath) && fs17.existsSync(`${cachePath}.complete`)) {
@@ -78936,7 +78936,7 @@ var require_tool_cache = __commonJS({
}
function _createToolPath(tool, version, arch2) {
return __awaiter4(this, void 0, void 0, function* () {
const folderPath = path16.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
core15.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`;
yield io7.rmRF(folderPath);
@@ -78946,15 +78946,15 @@ var require_tool_cache = __commonJS({
});
}
function _completeToolPath(tool, version, arch2) {
const folderPath = path16.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
const markerPath = `${folderPath}.complete`;
fs17.writeFileSync(markerPath, "");
core15.debug("finished caching tool");
}
function isExplicitVersion(versionSpec) {
const c = semver8.clean(versionSpec) || "";
const c = semver9.clean(versionSpec) || "";
core15.debug(`isExplicit: ${c}`);
const valid3 = semver8.valid(c) != null;
const valid3 = semver9.valid(c) != null;
core15.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -78963,14 +78963,14 @@ var require_tool_cache = __commonJS({
let version = "";
core15.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;
@@ -88208,7 +88208,7 @@ var path5 = __toESM(require("path"));
// src/feature-flags.ts
var fs4 = __toESM(require("fs"));
var path4 = __toESM(require("path"));
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/defaults.json
var bundleVersion = "codeql-bundle-v2.23.8";
@@ -88223,6 +88223,7 @@ var actionsCache = __toESM(require_cache3());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -88646,7 +88647,7 @@ async function getCacheRestoreKeyPrefix(config, codeQlVersion) {
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
var semver4 = __toESM(require_semver2());
function isSupportedToolsFeature(versionInfo, feature) {
return !!versionInfo.features && versionInfo.features[feature];
}
@@ -88959,7 +88960,7 @@ var GitHubFeatureFlags = class {
DEFAULT_VERSION_FEATURE_FLAG_PREFIX.length,
f.length - DEFAULT_VERSION_FEATURE_FLAG_SUFFIX.length
).replace(/_/g, ".");
if (!semver4.valid(version)) {
if (!semver5.valid(version)) {
this.logger.warning(
`Ignoring feature flag ${f} as it does not specify a valid CodeQL version.`
);
@@ -89486,7 +89487,7 @@ var fs9 = __toESM(require("fs"));
var path8 = __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 = [];
@@ -89549,7 +89550,7 @@ var stream = __toESM(require("stream"));
var import_toolrunner = __toESM(require_toolrunner());
var io4 = __toESM(require_io2());
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() {
@@ -89591,9 +89592,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
@@ -89602,7 +89603,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
};
@@ -89709,7 +89710,7 @@ var core9 = __toESM(require_core());
var import_http_client = __toESM(require_lib6());
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) {
@@ -89839,7 +89840,7 @@ function getToolcacheDirectory(version) {
return path7.join(
getRequiredEnvParam("RUNNER_TOOL_CACHE"),
TOOLCACHE_TOOL_NAME,
semver6.clean(version) || version,
semver7.clean(version) || version,
os2.arch() || ""
);
}
@@ -89964,13 +89965,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.`);
}
@@ -90078,7 +90079,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);
}
}
@@ -90349,7 +90350,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) {
@@ -90381,7 +90382,7 @@ async function getNightlyToolsUrl(logger) {
}
}
function getLatestToolcacheVersion(logger) {
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver7.compare(b, a));
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver8.compare(b, a));
logger.debug(
`Found the following versions of the CodeQL tools in the toolcache: ${JSON.stringify(
allVersions
+36 -35
View File
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare2 = require_compare();
var gte5 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -30964,7 +30964,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -31009,7 +31009,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -33162,8 +33162,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare2(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare2(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -33194,7 +33194,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -33739,7 +33739,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -33940,7 +33940,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";
@@ -34037,7 +34037,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;
@@ -77574,7 +77574,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");
@@ -77588,7 +77588,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;
@@ -77597,7 +77597,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;
@@ -78528,7 +78528,7 @@ var require_tool_cache = __commonJS({
var os2 = __importStar4(require("os"));
var path7 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
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");
@@ -78802,7 +78802,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}`);
@@ -78821,7 +78821,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}`);
@@ -78852,7 +78852,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`)) {
@@ -78936,7 +78936,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);
@@ -78946,15 +78946,15 @@ 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;
const valid3 = semver9.valid(c) != null;
core14.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -78963,14 +78963,14 @@ var require_tool_cache = __commonJS({
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;
@@ -83698,7 +83698,7 @@ var PACK_IDENTIFIER_PATTERN = (function() {
// src/feature-flags.ts
var fs3 = __toESM(require("fs"));
var path3 = __toESM(require("path"));
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/defaults.json
var bundleVersion = "codeql-bundle-v2.23.8";
@@ -83713,6 +83713,7 @@ var actionsCache = __toESM(require_cache3());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -83948,7 +83949,7 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
var semver4 = __toESM(require_semver2());
function isSupportedToolsFeature(versionInfo, feature) {
return !!versionInfo.features && versionInfo.features[feature];
}
@@ -84260,7 +84261,7 @@ var GitHubFeatureFlags = class {
DEFAULT_VERSION_FEATURE_FLAG_PREFIX.length,
f.length - DEFAULT_VERSION_FEATURE_FLAG_SUFFIX.length
).replace(/_/g, ".");
if (!semver4.valid(version)) {
if (!semver5.valid(version)) {
this.logger.warning(
`Ignoring feature flag ${f} as it does not specify a valid CodeQL version.`
);
@@ -84500,20 +84501,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_io2());
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_lib6());
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
+51 -50
View File
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var gte5 = (a, b, loose) => compare3(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare3(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -30964,7 +30964,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -31009,7 +31009,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -33162,8 +33162,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare3(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare3(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -33194,7 +33194,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -33739,7 +33739,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -33940,7 +33940,7 @@ var require_cacheUtils = __commonJS({
var crypto = __importStar4(require("crypto"));
var fs17 = __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_constants7();
var versionSalt = "1.0";
@@ -34037,7 +34037,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);
core18.debug(`zstd version: ${version}`);
if (versionOutput === "") {
return constants_1.CompressionMethod.Gzip;
@@ -77574,7 +77574,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 os3 = require("os");
var cp = require("child_process");
@@ -77588,7 +77588,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;
@@ -77597,7 +77597,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;
@@ -78528,7 +78528,7 @@ var require_tool_cache = __commonJS({
var os3 = __importStar4(require("os"));
var path15 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
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");
@@ -78802,7 +78802,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 || os3.arch();
core18.debug(`Caching tool ${tool} ${version} ${arch2}`);
core18.debug(`source dir: ${sourceDir}`);
@@ -78821,7 +78821,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 || os3.arch();
core18.debug(`Caching tool ${tool} ${version} ${arch2}`);
core18.debug(`source file: ${sourceFile}`);
@@ -78852,7 +78852,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);
core18.debug(`checking cache: ${cachePath}`);
if (fs17.existsSync(cachePath) && fs17.existsSync(`${cachePath}.complete`)) {
@@ -78936,7 +78936,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 || "");
core18.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`;
yield io7.rmRF(folderPath);
@@ -78946,15 +78946,15 @@ 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`;
fs17.writeFileSync(markerPath, "");
core18.debug("finished caching tool");
}
function isExplicitVersion(versionSpec) {
const c = semver8.clean(versionSpec) || "";
const c = semver9.clean(versionSpec) || "";
core18.debug(`isExplicit: ${c}`);
const valid3 = semver8.valid(c) != null;
const valid3 = semver9.valid(c) != null;
core18.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -78963,14 +78963,14 @@ var require_tool_cache = __commonJS({
let version = "";
core18.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;
@@ -84133,7 +84133,7 @@ var require_brace_expansion2 = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -84183,7 +84183,7 @@ var require_brace_expansion2 = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -97488,7 +97488,7 @@ var require_commonjs14 = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand_(str2, isTop) {
@@ -97537,7 +97537,7 @@ var require_commonjs14 = __commonJS({
const reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
const pad = n.some(isPadded);
N = [];
@@ -123080,7 +123080,7 @@ var path5 = __toESM(require("path"));
// src/feature-flags.ts
var fs4 = __toESM(require("fs"));
var path4 = __toESM(require("path"));
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/defaults.json
var bundleVersion = "codeql-bundle-v2.23.8";
@@ -123095,6 +123095,7 @@ var actionsCache = __toESM(require_cache3());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -123383,13 +123384,13 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
var semver4 = __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);
return !codeQlVersion ? true : semver4.gte(codeQlVersion, SafeArtifactUploadVersion);
}
// src/feature-flags.ts
@@ -123700,7 +123701,7 @@ var GitHubFeatureFlags = class {
DEFAULT_VERSION_FEATURE_FLAG_PREFIX.length,
f.length - DEFAULT_VERSION_FEATURE_FLAG_SUFFIX.length
).replace(/_/g, ".");
if (!semver4.valid(version)) {
if (!semver5.valid(version)) {
this.logger.warning(
`Ignoring feature flag ${f} as it does not specify a valid CodeQL version.`
);
@@ -123963,7 +123964,7 @@ var fs9 = __toESM(require("fs"));
var path8 = __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 = [];
@@ -124026,7 +124027,7 @@ var stream = __toESM(require("stream"));
var import_toolrunner = __toESM(require_toolrunner());
var io4 = __toESM(require_io2());
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() {
@@ -124068,9 +124069,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
@@ -124079,7 +124080,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
};
@@ -124186,7 +124187,7 @@ var core9 = __toESM(require_core());
var import_http_client = __toESM(require_lib6());
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) {
@@ -124316,7 +124317,7 @@ function getToolcacheDirectory(version) {
return path7.join(
getRequiredEnvParam("RUNNER_TOOL_CACHE"),
TOOLCACHE_TOOL_NAME,
semver6.clean(version) || version,
semver7.clean(version) || version,
os.arch() || ""
);
}
@@ -124441,13 +124442,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.`);
}
@@ -124555,7 +124556,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);
}
}
@@ -124826,7 +124827,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) {
@@ -124858,7 +124859,7 @@ async function getNightlyToolsUrl(logger) {
}
}
function getLatestToolcacheVersion(logger) {
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver7.compare(b, a));
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver8.compare(b, a));
logger.debug(
`Found the following versions of the CodeQL tools in the toolcache: ${JSON.stringify(
allVersions
+81 -48
View File
@@ -20995,8 +20995,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare2 = require_compare();
var gte5 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -21017,7 +21017,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt2 = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -21047,7 +21047,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt2(a, b, loose);
case "<=":
@@ -21806,7 +21806,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt2 = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -21821,7 +21821,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt2;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -22136,7 +22136,7 @@ var require_semver2 = __commonJS({
var lt2 = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -22174,7 +22174,7 @@ var require_semver2 = __commonJS({
lt: lt2,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -31115,7 +31115,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -31160,7 +31160,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -33313,8 +33313,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare2(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare2(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -33345,7 +33345,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt2(a, b, loose);
case "<=":
@@ -33890,7 +33890,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt2;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -34091,7 +34091,7 @@ var require_cacheUtils = __commonJS({
var crypto2 = __importStar4(require("crypto"));
var fs15 = __importStar4(require("fs"));
var path16 = __importStar4(require("path"));
var semver9 = __importStar4(require_semver3());
var semver10 = __importStar4(require_semver3());
var util = __importStar4(require("util"));
var constants_1 = require_constants7();
var versionSalt = "1.0";
@@ -34188,7 +34188,7 @@ var require_cacheUtils = __commonJS({
function getCompressionMethod() {
return __awaiter4(this, void 0, void 0, function* () {
const versionOutput = yield getVersion("zstd", ["--quiet"]);
const version = semver9.clean(versionOutput);
const version = semver10.clean(versionOutput);
core14.debug(`zstd version: ${version}`);
if (versionOutput === "") {
return constants_1.CompressionMethod.Gzip;
@@ -78822,7 +78822,7 @@ var require_manifest = __commonJS({
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
var semver9 = __importStar4(require_semver2());
var semver10 = __importStar4(require_semver2());
var core_1 = require_core();
var os5 = require("os");
var cp = require("child_process");
@@ -78836,7 +78836,7 @@ var require_manifest = __commonJS({
for (const candidate of candidates) {
const version = candidate.version;
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
if (semver10.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;
@@ -78845,7 +78845,7 @@ var require_manifest = __commonJS({
if (osVersion === item.platform_version) {
chk = true;
} else {
chk = semver9.satisfies(osVersion, item.platform_version);
chk = semver10.satisfies(osVersion, item.platform_version);
}
}
return chk;
@@ -79776,7 +79776,7 @@ var require_tool_cache = __commonJS({
var os5 = __importStar4(require("os"));
var path16 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
var semver9 = __importStar4(require_semver2());
var semver10 = __importStar4(require_semver2());
var stream2 = __importStar4(require("stream"));
var util = __importStar4(require("util"));
var assert_1 = require("assert");
@@ -80050,7 +80050,7 @@ var require_tool_cache = __commonJS({
}
function cacheDir(sourceDir, tool, version, arch2) {
return __awaiter4(this, void 0, void 0, function* () {
version = semver9.clean(version) || version;
version = semver10.clean(version) || version;
arch2 = arch2 || os5.arch();
core14.debug(`Caching tool ${tool} ${version} ${arch2}`);
core14.debug(`source dir: ${sourceDir}`);
@@ -80069,7 +80069,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 = semver9.clean(version) || version;
version = semver10.clean(version) || version;
arch2 = arch2 || os5.arch();
core14.debug(`Caching tool ${tool} ${version} ${arch2}`);
core14.debug(`source file: ${sourceFile}`);
@@ -80100,7 +80100,7 @@ var require_tool_cache = __commonJS({
}
let toolPath = "";
if (versionSpec) {
versionSpec = semver9.clean(versionSpec) || "";
versionSpec = semver10.clean(versionSpec) || "";
const cachePath = path16.join(_getCacheDirectory(), toolName, versionSpec, arch2);
core14.debug(`checking cache: ${cachePath}`);
if (fs15.existsSync(cachePath) && fs15.existsSync(`${cachePath}.complete`)) {
@@ -80184,7 +80184,7 @@ var require_tool_cache = __commonJS({
}
function _createToolPath(tool, version, arch2) {
return __awaiter4(this, void 0, void 0, function* () {
const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
const folderPath = path16.join(_getCacheDirectory(), tool, semver10.clean(version) || version, arch2 || "");
core14.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`;
yield io7.rmRF(folderPath);
@@ -80194,15 +80194,15 @@ var require_tool_cache = __commonJS({
});
}
function _completeToolPath(tool, version, arch2) {
const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
const folderPath = path16.join(_getCacheDirectory(), tool, semver10.clean(version) || version, arch2 || "");
const markerPath = `${folderPath}.complete`;
fs15.writeFileSync(markerPath, "");
core14.debug("finished caching tool");
}
function isExplicitVersion(versionSpec) {
const c = semver9.clean(versionSpec) || "";
const c = semver10.clean(versionSpec) || "";
core14.debug(`isExplicit: ${c}`);
const valid3 = semver9.valid(c) != null;
const valid3 = semver10.valid(c) != null;
core14.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -80211,14 +80211,14 @@ var require_tool_cache = __commonJS({
let version = "";
core14.debug(`evaluating ${versions.length} versions`);
versions = versions.sort((a, b) => {
if (semver9.gt(a, b)) {
if (semver10.gt(a, b)) {
return 1;
}
return -1;
});
for (let i = versions.length - 1; i >= 0; i--) {
const potential = versions[i];
const satisfied = semver9.satisfies(potential, versionSpec);
const satisfied = semver10.satisfies(potential, versionSpec);
if (satisfied) {
version = potential;
break;
@@ -81571,7 +81571,7 @@ var fs14 = __toESM(require("fs"));
var path15 = __toESM(require("path"));
var core13 = __toESM(require_core());
var io6 = __toESM(require_io2());
var semver8 = __toESM(require_semver2());
var semver9 = __toESM(require_semver2());
// node_modules/uuid/dist-node/stringify.js
var byteToHex = [];
@@ -85632,7 +85632,7 @@ function parseUserConfig(logger, pathInput, contents, validateConfig) {
// src/feature-flags.ts
var fs4 = __toESM(require("fs"));
var path5 = __toESM(require("path"));
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/defaults.json
var bundleVersion = "codeql-bundle-v2.23.8";
@@ -85647,6 +85647,33 @@ var actionsCache = __toESM(require_cache3());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
var GIT_MINIMUM_VERSION_FOR_OVERLAY = "2.38.0";
async function getGitVersion() {
try {
const stdout = await runGitCommand(
void 0,
["--version"],
"Failed to get git version."
);
const match = stdout.match(/git version (\d+\.\d+\.\d+)/);
if (match?.[1]) {
return match[1];
}
return void 0;
} catch {
return void 0;
}
}
async function gitVersionAtLeast(requiredVersion, logger) {
const version = await getGitVersion();
if (version === void 0) {
logger.debug("Could not determine Git version.");
return false;
}
logger.debug(`Installed Git version is ${version}.`);
return semver3.gte(version, requiredVersion);
}
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -86060,7 +86087,7 @@ async function getCacheRestoreKeyPrefix(config, codeQlVersion) {
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
var semver4 = __toESM(require_semver2());
function isSupportedToolsFeature(versionInfo, feature) {
return !!versionInfo.features && versionInfo.features[feature];
}
@@ -86373,7 +86400,7 @@ var GitHubFeatureFlags = class {
DEFAULT_VERSION_FEATURE_FLAG_PREFIX.length,
f.length - DEFAULT_VERSION_FEATURE_FLAG_SUFFIX.length
).replace(/_/g, ".");
if (!semver4.valid(version)) {
if (!semver5.valid(version)) {
this.logger.warning(
`Ignoring feature flag ${f} as it does not specify a valid CodeQL version.`
);
@@ -87028,6 +87055,12 @@ async function getOverlayDatabaseMode(codeql, features, languages, sourceRoot, b
);
return nonOverlayAnalysis;
}
if (!await gitVersionAtLeast(GIT_MINIMUM_VERSION_FOR_OVERLAY, logger)) {
logger.warning(
`Cannot build an ${overlayDatabaseMode} database because the installed Git version is older than ${GIT_MINIMUM_VERSION_FOR_OVERLAY}. Falling back to creating a normal full database instead.`
);
return nonOverlayAnalysis;
}
return {
overlayDatabaseMode,
useOverlayDatabaseCaching
@@ -87817,7 +87850,7 @@ var fs9 = __toESM(require("fs"));
var path10 = __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());
// src/tar.ts
var import_child_process = require("child_process");
@@ -87826,7 +87859,7 @@ var stream = __toESM(require("stream"));
var import_toolrunner = __toESM(require_toolrunner());
var io4 = __toESM(require_io2());
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() {
@@ -87868,9 +87901,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
@@ -87879,7 +87912,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
};
@@ -87986,7 +88019,7 @@ var core9 = __toESM(require_core());
var import_http_client = __toESM(require_lib6());
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) {
@@ -88116,7 +88149,7 @@ function getToolcacheDirectory(version) {
return path9.join(
getRequiredEnvParam("RUNNER_TOOL_CACHE"),
TOOLCACHE_TOOL_NAME,
semver6.clean(version) || version,
semver7.clean(version) || version,
os3.arch() || ""
);
}
@@ -88241,13 +88274,13 @@ function tryGetTagNameFromUrl(url, 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.`);
}
@@ -88355,7 +88388,7 @@ async function getCodeQLSource(toolsInput, defaultCliVersion, apiDetails, varian
url = toolsInput;
if (tagName) {
const bundleVersion3 = tryGetBundleVersionFromTagName(tagName, logger);
if (bundleVersion3 && semver7.valid(bundleVersion3)) {
if (bundleVersion3 && semver8.valid(bundleVersion3)) {
cliVersion2 = convertToSemVer(bundleVersion3, logger);
}
}
@@ -88626,7 +88659,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) {
@@ -88658,7 +88691,7 @@ async function getNightlyToolsUrl(logger) {
}
}
function getLatestToolcacheVersion(logger) {
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver7.compare(b, a));
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver8.compare(b, a));
logger.debug(
`Found the following versions of the CodeQL tools in the toolcache: ${JSON.stringify(
allVersions
@@ -90035,12 +90068,12 @@ async function run() {
const experimental = "2.19.3";
const publicPreview = "2.22.1";
const actualVer = (await codeql.getVersion()).version;
if (semver8.lt(actualVer, experimental)) {
if (semver9.lt(actualVer, experimental)) {
throw new ConfigurationError(
`Rust analysis is supported by CodeQL CLI version ${experimental} or higher, but found version ${actualVer}`
);
}
if (semver8.lt(actualVer, publicPreview)) {
if (semver9.lt(actualVer, publicPreview)) {
core13.exportVariable("CODEQL_ENABLE_EXPERIMENTAL_FEATURES" /* EXPERIMENTAL_FEATURES */, "true");
logger.info("Experimental Rust analysis enabled");
}
+35 -34
View File
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare2 = require_compare();
var gte5 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -30964,7 +30964,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -31009,7 +31009,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -33162,8 +33162,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare2(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare2(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -33194,7 +33194,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -33739,7 +33739,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -33940,7 +33940,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";
@@ -34037,7 +34037,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;
@@ -77574,7 +77574,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");
@@ -77588,7 +77588,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;
@@ -77597,7 +77597,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;
@@ -78528,7 +78528,7 @@ var require_tool_cache = __commonJS({
var os2 = __importStar4(require("os"));
var path5 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
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");
@@ -78802,7 +78802,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}`);
@@ -78821,7 +78821,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}`);
@@ -78852,7 +78852,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`)) {
@@ -78936,7 +78936,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);
@@ -78946,15 +78946,15 @@ 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;
const valid3 = semver9.valid(c) != null;
core13.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -78963,14 +78963,14 @@ var require_tool_cache = __commonJS({
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;
@@ -83695,7 +83695,7 @@ var PACK_IDENTIFIER_PATTERN = (function() {
})();
// src/feature-flags.ts
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/overlay-database-utils.ts
var fs2 = __toESM(require("fs"));
@@ -83706,6 +83706,7 @@ var actionsCache = __toESM(require_cache3());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -83941,7 +83942,7 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
var semver4 = __toESM(require_semver2());
function isSupportedToolsFeature(versionInfo, feature) {
return !!versionInfo.features && versionInfo.features[feature];
}
@@ -84229,20 +84230,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_io2());
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_lib6());
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
+47 -46
View File
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare2 = require_compare();
var gte5 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -29667,7 +29667,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -29712,7 +29712,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -31865,8 +31865,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare2(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare2(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -31897,7 +31897,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -32442,7 +32442,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -32643,7 +32643,7 @@ var require_cacheUtils = __commonJS({
var crypto = __importStar4(require("crypto"));
var fs9 = __importStar4(require("fs"));
var path8 = __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";
@@ -32740,7 +32740,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;
@@ -77574,7 +77574,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 os3 = require("os");
var cp = require("child_process");
@@ -77588,7 +77588,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;
@@ -77597,7 +77597,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;
@@ -78528,7 +78528,7 @@ var require_tool_cache = __commonJS({
var os3 = __importStar4(require("os"));
var path8 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
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");
@@ -78802,7 +78802,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 || os3.arch();
core13.debug(`Caching tool ${tool} ${version} ${arch2}`);
core13.debug(`source dir: ${sourceDir}`);
@@ -78821,7 +78821,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 || os3.arch();
core13.debug(`Caching tool ${tool} ${version} ${arch2}`);
core13.debug(`source file: ${sourceFile}`);
@@ -78852,7 +78852,7 @@ var require_tool_cache = __commonJS({
}
let toolPath = "";
if (versionSpec) {
versionSpec = semver8.clean(versionSpec) || "";
versionSpec = semver9.clean(versionSpec) || "";
const cachePath = path8.join(_getCacheDirectory(), toolName, versionSpec, arch2);
core13.debug(`checking cache: ${cachePath}`);
if (fs9.existsSync(cachePath) && fs9.existsSync(`${cachePath}.complete`)) {
@@ -78936,7 +78936,7 @@ var require_tool_cache = __commonJS({
}
function _createToolPath(tool, version, arch2) {
return __awaiter4(this, void 0, void 0, function* () {
const folderPath = path8.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
const folderPath = path8.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
core13.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`;
yield io6.rmRF(folderPath);
@@ -78946,15 +78946,15 @@ var require_tool_cache = __commonJS({
});
}
function _completeToolPath(tool, version, arch2) {
const folderPath = path8.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
const folderPath = path8.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
const markerPath = `${folderPath}.complete`;
fs9.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;
const valid3 = semver9.valid(c) != null;
core13.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -78963,14 +78963,14 @@ var require_tool_cache = __commonJS({
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;
@@ -83586,7 +83586,7 @@ function wrapApiConfigurationError(e) {
// src/feature-flags.ts
var fs4 = __toESM(require("fs"));
var path4 = __toESM(require("path"));
var semver3 = __toESM(require_semver2());
var semver4 = __toESM(require_semver2());
// src/defaults.json
var bundleVersion = "codeql-bundle-v2.23.8";
@@ -83604,6 +83604,7 @@ var core6 = __toESM(require_core());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver2 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -83850,7 +83851,7 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
}
// src/tools-features.ts
var semver2 = __toESM(require_semver2());
var semver3 = __toESM(require_semver2());
function isSupportedToolsFeature(versionInfo, feature) {
return !!versionInfo.features && versionInfo.features[feature];
}
@@ -84163,7 +84164,7 @@ var GitHubFeatureFlags = class {
DEFAULT_VERSION_FEATURE_FLAG_PREFIX.length,
f.length - DEFAULT_VERSION_FEATURE_FLAG_SUFFIX.length
).replace(/_/g, ".");
if (!semver3.valid(version)) {
if (!semver4.valid(version)) {
this.logger.warning(
`Ignoring feature flag ${f} as it does not specify a valid CodeQL version.`
);
@@ -84586,7 +84587,7 @@ var supportedAnalysisKinds = new Set(Object.values(AnalysisKind));
// src/config/db-config.ts
var jsonschema = __toESM(require_lib4());
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
var PACK_IDENTIFIER_PATTERN = (function() {
const alphaNumeric = "[a-z0-9]";
const alphaNumericDash = "[a-z0-9-]";
@@ -84649,7 +84650,7 @@ var fs7 = __toESM(require("fs"));
var path6 = __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());
// src/tar.ts
var import_child_process = require("child_process");
@@ -84658,7 +84659,7 @@ var stream = __toESM(require("stream"));
var import_toolrunner = __toESM(require_toolrunner());
var io4 = __toESM(require_io2());
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() {
@@ -84700,9 +84701,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
@@ -84711,7 +84712,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
};
@@ -84818,7 +84819,7 @@ var core9 = __toESM(require_core());
var import_http_client = __toESM(require_lib6());
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) {
@@ -84948,7 +84949,7 @@ function getToolcacheDirectory(version) {
return path5.join(
getRequiredEnvParam("RUNNER_TOOL_CACHE"),
TOOLCACHE_TOOL_NAME,
semver6.clean(version) || version,
semver7.clean(version) || version,
os.arch() || ""
);
}
@@ -85073,13 +85074,13 @@ function tryGetTagNameFromUrl(url, 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.`);
}
@@ -85187,7 +85188,7 @@ async function getCodeQLSource(toolsInput, defaultCliVersion, apiDetails, varian
url = toolsInput;
if (tagName) {
const bundleVersion3 = tryGetBundleVersionFromTagName(tagName, logger);
if (bundleVersion3 && semver7.valid(bundleVersion3)) {
if (bundleVersion3 && semver8.valid(bundleVersion3)) {
cliVersion2 = convertToSemVer(bundleVersion3, logger);
}
}
@@ -85458,7 +85459,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) {
@@ -85490,7 +85491,7 @@ async function getNightlyToolsUrl(logger) {
}
}
function getLatestToolcacheVersion(logger) {
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver7.compare(b, a));
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver8.compare(b, a));
logger.debug(
`Found the following versions of the CodeQL tools in the toolcache: ${JSON.stringify(
allVersions
+39 -38
View File
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare2 = require_compare();
var gte5 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -30964,7 +30964,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -31009,7 +31009,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -33162,8 +33162,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare2(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare2(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -33194,7 +33194,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -33739,7 +33739,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -33940,7 +33940,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";
@@ -34037,7 +34037,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;
@@ -80908,7 +80908,7 @@ var require_brace_expansion2 = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -80958,7 +80958,7 @@ var require_brace_expansion2 = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -94263,7 +94263,7 @@ var require_commonjs14 = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand_(str2, isTop) {
@@ -94312,7 +94312,7 @@ var require_commonjs14 = __commonJS({
const reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
const pad = n.some(isPadded);
N = [];
@@ -112698,7 +112698,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");
@@ -112712,7 +112712,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;
@@ -112721,7 +112721,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;
@@ -113652,7 +113652,7 @@ var require_tool_cache = __commonJS({
var os = __importStar4(require("os"));
var path2 = __importStar4(require("path"));
var httpm = __importStar4(require_lib8());
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");
@@ -113926,7 +113926,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}`);
@@ -113945,7 +113945,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}`);
@@ -113976,7 +113976,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`)) {
@@ -114060,7 +114060,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);
@@ -114070,15 +114070,15 @@ 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;
const valid3 = semver9.valid(c) != null;
core14.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -114087,14 +114087,14 @@ var require_tool_cache = __commonJS({
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;
@@ -119388,7 +119388,7 @@ var PACK_IDENTIFIER_PATTERN = (function() {
})();
// src/feature-flags.ts
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/overlay-database-utils.ts
var actionsCache = __toESM(require_cache3());
@@ -119397,6 +119397,7 @@ var actionsCache = __toESM(require_cache3());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
// src/logging.ts
var core8 = __toESM(require_core());
@@ -119418,7 +119419,7 @@ var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 7500;
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 semver4 = __toESM(require_semver2());
// src/feature-flags.ts
var featureConfig = {
@@ -119831,20 +119832,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_io2());
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_lib9());
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
+32 -31
View File
@@ -20958,8 +20958,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare = require_compare();
var gte3 = (a, b, loose) => compare(a, b, loose) >= 0;
module2.exports = gte3;
var gte4 = (a, b, loose) => compare(a, b, loose) >= 0;
module2.exports = gte4;
}
});
@@ -20980,7 +20980,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte3 = require_gte();
var gte4 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -21010,7 +21010,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte3(a, b, loose);
return gte4(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -21769,7 +21769,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte3 = require_gte();
var gte4 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -21784,7 +21784,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte3;
ltefn = gte4;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -22099,7 +22099,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte3 = require_gte();
var gte4 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce2 = require_coerce();
@@ -22137,7 +22137,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte3,
gte: gte4,
lte,
cmp,
coerce: coerce2,
@@ -22227,7 +22227,7 @@ var require_manifest = __commonJS({
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
var semver5 = __importStar4(require_semver2());
var semver6 = __importStar4(require_semver2());
var core_1 = require_core();
var os2 = require("os");
var cp = require("child_process");
@@ -22241,7 +22241,7 @@ var require_manifest = __commonJS({
for (const candidate of candidates) {
const version = candidate.version;
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
if (semver5.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
if (semver6.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;
@@ -22250,7 +22250,7 @@ var require_manifest = __commonJS({
if (osVersion === item.platform_version) {
chk = true;
} else {
chk = semver5.satisfies(osVersion, item.platform_version);
chk = semver6.satisfies(osVersion, item.platform_version);
}
}
return chk;
@@ -23181,7 +23181,7 @@ var require_tool_cache = __commonJS({
var os2 = __importStar4(require("os"));
var path2 = __importStar4(require("path"));
var httpm = __importStar4(require_lib2());
var semver5 = __importStar4(require_semver2());
var semver6 = __importStar4(require_semver2());
var stream = __importStar4(require("stream"));
var util = __importStar4(require("util"));
var assert_1 = require("assert");
@@ -23455,7 +23455,7 @@ var require_tool_cache = __commonJS({
}
function cacheDir2(sourceDir, tool, version, arch) {
return __awaiter4(this, void 0, void 0, function* () {
version = semver5.clean(version) || version;
version = semver6.clean(version) || version;
arch = arch || os2.arch();
core12.debug(`Caching tool ${tool} ${version} ${arch}`);
core12.debug(`source dir: ${sourceDir}`);
@@ -23474,7 +23474,7 @@ var require_tool_cache = __commonJS({
exports2.cacheDir = cacheDir2;
function cacheFile(sourceFile, targetFile, tool, version, arch) {
return __awaiter4(this, void 0, void 0, function* () {
version = semver5.clean(version) || version;
version = semver6.clean(version) || version;
arch = arch || os2.arch();
core12.debug(`Caching tool ${tool} ${version} ${arch}`);
core12.debug(`source file: ${sourceFile}`);
@@ -23505,7 +23505,7 @@ var require_tool_cache = __commonJS({
}
let toolPath = "";
if (versionSpec) {
versionSpec = semver5.clean(versionSpec) || "";
versionSpec = semver6.clean(versionSpec) || "";
const cachePath = path2.join(_getCacheDirectory(), toolName, versionSpec, arch);
core12.debug(`checking cache: ${cachePath}`);
if (fs.existsSync(cachePath) && fs.existsSync(`${cachePath}.complete`)) {
@@ -23589,7 +23589,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, semver5.clean(version) || version, arch || "");
const folderPath = path2.join(_getCacheDirectory(), tool, semver6.clean(version) || version, arch || "");
core12.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`;
yield io4.rmRF(folderPath);
@@ -23599,15 +23599,15 @@ var require_tool_cache = __commonJS({
});
}
function _completeToolPath(tool, version, arch) {
const folderPath = path2.join(_getCacheDirectory(), tool, semver5.clean(version) || version, arch || "");
const folderPath = path2.join(_getCacheDirectory(), tool, semver6.clean(version) || version, arch || "");
const markerPath = `${folderPath}.complete`;
fs.writeFileSync(markerPath, "");
core12.debug("finished caching tool");
}
function isExplicitVersion(versionSpec) {
const c = semver5.clean(versionSpec) || "";
const c = semver6.clean(versionSpec) || "";
core12.debug(`isExplicit: ${c}`);
const valid2 = semver5.valid(c) != null;
const valid2 = semver6.valid(c) != null;
core12.debug(`explicit? ${valid2}`);
return valid2;
}
@@ -23616,14 +23616,14 @@ var require_tool_cache = __commonJS({
let version = "";
core12.debug(`evaluating ${versions.length} versions`);
versions = versions.sort((a, b) => {
if (semver5.gt(a, b)) {
if (semver6.gt(a, b)) {
return 1;
}
return -1;
});
for (let i = versions.length - 1; i >= 0; i--) {
const potential = versions[i];
const satisfied = semver5.satisfies(potential, versionSpec);
const satisfied = semver6.satisfies(potential, versionSpec);
if (satisfied) {
version = potential;
break;
@@ -50659,7 +50659,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte3(i, y) {
function gte4(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -50704,7 +50704,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte3;
test = gte4;
}
var pad = n.some(isPadded);
N = [];
@@ -52857,8 +52857,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare(a, b, loose) !== 0;
}
exports2.gte = gte3;
function gte3(a, b, loose) {
exports2.gte = gte4;
function gte4(a, b, loose) {
return compare(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -52889,7 +52889,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte3(a, b, loose);
return gte4(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -53434,7 +53434,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte3;
ltefn = gte4;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -53635,7 +53635,7 @@ var require_cacheUtils = __commonJS({
var crypto = __importStar4(require("crypto"));
var fs = __importStar4(require("fs"));
var path2 = __importStar4(require("path"));
var semver5 = __importStar4(require_semver3());
var semver6 = __importStar4(require_semver3());
var util = __importStar4(require("util"));
var constants_1 = require_constants7();
var versionSalt = "1.0";
@@ -53732,7 +53732,7 @@ var require_cacheUtils = __commonJS({
function getCompressionMethod() {
return __awaiter4(this, void 0, void 0, function* () {
const versionOutput = yield getVersion("zstd", ["--quiet"]);
const version = semver5.clean(versionOutput);
const version = semver6.clean(versionOutput);
core12.debug(`zstd version: ${version}`);
if (versionOutput === "") {
return constants_1.CompressionMethod.Gzip;
@@ -99906,7 +99906,7 @@ var PACK_IDENTIFIER_PATTERN = (function() {
})();
// src/feature-flags.ts
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/overlay-database-utils.ts
var actionsCache = __toESM(require_cache3());
@@ -99915,6 +99915,7 @@ var actionsCache = __toESM(require_cache3());
var core9 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io3());
var semver3 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -100009,7 +100010,7 @@ var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 7500;
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 semver4 = __toESM(require_semver2());
// src/feature-flags.ts
var featureConfig = {
+45 -44
View File
@@ -27710,8 +27710,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var gte5 = (a, b, loose) => compare3(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare3(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -27732,7 +27732,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -27762,7 +27762,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -28521,7 +28521,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -28536,7 +28536,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -28851,7 +28851,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -28889,7 +28889,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -30964,7 +30964,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -31009,7 +31009,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -33162,8 +33162,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare3(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare3(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -33194,7 +33194,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -33739,7 +33739,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -33940,7 +33940,7 @@ var require_cacheUtils = __commonJS({
var crypto = __importStar4(require("crypto"));
var fs12 = __importStar4(require("fs"));
var path11 = __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";
@@ -34037,7 +34037,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;
@@ -77574,7 +77574,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");
@@ -77588,7 +77588,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;
@@ -77597,7 +77597,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;
@@ -78528,7 +78528,7 @@ var require_tool_cache = __commonJS({
var os2 = __importStar4(require("os"));
var path11 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
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");
@@ -78802,7 +78802,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}`);
@@ -78821,7 +78821,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}`);
@@ -78852,7 +78852,7 @@ var require_tool_cache = __commonJS({
}
let toolPath = "";
if (versionSpec) {
versionSpec = semver8.clean(versionSpec) || "";
versionSpec = semver9.clean(versionSpec) || "";
const cachePath = path11.join(_getCacheDirectory(), toolName, versionSpec, arch2);
core12.debug(`checking cache: ${cachePath}`);
if (fs12.existsSync(cachePath) && fs12.existsSync(`${cachePath}.complete`)) {
@@ -78936,7 +78936,7 @@ var require_tool_cache = __commonJS({
}
function _createToolPath(tool, version, arch2) {
return __awaiter4(this, void 0, void 0, function* () {
const folderPath = path11.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
const folderPath = path11.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
core12.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`;
yield io6.rmRF(folderPath);
@@ -78946,15 +78946,15 @@ var require_tool_cache = __commonJS({
});
}
function _completeToolPath(tool, version, arch2) {
const folderPath = path11.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
const folderPath = path11.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
const markerPath = `${folderPath}.complete`;
fs12.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;
const valid3 = semver9.valid(c) != null;
core12.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -78963,14 +78963,14 @@ var require_tool_cache = __commonJS({
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;
@@ -86721,7 +86721,7 @@ var fs4 = __toESM(require("fs"));
var path4 = __toESM(require("path"));
// src/feature-flags.ts
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/defaults.json
var bundleVersion = "codeql-bundle-v2.23.8";
@@ -86736,6 +86736,7 @@ var actionsCache = __toESM(require_cache3());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -87005,7 +87006,7 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
var semver4 = __toESM(require_semver2());
function isSupportedToolsFeature(versionInfo, feature) {
return !!versionInfo.features && versionInfo.features[feature];
}
@@ -87308,7 +87309,7 @@ var fs8 = __toESM(require("fs"));
var path7 = __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 = [];
@@ -87371,7 +87372,7 @@ var stream = __toESM(require("stream"));
var import_toolrunner = __toESM(require_toolrunner());
var io4 = __toESM(require_io2());
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() {
@@ -87413,9 +87414,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
@@ -87424,7 +87425,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
};
@@ -87531,7 +87532,7 @@ var core9 = __toESM(require_core());
var import_http_client = __toESM(require_lib6());
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) {
@@ -87661,7 +87662,7 @@ function getToolcacheDirectory(version) {
return path6.join(
getRequiredEnvParam("RUNNER_TOOL_CACHE"),
TOOLCACHE_TOOL_NAME,
semver6.clean(version) || version,
semver7.clean(version) || version,
os.arch() || ""
);
}
@@ -87786,13 +87787,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.`);
}
@@ -87900,7 +87901,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);
}
}
@@ -88171,7 +88172,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) {
@@ -88203,7 +88204,7 @@ async function getNightlyToolsUrl(logger) {
}
}
function getLatestToolcacheVersion(logger) {
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver7.compare(b, a));
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver8.compare(b, a));
logger.debug(
`Found the following versions of the CodeQL tools in the toolcache: ${JSON.stringify(
allVersions
+40 -39
View File
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare2 = require_compare();
var gte5 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -72469,7 +72469,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -72519,7 +72519,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -85824,7 +85824,7 @@ var require_commonjs14 = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand_(str2, isTop) {
@@ -85873,7 +85873,7 @@ var require_commonjs14 = __commonJS({
const reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
const pad = n.some(isPadded);
N = [];
@@ -105436,7 +105436,7 @@ var require_brace_expansion2 = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -105481,7 +105481,7 @@ var require_brace_expansion2 = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -107634,8 +107634,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare2(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare2(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -107666,7 +107666,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -108211,7 +108211,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -108412,7 +108412,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";
@@ -108509,7 +108509,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;
@@ -112698,7 +112698,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");
@@ -112712,7 +112712,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;
@@ -112721,7 +112721,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;
@@ -113652,7 +113652,7 @@ var require_tool_cache = __commonJS({
var os = __importStar4(require("os"));
var path2 = __importStar4(require("path"));
var httpm = __importStar4(require_lib8());
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");
@@ -113926,7 +113926,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}`);
@@ -113945,7 +113945,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}`);
@@ -113976,7 +113976,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`)) {
@@ -114060,7 +114060,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);
@@ -114070,15 +114070,15 @@ 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;
const valid3 = semver9.valid(c) != null;
core14.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -114087,14 +114087,14 @@ var require_tool_cache = __commonJS({
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;
@@ -119542,7 +119542,7 @@ var PACK_IDENTIFIER_PATTERN = (function() {
})();
// src/feature-flags.ts
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/overlay-database-utils.ts
var actionsCache = __toESM(require_cache3());
@@ -119551,6 +119551,7 @@ var actionsCache = __toESM(require_cache3());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
// src/logging.ts
var core8 = __toESM(require_core());
@@ -119580,10 +119581,10 @@ var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 7500;
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 semver4 = __toESM(require_semver2());
var SafeArtifactUploadVersion = "2.20.3";
function isSafeArtifactUpload(codeQlVersion) {
return !codeQlVersion ? true : semver3.gte(codeQlVersion, SafeArtifactUploadVersion);
return !codeQlVersion ? true : semver4.gte(codeQlVersion, SafeArtifactUploadVersion);
}
// src/feature-flags.ts
@@ -119821,20 +119822,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_io2());
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_lib9());
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
+47 -46
View File
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare3 = require_compare();
var gte5 = (a, b, loose) => compare3(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare3(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -29667,7 +29667,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -29712,7 +29712,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -31865,8 +31865,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare3(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare3(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -31897,7 +31897,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -32442,7 +32442,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -32643,7 +32643,7 @@ var require_cacheUtils = __commonJS({
var crypto = __importStar4(require("crypto"));
var fs13 = __importStar4(require("fs"));
var path12 = __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";
@@ -32740,7 +32740,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;
@@ -77574,7 +77574,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 os3 = require("os");
var cp = require("child_process");
@@ -77588,7 +77588,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;
@@ -77597,7 +77597,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;
@@ -78528,7 +78528,7 @@ var require_tool_cache = __commonJS({
var os3 = __importStar4(require("os"));
var path12 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
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");
@@ -78802,7 +78802,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 || os3.arch();
core14.debug(`Caching tool ${tool} ${version} ${arch2}`);
core14.debug(`source dir: ${sourceDir}`);
@@ -78821,7 +78821,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 || os3.arch();
core14.debug(`Caching tool ${tool} ${version} ${arch2}`);
core14.debug(`source file: ${sourceFile}`);
@@ -78852,7 +78852,7 @@ var require_tool_cache = __commonJS({
}
let toolPath = "";
if (versionSpec) {
versionSpec = semver8.clean(versionSpec) || "";
versionSpec = semver9.clean(versionSpec) || "";
const cachePath = path12.join(_getCacheDirectory(), toolName, versionSpec, arch2);
core14.debug(`checking cache: ${cachePath}`);
if (fs13.existsSync(cachePath) && fs13.existsSync(`${cachePath}.complete`)) {
@@ -78936,7 +78936,7 @@ var require_tool_cache = __commonJS({
}
function _createToolPath(tool, version, arch2) {
return __awaiter4(this, void 0, void 0, function* () {
const folderPath = path12.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
const folderPath = path12.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
core14.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`;
yield io6.rmRF(folderPath);
@@ -78946,15 +78946,15 @@ var require_tool_cache = __commonJS({
});
}
function _completeToolPath(tool, version, arch2) {
const folderPath = path12.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch2 || "");
const folderPath = path12.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
const markerPath = `${folderPath}.complete`;
fs13.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;
const valid3 = semver9.valid(c) != null;
core14.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -78963,14 +78963,14 @@ var require_tool_cache = __commonJS({
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;
@@ -86502,7 +86502,7 @@ function wrapApiConfigurationError(e) {
// src/feature-flags.ts
var fs4 = __toESM(require("fs"));
var path4 = __toESM(require("path"));
var semver3 = __toESM(require_semver2());
var semver4 = __toESM(require_semver2());
// src/defaults.json
var bundleVersion = "codeql-bundle-v2.23.8";
@@ -86520,6 +86520,7 @@ var core6 = __toESM(require_core());
var core7 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver2 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -86800,7 +86801,7 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
}
// src/tools-features.ts
var semver2 = __toESM(require_semver2());
var semver3 = __toESM(require_semver2());
function isSupportedToolsFeature(versionInfo, feature) {
return !!versionInfo.features && versionInfo.features[feature];
}
@@ -87113,7 +87114,7 @@ var GitHubFeatureFlags = class {
DEFAULT_VERSION_FEATURE_FLAG_PREFIX.length,
f.length - DEFAULT_VERSION_FEATURE_FLAG_SUFFIX.length
).replace(/_/g, ".");
if (!semver3.valid(version)) {
if (!semver4.valid(version)) {
this.logger.warning(
`Ignoring feature flag ${f} as it does not specify a valid CodeQL version.`
);
@@ -87286,7 +87287,7 @@ var path6 = __toESM(require("path"));
// src/config/db-config.ts
var jsonschema = __toESM(require_lib4());
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
var PACK_IDENTIFIER_PATTERN = (function() {
const alphaNumeric = "[a-z0-9]";
const alphaNumericDash = "[a-z0-9-]";
@@ -87829,7 +87830,7 @@ var fs9 = __toESM(require("fs"));
var path8 = __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 = [];
@@ -87892,7 +87893,7 @@ var stream = __toESM(require("stream"));
var import_toolrunner = __toESM(require_toolrunner());
var io4 = __toESM(require_io2());
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() {
@@ -87934,9 +87935,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
@@ -87945,7 +87946,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
};
@@ -88052,7 +88053,7 @@ var core10 = __toESM(require_core());
var import_http_client = __toESM(require_lib6());
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) {
@@ -88182,7 +88183,7 @@ function getToolcacheDirectory(version) {
return path7.join(
getRequiredEnvParam("RUNNER_TOOL_CACHE"),
TOOLCACHE_TOOL_NAME,
semver6.clean(version) || version,
semver7.clean(version) || version,
os2.arch() || ""
);
}
@@ -88307,13 +88308,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.`);
}
@@ -88421,7 +88422,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);
}
}
@@ -88692,7 +88693,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) {
@@ -88724,7 +88725,7 @@ async function getNightlyToolsUrl(logger) {
}
}
function getLatestToolcacheVersion(logger) {
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver7.compare(b, a));
const allVersions = toolcache3.findAllVersions("CodeQL").sort((a, b) => semver8.compare(b, a));
logger.debug(
`Found the following versions of the CodeQL tools in the toolcache: ${JSON.stringify(
allVersions
+42
View File
@@ -978,6 +978,7 @@ interface OverlayDatabaseModeTestSetup {
languages: Language[];
codeqlVersion: string;
gitRoot: string | undefined;
gitVersion: string | undefined;
codeScanningConfig: configUtils.UserConfig;
diskUsage: DiskUsage | undefined;
memoryFlagValue: number;
@@ -992,6 +993,7 @@ const defaultOverlayDatabaseModeTestSetup: OverlayDatabaseModeTestSetup = {
languages: [KnownLanguage.javascript],
codeqlVersion: CODEQL_OVERLAY_MINIMUM_VERSION,
gitRoot: "/some/git/root",
gitVersion: "2.40.0", // Default to a version that supports overlay analysis
codeScanningConfig: {},
diskUsage: {
numAvailableBytes: 50_000_000_000,
@@ -1057,6 +1059,20 @@ const getOverlayDatabaseModeMacro = test.macro({
sinon.stub(gitUtils, "getGitRoot").resolves(setup.gitRoot);
}
// Mock git version detection - stub gitVersionAtLeast directly
// since internal calls to getGitVersion won't be stubbed
if (setup.gitVersion !== undefined) {
sinon
.stub(gitUtils, "gitVersionAtLeast")
.callsFake(async (requiredVersion: string) => {
const semver = await import("semver");
return semver.gte(setup.gitVersion!, requiredVersion);
});
} else {
// When git version is undefined, gitVersionAtLeast should return false
sinon.stub(gitUtils, "gitVersionAtLeast").resolves(false);
}
// Mock default branch detection
sinon
.stub(gitUtils, "isAnalyzingDefaultBranch")
@@ -1773,6 +1789,32 @@ test(
},
);
test(
getOverlayDatabaseModeMacro,
"Fallback due to old git version",
{
overlayDatabaseEnvVar: "overlay",
gitVersion: "2.30.0", // Version below required 2.38.0
},
{
overlayDatabaseMode: OverlayDatabaseMode.None,
useOverlayDatabaseCaching: false,
},
);
test(
getOverlayDatabaseModeMacro,
"Fallback when git version cannot be determined",
{
overlayDatabaseEnvVar: "overlay",
gitVersion: undefined,
},
{
overlayDatabaseMode: OverlayDatabaseMode.None,
useOverlayDatabaseCaching: false,
},
);
// Exercise language-specific overlay analysis features code paths
for (const language in KnownLanguage) {
test(
+14 -1
View File
@@ -26,7 +26,12 @@ import { shouldPerformDiffInformedAnalysis } from "./diff-informed-analysis-util
import * as errorMessages from "./error-messages";
import { Feature, FeatureEnablement } from "./feature-flags";
import { RepositoryProperties } from "./feature-flags/properties";
import { getGitRoot, isAnalyzingDefaultBranch } from "./git-utils";
import {
getGitRoot,
GIT_MINIMUM_VERSION_FOR_OVERLAY,
gitVersionAtLeast,
isAnalyzingDefaultBranch,
} from "./git-utils";
import { KnownLanguage, Language } from "./languages";
import { Logger } from "./logging";
import {
@@ -811,6 +816,14 @@ export async function getOverlayDatabaseMode(
);
return nonOverlayAnalysis;
}
if (!(await gitVersionAtLeast(GIT_MINIMUM_VERSION_FOR_OVERLAY, logger))) {
logger.warning(
`Cannot build an ${overlayDatabaseMode} database because ` +
`the installed Git version is older than ${GIT_MINIMUM_VERSION_FOR_OVERLAY}. ` +
"Falling back to creating a normal full database instead.",
);
return nonOverlayAnalysis;
}
return {
overlayDatabaseMode,
+107 -1
View File
@@ -7,7 +7,12 @@ import * as sinon from "sinon";
import * as actionsUtil from "./actions-util";
import * as gitUtils from "./git-utils";
import { setupActionsVars, setupTests } from "./testing-utils";
import {
getRecordingLogger,
LoggedMessage,
setupActionsVars,
setupTests,
} from "./testing-utils";
import { withTmpDir } from "./util";
setupTests(test);
@@ -392,3 +397,104 @@ test("getFileOidsUnderPath throws on unexpected output format", async (t) => {
runGitCommandStub.restore();
}
});
test("getGitVersion returns version for valid git output", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("git version 2.40.0\n");
try {
const version = await gitUtils.getGitVersion();
t.is(version, "2.40.0");
} finally {
runGitCommandStub.restore();
}
});
test("getGitVersion returns undefined for invalid git output", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("invalid output");
try {
const version = await gitUtils.getGitVersion();
t.is(version, undefined);
} finally {
runGitCommandStub.restore();
}
});
test("getGitVersion returns undefined when git command fails", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.rejects(new Error("git not found"));
try {
const version = await gitUtils.getGitVersion();
t.is(version, undefined);
} finally {
runGitCommandStub.restore();
}
});
test("gitVersionAtLeast returns true for version meeting requirement", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("git version 2.40.0\n");
const messages: LoggedMessage[] = [];
const logger = getRecordingLogger(messages);
try {
const result = await gitUtils.gitVersionAtLeast("2.38.0", logger);
t.true(result);
t.true(
messages.some(
(m) =>
m.type === "debug" &&
m.message === "Installed Git version is 2.40.0.",
),
);
} finally {
runGitCommandStub.restore();
}
});
test("gitVersionAtLeast returns false for version not meeting requirement", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("git version 2.30.0\n");
const messages: LoggedMessage[] = [];
const logger = getRecordingLogger(messages);
try {
const result = await gitUtils.gitVersionAtLeast("2.38.0", logger);
t.false(result);
} finally {
runGitCommandStub.restore();
}
});
test("gitVersionAtLeast returns false when version cannot be determined", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.rejects(new Error("git not found"));
const messages: LoggedMessage[] = [];
const logger = getRecordingLogger(messages);
try {
const result = await gitUtils.gitVersionAtLeast("2.38.0", logger);
t.false(result);
t.true(
messages.some(
(m) =>
m.type === "debug" &&
m.message === "Could not determine Git version.",
),
);
} finally {
runGitCommandStub.restore();
}
});
+53
View File
@@ -1,14 +1,67 @@
import * as core from "@actions/core";
import * as toolrunner from "@actions/exec/lib/toolrunner";
import * as io from "@actions/io";
import * as semver from "semver";
import {
getOptionalInput,
getWorkflowEvent,
getWorkflowEventName,
} from "./actions-util";
import { Logger } from "./logging";
import { ConfigurationError, getRequiredEnvParam } from "./util";
/**
* Minimum Git version required for overlay analysis. The `git ls-files --format`
* option, which is used by `getFileOidsUnderPath`, was introduced in Git 2.38.0.
*/
export const GIT_MINIMUM_VERSION_FOR_OVERLAY = "2.38.0";
/**
* Gets the version of Git installed on the system.
*
* @returns The Git version string (e.g., "2.40.0"), or undefined if the
* version could not be determined.
*/
export async function getGitVersion(): Promise<string | undefined> {
try {
const stdout = await runGitCommand(
undefined,
["--version"],
"Failed to get git version.",
);
// Expected output format: "git version 2.40.0"
const match = stdout.match(/git version (\d+\.\d+\.\d+)/);
if (match?.[1]) {
return match[1];
}
return undefined;
} catch {
return undefined;
}
}
/**
* Checks if the installed Git version is at least the given required version.
*
* @param requiredVersion The minimum required Git version.
* @param logger A logger to use for logging.
* @returns `true` if the installed Git version is at least the required version,
* `false` otherwise.
*/
export async function gitVersionAtLeast(
requiredVersion: string,
logger: Logger,
): Promise<boolean> {
const version = await getGitVersion();
if (version === undefined) {
logger.debug("Could not determine Git version.");
return false;
}
logger.debug(`Installed Git version is ${version}.`);
return semver.gte(version, requiredVersion);
}
export const runGitCommand = async function (
workingDirectory: string | undefined,
args: string[],