Only try zstd for specified version ranges of tar

This commit is contained in:
Henry Mercer
2024-08-16 12:13:03 +01:00
parent 59c874ecee
commit 3e870d5ac3
12 changed files with 319 additions and 136 deletions
Generated
+2 -19
View File
@@ -45,7 +45,7 @@ const cli_errors_1 = require("./cli-errors");
const doc_url_1 = require("./doc-url");
const environment_1 = require("./environment");
const feature_flags_1 = require("./feature-flags");
const setupCodeql = __importStar(require("./setup-codeql"));
const setup_codeql_1 = require("./setup-codeql");
const tools_features_1 = require("./tools-features");
const tracer_config_1 = require("./tracer-config");
const util = __importStar(require("./util"));
@@ -105,23 +105,6 @@ exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE = "2.15.0";
* Versions 2.15.2+ of the CodeQL CLI support the `--sarif-include-query-help` option.
*/
const CODEQL_VERSION_INCLUDE_QUERY_HELP = "2.15.2";
async function setupCodeQLBundlePreferringZstd(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, features, logger) {
let zstdError = undefined;
if (!toolsInput && (await features.getValue(feature_flags_1.Feature.ZstdBundle))) {
try {
return await setupCodeql.setupCodeQLBundle(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, true, logger);
}
catch (e) {
logger.info("Failed to set up bundle compressed using zstd, falling back to bundle compressed using gzip.");
zstdError = e;
}
}
const result = await setupCodeql.setupCodeQLBundle(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, false, logger);
if (zstdError) {
result.toolsDownloadStatusReport = Object.assign({}, result.toolsDownloadStatusReport, { zstdError: (0, util_1.wrapError)(zstdError).message });
}
return result;
}
/**
* Set up CodeQL CLI access.
*
@@ -137,7 +120,7 @@ async function setupCodeQLBundlePreferringZstd(toolsInput, apiDetails, tempDir,
*/
async function setupCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, features, logger, checkVersion) {
try {
const { codeqlFolder, toolsDownloadStatusReport, toolsSource, toolsVersion, } = await setupCodeQLBundlePreferringZstd(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, features, logger);
const { codeqlFolder, toolsDownloadStatusReport, toolsSource, toolsVersion, } = await (0, setup_codeql_1.setupCodeQLBundle)(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, features, logger);
logger.debug(`Bundle download status report: ${JSON.stringify(toolsDownloadStatusReport)}`);
let codeqlCmd = path.join(codeqlFolder, "codeql", "codeql");
if (process.platform === "win32") {