Skip to content

Commit e26ed57

Browse files
committed
Defer language aliasing to CLI when appropriate
1 parent 0ac7669 commit e26ed57

8 files changed

+45
-29
lines changed

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.

lib/resolve-environment-action.js

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

lib/resolve-environment-action.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/resolve-environment.js

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

lib/resolve-environment.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/codeql.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ export interface CodeQL {
128128
*/
129129
resolveBuildEnvironment(
130130
workingDir: string | undefined,
131-
language: Language,
131+
language: string,
132132
): Promise<ResolveBuildEnvironmentOutput>;
133133

134134
/**
@@ -780,7 +780,7 @@ export async function getCodeQLForCmd(
780780
},
781781
async resolveBuildEnvironment(
782782
workingDir: string | undefined,
783-
language: Language,
783+
language: string,
784784
) {
785785
const codeqlArgs = [
786786
"resolve",

src/resolve-environment-action.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import {
88
import { getGitHubVersion } from "./api-client";
99
import { CommandInvocationError } from "./codeql";
1010
import * as configUtils from "./config-utils";
11-
import { Language, parseLanguage } from "./languages";
1211
import { getActionsLogger } from "./logging";
1312
import { runResolveBuildEnvironment } from "./resolve-environment";
1413
import {
@@ -44,16 +43,6 @@ async function run() {
4443
return;
4544
}
4645

47-
const language: Language | undefined = parseLanguage(
48-
getRequiredInput("language"),
49-
);
50-
51-
if (language === undefined) {
52-
throw new Error(
53-
`Did not recognize the language "${getRequiredInput("language")}".`,
54-
);
55-
}
56-
5746
const gitHubVersion = await getGitHubVersion();
5847
checkGitHubVersionInRange(gitHubVersion, logger);
5948

@@ -69,7 +58,7 @@ async function run() {
6958
config.codeQLCmd,
7059
logger,
7160
workingDirectory,
72-
language,
61+
getRequiredInput("language"),
7362
);
7463
core.setOutput(ENVIRONMENT_OUTPUT_NAME, result);
7564
} catch (unwrappedError) {

src/resolve-environment.ts

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,36 @@
1-
import { CODEQL_VERSION_RESOLVE_ENVIRONMENT, getCodeQL } from "./codeql";
2-
import { Language } from "./languages";
1+
import {
2+
CODEQL_VERSION_LANGUAGE_ALIASING,
3+
CODEQL_VERSION_RESOLVE_ENVIRONMENT,
4+
getCodeQL,
5+
} from "./codeql";
6+
import { parseLanguage } from "./languages";
37
import { Logger } from "./logging";
48
import * as util from "./util";
59

610
export async function runResolveBuildEnvironment(
711
cmd: string,
812
logger: Logger,
913
workingDir: string | undefined,
10-
language: Language,
14+
languageInput: string,
1115
) {
12-
logger.startGroup(`Attempting to resolve build environment for ${language}`);
16+
logger.startGroup(
17+
`Attempting to resolve build environment for ${languageInput}`,
18+
);
1319

1420
const codeql = await getCodeQL(cmd);
21+
22+
let language = languageInput;
23+
if (await util.codeQlVersionAbove(codeql, CODEQL_VERSION_LANGUAGE_ALIASING)) {
24+
// Delegate to the CodeQL CLI to handle aliasing.
25+
} else {
26+
// Handle aliasing in the Action using `parseLanguage`.
27+
const parsedLanguage = parseLanguage(languageInput)?.toString();
28+
if (parsedLanguage === undefined) {
29+
throw new Error(`Did not recognize the language '${languageInput}'.`);
30+
}
31+
language = parsedLanguage;
32+
}
33+
1534
let result = {};
1635

1736
// If the CodeQL version in use does not support the `resolve build-environment`

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy