This is an automated email from the ASF dual-hosted git repository.
jscheffl pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-1-test by this push:
new 954779c99c7 [v3-1-test] Breeze exit on incompatible arguments (#59148)
(#59157)
954779c99c7 is described below
commit 954779c99c74b533e93f891954de0d7033c6a41a
Author: Jens Scheffler <[email protected]>
AuthorDate: Sun Dec 7 17:34:18 2025 +0100
[v3-1-test] Breeze exit on incompatible arguments (#59148) (#59157)
* Breeze exit on incompatible arguments
* Apply suggestion from @choo121600
* Nit fix
---------
(cherry picked from commit 236dab6406e55f88b879f69154e54f2763ce5d3b)
Co-authored-by: Kunal Bhattacharya <[email protected]>
Co-authored-by: Yeonguk Choo <[email protected]>
---
dev/breeze/doc/images/output_start-airflow.svg | 2 +-
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
dev/breeze/src/airflow_breeze/commands/developer_commands.py | 10 +++++++++-
3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dev/breeze/doc/images/output_start-airflow.svg
b/dev/breeze/doc/images/output_start-airflow.svg
index 286eefb8fe5..66757b5b0ca 100644
--- a/dev/breeze/doc/images/output_start-airflow.svg
+++ b/dev/breeze/doc/images/output_start-airflow.svg
@@ -582,7 +582,7 @@
</text><text class="breeze-start-airflow-r5" x="0" y="1557.2"
textLength="12.2" clip-path="url(#breeze-start-airflow-line-63)">│</text><text
class="breeze-start-airflow-r4" x="24.4" y="1557.2" textLength="305"
clip-path="url(#breeze-start-airflow-line-63)">--skip-assets-compilation</text><text
class="breeze-start-airflow-r1" x="378.2" y="1557.2" textLength="1061.4"
clip-path="url(#breeze-start-airflow-line-63)">Skips compilation of assets when starting airfl
[...]
</text><text class="breeze-start-airflow-r5" x="0" y="1581.6"
textLength="12.2" clip-path="url(#breeze-start-airflow-line-64)">│</text><text
class="breeze-start-airflow-r1" x="378.2" y="1581.6" textLength="305"
clip-path="url(#breeze-start-airflow-line-64)">(mutually exclusive with </text><text
class="breeze-start-airflow-r4" x="683.2" y="1581.6" textLength="122"
clip-path="url(#breeze-start-airflow-line-64)">--dev-mode</text><text
class="breeze-start-airflow-r1" x="805.2" [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1606" textLength="12.2"
clip-path="url(#breeze-start-airflow-line-65)">│</text><text
class="breeze-start-airflow-r4" x="24.4" y="1606" textLength="122"
clip-path="url(#breeze-start-airflow-line-65)">--dev-mode</text><text
class="breeze-start-airflow-r1" x="378.2" y="1606" textLength="1061.4"
clip-path="url(#breeze-start-airflow-line-65)">Starts api-server in dev mode (assets are always recompile
[...]
-</text><text class="breeze-start-airflow-r5" x="0" y="1630.4"
textLength="12.2" clip-path="url(#breeze-start-airflow-line-66)">│</text><text
class="breeze-start-airflow-r1" x="378.2" y="1630.4" textLength="305"
clip-path="url(#breeze-start-airflow-line-66)">(mutually exclusive with </text><text
class="breeze-start-airflow-r4" x="683.2" y="1630.4" textLength="305"
clip-path="url(#breeze-start-airflow-line-66)">--skip-assets-compilation</text><text
class="breeze-start-airflo [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="1630.4"
textLength="12.2" clip-path="url(#breeze-start-airflow-line-66)">│</text><text
class="breeze-start-airflow-r1" x="378.2" y="1630.4" textLength="305"
clip-path="url(#breeze-start-airflow-line-66)">(mutually exclusive with </text><text
class="breeze-start-airflow-r4" x="683.2" y="1630.4" textLength="305"
clip-path="url(#breeze-start-airflow-line-66)">--skip-assets-compilation</text><text
class="breeze-start-airflo [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1654.8"
textLength="1464"
clip-path="url(#breeze-start-airflow-line-67)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-start-airflow-r1" x="1464" y="1654.8" textLength="12.2"
clip-path="url(#breeze-start-airflow-line-67)">
</text><text class="breeze-start-airflow-r5" x="0" y="1679.2"
textLength="24.4" clip-path="url(#breeze-start-airflow-line-68)">╭─</text><text
class="breeze-start-airflow-r5" x="24.4" y="1679.2" textLength="488"
clip-path="url(#breeze-start-airflow-line-68)"> Build CI image (before entering shell) </text><text
class="breeze-start-airflow-r5" x="512.4" y="1679.2" textLength="927.2"
clip-path="url(#breeze-start-airflow-line-68)">─────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1703.6"
textLength="12.2" clip-path="url(#breeze-start-airflow-line-69)">│</text><text
class="breeze-start-airflow-r4" x="24.4" y="1703.6" textLength="158.6"
clip-path="url(#breeze-start-airflow-line-69)">--force-build</text><text
class="breeze-start-airflow-r1" x="341.6" y="1703.6" textLength="707.6"
clip-path="url(#breeze-start-airflow-line-69)">Force image build no matter if it is determined&
[...]
diff --git a/dev/breeze/doc/images/output_start-airflow.txt
b/dev/breeze/doc/images/output_start-airflow.txt
index b20c774a1b1..2eabe2c3e6f 100644
--- a/dev/breeze/doc/images/output_start-airflow.txt
+++ b/dev/breeze/doc/images/output_start-airflow.txt
@@ -1 +1 @@
-0e0e91f58cc936fdc0c2f2621f23fb3e
+6de827b3ac600a7b488313a094d227a0
diff --git a/dev/breeze/src/airflow_breeze/commands/developer_commands.py
b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
index 71ab14516b6..a32cf74ec2a 100644
--- a/dev/breeze/src/airflow_breeze/commands/developer_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
@@ -515,7 +515,7 @@ option_executor_start_airflow = click.option(
@click.option(
"--dev-mode",
help="Starts api-server in dev mode (assets are always recompiled in this
case when starting) "
- "(mutually exclusive with --skip-assets-compilation).",
+ "(mutually exclusive with --skip-assets-compilation and
--use-airflow-version).",
is_flag=True,
)
@click.option(
@@ -628,6 +628,14 @@ def start_airflow(
)
skip_assets_compilation = True
+ if dev_mode and use_airflow_version:
+ get_console().print(
+ "[error]You cannot set Airflow version in dev mode! Consider
switching to the respective "
+ "version branch if you need to use --dev-mode on a different
Airflow version! \nExiting!!"
+ )
+
+ sys.exit(1)
+
# Automatically enable file polling for hot reloading under WSL
if dev_mode and is_wsl():
os.environ["CHOKIDAR_USEPOLLING"] = "true"