From 67812dd611bc64d9b6e4ea0049afeaa3ffd3b802 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 8 Aug 2025 12:10:18 +0200 Subject: [PATCH] Rework rust code --- lib/environment.js | 4 ++++ lib/environment.js.map | 2 +- lib/init-action.js | 34 +++++++++++++++++++++------------ lib/init-action.js.map | 2 +- src/environment.ts | 5 +++++ src/init-action.ts | 43 +++++++++++++++++++++++++----------------- 6 files changed, 59 insertions(+), 31 deletions(-) diff --git a/lib/environment.js b/lib/environment.js index 2efae79b7..ff6f40321 100644 --- a/lib/environment.js +++ b/lib/environment.js @@ -93,5 +93,9 @@ var EnvVar; * Useful for testing purposes where multiple caches may be stored in the same repository. */ EnvVar["DEPENDENCY_CACHING_PREFIX"] = "CODEQL_ACTION_DEPENDENCY_CACHE_PREFIX"; + /** + * Whether to enable experimental extractors for CodeQL. + */ + EnvVar["EXPERIMENTAL_FEATURES"] = "CODEQL_ACTION_EXPERIMENTAL_FEATURES"; })(EnvVar || (exports.EnvVar = EnvVar = {})); //# sourceMappingURL=environment.js.map \ No newline at end of file diff --git a/lib/environment.js.map b/lib/environment.js.map index 4bb33f054..8d1385cce 100644 --- a/lib/environment.js.map +++ b/lib/environment.js.map @@ -1 +1 @@ -{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,MA8GX;AA9GD,WAAY,MAAM;IAChB,2DAA2D;IAC3D,+FAAqF,CAAA;IAErF,6DAA6D;IAC7D,mGAAyF,CAAA;IAEzF;;;OAGG;IACH,4CAAkC,CAAA;IAElC,gEAAgE;IAChE,qEAA2D,CAAA;IAE3D;;;OAGG;IACH,yFAA+E,CAAA;IAE/E;;;OAGG;IACH,yEAA+D,CAAA;IAE/D,gFAAgF;IAChF,6DAAmD,CAAA;IAEnD;;;OAGG;IACH,uEAA6D,CAAA;IAE7D,gEAAgE;IAChE,mEAAyD,CAAA;IAEzD,kFAAkF;IAClF,mFAAyE,CAAA;IAEzE,4CAA4C;IAC5C,4DAAkD,CAAA;IAElD,kFAAkF;IAClF,+EAAqE,CAAA;IAErE;;;OAGG;IACH,yDAA+C,CAAA;IAE/C,6CAA6C;IAC7C,uCAA6B,CAAA;IAE7B,+EAA+E;IAC/E,iDAAuC,CAAA;IAEvC,mEAAyD,CAAA;IAEzD,8DAA8D;IAC9D,6EAAmE,CAAA;IAEnE;;;OAGG;IACH,2FAAiF,CAAA;IAEjF,mFAAmF;IACnF,6FAAmF,CAAA;IAEnF,qFAAqF;IACrF,+CAAqC,CAAA;IAErC,mEAAyD,CAAA;IAEzD,kEAAkE;IAClE,2CAAiC,CAAA;IAEjC;;;;;;OAMG;IACH,4DAAkD,CAAA;IAElD;;;OAGG;IACH,wDAA8C,CAAA;IAE9C;;;;OAIG;IACH,iEAAuD,CAAA;IAEvD;;;OAGG;IACH,6EAAmE,CAAA;AACrE,CAAC,EA9GW,MAAM,sBAAN,MAAM,QA8GjB"} \ No newline at end of file +{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,MAmHX;AAnHD,WAAY,MAAM;IAChB,2DAA2D;IAC3D,+FAAqF,CAAA;IAErF,6DAA6D;IAC7D,mGAAyF,CAAA;IAEzF;;;OAGG;IACH,4CAAkC,CAAA;IAElC,gEAAgE;IAChE,qEAA2D,CAAA;IAE3D;;;OAGG;IACH,yFAA+E,CAAA;IAE/E;;;OAGG;IACH,yEAA+D,CAAA;IAE/D,gFAAgF;IAChF,6DAAmD,CAAA;IAEnD;;;OAGG;IACH,uEAA6D,CAAA;IAE7D,gEAAgE;IAChE,mEAAyD,CAAA;IAEzD,kFAAkF;IAClF,mFAAyE,CAAA;IAEzE,4CAA4C;IAC5C,4DAAkD,CAAA;IAElD,kFAAkF;IAClF,+EAAqE,CAAA;IAErE;;;OAGG;IACH,yDAA+C,CAAA;IAE/C,6CAA6C;IAC7C,uCAA6B,CAAA;IAE7B,+EAA+E;IAC/E,iDAAuC,CAAA;IAEvC,mEAAyD,CAAA;IAEzD,8DAA8D;IAC9D,6EAAmE,CAAA;IAEnE;;;OAGG;IACH,2FAAiF,CAAA;IAEjF,mFAAmF;IACnF,6FAAmF,CAAA;IAEnF,qFAAqF;IACrF,+CAAqC,CAAA;IAErC,mEAAyD,CAAA;IAEzD,kEAAkE;IAClE,2CAAiC,CAAA;IAEjC;;;;;;OAMG;IACH,4DAAkD,CAAA;IAElD;;;OAGG;IACH,wDAA8C,CAAA;IAE9C;;;;OAIG;IACH,iEAAuD,CAAA;IAEvD;;;OAGG;IACH,6EAAmE,CAAA;IAEnE;;OAEG;IACH,uEAA6D,CAAA;AAC/D,CAAC,EAnHW,MAAM,sBAAN,MAAM,QAmHjB"} \ No newline at end of file diff --git a/lib/init-action.js b/lib/init-action.js index b0b6749fe..ed70ce25c 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -37,6 +37,7 @@ const fs = __importStar(require("fs")); const path = __importStar(require("path")); const core = __importStar(require("@actions/core")); const io = __importStar(require("@actions/io")); +const semver = __importStar(require("semver")); const uuid_1 = require("uuid"); const actions_util_1 = require("./actions-util"); const api_client_1 = require("./api-client"); @@ -194,6 +195,27 @@ async function run() { logger.warning(`Unable to validate code scanning workflow: ${validateWorkflowResult}`); } core.endGroup(); + // Set CODEQL_ENABLE_EXPERIMENTAL_FEATURES for Rust if between 2.19.3 and 2.22.1 (excluded) + // We need to set this environment variable before initializing the config, otherwise Rust + // analysis will not be enabled. + // Initially this was driven by a feature flag which has been rolled out already. + if ( + // Only enable the experimental features env variable for Rust analysis if the user has explicitly + // requested rust - don't enable it via language autodetection. + configUtils + .getRawLanguagesNoAutodetect((0, actions_util_1.getOptionalInput)("languages")) + .includes(languages_1.KnownLanguage.rust)) { + const experimental = "2.19.3"; + const publicPreview = "2.22.1"; + const actualVer = (await codeql.getVersion()).version; + if (semver.lt(actualVer, experimental)) { + throw new util_1.ConfigurationError(`Rust analysis is supported by CodeQL CLI version ${experimental} or higher, but found version ${actualVer}`); + } + if (semver.lt(actualVer, publicPreview)) { + core.exportVariable(environment_1.EnvVar.EXPERIMENTAL_FEATURES, "true"); + logger.info("Experimental rust analysis enabled"); + } + } config = await (0, init_1.initConfig)({ languagesInput: (0, actions_util_1.getOptionalInput)("languages"), queriesInput: (0, actions_util_1.getOptionalInput)("queries"), @@ -379,18 +401,6 @@ async function run() { logger.info(`Setting C++ build-mode: none to ${value}`); core.exportVariable(bmnVar, value); } - // For rust, if `codeql` does not support it, we are in two possible situations: - // * either we run `codeql` prior to 2.19.3, which means no rust support is possible - // * or we run a version between 2.19.3 and 2.22.1 (excluded), when rust support was - // experimental and required explicitly setting CODEQL_ENABLE_EXPERIMENTAL_FEATURES, - // and that env variable is not set - // However, there is no need to let users know about the experimental feature flag at - // this point, if they want rust support they should chose a version which supports it - // publicly. - if (config.languages.includes(languages_1.KnownLanguage.rust) && - !(await codeql.resolveLanguages()).rust) { - throw new util_1.ConfigurationError("Rust analysis is supported from CodeQL version 2.22.1 or higher."); - } // Restore dependency cache(s), if they exist. if ((0, caching_utils_1.shouldRestoreCache)(config.dependencyCachingEnabled)) { await (0, dependency_caching_1.downloadDependencyCaches)(config.languages, logger); diff --git a/lib/init-action.js.map b/lib/init-action.js.map index 5d8917f2c..1a4a624c3 100644 --- a/lib/init-action.js.map +++ b/lib/init-action.js.map @@ -1 +1 @@ -{"version":3,"file":"init-action.js","sourceRoot":"","sources":["../src/init-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"init-action.js","sourceRoot":"","sources":["../src/init-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/environment.ts b/src/environment.ts index 42dcfc4e0..88a39b011 100644 --- a/src/environment.ts +++ b/src/environment.ts @@ -114,4 +114,9 @@ export enum EnvVar { * Useful for testing purposes where multiple caches may be stored in the same repository. */ DEPENDENCY_CACHING_PREFIX = "CODEQL_ACTION_DEPENDENCY_CACHE_PREFIX", + + /** + * Whether to enable experimental extractors for CodeQL. + */ + EXPERIMENTAL_FEATURES = "CODEQL_ACTION_EXPERIMENTAL_FEATURES", } diff --git a/src/init-action.ts b/src/init-action.ts index 6be0b81d3..58cb2e597 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -3,6 +3,7 @@ import * as path from "path"; import * as core from "@actions/core"; import * as io from "@actions/io"; +import * as semver from "semver"; import { v4 as uuidV4 } from "uuid"; import { @@ -357,6 +358,31 @@ async function run() { } core.endGroup(); + // Set CODEQL_ENABLE_EXPERIMENTAL_FEATURES for Rust if between 2.19.3 and 2.22.1 (excluded) + // We need to set this environment variable before initializing the config, otherwise Rust + // analysis will not be enabled. + // Initially this was driven by a feature flag which has been rolled out already. + if ( + // Only enable the experimental features env variable for Rust analysis if the user has explicitly + // requested rust - don't enable it via language autodetection. + configUtils + .getRawLanguagesNoAutodetect(getOptionalInput("languages")) + .includes(KnownLanguage.rust) + ) { + const experimental = "2.19.3"; + const publicPreview = "2.22.1"; + const actualVer = (await codeql.getVersion()).version; + if (semver.lt(actualVer, experimental)) { + throw new ConfigurationError( + `Rust analysis is supported by CodeQL CLI version ${experimental} or higher, but found version ${actualVer}`, + ); + } + if (semver.lt(actualVer, publicPreview)) { + core.exportVariable(EnvVar.EXPERIMENTAL_FEATURES, "true"); + logger.info("Experimental rust analysis enabled"); + } + } + config = await initConfig({ languagesInput: getOptionalInput("languages"), queriesInput: getOptionalInput("queries"), @@ -629,23 +655,6 @@ async function run() { core.exportVariable(bmnVar, value); } - // For rust, if `codeql` does not support it, we are in two possible situations: - // * either we run `codeql` prior to 2.19.3, which means no rust support is possible - // * or we run a version between 2.19.3 and 2.22.1 (excluded), when rust support was - // experimental and required explicitly setting CODEQL_ENABLE_EXPERIMENTAL_FEATURES, - // and that env variable is not set - // However, there is no need to let users know about the experimental feature flag at - // this point, if they want rust support they should chose a version which supports it - // publicly. - if ( - config.languages.includes(KnownLanguage.rust) && - !(await codeql.resolveLanguages()).rust - ) { - throw new ConfigurationError( - "Rust analysis is supported from CodeQL version 2.22.1 or higher.", - ); - } - // Restore dependency cache(s), if they exist. if (shouldRestoreCache(config.dependencyCachingEnabled)) { await downloadDependencyCaches(config.languages, logger);