This is an automated email from the ASF dual-hosted git repository.
choo121600 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new ac765a68ba5 Fix Simple Auth Manager UI dev server not starting in
breeze (#60932)
ac765a68ba5 is described below
commit ac765a68ba541fcbfa5bd2074948e8852b658b81
Author: Yeonguk Choo <[email protected]>
AuthorDate: Tue Jan 27 13:07:07 2026 +0900
Fix Simple Auth Manager UI dev server not starting in breeze (#60932)
* Fix Simple Auth Manager UI dev server not starting in breeze
* Redirected prek output to file in dev mode
---
dev/breeze/src/airflow_breeze/utils/run_utils.py | 17 ++++++++++-------
scripts/ci/prek/compile_ui_assets_dev.py | 8 ++++++--
2 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/dev/breeze/src/airflow_breeze/utils/run_utils.py
b/dev/breeze/src/airflow_breeze/utils/run_utils.py
index 24117f50ff8..afa19021413 100644
--- a/dev/breeze/src/airflow_breeze/utils/run_utils.py
+++ b/dev/breeze/src/airflow_breeze/utils/run_utils.py
@@ -448,13 +448,16 @@ def _run_compile_internally(
env = os.environ.copy()
if dev:
- return run_command(
- command_to_execute,
- check=False,
- no_output_dump_on_exception=True,
- text=True,
- env=env,
- )
+ with open(UI_ASSET_OUT_DEV_MODE_FILE, "w") as output_file:
+ return run_command(
+ command_to_execute,
+ check=False,
+ no_output_dump_on_exception=True,
+ text=True,
+ env=env,
+ stderr=subprocess.STDOUT,
+ stdout=output_file,
+ )
compile_lock.parent.mkdir(parents=True, exist_ok=True)
compile_lock.unlink(missing_ok=True)
try:
diff --git a/scripts/ci/prek/compile_ui_assets_dev.py
b/scripts/ci/prek/compile_ui_assets_dev.py
index 8e98a0708f4..903e7f5e98d 100755
--- a/scripts/ci/prek/compile_ui_assets_dev.py
+++ b/scripts/ci/prek/compile_ui_assets_dev.py
@@ -18,6 +18,7 @@
from __future__ import annotations
import os
+import signal
import subprocess
import sys
from pathlib import Path
@@ -79,10 +80,9 @@ if __name__ == "__main__":
stderr=subprocess.STDOUT,
)
- subprocess.run(
+ subprocess.Popen(
["pnpm", "dev"],
cwd=os.fspath(UI_DIRECTORY),
- check=True,
env=env,
stdout=open(UI_ASSET_OUT_DEV_MODE_FILE, "a"),
stderr=subprocess.STDOUT,
@@ -104,3 +104,7 @@ if __name__ == "__main__":
stdout=open(SIMPLE_AUTH_MANAGER_UI_ASSET_OUT_DEV_MODE_FILE, "a"),
stderr=subprocess.STDOUT,
)
+
+ # Keep script alive so child processes stay in the same process group.
+ # When breeze exits, kill_process_group() will terminate all processes
together.
+ signal.pause()