mirror of
https://github.com/github/codeql-action.git
synced 2025-12-06 07:48:17 +08:00
Rename Language enum and use generic Language where possible
This commit is contained in:
12
lib/analyze-action.js
generated
12
lib/analyze-action.js
generated
@@ -75,7 +75,7 @@ async function sendStatusReport(startedAt, config, stats, error, trapCacheUpload
|
|||||||
const trapCacheUploadStatusReport = {
|
const trapCacheUploadStatusReport = {
|
||||||
...report,
|
...report,
|
||||||
trap_cache_upload_duration_ms: Math.round(trapCacheUploadTime || 0),
|
trap_cache_upload_duration_ms: Math.round(trapCacheUploadTime || 0),
|
||||||
trap_cache_upload_size_bytes: Math.round(await (0, caching_utils_1.getTotalCacheSize)(Object.values(config.trapCaches), logger)),
|
trap_cache_upload_size_bytes: Math.round(await (0, caching_utils_1.getTotalCacheSize)(Object.values(config.trapCaches).filter((x) => x !== undefined), logger)),
|
||||||
};
|
};
|
||||||
await statusReport.sendStatusReport(trapCacheUploadStatusReport);
|
await statusReport.sendStatusReport(trapCacheUploadStatusReport);
|
||||||
}
|
}
|
||||||
@@ -94,8 +94,8 @@ function hasBadExpectErrorInput() {
|
|||||||
* indicating whether Go extraction has extracted at least one file.
|
* indicating whether Go extraction has extracted at least one file.
|
||||||
*/
|
*/
|
||||||
function doesGoExtractionOutputExist(config) {
|
function doesGoExtractionOutputExist(config) {
|
||||||
const golangDbDirectory = util.getCodeQLDatabasePath(config, languages_1.Language.go);
|
const golangDbDirectory = util.getCodeQLDatabasePath(config, languages_1.KnownLanguage.go);
|
||||||
const trapDirectory = path_1.default.join(golangDbDirectory, "trap", languages_1.Language.go);
|
const trapDirectory = path_1.default.join(golangDbDirectory, "trap", languages_1.KnownLanguage.go);
|
||||||
return (fs.existsSync(trapDirectory) &&
|
return (fs.existsSync(trapDirectory) &&
|
||||||
fs
|
fs
|
||||||
.readdirSync(trapDirectory)
|
.readdirSync(trapDirectory)
|
||||||
@@ -122,7 +122,7 @@ function doesGoExtractionOutputExist(config) {
|
|||||||
* whether any extraction output already exists for Go.
|
* whether any extraction output already exists for Go.
|
||||||
*/
|
*/
|
||||||
async function runAutobuildIfLegacyGoWorkflow(config, logger) {
|
async function runAutobuildIfLegacyGoWorkflow(config, logger) {
|
||||||
if (!config.languages.includes(languages_1.Language.go)) {
|
if (!config.languages.includes(languages_1.KnownLanguage.go)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (config.buildMode) {
|
if (config.buildMode) {
|
||||||
@@ -133,7 +133,7 @@ async function runAutobuildIfLegacyGoWorkflow(config, logger) {
|
|||||||
logger.debug("Won't run Go autobuild since it has already been run.");
|
logger.debug("Won't run Go autobuild since it has already been run.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((0, analyze_1.dbIsFinalized)(config, languages_1.Language.go, logger)) {
|
if ((0, analyze_1.dbIsFinalized)(config, languages_1.KnownLanguage.go, logger)) {
|
||||||
logger.debug("Won't run Go autobuild since there is already a finalized database for Go.");
|
logger.debug("Won't run Go autobuild since there is already a finalized database for Go.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -148,7 +148,7 @@ async function runAutobuildIfLegacyGoWorkflow(config, logger) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
logger.debug("Running Go autobuild because extraction output (TRAP files) for Go code has not been found.");
|
logger.debug("Running Go autobuild because extraction output (TRAP files) for Go code has not been found.");
|
||||||
await (0, autobuild_1.runAutobuild)(config, languages_1.Language.go, logger);
|
await (0, autobuild_1.runAutobuild)(config, languages_1.KnownLanguage.go, logger);
|
||||||
}
|
}
|
||||||
async function run() {
|
async function run() {
|
||||||
const startedAt = new Date();
|
const startedAt = new Date();
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
9
lib/analyze.js
generated
9
lib/analyze.js
generated
@@ -93,11 +93,11 @@ async function runExtraction(codeql, config, logger) {
|
|||||||
}
|
}
|
||||||
if (await shouldExtractLanguage(codeql, config, language)) {
|
if (await shouldExtractLanguage(codeql, config, language)) {
|
||||||
logger.startGroup(`Extracting ${language}`);
|
logger.startGroup(`Extracting ${language}`);
|
||||||
if (language === languages_1.Language.python) {
|
if (language === String(languages_1.KnownLanguage.python)) {
|
||||||
await setupPythonExtractor(logger);
|
await setupPythonExtractor(logger);
|
||||||
}
|
}
|
||||||
if (config.buildMode) {
|
if (config.buildMode) {
|
||||||
if (language === languages_1.Language.cpp &&
|
if (language === String(languages_1.KnownLanguage.cpp) &&
|
||||||
config.buildMode === util_1.BuildMode.Autobuild) {
|
config.buildMode === util_1.BuildMode.Autobuild) {
|
||||||
await (0, autobuild_1.setupCppAutobuild)(codeql, logger);
|
await (0, autobuild_1.setupCppAutobuild)(codeql, logger);
|
||||||
}
|
}
|
||||||
@@ -105,7 +105,8 @@ async function runExtraction(codeql, config, logger) {
|
|||||||
// database scratch directory by default. For dependency caching purposes, we want
|
// database scratch directory by default. For dependency caching purposes, we want
|
||||||
// a stable path that caches can be restored into and that we can cache at the
|
// a stable path that caches can be restored into and that we can cache at the
|
||||||
// end of the workflow (i.e. that does not get removed when the scratch directory is).
|
// end of the workflow (i.e. that does not get removed when the scratch directory is).
|
||||||
if (language === languages_1.Language.java && config.buildMode === util_1.BuildMode.None) {
|
if (language === String(languages_1.KnownLanguage.java) &&
|
||||||
|
config.buildMode === util_1.BuildMode.None) {
|
||||||
process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] =
|
process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] =
|
||||||
(0, dependency_caching_1.getJavaTempDependencyDir)();
|
(0, dependency_caching_1.getJavaTempDependencyDir)();
|
||||||
}
|
}
|
||||||
@@ -503,7 +504,7 @@ async function warnIfGoInstalledAfterInit(config, logger) {
|
|||||||
const goBinaryPath = await io.which("go", true);
|
const goBinaryPath = await io.which("go", true);
|
||||||
if (goInitPath !== goBinaryPath) {
|
if (goInitPath !== goBinaryPath) {
|
||||||
logger.warning(`Expected \`which go\` to return ${goInitPath}, but got ${goBinaryPath}: please ensure that the correct version of Go is installed before the \`codeql-action/init\` Action is used.`);
|
logger.warning(`Expected \`which go\` to return ${goInitPath}, but got ${goBinaryPath}: please ensure that the correct version of Go is installed before the \`codeql-action/init\` Action is used.`);
|
||||||
(0, diagnostics_1.addDiagnostic)(config, languages_1.Language.go, (0, diagnostics_1.makeDiagnostic)("go/workflow/go-installed-after-codeql-init", "Go was installed after the `codeql-action/init` Action was run", {
|
(0, diagnostics_1.addDiagnostic)(config, languages_1.KnownLanguage.go, (0, diagnostics_1.makeDiagnostic)("go/workflow/go-installed-after-codeql-init", "Go was installed after the `codeql-action/init` Action was run", {
|
||||||
markdownMessage: "To avoid interfering with the CodeQL analysis, perform all installation steps before calling the `github/codeql-action/init` Action.",
|
markdownMessage: "To avoid interfering with the CodeQL analysis, perform all installation steps before calling the `github/codeql-action/init` Action.",
|
||||||
visibility: {
|
visibility: {
|
||||||
statusPage: true,
|
statusPage: true,
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
2
lib/analyze.test.js
generated
2
lib/analyze.test.js
generated
@@ -63,7 +63,7 @@ const util = __importStar(require("./util"));
|
|||||||
const addSnippetsFlag = "";
|
const addSnippetsFlag = "";
|
||||||
const threadsFlag = "";
|
const threadsFlag = "";
|
||||||
sinon.stub(uploadLib, "validateSarifFileSchema");
|
sinon.stub(uploadLib, "validateSarifFileSchema");
|
||||||
for (const language of Object.values(languages_1.Language)) {
|
for (const language of Object.values(languages_1.KnownLanguage)) {
|
||||||
(0, codeql_1.setCodeQL)({
|
(0, codeql_1.setCodeQL)({
|
||||||
databaseRunQueries: async () => { },
|
databaseRunQueries: async () => { },
|
||||||
packDownload: async () => ({ packs: [] }),
|
packDownload: async () => ({ packs: [] }),
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
8
lib/autobuild.js
generated
8
lib/autobuild.js
generated
@@ -89,7 +89,7 @@ async function determineAutobuildLanguages(codeql, config, logger) {
|
|||||||
* This special case behavior should be removed as part of the next major
|
* This special case behavior should be removed as part of the next major
|
||||||
* version of the CodeQL Action.
|
* version of the CodeQL Action.
|
||||||
*/
|
*/
|
||||||
const autobuildLanguagesWithoutGo = autobuildLanguages.filter((l) => l !== languages_1.Language.go);
|
const autobuildLanguagesWithoutGo = autobuildLanguages.filter((l) => l !== String(languages_1.KnownLanguage.go));
|
||||||
const languages = [];
|
const languages = [];
|
||||||
// First run the autobuilder for the first non-Go traced language, if one
|
// First run the autobuilder for the first non-Go traced language, if one
|
||||||
// exists.
|
// exists.
|
||||||
@@ -99,7 +99,7 @@ async function determineAutobuildLanguages(codeql, config, logger) {
|
|||||||
// If Go is requested, run the Go autobuilder last to ensure it doesn't
|
// If Go is requested, run the Go autobuilder last to ensure it doesn't
|
||||||
// interfere with the other autobuilder.
|
// interfere with the other autobuilder.
|
||||||
if (autobuildLanguages.length !== autobuildLanguagesWithoutGo.length) {
|
if (autobuildLanguages.length !== autobuildLanguagesWithoutGo.length) {
|
||||||
languages.push(languages_1.Language.go);
|
languages.push(languages_1.KnownLanguage.go);
|
||||||
}
|
}
|
||||||
logger.debug(`Will autobuild ${languages.join(" and ")}.`);
|
logger.debug(`Will autobuild ${languages.join(" and ")}.`);
|
||||||
// In general the autobuilders for other traced languages may conflict with
|
// In general the autobuilders for other traced languages may conflict with
|
||||||
@@ -145,7 +145,7 @@ async function setupCppAutobuild(codeql, logger) {
|
|||||||
async function runAutobuild(config, language, logger) {
|
async function runAutobuild(config, language, logger) {
|
||||||
logger.startGroup(`Attempting to automatically build ${language} code`);
|
logger.startGroup(`Attempting to automatically build ${language} code`);
|
||||||
const codeQL = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
const codeQL = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
||||||
if (language === languages_1.Language.cpp) {
|
if (language === String(languages_1.KnownLanguage.cpp)) {
|
||||||
await setupCppAutobuild(codeQL, logger);
|
await setupCppAutobuild(codeQL, logger);
|
||||||
}
|
}
|
||||||
if (config.buildMode) {
|
if (config.buildMode) {
|
||||||
@@ -154,7 +154,7 @@ async function runAutobuild(config, language, logger) {
|
|||||||
else {
|
else {
|
||||||
await codeQL.runAutobuild(config, language);
|
await codeQL.runAutobuild(config, language);
|
||||||
}
|
}
|
||||||
if (language === languages_1.Language.go) {
|
if (language === String(languages_1.KnownLanguage.go)) {
|
||||||
core.exportVariable(environment_1.EnvVar.DID_AUTOBUILD_GOLANG, "true");
|
core.exportVariable(environment_1.EnvVar.DID_AUTOBUILD_GOLANG, "true");
|
||||||
}
|
}
|
||||||
logger.endGroup();
|
logger.endGroup();
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":"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"}
|
||||||
8
lib/codeql.test.js
generated
8
lib/codeql.test.js
generated
@@ -65,7 +65,7 @@ const NO_FEATURES = (0, testing_utils_1.createFeatures)([]);
|
|||||||
ava_1.default.beforeEach(() => {
|
ava_1.default.beforeEach(() => {
|
||||||
(0, util_1.initializeEnvironment)("1.2.3");
|
(0, util_1.initializeEnvironment)("1.2.3");
|
||||||
stubConfig = (0, testing_utils_1.createTestConfig)({
|
stubConfig = (0, testing_utils_1.createTestConfig)({
|
||||||
languages: [languages_1.Language.cpp],
|
languages: [languages_1.KnownLanguage.cpp],
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
async function installIntoToolcache({ apiDetails = testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, cliVersion, isPinned, tagName, tmpDir, }) {
|
async function installIntoToolcache({ apiDetails = testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, cliVersion, isPinned, tagName, tmpDir, }) {
|
||||||
@@ -101,7 +101,7 @@ async function stubCodeql() {
|
|||||||
sinon.stub(codeqlObject, "getVersion").resolves((0, testing_utils_1.makeVersionInfo)("2.17.6"));
|
sinon.stub(codeqlObject, "getVersion").resolves((0, testing_utils_1.makeVersionInfo)("2.17.6"));
|
||||||
sinon
|
sinon
|
||||||
.stub(codeqlObject, "isTracedLanguage")
|
.stub(codeqlObject, "isTracedLanguage")
|
||||||
.withArgs(languages_1.Language.cpp)
|
.withArgs(languages_1.KnownLanguage.cpp)
|
||||||
.resolves(true);
|
.resolves(true);
|
||||||
return codeqlObject;
|
return codeqlObject;
|
||||||
}
|
}
|
||||||
@@ -578,7 +578,7 @@ for (const { codeqlVersion, flagPassed, githubVersion, negativeFlagPassed, } of
|
|||||||
sinon.stub(codeqlObject, "resolveExtractor").resolves("/path/to/extractor");
|
sinon.stub(codeqlObject, "resolveExtractor").resolves("/path/to/extractor");
|
||||||
// io throws because of the test CodeQL object.
|
// io throws because of the test CodeQL object.
|
||||||
sinon.stub(io, "which").resolves("");
|
sinon.stub(io, "which").resolves("");
|
||||||
await t.throwsAsync(async () => await codeqlObject.runAutobuild(stubConfig, languages_1.Language.java), {
|
await t.throwsAsync(async () => await codeqlObject.runAutobuild(stubConfig, languages_1.KnownLanguage.java), {
|
||||||
instanceOf: util.ConfigurationError,
|
instanceOf: util.ConfigurationError,
|
||||||
message: "We were unable to automatically build your code. Please provide manual build steps. " +
|
message: "We were unable to automatically build your code. Please provide manual build steps. " +
|
||||||
`See ${doc_url_1.DocUrl.AUTOMATIC_BUILD_FAILED} for more information. ` +
|
`See ${doc_url_1.DocUrl.AUTOMATIC_BUILD_FAILED} for more information. ` +
|
||||||
@@ -595,7 +595,7 @@ for (const { codeqlVersion, flagPassed, githubVersion, negativeFlagPassed, } of
|
|||||||
sinon.stub(codeqlObject, "resolveExtractor").resolves("/path/to/extractor");
|
sinon.stub(codeqlObject, "resolveExtractor").resolves("/path/to/extractor");
|
||||||
// io throws because of the test CodeQL object.
|
// io throws because of the test CodeQL object.
|
||||||
sinon.stub(io, "which").resolves("");
|
sinon.stub(io, "which").resolves("");
|
||||||
await t.throwsAsync(async () => await codeqlObject.runAutobuild(stubConfig, languages_1.Language.java), {
|
await t.throwsAsync(async () => await codeqlObject.runAutobuild(stubConfig, languages_1.KnownLanguage.java), {
|
||||||
instanceOf: util.ConfigurationError,
|
instanceOf: util.ConfigurationError,
|
||||||
message: "We were unable to automatically build your code. Please provide manual build steps. " +
|
message: "We were unable to automatically build your code. Please provide manual build steps. " +
|
||||||
`See ${doc_url_1.DocUrl.AUTOMATIC_BUILD_FAILED} for more information. ` +
|
`See ${doc_url_1.DocUrl.AUTOMATIC_BUILD_FAILED} for more information. ` +
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
5
lib/config-utils.js
generated
5
lib/config-utils.js
generated
@@ -173,7 +173,6 @@ async function getLanguages(codeql, languagesInput, repository, logger) {
|
|||||||
else {
|
else {
|
||||||
logger.info(`Languages from configuration: ${languages.join(", ")}`);
|
logger.info(`Languages from configuration: ${languages.join(", ")}`);
|
||||||
}
|
}
|
||||||
// TODO: use a typealias for Language and rename Language to KnownLanguage
|
|
||||||
return languages;
|
return languages;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -673,12 +672,12 @@ async function parseBuildModeInput(input, languages, features, logger) {
|
|||||||
if (!Object.values(util_1.BuildMode).includes(input)) {
|
if (!Object.values(util_1.BuildMode).includes(input)) {
|
||||||
throw new util_1.ConfigurationError(`Invalid build mode: '${input}'. Supported build modes are: ${Object.values(util_1.BuildMode).join(", ")}.`);
|
throw new util_1.ConfigurationError(`Invalid build mode: '${input}'. Supported build modes are: ${Object.values(util_1.BuildMode).join(", ")}.`);
|
||||||
}
|
}
|
||||||
if (languages.includes(languages_1.Language.csharp) &&
|
if (languages.includes(languages_1.KnownLanguage.csharp) &&
|
||||||
(await features.getValue(feature_flags_1.Feature.DisableCsharpBuildless))) {
|
(await features.getValue(feature_flags_1.Feature.DisableCsharpBuildless))) {
|
||||||
logger.warning("Scanning C# code without a build is temporarily unavailable. Falling back to 'autobuild' build mode.");
|
logger.warning("Scanning C# code without a build is temporarily unavailable. Falling back to 'autobuild' build mode.");
|
||||||
return util_1.BuildMode.Autobuild;
|
return util_1.BuildMode.Autobuild;
|
||||||
}
|
}
|
||||||
if (languages.includes(languages_1.Language.java) &&
|
if (languages.includes(languages_1.KnownLanguage.java) &&
|
||||||
(await features.getValue(feature_flags_1.Feature.DisableJavaBuildlessEnabled))) {
|
(await features.getValue(feature_flags_1.Feature.DisableJavaBuildlessEnabled))) {
|
||||||
logger.warning("Scanning Java code without a build is temporarily unavailable. Falling back to 'autobuild' build mode.");
|
logger.warning("Scanning Java code without a build is temporarily unavailable. Falling back to 'autobuild' build mode.");
|
||||||
return util_1.BuildMode.Autobuild;
|
return util_1.BuildMode.Autobuild;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
50
lib/config-utils.test.js
generated
50
lib/config-utils.test.js
generated
@@ -302,7 +302,7 @@ function mockListLanguages(languages) {
|
|||||||
fs.mkdirSync(path.join(tempDir, "foo"));
|
fs.mkdirSync(path.join(tempDir, "foo"));
|
||||||
// And the config we expect it to parse to
|
// And the config we expect it to parse to
|
||||||
const expectedConfig = {
|
const expectedConfig = {
|
||||||
languages: [languages_1.Language.javascript],
|
languages: [languages_1.KnownLanguage.javascript],
|
||||||
buildMode: util_1.BuildMode.None,
|
buildMode: util_1.BuildMode.None,
|
||||||
originalUserInput: {
|
originalUserInput: {
|
||||||
name: "my config",
|
name: "my config",
|
||||||
@@ -564,17 +564,17 @@ const parsePacksErrorMacro = ava_1.default.macro({
|
|||||||
* Test macro for testing when the packs block is invalid
|
* Test macro for testing when the packs block is invalid
|
||||||
*/
|
*/
|
||||||
const invalidPackNameMacro = ava_1.default.macro({
|
const invalidPackNameMacro = ava_1.default.macro({
|
||||||
exec: (t, name) => parsePacksErrorMacro.exec(t, name, [languages_1.Language.cpp], new RegExp(`^"${name}" is not a valid pack$`)),
|
exec: (t, name) => parsePacksErrorMacro.exec(t, name, [languages_1.KnownLanguage.cpp], new RegExp(`^"${name}" is not a valid pack$`)),
|
||||||
title: (_providedTitle, arg) => `Invalid pack string: ${arg}`,
|
title: (_providedTitle, arg) => `Invalid pack string: ${arg}`,
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("no packs", parsePacksMacro, "", [], undefined);
|
(0, ava_1.default)("no packs", parsePacksMacro, "", [], undefined);
|
||||||
(0, ava_1.default)("two packs", parsePacksMacro, "a/b,c/d@1.2.3", [languages_1.Language.cpp], {
|
(0, ava_1.default)("two packs", parsePacksMacro, "a/b,c/d@1.2.3", [languages_1.KnownLanguage.cpp], {
|
||||||
[languages_1.Language.cpp]: ["a/b", "c/d@1.2.3"],
|
[languages_1.KnownLanguage.cpp]: ["a/b", "c/d@1.2.3"],
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("two packs with spaces", parsePacksMacro, " a/b , c/d@1.2.3 ", [languages_1.Language.cpp], {
|
(0, ava_1.default)("two packs with spaces", parsePacksMacro, " a/b , c/d@1.2.3 ", [languages_1.KnownLanguage.cpp], {
|
||||||
[languages_1.Language.cpp]: ["a/b", "c/d@1.2.3"],
|
[languages_1.KnownLanguage.cpp]: ["a/b", "c/d@1.2.3"],
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("two packs with language", parsePacksErrorMacro, "a/b,c/d@1.2.3", [languages_1.Language.cpp, languages_1.Language.java], new RegExp("Cannot specify a 'packs' input in a multi-language analysis. " +
|
(0, ava_1.default)("two packs with language", parsePacksErrorMacro, "a/b,c/d@1.2.3", [languages_1.KnownLanguage.cpp, languages_1.KnownLanguage.java], new RegExp("Cannot specify a 'packs' input in a multi-language analysis. " +
|
||||||
"Use a codeql-config.yml file instead and specify packs by language."));
|
"Use a codeql-config.yml file instead and specify packs by language."));
|
||||||
(0, ava_1.default)("packs with other valid names", parsePacksMacro, [
|
(0, ava_1.default)("packs with other valid names", parsePacksMacro, [
|
||||||
// ranges are ok
|
// ranges are ok
|
||||||
@@ -593,8 +593,8 @@ const invalidPackNameMacro = ava_1.default.macro({
|
|||||||
// this is valid, too. It will fail if it doesn't match a path
|
// this is valid, too. It will fail if it doesn't match a path
|
||||||
// (globbing is not done)
|
// (globbing is not done)
|
||||||
"c/d@1.2.3:+*)_(",
|
"c/d@1.2.3:+*)_(",
|
||||||
].join(","), [languages_1.Language.cpp], {
|
].join(","), [languages_1.KnownLanguage.cpp], {
|
||||||
[languages_1.Language.cpp]: [
|
[languages_1.KnownLanguage.cpp]: [
|
||||||
"c/d@1.0",
|
"c/d@1.0",
|
||||||
"c/d@~1.0.0",
|
"c/d@~1.0.0",
|
||||||
"c/d@~1.0.0:a/b",
|
"c/d@~1.0.0:a/b",
|
||||||
@@ -667,35 +667,35 @@ const calculateAugmentationMacro = ava_1.default.macro({
|
|||||||
},
|
},
|
||||||
title: (_, title) => `Calculate Augmentation: ${title}`,
|
title: (_, title) => `Calculate Augmentation: ${title}`,
|
||||||
});
|
});
|
||||||
(0, ava_1.default)(calculateAugmentationMacro, "All empty", undefined, undefined, [languages_1.Language.javascript], {
|
(0, ava_1.default)(calculateAugmentationMacro, "All empty", undefined, undefined, [languages_1.KnownLanguage.javascript], {
|
||||||
queriesInputCombines: false,
|
queriesInputCombines: false,
|
||||||
queriesInput: undefined,
|
queriesInput: undefined,
|
||||||
packsInputCombines: false,
|
packsInputCombines: false,
|
||||||
packsInput: undefined,
|
packsInput: undefined,
|
||||||
defaultQueryFilters: [],
|
defaultQueryFilters: [],
|
||||||
});
|
});
|
||||||
(0, ava_1.default)(calculateAugmentationMacro, "With queries", undefined, " a, b , c, d", [languages_1.Language.javascript], {
|
(0, ava_1.default)(calculateAugmentationMacro, "With queries", undefined, " a, b , c, d", [languages_1.KnownLanguage.javascript], {
|
||||||
queriesInputCombines: false,
|
queriesInputCombines: false,
|
||||||
queriesInput: [{ uses: "a" }, { uses: "b" }, { uses: "c" }, { uses: "d" }],
|
queriesInput: [{ uses: "a" }, { uses: "b" }, { uses: "c" }, { uses: "d" }],
|
||||||
packsInputCombines: false,
|
packsInputCombines: false,
|
||||||
packsInput: undefined,
|
packsInput: undefined,
|
||||||
defaultQueryFilters: [],
|
defaultQueryFilters: [],
|
||||||
});
|
});
|
||||||
(0, ava_1.default)(calculateAugmentationMacro, "With queries combining", undefined, " + a, b , c, d ", [languages_1.Language.javascript], {
|
(0, ava_1.default)(calculateAugmentationMacro, "With queries combining", undefined, " + a, b , c, d ", [languages_1.KnownLanguage.javascript], {
|
||||||
queriesInputCombines: true,
|
queriesInputCombines: true,
|
||||||
queriesInput: [{ uses: "a" }, { uses: "b" }, { uses: "c" }, { uses: "d" }],
|
queriesInput: [{ uses: "a" }, { uses: "b" }, { uses: "c" }, { uses: "d" }],
|
||||||
packsInputCombines: false,
|
packsInputCombines: false,
|
||||||
packsInput: undefined,
|
packsInput: undefined,
|
||||||
defaultQueryFilters: [],
|
defaultQueryFilters: [],
|
||||||
});
|
});
|
||||||
(0, ava_1.default)(calculateAugmentationMacro, "With packs", " codeql/a , codeql/b , codeql/c , codeql/d ", undefined, [languages_1.Language.javascript], {
|
(0, ava_1.default)(calculateAugmentationMacro, "With packs", " codeql/a , codeql/b , codeql/c , codeql/d ", undefined, [languages_1.KnownLanguage.javascript], {
|
||||||
queriesInputCombines: false,
|
queriesInputCombines: false,
|
||||||
queriesInput: undefined,
|
queriesInput: undefined,
|
||||||
packsInputCombines: false,
|
packsInputCombines: false,
|
||||||
packsInput: ["codeql/a", "codeql/b", "codeql/c", "codeql/d"],
|
packsInput: ["codeql/a", "codeql/b", "codeql/c", "codeql/d"],
|
||||||
defaultQueryFilters: [],
|
defaultQueryFilters: [],
|
||||||
});
|
});
|
||||||
(0, ava_1.default)(calculateAugmentationMacro, "With packs combining", " + codeql/a, codeql/b, codeql/c, codeql/d", undefined, [languages_1.Language.javascript], {
|
(0, ava_1.default)(calculateAugmentationMacro, "With packs combining", " + codeql/a, codeql/b, codeql/c, codeql/d", undefined, [languages_1.KnownLanguage.javascript], {
|
||||||
queriesInputCombines: false,
|
queriesInputCombines: false,
|
||||||
queriesInput: undefined,
|
queriesInput: undefined,
|
||||||
packsInputCombines: true,
|
packsInputCombines: true,
|
||||||
@@ -708,11 +708,11 @@ const calculateAugmentationErrorMacro = ava_1.default.macro({
|
|||||||
},
|
},
|
||||||
title: (_, title) => `Calculate Augmentation Error: ${title}`,
|
title: (_, title) => `Calculate Augmentation Error: ${title}`,
|
||||||
});
|
});
|
||||||
(0, ava_1.default)(calculateAugmentationErrorMacro, "Plus (+) with nothing else (queries)", undefined, " + ", [languages_1.Language.javascript], /The workflow property "queries" is invalid/);
|
(0, ava_1.default)(calculateAugmentationErrorMacro, "Plus (+) with nothing else (queries)", undefined, " + ", [languages_1.KnownLanguage.javascript], /The workflow property "queries" is invalid/);
|
||||||
(0, ava_1.default)(calculateAugmentationErrorMacro, "Plus (+) with nothing else (packs)", " + ", undefined, [languages_1.Language.javascript], /The workflow property "packs" is invalid/);
|
(0, ava_1.default)(calculateAugmentationErrorMacro, "Plus (+) with nothing else (packs)", " + ", undefined, [languages_1.KnownLanguage.javascript], /The workflow property "packs" is invalid/);
|
||||||
(0, ava_1.default)(calculateAugmentationErrorMacro, "Packs input with multiple languages", " + a/b, c/d ", undefined, [languages_1.Language.javascript, languages_1.Language.java], /Cannot specify a 'packs' input in a multi-language analysis/);
|
(0, ava_1.default)(calculateAugmentationErrorMacro, "Packs input with multiple languages", " + a/b, c/d ", undefined, [languages_1.KnownLanguage.javascript, languages_1.KnownLanguage.java], /Cannot specify a 'packs' input in a multi-language analysis/);
|
||||||
(0, ava_1.default)(calculateAugmentationErrorMacro, "Packs input with no languages", " + a/b, c/d ", undefined, [], /No languages specified/);
|
(0, ava_1.default)(calculateAugmentationErrorMacro, "Packs input with no languages", " + a/b, c/d ", undefined, [], /No languages specified/);
|
||||||
(0, ava_1.default)(calculateAugmentationErrorMacro, "Invalid packs", " a-pack-without-a-scope ", undefined, [languages_1.Language.javascript], /"a-pack-without-a-scope" is not a valid pack/);
|
(0, ava_1.default)(calculateAugmentationErrorMacro, "Invalid packs", " a-pack-without-a-scope ", undefined, [languages_1.KnownLanguage.javascript], /"a-pack-without-a-scope" is not a valid pack/);
|
||||||
(0, ava_1.default)("no generateRegistries when registries is undefined", async (t) => {
|
(0, ava_1.default)("no generateRegistries when registries is undefined", async (t) => {
|
||||||
return await (0, util_1.withTmpDir)(async (tmpDir) => {
|
return await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
const registriesInput = undefined;
|
const registriesInput = undefined;
|
||||||
@@ -800,10 +800,10 @@ const mockRepositoryNwo = (0, repository_1.parseRepositoryNwo)("owner/repo");
|
|||||||
const codeQL = (0, codeql_1.setCodeQL)({
|
const codeQL = (0, codeql_1.setCodeQL)({
|
||||||
betterResolveLanguages: () => Promise.resolve({
|
betterResolveLanguages: () => Promise.resolve({
|
||||||
aliases: {
|
aliases: {
|
||||||
"c#": languages_1.Language.csharp,
|
"c#": languages_1.KnownLanguage.csharp,
|
||||||
c: languages_1.Language.cpp,
|
c: languages_1.KnownLanguage.cpp,
|
||||||
kotlin: languages_1.Language.java,
|
kotlin: languages_1.KnownLanguage.java,
|
||||||
typescript: languages_1.Language.javascript,
|
typescript: languages_1.KnownLanguage.javascript,
|
||||||
},
|
},
|
||||||
extractors: {
|
extractors: {
|
||||||
cpp: [stubExtractorEntry],
|
cpp: [stubExtractorEntry],
|
||||||
@@ -829,12 +829,12 @@ const mockRepositoryNwo = (0, repository_1.parseRepositoryNwo)("owner/repo");
|
|||||||
for (const { displayName, language, feature } of [
|
for (const { displayName, language, feature } of [
|
||||||
{
|
{
|
||||||
displayName: "Java",
|
displayName: "Java",
|
||||||
language: languages_1.Language.java,
|
language: languages_1.KnownLanguage.java,
|
||||||
feature: feature_flags_1.Feature.DisableJavaBuildlessEnabled,
|
feature: feature_flags_1.Feature.DisableJavaBuildlessEnabled,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: "C#",
|
displayName: "C#",
|
||||||
language: languages_1.Language.csharp,
|
language: languages_1.KnownLanguage.csharp,
|
||||||
feature: feature_flags_1.Feature.DisableCsharpBuildless,
|
feature: feature_flags_1.Feature.DisableCsharpBuildless,
|
||||||
},
|
},
|
||||||
]) {
|
]) {
|
||||||
@@ -846,7 +846,7 @@ for (const { displayName, language, feature } of [
|
|||||||
});
|
});
|
||||||
(0, ava_1.default)(`Build mode not overridden for other languages when disable ${displayName} buildless feature flag enabled`, async (t) => {
|
(0, ava_1.default)(`Build mode not overridden for other languages when disable ${displayName} buildless feature flag enabled`, async (t) => {
|
||||||
const messages = [];
|
const messages = [];
|
||||||
const buildMode = await configUtils.parseBuildModeInput("none", [languages_1.Language.python], (0, testing_utils_1.createFeatures)([feature]), (0, testing_utils_1.getRecordingLogger)(messages));
|
const buildMode = await configUtils.parseBuildModeInput("none", [languages_1.KnownLanguage.python], (0, testing_utils_1.createFeatures)([feature]), (0, testing_utils_1.getRecordingLogger)(messages));
|
||||||
t.is(buildMode, util_1.BuildMode.None);
|
t.is(buildMode, util_1.BuildMode.None);
|
||||||
t.deepEqual(messages, []);
|
t.deepEqual(messages, []);
|
||||||
});
|
});
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
2
lib/database-upload.test.js
generated
2
lib/database-upload.test.js
generated
@@ -60,7 +60,7 @@ const testApiDetails = {
|
|||||||
};
|
};
|
||||||
function getTestConfig(tmpDir) {
|
function getTestConfig(tmpDir) {
|
||||||
return (0, testing_utils_1.createTestConfig)({
|
return (0, testing_utils_1.createTestConfig)({
|
||||||
languages: [languages_1.Language.javascript],
|
languages: [languages_1.KnownLanguage.javascript],
|
||||||
dbLocation: tmpDir,
|
dbLocation: tmpDir,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
14
lib/init-action.js
generated
14
lib/init-action.js
generated
@@ -124,7 +124,7 @@ async function sendCompletedStatusReport(startedAt, config, configFile, toolsDow
|
|||||||
queries: queries.join(","),
|
queries: queries.join(","),
|
||||||
packs: JSON.stringify(packs),
|
packs: JSON.stringify(packs),
|
||||||
trap_cache_languages: Object.keys(config.trapCaches).join(","),
|
trap_cache_languages: Object.keys(config.trapCaches).join(","),
|
||||||
trap_cache_download_size_bytes: Math.round(await (0, caching_utils_1.getTotalCacheSize)(Object.values(config.trapCaches), logger)),
|
trap_cache_download_size_bytes: Math.round(await (0, caching_utils_1.getTotalCacheSize)(Object.values(config.trapCaches).filter((x) => x !== undefined), logger)),
|
||||||
trap_cache_download_duration_ms: Math.round(config.trapCacheDownloadTime),
|
trap_cache_download_duration_ms: Math.round(config.trapCacheDownloadTime),
|
||||||
query_filters: JSON.stringify(config.originalUserInput["query-filters"] ?? []),
|
query_filters: JSON.stringify(config.originalUserInput["query-filters"] ?? []),
|
||||||
registries: JSON.stringify(configUtils.parseRegistriesWithoutCredentials((0, actions_util_1.getOptionalInput)("registries")) ?? []),
|
registries: JSON.stringify(configUtils.parseRegistriesWithoutCredentials((0, actions_util_1.getOptionalInput)("registries")) ?? []),
|
||||||
@@ -256,11 +256,11 @@ async function run() {
|
|||||||
core.exportVariable("GOFLAGS", goFlags);
|
core.exportVariable("GOFLAGS", goFlags);
|
||||||
core.warning("Passing the GOFLAGS env parameter to the init action is deprecated. Please move this to the analyze action.");
|
core.warning("Passing the GOFLAGS env parameter to the init action is deprecated. Please move this to the analyze action.");
|
||||||
}
|
}
|
||||||
if (config.languages.includes(languages_1.Language.swift) &&
|
if (config.languages.includes(languages_1.KnownLanguage.swift) &&
|
||||||
process.platform === "linux") {
|
process.platform === "linux") {
|
||||||
logger.warning(`Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner if this affects you.`);
|
logger.warning(`Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner if this affects you.`);
|
||||||
}
|
}
|
||||||
if (config.languages.includes(languages_1.Language.go) &&
|
if (config.languages.includes(languages_1.KnownLanguage.go) &&
|
||||||
process.platform === "linux") {
|
process.platform === "linux") {
|
||||||
try {
|
try {
|
||||||
const goBinaryPath = await io.which("go", true);
|
const goBinaryPath = await io.which("go", true);
|
||||||
@@ -298,7 +298,7 @@ async function run() {
|
|||||||
catch (e) {
|
catch (e) {
|
||||||
logger.warning(`Failed to determine the location of the Go binary: ${e}`);
|
logger.warning(`Failed to determine the location of the Go binary: ${e}`);
|
||||||
if (e instanceof actions_util_1.FileCmdNotFoundError) {
|
if (e instanceof actions_util_1.FileCmdNotFoundError) {
|
||||||
(0, diagnostics_1.addDiagnostic)(config, languages_1.Language.go, (0, diagnostics_1.makeDiagnostic)("go/workflow/file-program-unavailable", "The `file` program is required on Linux, but does not appear to be installed", {
|
(0, diagnostics_1.addDiagnostic)(config, languages_1.KnownLanguage.go, (0, diagnostics_1.makeDiagnostic)("go/workflow/file-program-unavailable", "The `file` program is required on Linux, but does not appear to be installed", {
|
||||||
markdownMessage: "CodeQL was unable to find the `file` program on this system. Ensure that the `file` program is installed on Linux runners and accessible.",
|
markdownMessage: "CodeQL was unable to find the `file` program on this system. Ensure that the `file` program is installed on Linux runners and accessible.",
|
||||||
visibility: {
|
visibility: {
|
||||||
statusPage: true,
|
statusPage: true,
|
||||||
@@ -328,7 +328,7 @@ async function run() {
|
|||||||
!(await (0, util_1.codeQlVersionAtLeast)(codeql, "2.20.4"))) {
|
!(await (0, util_1.codeQlVersionAtLeast)(codeql, "2.20.4"))) {
|
||||||
core.exportVariable(kotlinLimitVar, "2.1.20");
|
core.exportVariable(kotlinLimitVar, "2.1.20");
|
||||||
}
|
}
|
||||||
if (config.languages.includes(languages_1.Language.cpp)) {
|
if (config.languages.includes(languages_1.KnownLanguage.cpp)) {
|
||||||
const envVar = "CODEQL_EXTRACTOR_CPP_TRAP_CACHING";
|
const envVar = "CODEQL_EXTRACTOR_CPP_TRAP_CACHING";
|
||||||
if (process.env[envVar]) {
|
if (process.env[envVar]) {
|
||||||
logger.info(`Environment variable ${envVar} already set. Not en/disabling CodeQL C++ TRAP caching support`);
|
logger.info(`Environment variable ${envVar} already set. Not en/disabling CodeQL C++ TRAP caching support`);
|
||||||
@@ -344,7 +344,7 @@ async function run() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Set CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE
|
// Set CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE
|
||||||
if (config.languages.includes(languages_1.Language.cpp)) {
|
if (config.languages.includes(languages_1.KnownLanguage.cpp)) {
|
||||||
const bmnVar = "CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE";
|
const bmnVar = "CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE";
|
||||||
const value = process.env[bmnVar] ||
|
const value = process.env[bmnVar] ||
|
||||||
(await features.getValue(feature_flags_1.Feature.CppBuildModeNone, codeql));
|
(await features.getValue(feature_flags_1.Feature.CppBuildModeNone, codeql));
|
||||||
@@ -352,7 +352,7 @@ async function run() {
|
|||||||
core.exportVariable(bmnVar, value);
|
core.exportVariable(bmnVar, value);
|
||||||
}
|
}
|
||||||
// Set CODEQL_ENABLE_EXPERIMENTAL_FEATURES for rust
|
// Set CODEQL_ENABLE_EXPERIMENTAL_FEATURES for rust
|
||||||
if (config.languages.includes(languages_1.Language.rust)) {
|
if (config.languages.includes(languages_1.KnownLanguage.rust)) {
|
||||||
const feat = feature_flags_1.Feature.RustAnalysis;
|
const feat = feature_flags_1.Feature.RustAnalysis;
|
||||||
const minVer = feature_flags_1.featureConfig[feat].minimumVersion;
|
const minVer = feature_flags_1.featureConfig[feat].minimumVersion;
|
||||||
const envVar = "CODEQL_ENABLE_EXPERIMENTAL_FEATURES";
|
const envVar = "CODEQL_ENABLE_EXPERIMENTAL_FEATURES";
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
2
lib/init.js
generated
2
lib/init.js
generated
@@ -113,7 +113,7 @@ async function runInit(codeql, config, sourceRoot, processName, registriesInput,
|
|||||||
* This check happens in a powershell script.
|
* This check happens in a powershell script.
|
||||||
*/
|
*/
|
||||||
async function checkInstallPython311(languages, codeql) {
|
async function checkInstallPython311(languages, codeql) {
|
||||||
if (languages.includes(languages_1.Language.python) &&
|
if (languages.includes(languages_1.KnownLanguage.python) &&
|
||||||
process.platform === "win32" &&
|
process.platform === "win32" &&
|
||||||
!(await codeql.getVersion()).features?.supportsPython312) {
|
!(await codeql.getVersion()).features?.supportsPython312) {
|
||||||
const script = path.resolve(__dirname, "../python-setup", "check_python12.ps1");
|
const script = path.resolve(__dirname, "../python-setup", "check_python12.ps1");
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
||||||
32
lib/languages.js
generated
32
lib/languages.js
generated
@@ -1,22 +1,16 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.Language = void 0;
|
exports.KnownLanguage = void 0;
|
||||||
/**
|
var KnownLanguage;
|
||||||
* A CodeQL language.
|
(function (KnownLanguage) {
|
||||||
*
|
KnownLanguage["csharp"] = "csharp";
|
||||||
* To facilitate adding new languages, this is _not_ an exhaustive list of
|
KnownLanguage["cpp"] = "cpp";
|
||||||
* languages supported by CodeQL.
|
KnownLanguage["go"] = "go";
|
||||||
*/
|
KnownLanguage["java"] = "java";
|
||||||
var Language;
|
KnownLanguage["javascript"] = "javascript";
|
||||||
(function (Language) {
|
KnownLanguage["python"] = "python";
|
||||||
Language["csharp"] = "csharp";
|
KnownLanguage["ruby"] = "ruby";
|
||||||
Language["cpp"] = "cpp";
|
KnownLanguage["rust"] = "rust";
|
||||||
Language["go"] = "go";
|
KnownLanguage["swift"] = "swift";
|
||||||
Language["java"] = "java";
|
})(KnownLanguage || (exports.KnownLanguage = KnownLanguage = {}));
|
||||||
Language["javascript"] = "javascript";
|
|
||||||
Language["python"] = "python";
|
|
||||||
Language["ruby"] = "ruby";
|
|
||||||
Language["rust"] = "rust";
|
|
||||||
Language["swift"] = "swift";
|
|
||||||
})(Language || (exports.Language = Language = {}));
|
|
||||||
//# sourceMappingURL=languages.js.map
|
//# sourceMappingURL=languages.js.map
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,yBAAa,CAAA;IACb,qCAAyB,CAAA;IACzB,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EAVW,QAAQ,wBAAR,QAAQ,QAUnB"}
|
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":";;;AAQA,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,4BAAW,CAAA;IACX,0BAAS,CAAA;IACT,8BAAa,CAAA;IACb,0CAAyB,CAAA;IACzB,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,gCAAe,CAAA;AACjB,CAAC,EAVW,aAAa,6BAAb,aAAa,QAUxB"}
|
||||||
16
lib/start-proxy.js
generated
16
lib/start-proxy.js
generated
@@ -14,13 +14,13 @@ const util_1 = require("./util");
|
|||||||
* for this Action.
|
* for this Action.
|
||||||
*/
|
*/
|
||||||
const LANGUAGE_ALIASES = {
|
const LANGUAGE_ALIASES = {
|
||||||
c: languages_1.Language.cpp,
|
c: languages_1.KnownLanguage.cpp,
|
||||||
"c++": languages_1.Language.cpp,
|
"c++": languages_1.KnownLanguage.cpp,
|
||||||
"c#": languages_1.Language.csharp,
|
"c#": languages_1.KnownLanguage.csharp,
|
||||||
kotlin: languages_1.Language.java,
|
kotlin: languages_1.KnownLanguage.java,
|
||||||
typescript: languages_1.Language.javascript,
|
typescript: languages_1.KnownLanguage.javascript,
|
||||||
"javascript-typescript": languages_1.Language.javascript,
|
"javascript-typescript": languages_1.KnownLanguage.javascript,
|
||||||
"java-kotlin": languages_1.Language.java,
|
"java-kotlin": languages_1.KnownLanguage.java,
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Parse the start-proxy language input into its canonical CodeQL language name.
|
* Parse the start-proxy language input into its canonical CodeQL language name.
|
||||||
@@ -32,7 +32,7 @@ function parseLanguage(language) {
|
|||||||
// Normalize to lower case
|
// Normalize to lower case
|
||||||
language = language.trim().toLowerCase();
|
language = language.trim().toLowerCase();
|
||||||
// See if it's an exact match
|
// See if it's an exact match
|
||||||
if (language in languages_1.Language) {
|
if (language in languages_1.KnownLanguage) {
|
||||||
return language;
|
return language;
|
||||||
}
|
}
|
||||||
// Check language aliases, but return the original language name,
|
// Check language aliases, but return the original language name,
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"start-proxy.js","sourceRoot":"","sources":["../src/start-proxy.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"start-proxy.js","sourceRoot":"","sources":["../src/start-proxy.ts"],"names":[],"mappings":"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"}
|
||||||
28
lib/start-proxy.test.js
generated
28
lib/start-proxy.test.js
generated
@@ -100,22 +100,22 @@ const testing_utils_1 = require("./testing-utils");
|
|||||||
});
|
});
|
||||||
(0, ava_1.default)("parseLanguage", async (t) => {
|
(0, ava_1.default)("parseLanguage", async (t) => {
|
||||||
// Exact matches
|
// Exact matches
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("csharp"), languages_1.Language.csharp);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("csharp"), languages_1.KnownLanguage.csharp);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("cpp"), languages_1.Language.cpp);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("cpp"), languages_1.KnownLanguage.cpp);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("go"), languages_1.Language.go);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("go"), languages_1.KnownLanguage.go);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("java"), languages_1.Language.java);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("java"), languages_1.KnownLanguage.java);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("javascript"), languages_1.Language.javascript);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("javascript"), languages_1.KnownLanguage.javascript);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("python"), languages_1.Language.python);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("python"), languages_1.KnownLanguage.python);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("rust"), languages_1.Language.rust);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("rust"), languages_1.KnownLanguage.rust);
|
||||||
// Aliases
|
// Aliases
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("c"), languages_1.Language.cpp);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("c"), languages_1.KnownLanguage.cpp);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("c++"), languages_1.Language.cpp);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("c++"), languages_1.KnownLanguage.cpp);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("c#"), languages_1.Language.csharp);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("c#"), languages_1.KnownLanguage.csharp);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("kotlin"), languages_1.Language.java);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("kotlin"), languages_1.KnownLanguage.java);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("typescript"), languages_1.Language.javascript);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("typescript"), languages_1.KnownLanguage.javascript);
|
||||||
// spaces and case-insensitivity
|
// spaces and case-insensitivity
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)(" \t\nCsHaRp\t\t"), languages_1.Language.csharp);
|
t.deepEqual((0, start_proxy_1.parseLanguage)(" \t\nCsHaRp\t\t"), languages_1.KnownLanguage.csharp);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)(" \t\nkOtLin\t\t"), languages_1.Language.java);
|
t.deepEqual((0, start_proxy_1.parseLanguage)(" \t\nkOtLin\t\t"), languages_1.KnownLanguage.java);
|
||||||
// Not matches
|
// Not matches
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)("foo"), undefined);
|
t.deepEqual((0, start_proxy_1.parseLanguage)("foo"), undefined);
|
||||||
t.deepEqual((0, start_proxy_1.parseLanguage)(" "), undefined);
|
t.deepEqual((0, start_proxy_1.parseLanguage)(" "), undefined);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"start-proxy.test.js","sourceRoot":"","sources":["../src/start-proxy.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAEvB,2CAAuC;AACvC,uCAA4C;AAC5C,iEAAmD;AACnD,+CAA8C;AAC9C,mDAA6C;AAE7C,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,IAAA,aAAI,EAAC,mEAAmE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACpF,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CACrC,IAAI,CAAC,SAAS,CAAC;QACb,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE;KACnE,CAAC,CACH,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE;KACnE,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAClD,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,eAAe,EACf,mBAAmB,EACnB,SAAS,CACV,CAAC;IACF,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,kEAAkE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACnF,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CACrC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CACzD,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErB,CAAC,CAAC,MAAM,CACN,GAAG,EAAE,CACH,iBAAiB,CAAC,cAAc,CAC9B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,SAAS,EACT,mBAAmB,EACnB,SAAS,CACV,EACH;QACE,OAAO,EAAE,gDAAgD;KAC1D,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mDAAmD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACpE,MAAM,gBAAgB,GAAG;QACvB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE;QAClE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE;QACxE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE;KACnE,CAAC;IAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAClD,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,SAAS,EACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAChE,MAAM,CACP,CAAC;IACF,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mEAAmE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACpF,MAAM,gBAAgB,GAAG;QACvB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE;QAClE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE;QACxE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE;KACnE,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAClC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CACjC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErB,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAClD,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,SAAS,EACT,gBAAgB,EAChB,SAAS,CACV,CAAC;IACF,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uEAAuE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxF,MAAM,kBAAkB,GAAG;QACzB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,mCAAmC;QAC9G,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,6BAA6B,EAAE,EAAE,kCAAkC;QAC/F;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,WAAW;SACtB,EAAE,sCAAsC;QACzC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,sCAAsC;KACnH,CAAC;IAEF,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAClC,IAAI,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC,CACpC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErB,CAAC,CAAC,MAAM,CACN,GAAG,EAAE,CACH,iBAAiB,CAAC,cAAc,CAC9B,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,SAAS,EACT,gBAAgB,EAChB,SAAS,CACV,EACH;YACE,OAAO,EACL,qEAAqE;SACxE,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChC,gBAAgB;IAChB,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,QAAQ,CAAC,EAAE,oBAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,oBAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,IAAI,CAAC,EAAE,oBAAQ,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,MAAM,CAAC,EAAE,oBAAQ,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,YAAY,CAAC,EAAE,oBAAQ,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,QAAQ,CAAC,EAAE,oBAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,MAAM,CAAC,EAAE,oBAAQ,CAAC,IAAI,CAAC,CAAC;IAElD,UAAU;IACV,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,GAAG,CAAC,EAAE,oBAAQ,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,oBAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,IAAI,CAAC,EAAE,oBAAQ,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,QAAQ,CAAC,EAAE,oBAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,YAAY,CAAC,EAAE,oBAAQ,CAAC,UAAU,CAAC,CAAC;IAE9D,gCAAgC;IAChC,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,kBAAkB,CAAC,EAAE,oBAAQ,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,kBAAkB,CAAC,EAAE,oBAAQ,CAAC,IAAI,CAAC,CAAC;IAE9D,cAAc;IACd,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,SAAS,CAAC,IAAA,2BAAa,EAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC"}
|
{"version":3,"file":"start-proxy.test.js","sourceRoot":"","sources":["../src/start-proxy.test.ts"],"names":[],"mappings":"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"}
|
||||||
2
lib/status-report.test.js
generated
2
lib/status-report.test.js
generated
@@ -66,7 +66,7 @@ function setupEnvironmentAndStub(tmpDir) {
|
|||||||
setupEnvironmentAndStub(tmpDir);
|
setupEnvironmentAndStub(tmpDir);
|
||||||
const statusReport = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Init, "failure", new Date("May 19, 2023 05:19:00"), (0, testing_utils_1.createTestConfig)({
|
const statusReport = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Init, "failure", new Date("May 19, 2023 05:19:00"), (0, testing_utils_1.createTestConfig)({
|
||||||
buildMode: util_1.BuildMode.None,
|
buildMode: util_1.BuildMode.None,
|
||||||
languages: [languages_1.Language.java, languages_1.Language.swift],
|
languages: [languages_1.KnownLanguage.java, languages_1.KnownLanguage.swift],
|
||||||
}), { numAvailableBytes: 100, numTotalBytes: 500 }, (0, logging_1.getRunnerLogger)(false), "failure cause", "exception stack trace");
|
}), { numAvailableBytes: 100, numTotalBytes: 500 }, (0, logging_1.getRunnerLogger)(false), "failure cause", "exception stack trace");
|
||||||
t.truthy(statusReport);
|
t.truthy(statusReport);
|
||||||
if (statusReport !== undefined) {
|
if (statusReport !== undefined) {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
6
lib/tracer-config.test.js
generated
6
lib/tracer-config.test.js
generated
@@ -48,7 +48,7 @@ const util = __importStar(require("./util"));
|
|||||||
(0, testing_utils_1.setupTests)(ava_1.default);
|
(0, testing_utils_1.setupTests)(ava_1.default);
|
||||||
function getTestConfig(tempDir) {
|
function getTestConfig(tempDir) {
|
||||||
return (0, testing_utils_1.createTestConfig)({
|
return (0, testing_utils_1.createTestConfig)({
|
||||||
languages: [languages_1.Language.java],
|
languages: [languages_1.KnownLanguage.java],
|
||||||
tempDir,
|
tempDir,
|
||||||
dbLocation: path.resolve(tempDir, "codeql_databases"),
|
dbLocation: path.resolve(tempDir, "codeql_databases"),
|
||||||
});
|
});
|
||||||
@@ -60,7 +60,7 @@ async function stubCodeql(enabledFeatures = []) {
|
|||||||
.resolves((0, testing_utils_1.makeVersionInfo)("1.0.0", Object.fromEntries(enabledFeatures.map((f) => [f, true]))));
|
.resolves((0, testing_utils_1.makeVersionInfo)("1.0.0", Object.fromEntries(enabledFeatures.map((f) => [f, true]))));
|
||||||
sinon
|
sinon
|
||||||
.stub(codeqlObject, "isTracedLanguage")
|
.stub(codeqlObject, "isTracedLanguage")
|
||||||
.withArgs(languages_1.Language.java)
|
.withArgs(languages_1.KnownLanguage.java)
|
||||||
.resolves(true);
|
.resolves(true);
|
||||||
return codeqlObject;
|
return codeqlObject;
|
||||||
}
|
}
|
||||||
@@ -68,7 +68,7 @@ async function stubCodeql(enabledFeatures = []) {
|
|||||||
await util.withTmpDir(async (tmpDir) => {
|
await util.withTmpDir(async (tmpDir) => {
|
||||||
const config = getTestConfig(tmpDir);
|
const config = getTestConfig(tmpDir);
|
||||||
// No traced languages
|
// No traced languages
|
||||||
config.languages = [languages_1.Language.javascript, languages_1.Language.python];
|
config.languages = [languages_1.KnownLanguage.javascript, languages_1.KnownLanguage.python];
|
||||||
t.deepEqual(await (0, tracer_config_1.getCombinedTracerConfig)(await stubCodeql(), config), undefined);
|
t.deepEqual(await (0, tracer_config_1.getCombinedTracerConfig)(await stubCodeql(), config), undefined);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"tracer-config.test.js","sourceRoot":"","sources":["../src/tracer-config.test.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"tracer-config.test.js","sourceRoot":"","sources":["../src/tracer-config.test.ts"],"names":[],"mappings":"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"}
|
||||||
16
lib/trap-caching.test.js
generated
16
lib/trap-caching.test.js
generated
@@ -59,7 +59,7 @@ const stubCodeql = (0, codeql_1.setCodeQL)({
|
|||||||
async betterResolveLanguages() {
|
async betterResolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
[languages_1.Language.javascript]: [
|
[languages_1.KnownLanguage.javascript]: [
|
||||||
{
|
{
|
||||||
extractor_root: "some_root",
|
extractor_root: "some_root",
|
||||||
extractor_options: {
|
extractor_options: {
|
||||||
@@ -83,7 +83,7 @@ const stubCodeql = (0, codeql_1.setCodeQL)({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[languages_1.Language.cpp]: [
|
[languages_1.KnownLanguage.cpp]: [
|
||||||
{
|
{
|
||||||
extractor_root: "other_root",
|
extractor_root: "other_root",
|
||||||
},
|
},
|
||||||
@@ -93,14 +93,14 @@ const stubCodeql = (0, codeql_1.setCodeQL)({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
const testConfigWithoutTmpDir = (0, testing_utils_1.createTestConfig)({
|
const testConfigWithoutTmpDir = (0, testing_utils_1.createTestConfig)({
|
||||||
languages: [languages_1.Language.javascript, languages_1.Language.cpp],
|
languages: [languages_1.KnownLanguage.javascript, languages_1.KnownLanguage.cpp],
|
||||||
trapCaches: {
|
trapCaches: {
|
||||||
javascript: "/some/cache/dir",
|
javascript: "/some/cache/dir",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
function getTestConfigWithTempDir(tempDir) {
|
function getTestConfigWithTempDir(tempDir) {
|
||||||
return (0, testing_utils_1.createTestConfig)({
|
return (0, testing_utils_1.createTestConfig)({
|
||||||
languages: [languages_1.Language.javascript, languages_1.Language.ruby],
|
languages: [languages_1.KnownLanguage.javascript, languages_1.KnownLanguage.ruby],
|
||||||
tempDir,
|
tempDir,
|
||||||
dbLocation: path.resolve(tempDir, "codeql_databases"),
|
dbLocation: path.resolve(tempDir, "codeql_databases"),
|
||||||
trapCaches: {
|
trapCaches: {
|
||||||
@@ -113,7 +113,7 @@ function getTestConfigWithTempDir(tempDir) {
|
|||||||
await util.withTmpDir(async (tmpDir) => {
|
await util.withTmpDir(async (tmpDir) => {
|
||||||
const config = getTestConfigWithTempDir(tmpDir);
|
const config = getTestConfigWithTempDir(tmpDir);
|
||||||
sinon.stub(gitUtils, "isAnalyzingDefaultBranch").resolves(true);
|
sinon.stub(gitUtils, "isAnalyzingDefaultBranch").resolves(true);
|
||||||
const result = await (0, codeql_1.getTrapCachingExtractorConfigArgsForLang)(config, languages_1.Language.javascript);
|
const result = await (0, codeql_1.getTrapCachingExtractorConfigArgsForLang)(config, languages_1.KnownLanguage.javascript);
|
||||||
t.deepEqual(result, [
|
t.deepEqual(result, [
|
||||||
`-O=javascript.trap.cache.dir=${path.resolve(tmpDir, "jsCache")}`,
|
`-O=javascript.trap.cache.dir=${path.resolve(tmpDir, "jsCache")}`,
|
||||||
"-O=javascript.trap.cache.bound=1024",
|
"-O=javascript.trap.cache.bound=1024",
|
||||||
@@ -139,8 +139,8 @@ function getTestConfigWithTempDir(tempDir) {
|
|||||||
(0, ava_1.default)("get languages that support TRAP caching", async (t) => {
|
(0, ava_1.default)("get languages that support TRAP caching", async (t) => {
|
||||||
const loggedMessages = [];
|
const loggedMessages = [];
|
||||||
const logger = (0, testing_utils_1.getRecordingLogger)(loggedMessages);
|
const logger = (0, testing_utils_1.getRecordingLogger)(loggedMessages);
|
||||||
const languagesSupportingCaching = await (0, trap_caching_1.getLanguagesSupportingCaching)(stubCodeql, [languages_1.Language.javascript, languages_1.Language.cpp], logger);
|
const languagesSupportingCaching = await (0, trap_caching_1.getLanguagesSupportingCaching)(stubCodeql, [languages_1.KnownLanguage.javascript, languages_1.KnownLanguage.cpp], logger);
|
||||||
t.deepEqual(languagesSupportingCaching, [languages_1.Language.javascript]);
|
t.deepEqual(languagesSupportingCaching, [languages_1.KnownLanguage.javascript]);
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("upload cache key contains right fields", async (t) => {
|
(0, ava_1.default)("upload cache key contains right fields", async (t) => {
|
||||||
const loggedMessages = [];
|
const loggedMessages = [];
|
||||||
@@ -172,7 +172,7 @@ function getTestConfigWithTempDir(tempDir) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
await (0, trap_caching_1.downloadTrapCaches)(stubCodeql, [languages_1.Language.javascript, languages_1.Language.cpp], logger);
|
await (0, trap_caching_1.downloadTrapCaches)(stubCodeql, [languages_1.KnownLanguage.javascript, languages_1.KnownLanguage.cpp], logger);
|
||||||
t.assert(stubRestore.calledOnceWith(sinon.match.array.contains([
|
t.assert(stubRestore.calledOnceWith(sinon.match.array.contains([
|
||||||
path.resolve(tmpDir, "trapCaches", "javascript"),
|
path.resolve(tmpDir, "trapCaches", "javascript"),
|
||||||
]), sinon
|
]), sinon
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -25,7 +25,7 @@ import { uploadDependencyCaches } from "./dependency-caching";
|
|||||||
import { getDiffInformedAnalysisBranches } from "./diff-informed-analysis-utils";
|
import { getDiffInformedAnalysisBranches } from "./diff-informed-analysis-utils";
|
||||||
import { EnvVar } from "./environment";
|
import { EnvVar } from "./environment";
|
||||||
import { Features } from "./feature-flags";
|
import { Features } from "./feature-flags";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { getActionsLogger, Logger } from "./logging";
|
import { getActionsLogger, Logger } from "./logging";
|
||||||
import { getRepositoryNwo } from "./repository";
|
import { getRepositoryNwo } from "./repository";
|
||||||
import * as statusReport from "./status-report";
|
import * as statusReport from "./status-report";
|
||||||
@@ -95,7 +95,10 @@ async function sendStatusReport(
|
|||||||
...report,
|
...report,
|
||||||
trap_cache_upload_duration_ms: Math.round(trapCacheUploadTime || 0),
|
trap_cache_upload_duration_ms: Math.round(trapCacheUploadTime || 0),
|
||||||
trap_cache_upload_size_bytes: Math.round(
|
trap_cache_upload_size_bytes: Math.round(
|
||||||
await getTotalCacheSize(Object.values(config.trapCaches), logger),
|
await getTotalCacheSize(
|
||||||
|
Object.values(config.trapCaches).filter((x) => x !== undefined),
|
||||||
|
logger,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
await statusReport.sendStatusReport(trapCacheUploadStatusReport);
|
await statusReport.sendStatusReport(trapCacheUploadStatusReport);
|
||||||
@@ -118,8 +121,11 @@ function hasBadExpectErrorInput(): boolean {
|
|||||||
* indicating whether Go extraction has extracted at least one file.
|
* indicating whether Go extraction has extracted at least one file.
|
||||||
*/
|
*/
|
||||||
function doesGoExtractionOutputExist(config: Config): boolean {
|
function doesGoExtractionOutputExist(config: Config): boolean {
|
||||||
const golangDbDirectory = util.getCodeQLDatabasePath(config, Language.go);
|
const golangDbDirectory = util.getCodeQLDatabasePath(
|
||||||
const trapDirectory = path.join(golangDbDirectory, "trap", Language.go);
|
config,
|
||||||
|
KnownLanguage.go,
|
||||||
|
);
|
||||||
|
const trapDirectory = path.join(golangDbDirectory, "trap", KnownLanguage.go);
|
||||||
return (
|
return (
|
||||||
fs.existsSync(trapDirectory) &&
|
fs.existsSync(trapDirectory) &&
|
||||||
fs
|
fs
|
||||||
@@ -151,7 +157,7 @@ function doesGoExtractionOutputExist(config: Config): boolean {
|
|||||||
* whether any extraction output already exists for Go.
|
* whether any extraction output already exists for Go.
|
||||||
*/
|
*/
|
||||||
async function runAutobuildIfLegacyGoWorkflow(config: Config, logger: Logger) {
|
async function runAutobuildIfLegacyGoWorkflow(config: Config, logger: Logger) {
|
||||||
if (!config.languages.includes(Language.go)) {
|
if (!config.languages.includes(KnownLanguage.go)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (config.buildMode) {
|
if (config.buildMode) {
|
||||||
@@ -164,7 +170,7 @@ async function runAutobuildIfLegacyGoWorkflow(config: Config, logger: Logger) {
|
|||||||
logger.debug("Won't run Go autobuild since it has already been run.");
|
logger.debug("Won't run Go autobuild since it has already been run.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dbIsFinalized(config, Language.go, logger)) {
|
if (dbIsFinalized(config, KnownLanguage.go, logger)) {
|
||||||
logger.debug(
|
logger.debug(
|
||||||
"Won't run Go autobuild since there is already a finalized database for Go.",
|
"Won't run Go autobuild since there is already a finalized database for Go.",
|
||||||
);
|
);
|
||||||
@@ -187,7 +193,7 @@ async function runAutobuildIfLegacyGoWorkflow(config: Config, logger: Logger) {
|
|||||||
logger.debug(
|
logger.debug(
|
||||||
"Running Go autobuild because extraction output (TRAP files) for Go code has not been found.",
|
"Running Go autobuild because extraction output (TRAP files) for Go code has not been found.",
|
||||||
);
|
);
|
||||||
await runAutobuild(config, Language.go, logger);
|
await runAutobuild(config, KnownLanguage.go, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import * as actionsUtil from "./actions-util";
|
|||||||
import { exportedForTesting, runQueries } from "./analyze";
|
import { exportedForTesting, runQueries } from "./analyze";
|
||||||
import { setCodeQL } from "./codeql";
|
import { setCodeQL } from "./codeql";
|
||||||
import { Feature } from "./feature-flags";
|
import { Feature } from "./feature-flags";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { getRunnerLogger } from "./logging";
|
import { getRunnerLogger } from "./logging";
|
||||||
import {
|
import {
|
||||||
setupTests,
|
setupTests,
|
||||||
@@ -36,7 +36,7 @@ test("status report fields", async (t) => {
|
|||||||
const threadsFlag = "";
|
const threadsFlag = "";
|
||||||
sinon.stub(uploadLib, "validateSarifFileSchema");
|
sinon.stub(uploadLib, "validateSarifFileSchema");
|
||||||
|
|
||||||
for (const language of Object.values(Language)) {
|
for (const language of Object.values(KnownLanguage)) {
|
||||||
setCodeQL({
|
setCodeQL({
|
||||||
databaseRunQueries: async () => {},
|
databaseRunQueries: async () => {},
|
||||||
packDownload: async () => ({ packs: [] }),
|
packDownload: async () => ({ packs: [] }),
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import {
|
|||||||
} from "./diff-informed-analysis-utils";
|
} from "./diff-informed-analysis-utils";
|
||||||
import { EnvVar } from "./environment";
|
import { EnvVar } from "./environment";
|
||||||
import { FeatureEnablement, Feature } from "./feature-flags";
|
import { FeatureEnablement, Feature } from "./feature-flags";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage, Language } from "./languages";
|
||||||
import { Logger, withGroupAsync } from "./logging";
|
import { Logger, withGroupAsync } from "./logging";
|
||||||
import { getRepositoryNwoFromEnv } from "./repository";
|
import { getRepositoryNwoFromEnv } from "./repository";
|
||||||
import { DatabaseCreationTimings, EventReport } from "./status-report";
|
import { DatabaseCreationTimings, EventReport } from "./status-report";
|
||||||
@@ -163,12 +163,12 @@ export async function runExtraction(
|
|||||||
|
|
||||||
if (await shouldExtractLanguage(codeql, config, language)) {
|
if (await shouldExtractLanguage(codeql, config, language)) {
|
||||||
logger.startGroup(`Extracting ${language}`);
|
logger.startGroup(`Extracting ${language}`);
|
||||||
if (language === Language.python) {
|
if (language === String(KnownLanguage.python)) {
|
||||||
await setupPythonExtractor(logger);
|
await setupPythonExtractor(logger);
|
||||||
}
|
}
|
||||||
if (config.buildMode) {
|
if (config.buildMode) {
|
||||||
if (
|
if (
|
||||||
language === Language.cpp &&
|
language === String(KnownLanguage.cpp) &&
|
||||||
config.buildMode === BuildMode.Autobuild
|
config.buildMode === BuildMode.Autobuild
|
||||||
) {
|
) {
|
||||||
await setupCppAutobuild(codeql, logger);
|
await setupCppAutobuild(codeql, logger);
|
||||||
@@ -178,7 +178,10 @@ export async function runExtraction(
|
|||||||
// database scratch directory by default. For dependency caching purposes, we want
|
// database scratch directory by default. For dependency caching purposes, we want
|
||||||
// a stable path that caches can be restored into and that we can cache at the
|
// a stable path that caches can be restored into and that we can cache at the
|
||||||
// end of the workflow (i.e. that does not get removed when the scratch directory is).
|
// end of the workflow (i.e. that does not get removed when the scratch directory is).
|
||||||
if (language === Language.java && config.buildMode === BuildMode.None) {
|
if (
|
||||||
|
language === String(KnownLanguage.java) &&
|
||||||
|
config.buildMode === BuildMode.None
|
||||||
|
) {
|
||||||
process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] =
|
process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] =
|
||||||
getJavaTempDependencyDir();
|
getJavaTempDependencyDir();
|
||||||
}
|
}
|
||||||
@@ -759,7 +762,7 @@ export async function warnIfGoInstalledAfterInit(
|
|||||||
|
|
||||||
addDiagnostic(
|
addDiagnostic(
|
||||||
config,
|
config,
|
||||||
Language.go,
|
KnownLanguage.go,
|
||||||
makeDiagnostic(
|
makeDiagnostic(
|
||||||
"go/workflow/go-installed-after-codeql-init",
|
"go/workflow/go-installed-after-codeql-init",
|
||||||
"Go was installed after the `codeql-action/init` Action was run",
|
"Go was installed after the `codeql-action/init` Action was run",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import * as configUtils from "./config-utils";
|
|||||||
import { DocUrl } from "./doc-url";
|
import { DocUrl } from "./doc-url";
|
||||||
import { EnvVar } from "./environment";
|
import { EnvVar } from "./environment";
|
||||||
import { Feature, featureConfig, Features } from "./feature-flags";
|
import { Feature, featureConfig, Features } from "./feature-flags";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage, Language } from "./languages";
|
||||||
import { Logger } from "./logging";
|
import { Logger } from "./logging";
|
||||||
import { getRepositoryNwo } from "./repository";
|
import { getRepositoryNwo } from "./repository";
|
||||||
import { asyncFilter, BuildMode } from "./util";
|
import { asyncFilter, BuildMode } from "./util";
|
||||||
@@ -72,7 +72,7 @@ export async function determineAutobuildLanguages(
|
|||||||
* version of the CodeQL Action.
|
* version of the CodeQL Action.
|
||||||
*/
|
*/
|
||||||
const autobuildLanguagesWithoutGo = autobuildLanguages.filter(
|
const autobuildLanguagesWithoutGo = autobuildLanguages.filter(
|
||||||
(l) => l !== Language.go,
|
(l) => l !== String(KnownLanguage.go),
|
||||||
);
|
);
|
||||||
|
|
||||||
const languages: Language[] = [];
|
const languages: Language[] = [];
|
||||||
@@ -84,7 +84,7 @@ export async function determineAutobuildLanguages(
|
|||||||
// If Go is requested, run the Go autobuilder last to ensure it doesn't
|
// If Go is requested, run the Go autobuilder last to ensure it doesn't
|
||||||
// interfere with the other autobuilder.
|
// interfere with the other autobuilder.
|
||||||
if (autobuildLanguages.length !== autobuildLanguagesWithoutGo.length) {
|
if (autobuildLanguages.length !== autobuildLanguagesWithoutGo.length) {
|
||||||
languages.push(Language.go);
|
languages.push(KnownLanguage.go);
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.debug(`Will autobuild ${languages.join(" and ")}.`);
|
logger.debug(`Will autobuild ${languages.join(" and ")}.`);
|
||||||
@@ -156,7 +156,7 @@ export async function runAutobuild(
|
|||||||
) {
|
) {
|
||||||
logger.startGroup(`Attempting to automatically build ${language} code`);
|
logger.startGroup(`Attempting to automatically build ${language} code`);
|
||||||
const codeQL = await getCodeQL(config.codeQLCmd);
|
const codeQL = await getCodeQL(config.codeQLCmd);
|
||||||
if (language === Language.cpp) {
|
if (language === String(KnownLanguage.cpp)) {
|
||||||
await setupCppAutobuild(codeQL, logger);
|
await setupCppAutobuild(codeQL, logger);
|
||||||
}
|
}
|
||||||
if (config.buildMode) {
|
if (config.buildMode) {
|
||||||
@@ -164,7 +164,7 @@ export async function runAutobuild(
|
|||||||
} else {
|
} else {
|
||||||
await codeQL.runAutobuild(config, language);
|
await codeQL.runAutobuild(config, language);
|
||||||
}
|
}
|
||||||
if (language === Language.go) {
|
if (language === String(KnownLanguage.go)) {
|
||||||
core.exportVariable(EnvVar.DID_AUTOBUILD_GOLANG, "true");
|
core.exportVariable(EnvVar.DID_AUTOBUILD_GOLANG, "true");
|
||||||
}
|
}
|
||||||
logger.endGroup();
|
logger.endGroup();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import { AugmentationProperties, Config } from "./config-utils";
|
|||||||
import * as defaults from "./defaults.json";
|
import * as defaults from "./defaults.json";
|
||||||
import { DocUrl } from "./doc-url";
|
import { DocUrl } from "./doc-url";
|
||||||
import { FeatureEnablement } from "./feature-flags";
|
import { FeatureEnablement } from "./feature-flags";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { getRunnerLogger } from "./logging";
|
import { getRunnerLogger } from "./logging";
|
||||||
import { OverlayDatabaseMode } from "./overlay-database-utils";
|
import { OverlayDatabaseMode } from "./overlay-database-utils";
|
||||||
import { ToolsSource } from "./setup-codeql";
|
import { ToolsSource } from "./setup-codeql";
|
||||||
@@ -47,7 +47,7 @@ test.beforeEach(() => {
|
|||||||
initializeEnvironment("1.2.3");
|
initializeEnvironment("1.2.3");
|
||||||
|
|
||||||
stubConfig = createTestConfig({
|
stubConfig = createTestConfig({
|
||||||
languages: [Language.cpp],
|
languages: [KnownLanguage.cpp],
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -116,7 +116,7 @@ async function stubCodeql(): Promise<codeql.CodeQL> {
|
|||||||
sinon.stub(codeqlObject, "getVersion").resolves(makeVersionInfo("2.17.6"));
|
sinon.stub(codeqlObject, "getVersion").resolves(makeVersionInfo("2.17.6"));
|
||||||
sinon
|
sinon
|
||||||
.stub(codeqlObject, "isTracedLanguage")
|
.stub(codeqlObject, "isTracedLanguage")
|
||||||
.withArgs(Language.cpp)
|
.withArgs(KnownLanguage.cpp)
|
||||||
.resolves(true);
|
.resolves(true);
|
||||||
return codeqlObject;
|
return codeqlObject;
|
||||||
}
|
}
|
||||||
@@ -907,7 +907,7 @@ test("runTool summarizes autobuilder errors", async (t) => {
|
|||||||
sinon.stub(io, "which").resolves("");
|
sinon.stub(io, "which").resolves("");
|
||||||
|
|
||||||
await t.throwsAsync(
|
await t.throwsAsync(
|
||||||
async () => await codeqlObject.runAutobuild(stubConfig, Language.java),
|
async () => await codeqlObject.runAutobuild(stubConfig, KnownLanguage.java),
|
||||||
{
|
{
|
||||||
instanceOf: util.ConfigurationError,
|
instanceOf: util.ConfigurationError,
|
||||||
message:
|
message:
|
||||||
@@ -933,7 +933,7 @@ test("runTool truncates long autobuilder errors", async (t) => {
|
|||||||
sinon.stub(io, "which").resolves("");
|
sinon.stub(io, "which").resolves("");
|
||||||
|
|
||||||
await t.throwsAsync(
|
await t.throwsAsync(
|
||||||
async () => await codeqlObject.runAutobuild(stubConfig, Language.java),
|
async () => await codeqlObject.runAutobuild(stubConfig, KnownLanguage.java),
|
||||||
{
|
{
|
||||||
instanceOf: util.ConfigurationError,
|
instanceOf: util.ConfigurationError,
|
||||||
message:
|
message:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import {
|
|||||||
} from "./codeql";
|
} from "./codeql";
|
||||||
import * as configUtils from "./config-utils";
|
import * as configUtils from "./config-utils";
|
||||||
import { Feature } from "./feature-flags";
|
import { Feature } from "./feature-flags";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage, Language } from "./languages";
|
||||||
import { getRunnerLogger } from "./logging";
|
import { getRunnerLogger } from "./logging";
|
||||||
import { parseRepositoryNwo } from "./repository";
|
import { parseRepositoryNwo } from "./repository";
|
||||||
import {
|
import {
|
||||||
@@ -353,7 +353,7 @@ test("load non-empty input", async (t) => {
|
|||||||
|
|
||||||
// And the config we expect it to parse to
|
// And the config we expect it to parse to
|
||||||
const expectedConfig: configUtils.Config = {
|
const expectedConfig: configUtils.Config = {
|
||||||
languages: [Language.javascript],
|
languages: [KnownLanguage.javascript],
|
||||||
buildMode: BuildMode.None,
|
buildMode: BuildMode.None,
|
||||||
originalUserInput: {
|
originalUserInput: {
|
||||||
name: "my config",
|
name: "my config",
|
||||||
@@ -700,7 +700,7 @@ const invalidPackNameMacro = test.macro({
|
|||||||
parsePacksErrorMacro.exec(
|
parsePacksErrorMacro.exec(
|
||||||
t,
|
t,
|
||||||
name,
|
name,
|
||||||
[Language.cpp],
|
[KnownLanguage.cpp],
|
||||||
new RegExp(`^"${name}" is not a valid pack$`),
|
new RegExp(`^"${name}" is not a valid pack$`),
|
||||||
),
|
),
|
||||||
title: (_providedTitle: string | undefined, arg: string | undefined) =>
|
title: (_providedTitle: string | undefined, arg: string | undefined) =>
|
||||||
@@ -708,23 +708,23 @@ const invalidPackNameMacro = test.macro({
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("no packs", parsePacksMacro, "", [], undefined);
|
test("no packs", parsePacksMacro, "", [], undefined);
|
||||||
test("two packs", parsePacksMacro, "a/b,c/d@1.2.3", [Language.cpp], {
|
test("two packs", parsePacksMacro, "a/b,c/d@1.2.3", [KnownLanguage.cpp], {
|
||||||
[Language.cpp]: ["a/b", "c/d@1.2.3"],
|
[KnownLanguage.cpp]: ["a/b", "c/d@1.2.3"],
|
||||||
});
|
});
|
||||||
test(
|
test(
|
||||||
"two packs with spaces",
|
"two packs with spaces",
|
||||||
parsePacksMacro,
|
parsePacksMacro,
|
||||||
" a/b , c/d@1.2.3 ",
|
" a/b , c/d@1.2.3 ",
|
||||||
[Language.cpp],
|
[KnownLanguage.cpp],
|
||||||
{
|
{
|
||||||
[Language.cpp]: ["a/b", "c/d@1.2.3"],
|
[KnownLanguage.cpp]: ["a/b", "c/d@1.2.3"],
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
test(
|
test(
|
||||||
"two packs with language",
|
"two packs with language",
|
||||||
parsePacksErrorMacro,
|
parsePacksErrorMacro,
|
||||||
"a/b,c/d@1.2.3",
|
"a/b,c/d@1.2.3",
|
||||||
[Language.cpp, Language.java],
|
[KnownLanguage.cpp, KnownLanguage.java],
|
||||||
new RegExp(
|
new RegExp(
|
||||||
"Cannot specify a 'packs' input in a multi-language analysis. " +
|
"Cannot specify a 'packs' input in a multi-language analysis. " +
|
||||||
"Use a codeql-config.yml file instead and specify packs by language.",
|
"Use a codeql-config.yml file instead and specify packs by language.",
|
||||||
@@ -752,9 +752,9 @@ test(
|
|||||||
// (globbing is not done)
|
// (globbing is not done)
|
||||||
"c/d@1.2.3:+*)_(",
|
"c/d@1.2.3:+*)_(",
|
||||||
].join(","),
|
].join(","),
|
||||||
[Language.cpp],
|
[KnownLanguage.cpp],
|
||||||
{
|
{
|
||||||
[Language.cpp]: [
|
[KnownLanguage.cpp]: [
|
||||||
"c/d@1.0",
|
"c/d@1.0",
|
||||||
"c/d@~1.0.0",
|
"c/d@~1.0.0",
|
||||||
"c/d@~1.0.0:a/b",
|
"c/d@~1.0.0:a/b",
|
||||||
@@ -866,7 +866,7 @@ test(
|
|||||||
"All empty",
|
"All empty",
|
||||||
undefined,
|
undefined,
|
||||||
undefined,
|
undefined,
|
||||||
[Language.javascript],
|
[KnownLanguage.javascript],
|
||||||
{
|
{
|
||||||
queriesInputCombines: false,
|
queriesInputCombines: false,
|
||||||
queriesInput: undefined,
|
queriesInput: undefined,
|
||||||
@@ -881,7 +881,7 @@ test(
|
|||||||
"With queries",
|
"With queries",
|
||||||
undefined,
|
undefined,
|
||||||
" a, b , c, d",
|
" a, b , c, d",
|
||||||
[Language.javascript],
|
[KnownLanguage.javascript],
|
||||||
{
|
{
|
||||||
queriesInputCombines: false,
|
queriesInputCombines: false,
|
||||||
queriesInput: [{ uses: "a" }, { uses: "b" }, { uses: "c" }, { uses: "d" }],
|
queriesInput: [{ uses: "a" }, { uses: "b" }, { uses: "c" }, { uses: "d" }],
|
||||||
@@ -896,7 +896,7 @@ test(
|
|||||||
"With queries combining",
|
"With queries combining",
|
||||||
undefined,
|
undefined,
|
||||||
" + a, b , c, d ",
|
" + a, b , c, d ",
|
||||||
[Language.javascript],
|
[KnownLanguage.javascript],
|
||||||
{
|
{
|
||||||
queriesInputCombines: true,
|
queriesInputCombines: true,
|
||||||
queriesInput: [{ uses: "a" }, { uses: "b" }, { uses: "c" }, { uses: "d" }],
|
queriesInput: [{ uses: "a" }, { uses: "b" }, { uses: "c" }, { uses: "d" }],
|
||||||
@@ -911,7 +911,7 @@ test(
|
|||||||
"With packs",
|
"With packs",
|
||||||
" codeql/a , codeql/b , codeql/c , codeql/d ",
|
" codeql/a , codeql/b , codeql/c , codeql/d ",
|
||||||
undefined,
|
undefined,
|
||||||
[Language.javascript],
|
[KnownLanguage.javascript],
|
||||||
{
|
{
|
||||||
queriesInputCombines: false,
|
queriesInputCombines: false,
|
||||||
queriesInput: undefined,
|
queriesInput: undefined,
|
||||||
@@ -926,7 +926,7 @@ test(
|
|||||||
"With packs combining",
|
"With packs combining",
|
||||||
" + codeql/a, codeql/b, codeql/c, codeql/d",
|
" + codeql/a, codeql/b, codeql/c, codeql/d",
|
||||||
undefined,
|
undefined,
|
||||||
[Language.javascript],
|
[KnownLanguage.javascript],
|
||||||
{
|
{
|
||||||
queriesInputCombines: false,
|
queriesInputCombines: false,
|
||||||
queriesInput: undefined,
|
queriesInput: undefined,
|
||||||
@@ -966,7 +966,7 @@ test(
|
|||||||
"Plus (+) with nothing else (queries)",
|
"Plus (+) with nothing else (queries)",
|
||||||
undefined,
|
undefined,
|
||||||
" + ",
|
" + ",
|
||||||
[Language.javascript],
|
[KnownLanguage.javascript],
|
||||||
/The workflow property "queries" is invalid/,
|
/The workflow property "queries" is invalid/,
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -975,7 +975,7 @@ test(
|
|||||||
"Plus (+) with nothing else (packs)",
|
"Plus (+) with nothing else (packs)",
|
||||||
" + ",
|
" + ",
|
||||||
undefined,
|
undefined,
|
||||||
[Language.javascript],
|
[KnownLanguage.javascript],
|
||||||
/The workflow property "packs" is invalid/,
|
/The workflow property "packs" is invalid/,
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -984,7 +984,7 @@ test(
|
|||||||
"Packs input with multiple languages",
|
"Packs input with multiple languages",
|
||||||
" + a/b, c/d ",
|
" + a/b, c/d ",
|
||||||
undefined,
|
undefined,
|
||||||
[Language.javascript, Language.java],
|
[KnownLanguage.javascript, KnownLanguage.java],
|
||||||
/Cannot specify a 'packs' input in a multi-language analysis/,
|
/Cannot specify a 'packs' input in a multi-language analysis/,
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1002,7 +1002,7 @@ test(
|
|||||||
"Invalid packs",
|
"Invalid packs",
|
||||||
" a-pack-without-a-scope ",
|
" a-pack-without-a-scope ",
|
||||||
undefined,
|
undefined,
|
||||||
[Language.javascript],
|
[KnownLanguage.javascript],
|
||||||
/"a-pack-without-a-scope" is not a valid pack/,
|
/"a-pack-without-a-scope" is not a valid pack/,
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1101,10 +1101,10 @@ const mockRepositoryNwo = parseRepositoryNwo("owner/repo");
|
|||||||
betterResolveLanguages: () =>
|
betterResolveLanguages: () =>
|
||||||
Promise.resolve({
|
Promise.resolve({
|
||||||
aliases: {
|
aliases: {
|
||||||
"c#": Language.csharp,
|
"c#": KnownLanguage.csharp,
|
||||||
c: Language.cpp,
|
c: KnownLanguage.cpp,
|
||||||
kotlin: Language.java,
|
kotlin: KnownLanguage.java,
|
||||||
typescript: Language.javascript,
|
typescript: KnownLanguage.javascript,
|
||||||
},
|
},
|
||||||
extractors: {
|
extractors: {
|
||||||
cpp: [stubExtractorEntry],
|
cpp: [stubExtractorEntry],
|
||||||
@@ -1146,12 +1146,12 @@ const mockRepositoryNwo = parseRepositoryNwo("owner/repo");
|
|||||||
for (const { displayName, language, feature } of [
|
for (const { displayName, language, feature } of [
|
||||||
{
|
{
|
||||||
displayName: "Java",
|
displayName: "Java",
|
||||||
language: Language.java,
|
language: KnownLanguage.java,
|
||||||
feature: Feature.DisableJavaBuildlessEnabled,
|
feature: Feature.DisableJavaBuildlessEnabled,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: "C#",
|
displayName: "C#",
|
||||||
language: Language.csharp,
|
language: KnownLanguage.csharp,
|
||||||
feature: Feature.DisableCsharpBuildless,
|
feature: Feature.DisableCsharpBuildless,
|
||||||
},
|
},
|
||||||
]) {
|
]) {
|
||||||
@@ -1171,7 +1171,7 @@ for (const { displayName, language, feature } of [
|
|||||||
const messages: LoggedMessage[] = [];
|
const messages: LoggedMessage[] = [];
|
||||||
const buildMode = await configUtils.parseBuildModeInput(
|
const buildMode = await configUtils.parseBuildModeInput(
|
||||||
"none",
|
"none",
|
||||||
[Language.python],
|
[KnownLanguage.python],
|
||||||
createFeatures([feature]),
|
createFeatures([feature]),
|
||||||
getRecordingLogger(messages),
|
getRecordingLogger(messages),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import { CachingKind, getCachingKind } from "./caching-utils";
|
|||||||
import { CodeQL, getSupportedLanguageMap } from "./codeql";
|
import { CodeQL, getSupportedLanguageMap } from "./codeql";
|
||||||
import { shouldPerformDiffInformedAnalysis } from "./diff-informed-analysis-utils";
|
import { shouldPerformDiffInformedAnalysis } from "./diff-informed-analysis-utils";
|
||||||
import { Feature, FeatureEnablement } from "./feature-flags";
|
import { Feature, FeatureEnablement } from "./feature-flags";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage, Language } from "./languages";
|
||||||
import { Logger } from "./logging";
|
import { Logger } from "./logging";
|
||||||
import { RepositoryNwo } from "./repository";
|
import { RepositoryNwo } from "./repository";
|
||||||
import { downloadTrapCaches } from "./trap-caching";
|
import { downloadTrapCaches } from "./trap-caching";
|
||||||
@@ -313,7 +313,7 @@ export async function getLanguages(
|
|||||||
);
|
);
|
||||||
|
|
||||||
const languageMap = await getSupportedLanguageMap(codeql);
|
const languageMap = await getSupportedLanguageMap(codeql);
|
||||||
const languagesSet = new Set<string>();
|
const languagesSet = new Set<Language>();
|
||||||
const unknownLanguages: string[] = [];
|
const unknownLanguages: string[] = [];
|
||||||
|
|
||||||
// Make sure they are supported
|
// Make sure they are supported
|
||||||
@@ -344,8 +344,7 @@ export async function getLanguages(
|
|||||||
logger.info(`Languages from configuration: ${languages.join(", ")}`);
|
logger.info(`Languages from configuration: ${languages.join(", ")}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: use a typealias for Language and rename Language to KnownLanguage
|
return languages;
|
||||||
return languages as Language[];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1127,7 +1126,7 @@ export async function parseBuildModeInput(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
languages.includes(Language.csharp) &&
|
languages.includes(KnownLanguage.csharp) &&
|
||||||
(await features.getValue(Feature.DisableCsharpBuildless))
|
(await features.getValue(Feature.DisableCsharpBuildless))
|
||||||
) {
|
) {
|
||||||
logger.warning(
|
logger.warning(
|
||||||
@@ -1137,7 +1136,7 @@ export async function parseBuildModeInput(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
languages.includes(Language.java) &&
|
languages.includes(KnownLanguage.java) &&
|
||||||
(await features.getValue(Feature.DisableJavaBuildlessEnabled))
|
(await features.getValue(Feature.DisableJavaBuildlessEnabled))
|
||||||
) {
|
) {
|
||||||
logger.warning(
|
logger.warning(
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { setCodeQL } from "./codeql";
|
|||||||
import { Config } from "./config-utils";
|
import { Config } from "./config-utils";
|
||||||
import { uploadDatabases } from "./database-upload";
|
import { uploadDatabases } from "./database-upload";
|
||||||
import * as gitUtils from "./git-utils";
|
import * as gitUtils from "./git-utils";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { RepositoryNwo } from "./repository";
|
import { RepositoryNwo } from "./repository";
|
||||||
import {
|
import {
|
||||||
createTestConfig,
|
createTestConfig,
|
||||||
@@ -42,7 +42,7 @@ const testApiDetails: GitHubApiDetails = {
|
|||||||
|
|
||||||
function getTestConfig(tmpDir: string): Config {
|
function getTestConfig(tmpDir: string): Config {
|
||||||
return createTestConfig({
|
return createTestConfig({
|
||||||
languages: [Language.javascript],
|
languages: [KnownLanguage.javascript],
|
||||||
dbLocation: tmpDir,
|
dbLocation: tmpDir,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ import {
|
|||||||
initConfig,
|
initConfig,
|
||||||
runInit,
|
runInit,
|
||||||
} from "./init";
|
} from "./init";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { getActionsLogger, Logger } from "./logging";
|
import { getActionsLogger, Logger } from "./logging";
|
||||||
import { OverlayDatabaseMode } from "./overlay-database-utils";
|
import { OverlayDatabaseMode } from "./overlay-database-utils";
|
||||||
import { getRepositoryNwo } from "./repository";
|
import { getRepositoryNwo } from "./repository";
|
||||||
@@ -232,7 +232,10 @@ async function sendCompletedStatusReport(
|
|||||||
packs: JSON.stringify(packs),
|
packs: JSON.stringify(packs),
|
||||||
trap_cache_languages: Object.keys(config.trapCaches).join(","),
|
trap_cache_languages: Object.keys(config.trapCaches).join(","),
|
||||||
trap_cache_download_size_bytes: Math.round(
|
trap_cache_download_size_bytes: Math.round(
|
||||||
await getTotalCacheSize(Object.values(config.trapCaches), logger),
|
await getTotalCacheSize(
|
||||||
|
Object.values(config.trapCaches).filter((x) => x !== undefined),
|
||||||
|
logger,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
trap_cache_download_duration_ms: Math.round(config.trapCacheDownloadTime),
|
trap_cache_download_duration_ms: Math.round(config.trapCacheDownloadTime),
|
||||||
query_filters: JSON.stringify(
|
query_filters: JSON.stringify(
|
||||||
@@ -442,7 +445,7 @@ async function run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
config.languages.includes(Language.swift) &&
|
config.languages.includes(KnownLanguage.swift) &&
|
||||||
process.platform === "linux"
|
process.platform === "linux"
|
||||||
) {
|
) {
|
||||||
logger.warning(
|
logger.warning(
|
||||||
@@ -451,7 +454,7 @@ async function run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
config.languages.includes(Language.go) &&
|
config.languages.includes(KnownLanguage.go) &&
|
||||||
process.platform === "linux"
|
process.platform === "linux"
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
@@ -509,7 +512,7 @@ async function run() {
|
|||||||
if (e instanceof FileCmdNotFoundError) {
|
if (e instanceof FileCmdNotFoundError) {
|
||||||
addDiagnostic(
|
addDiagnostic(
|
||||||
config,
|
config,
|
||||||
Language.go,
|
KnownLanguage.go,
|
||||||
makeDiagnostic(
|
makeDiagnostic(
|
||||||
"go/workflow/file-program-unavailable",
|
"go/workflow/file-program-unavailable",
|
||||||
"The `file` program is required on Linux, but does not appear to be installed",
|
"The `file` program is required on Linux, but does not appear to be installed",
|
||||||
@@ -559,7 +562,7 @@ async function run() {
|
|||||||
core.exportVariable(kotlinLimitVar, "2.1.20");
|
core.exportVariable(kotlinLimitVar, "2.1.20");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.languages.includes(Language.cpp)) {
|
if (config.languages.includes(KnownLanguage.cpp)) {
|
||||||
const envVar = "CODEQL_EXTRACTOR_CPP_TRAP_CACHING";
|
const envVar = "CODEQL_EXTRACTOR_CPP_TRAP_CACHING";
|
||||||
if (process.env[envVar]) {
|
if (process.env[envVar]) {
|
||||||
logger.info(
|
logger.info(
|
||||||
@@ -578,7 +581,7 @@ async function run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE
|
// Set CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE
|
||||||
if (config.languages.includes(Language.cpp)) {
|
if (config.languages.includes(KnownLanguage.cpp)) {
|
||||||
const bmnVar = "CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE";
|
const bmnVar = "CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE";
|
||||||
const value =
|
const value =
|
||||||
process.env[bmnVar] ||
|
process.env[bmnVar] ||
|
||||||
@@ -588,7 +591,7 @@ async function run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set CODEQL_ENABLE_EXPERIMENTAL_FEATURES for rust
|
// Set CODEQL_ENABLE_EXPERIMENTAL_FEATURES for rust
|
||||||
if (config.languages.includes(Language.rust)) {
|
if (config.languages.includes(KnownLanguage.rust)) {
|
||||||
const feat = Feature.RustAnalysis;
|
const feat = Feature.RustAnalysis;
|
||||||
const minVer = featureConfig[feat].minimumVersion as string;
|
const minVer = featureConfig[feat].minimumVersion as string;
|
||||||
const envVar = "CODEQL_ENABLE_EXPERIMENTAL_FEATURES";
|
const envVar = "CODEQL_ENABLE_EXPERIMENTAL_FEATURES";
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { CodeQL, setupCodeQL } from "./codeql";
|
|||||||
import * as configUtils from "./config-utils";
|
import * as configUtils from "./config-utils";
|
||||||
import { CodeQLDefaultVersionInfo, FeatureEnablement } from "./feature-flags";
|
import { CodeQLDefaultVersionInfo, FeatureEnablement } from "./feature-flags";
|
||||||
import { getGitRoot } from "./git-utils";
|
import { getGitRoot } from "./git-utils";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage, Language } from "./languages";
|
||||||
import { Logger, withGroupAsync } from "./logging";
|
import { Logger, withGroupAsync } from "./logging";
|
||||||
import {
|
import {
|
||||||
CODEQL_OVERLAY_MINIMUM_VERSION,
|
CODEQL_OVERLAY_MINIMUM_VERSION,
|
||||||
@@ -162,7 +162,7 @@ export async function checkInstallPython311(
|
|||||||
codeql: CodeQL,
|
codeql: CodeQL,
|
||||||
) {
|
) {
|
||||||
if (
|
if (
|
||||||
languages.includes(Language.python) &&
|
languages.includes(KnownLanguage.python) &&
|
||||||
process.platform === "win32" &&
|
process.platform === "win32" &&
|
||||||
!(await codeql.getVersion()).features?.supportsPython312
|
!(await codeql.getVersion()).features?.supportsPython312
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* A CodeQL language.
|
* A CodeQL language.
|
||||||
*
|
*
|
||||||
* To facilitate adding new languages, this is _not_ an exhaustive list of
|
* To facilitate adding new languages, this is a typedef rather than an
|
||||||
* languages supported by CodeQL.
|
* exhaustive list of languages supported by CodeQL.
|
||||||
*/
|
*/
|
||||||
export enum Language {
|
export type Language = string;
|
||||||
|
|
||||||
|
export enum KnownLanguage {
|
||||||
csharp = "csharp",
|
csharp = "csharp",
|
||||||
cpp = "cpp",
|
cpp = "cpp",
|
||||||
go = "go",
|
go = "go",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import test from "ava";
|
import test from "ava";
|
||||||
|
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { getRunnerLogger } from "./logging";
|
import { getRunnerLogger } from "./logging";
|
||||||
import * as startProxyExports from "./start-proxy";
|
import * as startProxyExports from "./start-proxy";
|
||||||
import { parseLanguage } from "./start-proxy";
|
import { parseLanguage } from "./start-proxy";
|
||||||
@@ -118,24 +118,24 @@ test("getCredentials throws an error when non-printable characters are used", as
|
|||||||
|
|
||||||
test("parseLanguage", async (t) => {
|
test("parseLanguage", async (t) => {
|
||||||
// Exact matches
|
// Exact matches
|
||||||
t.deepEqual(parseLanguage("csharp"), Language.csharp);
|
t.deepEqual(parseLanguage("csharp"), KnownLanguage.csharp);
|
||||||
t.deepEqual(parseLanguage("cpp"), Language.cpp);
|
t.deepEqual(parseLanguage("cpp"), KnownLanguage.cpp);
|
||||||
t.deepEqual(parseLanguage("go"), Language.go);
|
t.deepEqual(parseLanguage("go"), KnownLanguage.go);
|
||||||
t.deepEqual(parseLanguage("java"), Language.java);
|
t.deepEqual(parseLanguage("java"), KnownLanguage.java);
|
||||||
t.deepEqual(parseLanguage("javascript"), Language.javascript);
|
t.deepEqual(parseLanguage("javascript"), KnownLanguage.javascript);
|
||||||
t.deepEqual(parseLanguage("python"), Language.python);
|
t.deepEqual(parseLanguage("python"), KnownLanguage.python);
|
||||||
t.deepEqual(parseLanguage("rust"), Language.rust);
|
t.deepEqual(parseLanguage("rust"), KnownLanguage.rust);
|
||||||
|
|
||||||
// Aliases
|
// Aliases
|
||||||
t.deepEqual(parseLanguage("c"), Language.cpp);
|
t.deepEqual(parseLanguage("c"), KnownLanguage.cpp);
|
||||||
t.deepEqual(parseLanguage("c++"), Language.cpp);
|
t.deepEqual(parseLanguage("c++"), KnownLanguage.cpp);
|
||||||
t.deepEqual(parseLanguage("c#"), Language.csharp);
|
t.deepEqual(parseLanguage("c#"), KnownLanguage.csharp);
|
||||||
t.deepEqual(parseLanguage("kotlin"), Language.java);
|
t.deepEqual(parseLanguage("kotlin"), KnownLanguage.java);
|
||||||
t.deepEqual(parseLanguage("typescript"), Language.javascript);
|
t.deepEqual(parseLanguage("typescript"), KnownLanguage.javascript);
|
||||||
|
|
||||||
// spaces and case-insensitivity
|
// spaces and case-insensitivity
|
||||||
t.deepEqual(parseLanguage(" \t\nCsHaRp\t\t"), Language.csharp);
|
t.deepEqual(parseLanguage(" \t\nCsHaRp\t\t"), KnownLanguage.csharp);
|
||||||
t.deepEqual(parseLanguage(" \t\nkOtLin\t\t"), Language.java);
|
t.deepEqual(parseLanguage(" \t\nkOtLin\t\t"), KnownLanguage.java);
|
||||||
|
|
||||||
// Not matches
|
// Not matches
|
||||||
t.deepEqual(parseLanguage("foo"), undefined);
|
t.deepEqual(parseLanguage("foo"), undefined);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { Logger } from "./logging";
|
import { Logger } from "./logging";
|
||||||
import { ConfigurationError } from "./util";
|
import { ConfigurationError } from "./util";
|
||||||
|
|
||||||
@@ -20,14 +20,14 @@ export type Credential = {
|
|||||||
* Action since this Action does not use CodeQL, so we're accepting some hardcoding
|
* Action since this Action does not use CodeQL, so we're accepting some hardcoding
|
||||||
* for this Action.
|
* for this Action.
|
||||||
*/
|
*/
|
||||||
const LANGUAGE_ALIASES: { [lang: string]: Language } = {
|
const LANGUAGE_ALIASES: { [lang: string]: KnownLanguage } = {
|
||||||
c: Language.cpp,
|
c: KnownLanguage.cpp,
|
||||||
"c++": Language.cpp,
|
"c++": KnownLanguage.cpp,
|
||||||
"c#": Language.csharp,
|
"c#": KnownLanguage.csharp,
|
||||||
kotlin: Language.java,
|
kotlin: KnownLanguage.java,
|
||||||
typescript: Language.javascript,
|
typescript: KnownLanguage.javascript,
|
||||||
"javascript-typescript": Language.javascript,
|
"javascript-typescript": KnownLanguage.javascript,
|
||||||
"java-kotlin": Language.java,
|
"java-kotlin": KnownLanguage.java,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -36,13 +36,13 @@ const LANGUAGE_ALIASES: { [lang: string]: Language } = {
|
|||||||
* Exported for testing, do not use this outside of the start-proxy Action
|
* Exported for testing, do not use this outside of the start-proxy Action
|
||||||
* (see the `LANGUAGE_ALIASES` docstring for more info).
|
* (see the `LANGUAGE_ALIASES` docstring for more info).
|
||||||
*/
|
*/
|
||||||
export function parseLanguage(language: string): Language | undefined {
|
export function parseLanguage(language: string): KnownLanguage | undefined {
|
||||||
// Normalize to lower case
|
// Normalize to lower case
|
||||||
language = language.trim().toLowerCase();
|
language = language.trim().toLowerCase();
|
||||||
|
|
||||||
// See if it's an exact match
|
// See if it's an exact match
|
||||||
if (language in Language) {
|
if (language in KnownLanguage) {
|
||||||
return language as Language;
|
return language as KnownLanguage;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check language aliases, but return the original language name,
|
// Check language aliases, but return the original language name,
|
||||||
@@ -54,7 +54,7 @@ export function parseLanguage(language: string): Language | undefined {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
const LANGUAGE_TO_REGISTRY_TYPE: Partial<Record<Language, string>> = {
|
const LANGUAGE_TO_REGISTRY_TYPE: Partial<Record<KnownLanguage, string>> = {
|
||||||
java: "maven_repository",
|
java: "maven_repository",
|
||||||
csharp: "nuget_feed",
|
csharp: "nuget_feed",
|
||||||
javascript: "npm_registry",
|
javascript: "npm_registry",
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import * as sinon from "sinon";
|
|||||||
|
|
||||||
import * as actionsUtil from "./actions-util";
|
import * as actionsUtil from "./actions-util";
|
||||||
import { EnvVar } from "./environment";
|
import { EnvVar } from "./environment";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { getRunnerLogger } from "./logging";
|
import { getRunnerLogger } from "./logging";
|
||||||
import {
|
import {
|
||||||
ActionName,
|
ActionName,
|
||||||
@@ -47,7 +47,7 @@ test("createStatusReportBase", async (t) => {
|
|||||||
new Date("May 19, 2023 05:19:00"),
|
new Date("May 19, 2023 05:19:00"),
|
||||||
createTestConfig({
|
createTestConfig({
|
||||||
buildMode: BuildMode.None,
|
buildMode: BuildMode.None,
|
||||||
languages: [Language.java, Language.swift],
|
languages: [KnownLanguage.java, KnownLanguage.swift],
|
||||||
}),
|
}),
|
||||||
{ numAvailableBytes: 100, numTotalBytes: 500 },
|
{ numAvailableBytes: 100, numTotalBytes: 500 },
|
||||||
getRunnerLogger(false),
|
getRunnerLogger(false),
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import * as sinon from "sinon";
|
|||||||
|
|
||||||
import { CodeQL, getCodeQLForTesting } from "./codeql";
|
import { CodeQL, getCodeQLForTesting } from "./codeql";
|
||||||
import * as configUtils from "./config-utils";
|
import * as configUtils from "./config-utils";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { createTestConfig, makeVersionInfo, setupTests } from "./testing-utils";
|
import { createTestConfig, makeVersionInfo, setupTests } from "./testing-utils";
|
||||||
import { ToolsFeature } from "./tools-features";
|
import { ToolsFeature } from "./tools-features";
|
||||||
import { getCombinedTracerConfig } from "./tracer-config";
|
import { getCombinedTracerConfig } from "./tracer-config";
|
||||||
@@ -16,7 +16,7 @@ setupTests(test);
|
|||||||
|
|
||||||
function getTestConfig(tempDir: string): configUtils.Config {
|
function getTestConfig(tempDir: string): configUtils.Config {
|
||||||
return createTestConfig({
|
return createTestConfig({
|
||||||
languages: [Language.java],
|
languages: [KnownLanguage.java],
|
||||||
tempDir,
|
tempDir,
|
||||||
dbLocation: path.resolve(tempDir, "codeql_databases"),
|
dbLocation: path.resolve(tempDir, "codeql_databases"),
|
||||||
});
|
});
|
||||||
@@ -36,7 +36,7 @@ async function stubCodeql(
|
|||||||
);
|
);
|
||||||
sinon
|
sinon
|
||||||
.stub(codeqlObject, "isTracedLanguage")
|
.stub(codeqlObject, "isTracedLanguage")
|
||||||
.withArgs(Language.java)
|
.withArgs(KnownLanguage.java)
|
||||||
.resolves(true);
|
.resolves(true);
|
||||||
return codeqlObject;
|
return codeqlObject;
|
||||||
}
|
}
|
||||||
@@ -45,7 +45,7 @@ test("getCombinedTracerConfig - return undefined when no languages are traced la
|
|||||||
await util.withTmpDir(async (tmpDir) => {
|
await util.withTmpDir(async (tmpDir) => {
|
||||||
const config = getTestConfig(tmpDir);
|
const config = getTestConfig(tmpDir);
|
||||||
// No traced languages
|
// No traced languages
|
||||||
config.languages = [Language.javascript, Language.python];
|
config.languages = [KnownLanguage.javascript, KnownLanguage.python];
|
||||||
t.deepEqual(
|
t.deepEqual(
|
||||||
await getCombinedTracerConfig(await stubCodeql(), config),
|
await getCombinedTracerConfig(await stubCodeql(), config),
|
||||||
undefined,
|
undefined,
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import {
|
|||||||
import * as configUtils from "./config-utils";
|
import * as configUtils from "./config-utils";
|
||||||
import { Feature } from "./feature-flags";
|
import { Feature } from "./feature-flags";
|
||||||
import * as gitUtils from "./git-utils";
|
import * as gitUtils from "./git-utils";
|
||||||
import { Language } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { getRunnerLogger } from "./logging";
|
import { getRunnerLogger } from "./logging";
|
||||||
import {
|
import {
|
||||||
createFeatures,
|
createFeatures,
|
||||||
@@ -41,7 +41,7 @@ const stubCodeql = setCodeQL({
|
|||||||
async betterResolveLanguages() {
|
async betterResolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
[Language.javascript]: [
|
[KnownLanguage.javascript]: [
|
||||||
{
|
{
|
||||||
extractor_root: "some_root",
|
extractor_root: "some_root",
|
||||||
extractor_options: {
|
extractor_options: {
|
||||||
@@ -65,7 +65,7 @@ const stubCodeql = setCodeQL({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[Language.cpp]: [
|
[KnownLanguage.cpp]: [
|
||||||
{
|
{
|
||||||
extractor_root: "other_root",
|
extractor_root: "other_root",
|
||||||
},
|
},
|
||||||
@@ -76,7 +76,7 @@ const stubCodeql = setCodeQL({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const testConfigWithoutTmpDir = createTestConfig({
|
const testConfigWithoutTmpDir = createTestConfig({
|
||||||
languages: [Language.javascript, Language.cpp],
|
languages: [KnownLanguage.javascript, KnownLanguage.cpp],
|
||||||
trapCaches: {
|
trapCaches: {
|
||||||
javascript: "/some/cache/dir",
|
javascript: "/some/cache/dir",
|
||||||
},
|
},
|
||||||
@@ -84,7 +84,7 @@ const testConfigWithoutTmpDir = createTestConfig({
|
|||||||
|
|
||||||
function getTestConfigWithTempDir(tempDir: string): configUtils.Config {
|
function getTestConfigWithTempDir(tempDir: string): configUtils.Config {
|
||||||
return createTestConfig({
|
return createTestConfig({
|
||||||
languages: [Language.javascript, Language.ruby],
|
languages: [KnownLanguage.javascript, KnownLanguage.ruby],
|
||||||
tempDir,
|
tempDir,
|
||||||
dbLocation: path.resolve(tempDir, "codeql_databases"),
|
dbLocation: path.resolve(tempDir, "codeql_databases"),
|
||||||
trapCaches: {
|
trapCaches: {
|
||||||
@@ -100,7 +100,7 @@ test("check flags for JS, analyzing default branch", async (t) => {
|
|||||||
sinon.stub(gitUtils, "isAnalyzingDefaultBranch").resolves(true);
|
sinon.stub(gitUtils, "isAnalyzingDefaultBranch").resolves(true);
|
||||||
const result = await getTrapCachingExtractorConfigArgsForLang(
|
const result = await getTrapCachingExtractorConfigArgsForLang(
|
||||||
config,
|
config,
|
||||||
Language.javascript,
|
KnownLanguage.javascript,
|
||||||
);
|
);
|
||||||
t.deepEqual(result, [
|
t.deepEqual(result, [
|
||||||
`-O=javascript.trap.cache.dir=${path.resolve(tmpDir, "jsCache")}`,
|
`-O=javascript.trap.cache.dir=${path.resolve(tmpDir, "jsCache")}`,
|
||||||
@@ -131,10 +131,10 @@ test("get languages that support TRAP caching", async (t) => {
|
|||||||
const logger = getRecordingLogger(loggedMessages);
|
const logger = getRecordingLogger(loggedMessages);
|
||||||
const languagesSupportingCaching = await getLanguagesSupportingCaching(
|
const languagesSupportingCaching = await getLanguagesSupportingCaching(
|
||||||
stubCodeql,
|
stubCodeql,
|
||||||
[Language.javascript, Language.cpp],
|
[KnownLanguage.javascript, KnownLanguage.cpp],
|
||||||
logger,
|
logger,
|
||||||
);
|
);
|
||||||
t.deepEqual(languagesSupportingCaching, [Language.javascript]);
|
t.deepEqual(languagesSupportingCaching, [KnownLanguage.javascript]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("upload cache key contains right fields", async (t) => {
|
test("upload cache key contains right fields", async (t) => {
|
||||||
@@ -178,7 +178,7 @@ test("download cache looks for the right key and creates dir", async (t) => {
|
|||||||
);
|
);
|
||||||
await downloadTrapCaches(
|
await downloadTrapCaches(
|
||||||
stubCodeql,
|
stubCodeql,
|
||||||
[Language.javascript, Language.cpp],
|
[KnownLanguage.javascript, KnownLanguage.cpp],
|
||||||
logger,
|
logger,
|
||||||
);
|
);
|
||||||
t.assert(
|
t.assert(
|
||||||
|
|||||||
Reference in New Issue
Block a user