Fix airflowctl config lint filters matching partial config names - #70940
Open
rjgoyln wants to merge 1 commit into
Open
Fix airflowctl config lint filters matching partial config names#70940rjgoyln wants to merge 1 commit into
rjgoyln wants to merge 1 commit into
Conversation
The lint filters were declared as plain strings, so the membership tests in the command body compared a name against a string rather than against a list. Any name that happened to be a prefix of what the user typed slipped through: `--option auth_backends` also reported `auth_backend`, and the mirror case on `--ignore-option` silently suppressed warnings the user still wanted to see. Five such pairs exist in CONFIGS_CHANGES today. The comma-separated lists the docstring has always advertised only appeared to work because substring matching happened to accept them; the verbose output joined the same strings character by character. airflow-core already parses these four arguments with string_list_type, which was defined here but left unused.
rjgoyln
marked this pull request as ready for review
August 3, 2026 12:49
rjgoyln
requested review from
bugraoz93,
dheerajturaga,
henry3260 and
potiuk
as code owners
August 3, 2026 12:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
airflowctl config lintdeclared--section,--option,--ignore-section, and--ignore-optionas plain strings instead of lists. As a result, membership checks performed substring matching rather than exact matching, leading to false positives (for example,auth_backendmatchingauth_backends) and, more seriously, causing--ignore-optionto suppress unrelated warnings.The same root cause also meant that the documented comma-separated syntax (for example,
--section core,webserver) was never actually parsed, and verbose output printed each string character by character.Change
Use the existing
string_list_typeparser fromairflowctl/ctl/cli_config.pyfor all four options, matchingairflow-core. This restores proper list membership, enables the documented comma-separated syntax, and fixes verbose output.Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 5) following the guidelines