mirror of
https://github.com/github/codeql-action.git
synced 2026-11-05 04:29:40 +00:00
Only create diagnostics for traced languages
This commit is contained in:
14
lib/entry-points.js
generated
14
lib/entry-points.js
generated
@@ -193923,14 +193923,14 @@ async function checkSwiftCompatibility(config, codeql, darwinVersion2) {
|
||||
// src/languages/traced.ts
|
||||
var UNSUPPORTED_DARWIN_FOR_TRACED = 27;
|
||||
var UNSUPPORTED_XCODE_FOR_TRACED = 27;
|
||||
function handleUnsupportedVersion(logger2, config, skipUnsupportedTracedAnalysis, product, version) {
|
||||
function handleUnsupportedVersion(logger2, config, tracedLanguages, skipUnsupportedTracedAnalysis, product, version) {
|
||||
const baseMessage = [
|
||||
`Traced analysis is not supported on ${product} ${UNSUPPORTED_DARWIN_FOR_TRACED} or above.`,
|
||||
`Configure your analysis to run on macOS ${UNSUPPORTED_DARWIN_FOR_TRACED - 1} or below`,
|
||||
`and XCode ${UNSUPPORTED_XCODE_FOR_TRACED - 1} or below.`
|
||||
].join(" ");
|
||||
const attributeName = product === "macOS" ? "darwinVersion" : "xcodeVersion";
|
||||
for (const language of config.languages) {
|
||||
for (const language of tracedLanguages) {
|
||||
addDiagnostic(
|
||||
config,
|
||||
language,
|
||||
@@ -193967,12 +193967,13 @@ function handleUnsupportedVersion(logger2, config, skipUnsupportedTracedAnalysis
|
||||
}
|
||||
}
|
||||
async function hasTracedLanguages(config, codeql) {
|
||||
const tracedLanguages = [];
|
||||
for (const language of config.languages) {
|
||||
if (await codeql.isTracedLanguage(language)) {
|
||||
return true;
|
||||
tracedLanguages.push(language);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return tracedLanguages;
|
||||
}
|
||||
async function checkRunnerSupportsTracedAnalysis(action, config, codeql) {
|
||||
const version = darwinVersion(action);
|
||||
@@ -193980,7 +193981,8 @@ async function checkRunnerSupportsTracedAnalysis(action, config, codeql) {
|
||||
if (config.buildMode !== void 0 && config.buildMode === "none") {
|
||||
return;
|
||||
}
|
||||
if (!await hasTracedLanguages(config, codeql)) {
|
||||
const tracedLanguages = await hasTracedLanguages(config, codeql);
|
||||
if (tracedLanguages.length === 0) {
|
||||
return;
|
||||
}
|
||||
const skipUnsupportedTracedAnalysis = await action.features.getValue(
|
||||
@@ -193994,6 +193996,7 @@ async function checkRunnerSupportsTracedAnalysis(action, config, codeql) {
|
||||
handleUnsupportedVersion(
|
||||
action.logger,
|
||||
config,
|
||||
tracedLanguages,
|
||||
skipUnsupportedTracedAnalysis,
|
||||
"macOS",
|
||||
version
|
||||
@@ -194004,6 +194007,7 @@ async function checkRunnerSupportsTracedAnalysis(action, config, codeql) {
|
||||
handleUnsupportedVersion(
|
||||
action.logger,
|
||||
config,
|
||||
tracedLanguages,
|
||||
skipUnsupportedTracedAnalysis,
|
||||
"Xcode",
|
||||
xcodeVer
|
||||
|
||||
@@ -24,13 +24,15 @@ export const UNSUPPORTED_XCODE_FOR_TRACED = 27;
|
||||
*
|
||||
* @param logger The logger to use.
|
||||
* @param config The CodeQL Action configuration.
|
||||
* @param tracedLanguages Traced languages that are configured for analysis.
|
||||
* @param skipUnsupportedTracedAnalysis Whether this is a fatal error.
|
||||
* @param product The product that the version is unsupported of.
|
||||
* @param version The unsupported version.
|
||||
*/
|
||||
function handleUnsupportedVersion(
|
||||
logger: Logger,
|
||||
config: ActionConfig<"languages" | "dbLocation" | "tempDir">,
|
||||
config: ActionConfig<"dbLocation" | "tempDir">,
|
||||
tracedLanguages: string[],
|
||||
skipUnsupportedTracedAnalysis: boolean,
|
||||
product: "macOS" | "Xcode",
|
||||
version: semver.SemVer,
|
||||
@@ -44,7 +46,7 @@ function handleUnsupportedVersion(
|
||||
const attributeName = product === "macOS" ? "darwinVersion" : "xcodeVersion";
|
||||
|
||||
// Create a diagnostic that will show up on the TSP.
|
||||
for (const language of config.languages) {
|
||||
for (const language of tracedLanguages) {
|
||||
addDiagnostic(
|
||||
config,
|
||||
language,
|
||||
@@ -89,20 +91,22 @@ function handleUnsupportedVersion(
|
||||
}
|
||||
|
||||
/**
|
||||
* Decides whether {@link config} has any traced languages by looking for tracer
|
||||
* Returns traced languages from {@link config} by looking for tracer
|
||||
* configurations in the {@link codeql} CLI installation.
|
||||
*/
|
||||
export async function hasTracedLanguages(
|
||||
config: ActionConfig<"languages">,
|
||||
codeql: CodeQL,
|
||||
): Promise<boolean> {
|
||||
): Promise<string[]> {
|
||||
const tracedLanguages: string[] = [];
|
||||
|
||||
for (const language of config.languages) {
|
||||
if (await codeql.isTracedLanguage(language)) {
|
||||
return true;
|
||||
tracedLanguages.push(language);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
return tracedLanguages;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -127,7 +131,8 @@ export async function checkRunnerSupportsTracedAnalysis(
|
||||
}
|
||||
|
||||
// If none of the languages are traced, then we can skip the compatibility checks below as well.
|
||||
if (!(await hasTracedLanguages(config, codeql))) {
|
||||
const tracedLanguages = await hasTracedLanguages(config, codeql);
|
||||
if (tracedLanguages.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -146,6 +151,7 @@ export async function checkRunnerSupportsTracedAnalysis(
|
||||
handleUnsupportedVersion(
|
||||
action.logger,
|
||||
config,
|
||||
tracedLanguages,
|
||||
skipUnsupportedTracedAnalysis,
|
||||
"macOS",
|
||||
version,
|
||||
@@ -163,6 +169,7 @@ export async function checkRunnerSupportsTracedAnalysis(
|
||||
handleUnsupportedVersion(
|
||||
action.logger,
|
||||
config,
|
||||
tracedLanguages,
|
||||
skipUnsupportedTracedAnalysis,
|
||||
"Xcode",
|
||||
xcodeVer,
|
||||
|
||||
Reference in New Issue
Block a user