Extract explicit CodeQL bundle URL classification

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Henry Mercer
2026-09-16 19:36:07 +01:00
parent 2f552a99f3
commit bd2ddba96c
6 changed files with 120 additions and 120 deletions

56
lib/entry-points.js generated
View File

@@ -149917,18 +149917,18 @@ var builtin_default = {
};
// src/languages/index.ts
var BuiltInLanguage = /* @__PURE__ */ ((BuiltInLanguage3) => {
BuiltInLanguage3["actions"] = "actions";
BuiltInLanguage3["cpp"] = "cpp";
BuiltInLanguage3["csharp"] = "csharp";
BuiltInLanguage3["go"] = "go";
BuiltInLanguage3["java"] = "java";
BuiltInLanguage3["javascript"] = "javascript";
BuiltInLanguage3["python"] = "python";
BuiltInLanguage3["ruby"] = "ruby";
BuiltInLanguage3["rust"] = "rust";
BuiltInLanguage3["swift"] = "swift";
return BuiltInLanguage3;
var BuiltInLanguage = /* @__PURE__ */ ((BuiltInLanguage4) => {
BuiltInLanguage4["actions"] = "actions";
BuiltInLanguage4["cpp"] = "cpp";
BuiltInLanguage4["csharp"] = "csharp";
BuiltInLanguage4["go"] = "go";
BuiltInLanguage4["java"] = "java";
BuiltInLanguage4["javascript"] = "javascript";
BuiltInLanguage4["python"] = "python";
BuiltInLanguage4["ruby"] = "ruby";
BuiltInLanguage4["rust"] = "rust";
BuiltInLanguage4["swift"] = "swift";
return BuiltInLanguage4;
})(BuiltInLanguage || {});
var builtInLanguageSet = new Set(builtin_default.languages);
function isBuiltInLanguage(language) {
@@ -151236,6 +151236,21 @@ function getBundlePlatform(platform2 = process.platform, arch2 = process.arch) {
}
}
// src/codeql-bundle.ts
var PER_LANGUAGE_BUNDLE_NAME = /^codeql-bundle-(.+)-(?:linux64|osx64|win64)\.tar\.(?:gz|zst)$/;
function getCodeQLBundleFromUrl(url2) {
let assetName;
try {
const pathname = new URL(url2).pathname;
assetName = decodeURIComponent(pathname.split("/").pop() ?? "");
} catch {
return { kind: "combined", url: url2 };
}
const match2 = assetName.match(PER_LANGUAGE_BUNDLE_NAME);
const language = match2 ? parseBuiltInLanguage(match2[1]) : void 0;
return language === void 0 ? { kind: "combined", url: url2 } : { kind: "per-language", url: url2, language };
}
// src/overlay/caching.ts
var fs11 = __toESM(require("fs"));
var actionsCache3 = __toESM(require_cache4());
@@ -151537,18 +151552,6 @@ async function getCodeQlVersionsForOverlayBaseDatabases(rawLanguages, logger) {
// src/per-language-bundles.ts
var semver7 = __toESM(require_semver2());
var MIN_PER_LANGUAGE_BUNDLE_CLI_VERSION = "2.27.1";
var PER_LANGUAGE_BUNDLE_NAME = /^codeql-bundle-(.+)-(?:linux64|osx64|win64)\.tar\.(?:gz|zst)$/;
function tryGetBundleLanguageFromUrl(url2) {
let assetName;
try {
const pathname = new URL(url2).pathname;
assetName = decodeURIComponent(pathname.split("/").pop() ?? "");
} catch {
return void 0;
}
const match2 = assetName.match(PER_LANGUAGE_BUNDLE_NAME);
return match2 ? parseBuiltInLanguage(match2[1]) : void 0;
}
var PER_LANGUAGE_BUNDLE_LANGUAGES = {
["linux64" /* Linux64 */]: /* @__PURE__ */ new Set([
"actions" /* actions */,
@@ -152488,10 +152491,7 @@ async function getCodeQLSource(toolsInput, defaultCliVersion, rawLanguages, useO
);
}
compressionMethod = method;
if (bundle === void 0) {
const language = tryGetBundleLanguageFromUrl(url2);
bundle = language === void 0 ? { kind: "combined", url: url2 } : { kind: "per-language", url: url2, language };
}
bundle ??= getCodeQLBundleFromUrl(url2);
if (bundle.kind === "per-language") {
logger.info(
`${url2} appears to be a CodeQL bundle that contains only ${bundle.language}.`