Rename Language enum and use generic Language where possible

This commit is contained in:
Henry Mercer
2025-05-30 16:47:02 +01:00
parent e303175b83
commit 932be8feda
48 changed files with 246 additions and 239 deletions

12
lib/analyze-action.js generated
View File

@@ -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
View File

@@ -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
View File

@@ -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
View File

@@ -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();

View File

@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,kEAkGC;AAED,8CAmCC;AAED,oCAmBC;AA1KD,oDAAsC;AAEtC,iDAA6E;AAC7E,6CAAgD;AAChD,qCAA6C;AAE7C,uCAAmC;AACnC,+CAAuC;AACvC,mDAAmE;AACnE,2CAAsD;AAEtD,6CAAgD;AAChD,iCAAgD;AAEzC,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,MAA0B,EAC1B,MAAc;IAEd,IACE,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,IAAI;QACnC,MAAM,CAAC,SAAS,KAAK,gBAAS,CAAC,MAAM,EACrC,CAAC;QACD,MAAM,CAAC,IAAI,CACT,qBAAqB,MAAM,CAAC,SAAS,2BAA2B;YAC9D,OAAO,gBAAM,CAAC,kBAAkB,wBAAwB,CAC3D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0CAA0C;IAC1C,mFAAmF;IACnF,oFAAoF;IACpF,4EAA4E;IAC5E,MAAM,kBAAkB,GAAG,MAAM,IAAA,kBAAW,EAC1C,MAAM,CAAC,SAAS,EAChB,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAC5D,CAAC;IAEF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CACT,iEAAiE,CAClE,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,yBAAa,CAAC,EAAE,CAAC,CACtC,CAAC;IAEF,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,yEAAyE;IACzE,UAAU;IACV,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACjD,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,uEAAuE;IACvE,wCAAwC;IACxC,IAAI,kBAAkB,CAAC,MAAM,KAAK,2BAA2B,CAAC,MAAM,EAAE,CAAC;QACrE,SAAS,CAAC,IAAI,CAAC,yBAAa,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3D,2EAA2E;IAC3E,4EAA4E;IAC5E,2CAA2C;IAC3C,uEAAuE;IACvE,2EAA2E;IAC3E,uEAAuE;IACvE,yCAAyC;IACzC,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,OAAO,CACZ,oCAAoC,SAAS,CAAC,IAAI,CAChD,OAAO,CACR,8BAA8B,2BAA2B;aACvD,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,CACH,OAAO,CACR,kFAAkF;YACnF,OAAO,gBAAM,CAAC,4BAA4B,wBAAwB,CACrE,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,MAAc;IACpE,MAAM,MAAM,GAAG,6BAAa,CAAC,uBAAO,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,WAAW,GAAG,4CAA4C,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;IAC/C,MAAM,aAAa,GAAG,IAAA,6BAAgB,GAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,wBAAQ,CAC3B,aAAa,EACb,aAAa,EACb,IAAA,oCAAqB,GAAE,EACvB,MAAM,CACP,CAAC;IACF,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,yBAAyB,EAAE,MAAM,CAAC,EAAE,CAAC;QACvE,yEAAyE;QACzE,IACE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,aAAa;YACnD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,EAC9B,CAAC;YACD,MAAM,CAAC,IAAI,CACT,aAAa,WAAW,sCACtB,IAAA,mCAAoB,GAAE,KAAK,SAAS;gBAClC,CAAC,CAAC,8BAA8B,MAAM,yDAAyD,gBAAM,CAAC,oBAAoB,wBAAwB;gBAClJ,CAAC,CAAC,EACN,EAAE,CACH,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,YAAY,WAAW,yCAAyC,MAAM,yCAAyC,gBAAM,CAAC,oBAAoB,wBAAwB,CACnK,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,aAAa,WAAW,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,QAAkB,EAClB,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,qCAAqC,QAAQ,OAAO,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,MAAM,CAAC,yBAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,CAAC,yBAAa,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,oBAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC"}

