Skip to content

Commit e382508

Browse files
committed
Prototyping adding quality queries when running queries
1 parent 2c76207 commit e382508

File tree

6 files changed

+37
-21
lines changed

6 files changed

+37
-21
lines changed

lib/analyze.js

Lines changed: 9 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/analyze.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/codeql.js

Lines changed: 5 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/codeql.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/analyze.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -624,14 +624,24 @@ export async function runQueries(
624624
try {
625625
const sarifFile = path.join(sarifFolder, `${language}.sarif`);
626626

627+
const queries: string[] = [];
628+
if (config.augmentationProperties.qualityQueriesInput !== undefined) {
629+
queries.push(`path:${config.tempDir}/config-queries.qls`);
630+
631+
for (const qualityQuery of config.augmentationProperties
632+
.qualityQueriesInput) {
633+
queries.push(resolveQuerySuiteAlias(language, qualityQuery.uses));
634+
}
635+
}
636+
627637
// The work needed to generate the query suites
628638
// is done in the CLI. We just need to make a single
629639
// call to run all the queries for each language and
630640
// another to interpret the results.
631641
logger.startGroup(`Running queries for ${language}`);
632642
const startTimeRunQueries = new Date().getTime();
633643
const databasePath = util.getCodeQLDatabasePath(config, language);
634-
await codeql.databaseRunQueries(databasePath, queryFlags);
644+
await codeql.databaseRunQueries(databasePath, queryFlags, queries);
635645
logger.debug(`Finished running queries for ${language}.`);
636646
// TODO should not be using `builtin` here. We should be using `all` instead.
637647
// The status report does not support `all` yet.

src/codeql.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,11 @@ export interface CodeQL {
159159
/**
160160
* Run 'codeql database run-queries'.
161161
*/
162-
databaseRunQueries(databasePath: string, flags: string[]): Promise<void>;
162+
databaseRunQueries(
163+
databasePath: string,
164+
flags: string[],
165+
queries?: string[],
166+
): Promise<void>;
163167
/**
164168
* Run 'codeql database interpret-results'.
165169
*/
@@ -806,6 +810,7 @@ export async function getCodeQLForCmd(
806810
async databaseRunQueries(
807811
databasePath: string,
808812
flags: string[],
813+
queries: string[] = [],
809814
): Promise<void> {
810815
const codeqlArgs = [
811816
"database",
@@ -815,6 +820,7 @@ export async function getCodeQLForCmd(
815820
"--intra-layer-parallelism",
816821
"--min-disk-free=1024", // Try to leave at least 1GB free
817822
"-v",
823+
...queries,
818824
...getExtraOptionsFromEnv(["database", "run-queries"], {
819825
ignoringOptions: ["--expect-discarded-cache"],
820826
}),
@@ -1219,20 +1225,13 @@ async function generateCodeScanningConfig(
12191225
const augmentedConfig = cloneObject(config.originalUserInput);
12201226

12211227
// Inject the queries from the input
1222-
if (
1223-
config.augmentationProperties.queriesInput ||
1224-
config.augmentationProperties.qualityQueriesInput
1225-
) {
1226-
const queryInputs = (
1227-
config.augmentationProperties.queriesInput || []
1228-
).concat(config.augmentationProperties.qualityQueriesInput || []);
1229-
1228+
if (config.augmentationProperties.queriesInput) {
12301229
if (config.augmentationProperties.queriesInputCombines) {
12311230
augmentedConfig.queries = (augmentedConfig.queries || []).concat(
1232-
queryInputs,
1231+
config.augmentationProperties.queriesInput,
12331232
);
12341233
} else {
1235-
augmentedConfig.queries = queryInputs;
1234+
augmentedConfig.queries = config.augmentationProperties.queriesInput;
12361235
}
12371236
}
12381237
if (augmentedConfig.queries?.length === 0) {

0 commit comments

Comments
 (0)