Commit Graph

260 Commits

Author SHA1 Message Date
Henry Mercer 5794ffcb4a Fix auto-detection of extractors that aren't languages 2025-08-07 21:09:22 +01:00
Michael B. Gale f28436bcbf Update log message in getRawLanguagesInRepo 2025-08-07 12:43:21 +01:00
Michael B. Gale 0d72a5b371 Check that stats isn't undefined before trying to call isDirectory 2025-08-07 11:25:01 +01:00
Michael B. Gale 43638b10a0 Support auto-detecting Actions workflows 2025-08-07 11:04:21 +01:00
Henry Mercer 377976a96e Improve type of trapCaches now Language is non-exhaustive 2025-08-05 18:09:37 +01:00
Henry Mercer ea05bf27b6 Use more explicit checks on .length for readability 2025-08-05 17:55:50 +01:00
Henry Mercer 83e92edc4b Improve detection of Rust in languages input 2025-08-05 11:43:04 +01:00
Henry Mercer c481481d7d Merge branch 'main' into henrymercer/language-extensibility 2025-08-05 11:07:39 +01:00
Chuan-kai Lin 90d7727554 Overlay: check code-scanning features 2025-07-10 14:16:19 -07:00
Chuan-kai Lin fb771764cb Extract generateCodeScanningConfig() 2025-07-10 14:14:46 -07:00
Chuan-kai Lin d799ff5e6a Overlay: check per-language features 2025-07-10 14:14:14 -07:00
Chuan-kai Lin 55cb6b8b94 Extract isOverlayAnalysisFeatureEnabled() 2025-07-10 10:48:43 -07:00
Chuan-kai Lin 64fce5856f Use exclude-from-incremental also for overlay analysis 2025-07-09 14:32:05 -07:00
Chuan-kai Lin fe7205c739 Move getOverlayDatabaseMode() call into initConfig()
In an upcoming change, getOverlayDatabaseMode() will depend on the
contents of Config. As a result, getOverlayDatabaseMode() needs to be
called after the rest of Config has already been populated.

This commit performs the refactoring to move the
getOverlayDatabaseMode() into initConfig(), after the rest of Config has
already been populated.
2025-07-09 14:32:05 -07:00
Chuan-kai Lin 4cd7a721f7 Remove loadConfig()
The loadConfig() function is mostly the same as getDefaultConfig(),
except that it calls loadUserConfig() and stores the results in
originalUserInput.

This refactoring commit replaces the loadConfig() call with
getDefaultConfig() and loadUserConfig(), which allows deleting a large
amount of duplicated code.
2025-07-09 14:32:05 -07:00
Chuan-kai Lin f4358b38d1 Extract loadUserConfig() 2025-07-09 14:32:05 -07:00
Chuan-kai Lin 95a1b7e2bf Add getOverlayDatabaseMode() tests 2025-07-07 08:14:41 -07:00
Chuan-kai Lin d42ce71087 Add AugmentationProperties.useOverlayDatabaseCaching
This commit adds useOverlayDatabaseCaching to AugmentationProperties to
indicate whether the action should upload overlay-base databases to the
actions cache and to download a cached overlay-base database when
creating an overlay database.
2025-07-03 12:35:24 -07:00
Chuan-kai Lin b4425372ef Limit OverlayAnalysis to internal repos 2025-07-03 12:35:24 -07:00
Chuan-kai Lin 93e8729640 getOverlayDatabaseMode: use Feature.OverlayAnalysis
This commit changes getOverlayDatabaseMode so that, when
Feature.OverlayAnalysis is enabled, it calculates the overlay database
mode automatically based on analysis metadata. If we are analyzing the
default branch, use OverlayBase, and if we are analyzing a PR, use
Overlay.

If CODEQL_OVERLAY_DATABASE_MODE is set to a valid overlay database mode,
that environment variable still takes precedence.
2025-07-03 12:35:24 -07:00
Chuan-kai Lin a336faa497 databaseInitCluster: use overlayDatabaseMode from config
This commit changes databaseInitCluster() to use overlayDatabaseMode
from AugmentationProperties instead of the overlayDatabaseMode
parameter. There is no behavior change because both overlayDatabaseMode
values are computed the same way.

The commit then cleans up the overlayDatabaseMode parameter and the code
paths that feed into it.
2025-07-03 12:35:24 -07:00
Chuan-kai Lin ee8a8c4e0b config-utils: populate getOverlayDatabaseMode()
This commit populates getOverlayDatabaseMode() in config-utils with the
same code from getOverlayDatabaseMode() in init.
2025-07-03 12:35:24 -07:00
Chuan-kai Lin 9022c7382c Add AugmentationProperties.overlayDatabaseMode
This commit adds overlayDatabaseMode to AugmentationProperties and
creates a placeholder getOverlayDatabaseMode() function, with the
necessary inputs, to populate it.
2025-07-03 12:35:24 -07:00
Chuan-kai Lin f5304e7bf5 Rename defaultQueryFilters
This commit renames AugmentationProperties.defaultQueryFilters to
extraQueryExclusions, and changes its type to ExcludeQueryFilter[]. It
matters whether we are adding query inclusions or exclusions, and this
renaming makes that distinction clearer.
2025-06-19 12:19:28 -07:00
Michael B. Gale 87c547189e Read and parse quality-queries input 2025-06-16 13:17:55 +01:00
Henry Mercer 932be8feda Rename Language enum and use generic Language where possible 2025-05-30 18:02:15 +01:00
Henry Mercer e303175b83 Use CodeQL CLI to parse languages 2025-05-30 18:02:14 +01:00
Chuan-kai Lin 71ab101d38 Set default query filter for diff-informed analysis 2025-03-27 14:06:40 -07:00
Chuan-kai Lin da967b1ade AugmentationProperties: add defaultQueryFilters
This commit adds a defaultQueryFilters field to AugmentationProperties
and incorporates its value into the augmented Code Scanning config.
However, in this commit defaultQueryFilters is always empty, so there is
not yet any actual behavior change.
2025-03-27 13:44:47 -07:00
github-actions[bot] 44e03577b2 Rebuild 2024-12-03 18:39:38 +00:00
Dave Bartolomeo ca91b63a7d Add comment about registry kinds 2024-11-01 14:00:48 -04:00
Dave Bartolomeo 2a3ca27b96 Merge remote-tracking branch 'origin/main' into dbartol/actions-analysis 2024-10-31 16:18:51 -04:00
Michael B. Gale 79faaf1396 Add CachingKind enum to control whether to restore or store caches 2024-10-29 12:10:17 +00:00
Michael B. Gale 1922a489a8 Add dependencyCachingEnabled to Config 2024-10-29 12:06:46 +00:00
Dave Bartolomeo 6682b14bf4 Handle kind property in registries 2024-10-18 17:22:11 -04:00
Henry Mercer fc983c82c2 Remove unneeded version guards 2024-10-15 19:38:49 +01:00
Remco Vermeulen 7c2bec0cc3 Merge remote-tracking branch 'upstream/main' into rvermeulen/extend-init-complete-status-report 2024-08-06 09:11:17 -07:00
Henry Mercer ecb9ccfcb1 Fix new linter errors 2024-08-05 19:22:26 +01:00
Remco Vermeulen b7b85bb26f Change removal of credentials to adhere to no-vars-unused 2024-07-31 11:24:51 -07:00
Remco Vermeulen 7ff117d65d Address formatting issues 2024-07-31 11:24:33 -07:00
Remco Vermeulen 9f7e0af9f6 Add registries to the init status complete report
Registries might require authentication, before we add it to the
report we remove any credentials.
2024-07-26 16:35:29 -07:00
Henry Mercer 1ea11ca775 Enable no-unsafe-return rule 2024-06-13 19:52:39 +01:00
Henry Mercer d8f549d6d8 Improve type safety by using more specific function types 2024-06-13 19:26:45 +01:00
Henry Mercer 0c392c4570 Add rollback mechanism for C# buildless 2024-06-11 18:45:16 +01:00
Angela P Wen ac2f82a1ff Log warning if SIP is disabled and CLI version is < 2.15.1 (#2261)
* PR Checks: use `macos-12` runners for CLI v. < 2.15.1

Prior to CLI v2.15.1, MacOS ARM runners were not supported by the build tracer. "macos-latest" is now an ARM runner, so we run these tests on the old CLIs on Intel runners instead.

* Log a warning if SIP is disabled and CLI is < 2.15.1

* Add changenote for SIP-disabled support on old CLI versions

* Set up Python 3.11 for all MacOS checks
2024-04-25 22:20:13 +00:00
Henry Mercer 5b74166227 Move BuildMode to util.ts 2024-04-12 16:37:13 +01:00
Henry Mercer 381e65f460 Allow generated user config file to be outside the workspace 2024-02-15 12:07:48 +00:00
Henry Mercer eb60ca25f8 Merge branch 'main' into henrymercer/java-buildless-rollback 2024-02-14 15:18:48 +00:00
Henry Mercer 191f59f435 Store generated config file in temporary directory
This prevents it from becoming part of the analysis.
2024-02-13 15:59:45 +00:00
Henry Mercer 4e5f9c0873 Introduce a rollback mechanism for Java buildless 2024-02-12 23:11:48 +00:00