Skip to content

build: split codeql runners into sections to try to reduce runtime headaches#8163

Open
feywind wants to merge 1 commit intomainfrom
feywind-codeql-split
Open

build: split codeql runners into sections to try to reduce runtime headaches#8163
feywind wants to merge 1 commit intomainfrom
feywind-codeql-split

Conversation

@feywind
Copy link
Copy Markdown
Contributor

@feywind feywind commented May 4, 2026

Continues the work started here: #8110

Currently trying to scan the entire repo in a cron job fails because it takes more than 6 hours.

@feywind feywind requested a review from a team as a code owner May 4, 2026 19:25
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces three new CodeQL configuration files to partition the repository's analysis paths into autogenerated, handwritten, and repository-specific segments. The review feedback suggests further partitioning the 'packages' directory to effectively utilize parallel runners and avoid timeouts. Additionally, it is recommended to use 'paths-ignore' in the repository configuration to ensure full coverage of root-level files and other directories not explicitly covered by the other configurations.

Comment on lines +1 to +2
paths:
- 'packages'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

If the packages directory is the primary contributor to the 6-hour runtime, moving it into its own configuration file will not resolve the timeout issue if it is still processed by a single CodeQL runner. To effectively reduce runtime and stay within the 6-hour limit, consider further partitioning the packages directory into multiple configuration files (e.g., by sub-directory ranges) to allow for parallel execution across multiple runners.

Comment on lines +1 to +2
paths:
- '.github'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This configuration explicitly lists only the .github directory, which means the repository root (containing files like package.json, tsconfig.json) and any other top-level directories (e.g., samples/, system-test/) are excluded from CodeQL analysis. To ensure full coverage of the repository while splitting the workload, consider using paths-ignore to capture all files not handled by the other runners. This also makes the configuration more resilient to the addition of new top-level directories.

paths-ignore:
  - 'packages'
  - 'core'
  - 'handwritten'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant