Only specify queries for run-queries if both analysis kinds are enabled

This commit is contained in:
Michael B. Gale
2025-08-28 17:01:22 +01:00
parent 14f41bd421
commit 43d9bc8cb3
2 changed files with 16 additions and 2 deletions

5
lib/analyze-action.js generated
View File

@@ -94197,6 +94197,9 @@ function generateCodeScanningConfig(originalUserInput, augmentationProperties) {
}
return augmentedConfig;
}
function isCodeScanningEnabled(config) {
return config.analysisKinds.includes("code-scanning" /* CodeScanning */);
}
function isCodeQualityEnabled(config) {
return config.analysisKinds.includes("code-quality" /* CodeQuality */);
}
@@ -96179,7 +96182,7 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag,
try {
const sarifFile = path12.join(sarifFolder, `${language}.sarif`);
const queries = [];
if (isCodeQualityEnabled(config)) {
if (isCodeQualityEnabled(config) && isCodeScanningEnabled(config)) {
queries.push(getGeneratedSuitePath(config, language));
for (const qualityQuery of config.augmentationProperties.qualityQueriesInput) {
queries.push(resolveQuerySuiteAlias(language, qualityQuery.uses));

View File

@@ -661,8 +661,19 @@ export async function runQueries(
try {
const sarifFile = path.join(sarifFolder, `${language}.sarif`);
// This should be empty to run only the query suite that was generated when
// the database was initialised.
const queries: string[] = [];
if (configUtils.isCodeQualityEnabled(config)) {
// If both Code Scanning and Code Quality analyses are enabled, the database
// is initialised for Code Scanning. To avoid duplicate work, we want to run
// queries for both analyses at the same time. To do this, we invoke `run-queries`
// once with the generated query suite for Code Scanning + the fixed
// query suite for Code Quality.
if (
configUtils.isCodeQualityEnabled(config) &&
configUtils.isCodeScanningEnabled(config)
) {
queries.push(util.getGeneratedSuitePath(config, language));
for (const qualityQuery of config.augmentationProperties
.qualityQueriesInput) {