Skip to content

Allow AnalysisKind-specific configuration sections - #4047

Draft
mbg wants to merge 4 commits into
mainfrom
mbg/config-file/action-extensions
Draft

Allow AnalysisKind-specific configuration sections#4047
mbg wants to merge 4 commits into
mainfrom
mbg/config-file/action-extensions

Conversation

@mbg

@mbgmbg commented Jul 28, 2026

Copy link
Copy Markdown
Member

This is an implementation of a possible design to allow AnalysisKind-specific configuration sections in user-supplied configuration files. The high-level approach here is to understand AnalysisKind-specific keys in the loaded UserConfig that are used to overwrite keys in the base UserConfig if the respective AnalysisKind is active. For example, given the following input:

code-quality:
paths-ignore:
- libpaths-ignore:
- lib
- teststhreat-models:
- remote

we would get the following for a code-quality analysis:

paths-ignore:
- libthreat-models:
- remote

and the following for a code-scanning analysis:

paths-ignore:
- lib
- teststhreat-models:
- remote

Risk assessment

For internal use only. Please select the risk level of this change:

  • Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only.

Which use cases does this change impact?

Workflow types:

  • Advanced setup - Impacts users who have custom CodeQL workflows.
  • Managed - Impacts users with dynamic workflows (Default Setup, Code Quality, ...).

Products:

  • Code Scanning - The changes impact analyses when analysis-kinds: code-scanning.
  • Code Quality - The changes impact analyses when analysis-kinds: code-quality.
  • Other first-party - The changes impact other first-party analyses.

Environments:

  • Dotcom - Impacts CodeQL workflows on github.com and/or GitHub Enterprise Cloud with Data Residency.
  • GHES - Impacts CodeQL workflows on GitHub Enterprise Server.

How did/will you validate this change?

  • Test repository - This change will be tested on a test repository before merging.
  • Unit tests - I am depending on unit test coverage (i.e. tests in .test.ts files).
  • End-to-end tests - I am depending on PR checks (i.e. tests in pr-checks).

If something goes wrong after this change is released, what are the mitigation and rollback strategies?

  • Feature flags - All new or changed code paths can be fully disabled with corresponding feature flags.

How will you know if something goes wrong after this change is released?

  • Telemetry - I rely on existing telemetry or have made changes to the telemetry.
    • Dashboards - I will watch relevant dashboards for issues after the release. Consider whether this requires this change to be released at a particular time rather than as part of a regular release.
    • Alerts - New or existing monitors will trip if something goes wrong with this change.

Are there any special considerations for merging or releasing this change?

  • No special considerations - This change can be merged at any time.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Consider adding a changelog entry for this change.
  • Confirm the readme and docs have been updated if necessary.

@mbgmbg self-assigned this Jul 28, 2026
@github-actionsgithub-actionsBot added the size/M Should be of average difficulty to review label Jul 28, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/MShould be of average difficulty to review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@mbg