- 
                Notifications
    
You must be signed in to change notification settings  - Fork 413
 
Rust: remove shipped feature flag #2960
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
3478646
              662cec8
              a58e7d8
              3e4d856
              6802597
              8d19b24
              068f150
              67812dd
              68da2c5
              bfa52a8
              aa456a5
              a9c4652
              486a50d
              df1ceac
              File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Large diffs are not rendered by default.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | 
|---|---|---|
| 
          
            
          
           | 
    @@ -3,7 +3,6 @@ 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 { | ||
| 
        
          
        
         | 
    @@ -14,7 +13,6 @@ import { | |
| getRequiredInput, | ||
| getTemporaryDirectory, | ||
| persistInputs, | ||
| isDefaultSetup, | ||
| } from "./actions-util"; | ||
| import { getGitHubVersion } from "./api-client"; | ||
| import { | ||
| 
        
          
        
         | 
    @@ -32,7 +30,7 @@ import { | |
| makeDiagnostic, | ||
| } from "./diagnostics"; | ||
| import { EnvVar } from "./environment"; | ||
| import { Feature, featureConfig, Features } from "./feature-flags"; | ||
| import { Feature, Features } from "./feature-flags"; | ||
| import { | ||
| checkInstallPython311, | ||
| cleanupDatabaseClusterDirectory, | ||
| 
          
            
          
           | 
    @@ -631,32 +629,20 @@ async function run() { | |
| core.exportVariable(bmnVar, value); | ||
| } | ||
| 
     | 
||
| // For rust: set CODEQL_ENABLE_EXPERIMENTAL_FEATURES, unless codeql already supports rust without it | ||
| // 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 | ||
| // However, there is not 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(Language.rust) && | ||
| !(await codeql.resolveLanguages()).rust | ||
| ) { | ||
| const feat = Feature.RustAnalysis; | ||
| const minVer = featureConfig[feat].minimumVersion as string; | ||
| const envVar = "CODEQL_ENABLE_EXPERIMENTAL_FEATURES"; | ||
| // if in default setup, it means the feature flag was on when rust was enabled | ||
| // if the feature flag gets turned off, let's not have rust analysis throwing a configuration error | ||
| // in that case rust analysis will be disabled only when default setup is refreshed | ||
| if (isDefaultSetup() || (await features.getValue(feat, codeql))) { | ||
| core.exportVariable(envVar, "true"); | ||
| } | ||
| if (process.env[envVar] !== "true") { | ||
| throw new ConfigurationError( | ||
| `Experimental and not officially supported Rust analysis requires setting ${envVar}=true in the environment`, | ||
| ); | ||
| } | ||
| const actualVer = (await codeql.getVersion()).version; | ||
| if (semver.lt(actualVer, minVer)) { | ||
| throw new ConfigurationError( | ||
| `Experimental rust analysis is supported by CodeQL CLI version ${minVer} or higher, but found version ${actualVer}`, | ||
| ); | ||
| } | ||
| logger.info("Experimental rust analysis enabled"); | ||
| throw new ConfigurationError( | ||
| "Rust analysis is supported from CodeQL version 2.22.1 or higher.", | ||
| ); | ||
| } | ||
| 
     | 
||
| // Restore dependency cache(s), if they exist. | ||
| 
          
            
          
           | 
    ||
Uh oh!
There was an error while loading. Please reload this page.