mirror of
https://github.com/github/codeql-action.git
synced 2026-01-06 14:40:10 +08:00
Allow the version of the ML-powered pack to depend on the CLI version
This commit is contained in:
@@ -18,7 +18,7 @@ import { Logger } from "./logging";
|
||||
import * as toolcache from "./toolcache";
|
||||
import { toolrunnerErrorCatcher } from "./toolrunner-error-catcher";
|
||||
import * as util from "./util";
|
||||
import { isGoodVersion, ML_POWERED_JS_QUERIES_PACK } from "./util";
|
||||
import { isGoodVersion } from "./util";
|
||||
|
||||
type Options = Array<string | number | boolean>;
|
||||
|
||||
@@ -741,9 +741,10 @@ async function getCodeQLForCmd(
|
||||
if (config.injectedMlQueries) {
|
||||
// We need to inject the ML queries into the original user input before
|
||||
// we pass this on to the CLI, to make sure these get run.
|
||||
let packString = ML_POWERED_JS_QUERIES_PACK.packName;
|
||||
if (ML_POWERED_JS_QUERIES_PACK.version)
|
||||
packString = `${packString}@${ML_POWERED_JS_QUERIES_PACK.version}`;
|
||||
const pack = await util.getMlPoweredJsQueriesPack(codeql);
|
||||
const packString =
|
||||
pack.packName + (pack.version ? `@${pack.version}` : "");
|
||||
|
||||
if (augmentedConfig.packs === undefined) augmentedConfig.packs = [];
|
||||
if (Array.isArray(augmentedConfig.packs)) {
|
||||
augmentedConfig.packs.push(packString);
|
||||
|
||||
@@ -17,8 +17,9 @@ import { Logger } from "./logging";
|
||||
import { RepositoryNwo } from "./repository";
|
||||
import {
|
||||
codeQlVersionAbove,
|
||||
getMlPoweredJsQueriesPack,
|
||||
GitHubVersion,
|
||||
ML_POWERED_JS_QUERIES_PACK,
|
||||
ML_POWERED_JS_QUERIES_PACK_NAME,
|
||||
} from "./util";
|
||||
|
||||
// Property names from the user-supplied config file.
|
||||
@@ -304,7 +305,7 @@ async function addBuiltinSuiteQueries(
|
||||
languages.includes("javascript") &&
|
||||
(found === "security-extended" || found === "security-and-quality") &&
|
||||
!packs.javascript?.some(
|
||||
(pack) => pack.packName === ML_POWERED_JS_QUERIES_PACK.packName
|
||||
(pack) => pack.packName === ML_POWERED_JS_QUERIES_PACK_NAME
|
||||
) &&
|
||||
(await featureFlags.getValue(FeatureFlag.MlPoweredQueriesEnabled)) &&
|
||||
(await codeQlVersionAbove(codeQL, CODEQL_VERSION_ML_POWERED_QUERIES))
|
||||
@@ -312,7 +313,7 @@ async function addBuiltinSuiteQueries(
|
||||
if (!packs.javascript) {
|
||||
packs.javascript = [];
|
||||
}
|
||||
packs.javascript.push(ML_POWERED_JS_QUERIES_PACK);
|
||||
packs.javascript.push(await getMlPoweredJsQueriesPack(codeQL));
|
||||
injectedMlQueries = true;
|
||||
}
|
||||
|
||||
|
||||
12
src/util.ts
12
src/util.ts
@@ -657,13 +657,15 @@ export const ML_POWERED_JS_QUERIES_PACK_NAME =
|
||||
"codeql/javascript-experimental-atm-queries";
|
||||
|
||||
/**
|
||||
* The ML-powered JS query pack to add to the analysis if a repo is opted into the ML-powered
|
||||
* Gets the ML-powered JS query pack to add to the analysis if a repo is opted into the ML-powered
|
||||
* queries beta.
|
||||
*/
|
||||
export const ML_POWERED_JS_QUERIES_PACK: PackWithVersion = {
|
||||
packName: "codeql/javascript-experimental-atm-queries",
|
||||
version: "~0.1.0",
|
||||
};
|
||||
export async function getMlPoweredJsQueriesPack(
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
_codeQL: CodeQL
|
||||
): Promise<PackWithVersion> {
|
||||
return { packName: ML_POWERED_JS_QUERIES_PACK_NAME, version: "~0.1.0" };
|
||||
}
|
||||
|
||||
/**
|
||||
* Get information about ML-powered JS queries to populate status reports with.
|
||||
|
||||
Reference in New Issue
Block a user