Add BREEZE_SELF_UPGRADE_TIMEOUT in reinstall_if_setup_changed #61292
+115
−8
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.
What
Implemented a timeout mechanism for the automatic Breeze self-upgrade check.
Introduced the
BREEZE_SELF_UPGRADE_TIMEOUTenvironment variable to allow users to configure the timeout duration (default: 10 seconds).Added error handling to catch subprocess.TimeoutExpired and subprocess.CalledProcessError, ensuring the CLI startup does not crash or hang indefinitely if the upgrade check fails.
Why
Currently, if we run a Breeze command with a typo (e.g.,
breeze ci upgradee), the terminal doesn't show the error message immediately. Instead, it just blocks/hangs while checking for updates in the background. This makes it hard for users to realize they made a simple typo.closes: #61125
Was generative AI tooling used to co-author this PR?
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.