From 1f4c852aeb71b0ad06c8858fc2c28c8d8a72de0c Mon Sep 17 00:00:00 2001 From: Henry Mercer Date: Wed, 1 Apr 2026 12:08:06 +0100 Subject: [PATCH 1/2] Clean up Python extract stdlib feature flag --- lib/analyze-action-post.js | 6 ------ lib/analyze-action.js | 6 ------ lib/autobuild-action.js | 6 ------ lib/init-action-post.js | 6 ------ lib/init-action.js | 20 -------------------- lib/resolve-environment-action.js | 6 ------ lib/setup-codeql-action.js | 6 ------ lib/start-proxy-action-post.js | 6 ------ lib/start-proxy-action.js | 6 ------ lib/upload-lib.js | 6 ------ lib/upload-sarif-action-post.js | 6 ------ lib/upload-sarif-action.js | 6 ------ src/feature-flags.ts | 7 ------- src/init-action.ts | 21 --------------------- src/tools-features.ts | 1 - 15 files changed, 115 deletions(-) diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index 95010644c..c9a434400 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -162565,12 +162565,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 4eb98297f..969d0f015 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -108294,12 +108294,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index afe87e5e0..cdcceeb25 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -104617,12 +104617,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/init-action-post.js b/lib/init-action-post.js index c9b29cf6e..1128ae827 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -166080,12 +166080,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/init-action.js b/lib/init-action.js index 2ad473a21..86b8fb3a1 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -105875,12 +105875,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", @@ -110481,20 +110475,6 @@ exec ${goBinaryPath} "$@"` "The CODEQL_ACTION_DISABLE_PYTHON_DEPENDENCY_INSTALLATION environment variable is deprecated and no longer has any effect. We recommend removing any references from your workflows. See https://github.blog/changelog/2024-01-23-codeql-2-16-python-dependency-installation-disabled-new-queries-and-bug-fixes/ for more information." ); } - if (await codeql.supportsFeature( - "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - )) { - if (process.env["CODEQL_EXTRACTOR_PYTHON_EXTRACT_STDLIB"]) { - logger.debug( - "CODEQL_EXTRACTOR_PYTHON_EXTRACT_STDLIB is already set, so the Action will not override it." - ); - } else if (!await features.getValue( - "python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */, - codeql - )) { - core15.exportVariable("CODEQL_EXTRACTOR_PYTHON_EXTRACT_STDLIB", "true"); - } - } if (process.env["CODEQL_EXTRACTOR_JAVA_OPTION_MINIMIZE_DEPENDENCY_JARS" /* JAVA_EXTRACTOR_MINIMIZE_DEPENDENCY_JARS */]) { logger.debug( `${"CODEQL_EXTRACTOR_JAVA_OPTION_MINIMIZE_DEPENDENCY_JARS" /* JAVA_EXTRACTOR_MINIMIZE_DEPENDENCY_JARS */} is already set to '${process.env["CODEQL_EXTRACTOR_JAVA_OPTION_MINIMIZE_DEPENDENCY_JARS" /* JAVA_EXTRACTOR_MINIMIZE_DEPENDENCY_JARS */]}', so the Action will not override it.` diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index b7556ff41..8efaa0b03 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -104608,12 +104608,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/setup-codeql-action.js b/lib/setup-codeql-action.js index d1999c218..3f54f6f0c 100644 --- a/lib/setup-codeql-action.js +++ b/lib/setup-codeql-action.js @@ -104502,12 +104502,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js index e71aeaa7f..688eeb733 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -161898,12 +161898,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/start-proxy-action.js b/lib/start-proxy-action.js index 4c690d5c6..3c91b950e 100644 --- a/lib/start-proxy-action.js +++ b/lib/start-proxy-action.js @@ -121274,12 +121274,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/upload-lib.js b/lib/upload-lib.js index ef828d90d..3a2618756 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -107765,12 +107765,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/upload-sarif-action-post.js b/lib/upload-sarif-action-post.js index f8457ac4e..2585c49ad 100644 --- a/lib/upload-sarif-action-post.js +++ b/lib/upload-sarif-action-post.js @@ -162062,12 +162062,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index e2e44d83d..b78507de3 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -107477,12 +107477,6 @@ var featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: void 0 }, - ["python_default_is_to_not_extract_stdlib" /* PythonDefaultIsToNotExtractStdlib */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: void 0, - toolsFeature: "pythonDefaultIsToNotExtractStdlib" /* PythonDefaultIsToNotExtractStdlib */ - }, ["qa_telemetry_enabled" /* QaTelemetryEnabled */]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/src/feature-flags.ts b/src/feature-flags.ts index 9fa9b9590..80adce550 100644 --- a/src/feature-flags.ts +++ b/src/feature-flags.ts @@ -85,7 +85,6 @@ export enum Feature { OverlayAnalysisStatusCheck = "overlay_analysis_status_check", /** Controls whether overlay build failures on the default branch are stored in the Actions cache. */ OverlayAnalysisStatusSave = "overlay_analysis_status_save", - PythonDefaultIsToNotExtractStdlib = "python_default_is_to_not_extract_stdlib", QaTelemetryEnabled = "qa_telemetry_enabled", /** Note that this currently only disables baseline file coverage information. */ SkipFileCoverageOnPrs = "skip_file_coverage_on_prs", @@ -298,12 +297,6 @@ export const featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SKIP_RESOURCE_CHECKS", minimumVersion: undefined, }, - [Feature.PythonDefaultIsToNotExtractStdlib]: { - defaultValue: false, - envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", - minimumVersion: undefined, - toolsFeature: ToolsFeature.PythonDefaultIsToNotExtractStdlib, - }, [Feature.QaTelemetryEnabled]: { defaultValue: false, envVar: "CODEQL_ACTION_QA_TELEMETRY", diff --git a/src/init-action.ts b/src/init-action.ts index b06903d5c..70d5d79ce 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -645,27 +645,6 @@ async function run(startedAt: Date) { ); } - if ( - await codeql.supportsFeature( - ToolsFeature.PythonDefaultIsToNotExtractStdlib, - ) - ) { - if (process.env["CODEQL_EXTRACTOR_PYTHON_EXTRACT_STDLIB"]) { - logger.debug( - "CODEQL_EXTRACTOR_PYTHON_EXTRACT_STDLIB is already set, so the Action will not override it.", - ); - } else if ( - !(await features.getValue( - Feature.PythonDefaultIsToNotExtractStdlib, - codeql, - )) - ) { - // We are in a situation where the feature flag is not rolled out, - // so we need to suppress the new default CLI behavior. - core.exportVariable("CODEQL_EXTRACTOR_PYTHON_EXTRACT_STDLIB", "true"); - } - } - // If we are doing a Java `build-mode: none` analysis, then set the environment variable that // enables the option in the Java extractor to minimize dependency jars. We also only do this if // dependency caching is enabled, since the option is intended to reduce the size of dependency diff --git a/src/tools-features.ts b/src/tools-features.ts index 5eefbd227..bba64de23 100644 --- a/src/tools-features.ts +++ b/src/tools-features.ts @@ -9,7 +9,6 @@ export enum ToolsFeature { DatabaseInterpretResultsSupportsSarifRunProperty = "databaseInterpretResultsSupportsSarifRunProperty", ForceOverwrite = "forceOverwrite", IndirectTracingSupportsStaticBinaries = "indirectTracingSupportsStaticBinaries", - PythonDefaultIsToNotExtractStdlib = "pythonDefaultIsToNotExtractStdlib", SuppressesMissingFileBaselineWarning = "suppressesMissingFileBaselineWarning", } From 311573e58e933456e015ea850cdb1785d675c1fa Mon Sep 17 00:00:00 2001 From: Henry Mercer Date: Wed, 1 Apr 2026 12:19:11 +0100 Subject: [PATCH 2/2] Add changelog note --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1957ee689..999c5ad7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th ## [UNRELEASED] - The Git version 2.36.0 requirement for improved incremental analysis now only applies to repositories that contain submodules. [#3789](https://github.com/github/codeql-action/pull/3789) +- Python analysis on GHES no longer extracts the standard library, relying instead on models of the standard library. This should result in significantly faster extraction and analysis times, while the effect on alerts should be minimal. [#3794](https://github.com/github/codeql-action/pull/3794) ## 4.35.1 - 27 Mar 2026