8
lib/codeql.test.js generated
View File

@@ -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
View File

@@ -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

View File

@@ -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

View File

@@ -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
View File

@@ -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
View File

@@ -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");

View File

@@ -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
View File

@@ -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

View File

@@ -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
View File

@@ -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,

View File

@@ -1 +1 @@
{"version":3,"file":"start-proxy.js","sourceRoot":"","sources":["../src/start-proxy.ts"],"names":[],"mappings":";;AAsCA,sCAgBC;AAeD,wCA2EC;AAhJD,2CAAuC;AAEvC,iCAA4C;AAW5C;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAiC;IACrD,CAAC,EAAE,oBAAQ,CAAC,GAAG;IACf,KAAK,EAAE,oBAAQ,CAAC,GAAG;IACnB,IAAI,EAAE,oBAAQ,CAAC,MAAM;IACrB,MAAM,EAAE,oBAAQ,CAAC,IAAI;IACrB,UAAU,EAAE,oBAAQ,CAAC,UAAU;IAC/B,uBAAuB,EAAE,oBAAQ,CAAC,UAAU;IAC5C,aAAa,EAAE,oBAAQ,CAAC,IAAI;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,QAAgB;IAC5C,0BAA0B;IAC1B,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEzC,6BAA6B;IAC7B,IAAI,QAAQ,IAAI,oBAAQ,EAAE,CAAC;QACzB,OAAO,QAAoB,CAAC;IAC9B,CAAC;IAED,iEAAiE;IACjE,oCAAoC;IACpC,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACjC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,yBAAyB,GAAsC;IACnE,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,gBAAgB;IACtB,EAAE,EAAE,gBAAgB;CACZ,CAAC;AAEX,kEAAkE;AAClE,+DAA+D;AAC/D,gDAAgD;AAChD,SAAgB,cAAc,CAC5B,MAAc,EACd,eAAmC,EACnC,qBAAyC,EACzC,cAAkC;IAElC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,uBAAuB,GAAG,QAAQ;QACtC,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,cAAsB,CAAC;IAC3B,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACnD,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3E,CAAC;SAAM,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,cAAc,GAAG,eAAe,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qCAAqC;IACrC,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAiB,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACtD,MAAM,IAAI,yBAAkB,CAAC,6BAA6B,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChD,yFAAyF;YACzF,MAAM,IAAI,yBAAkB,CAC1B,gDAAgD,CACjD,CAAC;QACJ,CAAC;QAED,kFAAkF;QAClF,iEAAiE;QACjE,IAAI,uBAAuB,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAClE,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,GAAuB,EAAW,EAAE;YACvD,OAAO,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC,CAAC;QAEF,IACE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YACpB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YACpB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;YACnB,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxB,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxB,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EACrB,CAAC;YACD,MAAM,IAAI,yBAAkB,CAC1B,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"} {"version":3,"file":"start-proxy.js","sourceRoot":"","sources":["../src/start-proxy.ts"],"names":[],"mappings":"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"}

View File

@@ -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);

View File

@@ -1 +1 @@
{"version":3,"file":"start-proxy.test.js","sourceRoot":"","sources":["../src/start-proxy.test.ts"],"names":[],"mappings":"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"} {"version":3,"file":"start-proxy.test.js","sourceRoot":"","sources":["../src/start-proxy.test.ts"],"names":[],"mappings":"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"}

View File

@@ -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

View File

@@ -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);
}); });
}); });

View File

@@ -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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"}

View File

@@ -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

View File

@@ -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() {

View File

@@ -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: [] }),

View File

@@ -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",

View File

@@ -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();

View File

@@ -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:

View File

@@ -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),
); );

View File

@@ -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(

View File

@@ -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,
}); });
} }

View File

@@ -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";

View File

@@ -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
) { ) {

View File

@@ -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",

View File

@@ -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);

View File

@@ -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",

View File

@@ -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),

View File

@@ -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,

View File

@@ -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(