Add YAML-based help texts for auto-generated airflowctl commands#65073
Merged
bugraoz93 merged 1 commit intoapache:mainfrom Apr 12, 2026
Merged
Add YAML-based help texts for auto-generated airflowctl commands#65073bugraoz93 merged 1 commit intoapache:mainfrom
bugraoz93 merged 1 commit intoapache:mainfrom
Conversation
83ae4c1 to
14dffe7
Compare
bugraoz93
approved these changes
Apr 12, 2026
Contributor
bugraoz93
left a comment
There was a problem hiding this comment.
Nice :) Thanks for the PR!
Backport successfully created: v3-2-testNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
|
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.
This PR attempts to implement a YAML based approach to map airflow-ctl help texts. The idea behind this was to have a single source of truth that can be easy to validate in the pre-commit (see the linked issue for a bit more detail). This targets the auto-generated commands. I also created a prek hook
check_airflowctl_help_textsthat ensures all the auto-generated commands have their respective help texts.A couple of notes on the approach:
I created a
help_texts.yamlfile in the ctl directory with all the group/subcommand to help text mappings. Not sure if there is a specific naming convention we would like to follow so happy to change that if needed. Inside theCommandFactory()class we read the help_texts into an instance variable and then use it to look up and assign the help text in the_create_group_commands_from_operation()method. Added an additional test case that tests the help texts from YAML are used for auto-generated commands.I moved the
parse_operations()function into the common prek utils so that it can be used in the new hook & the airflowctl command coverage (which is where it was originally) scripts without duplicating code. The check goes through the auto-generated commands, performs a look up against the yaml, collects any that are missing, and then will output a message describing which are missing and the file they should be added to.Curious to hear if this approach makes sense and open to any suggestions.
closes: #57632
Was generative AI tooling used to co-author this PR?
{pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.