@@ -68,9 +68,13 @@ def format_command(command: list[str | Path]) -> str:
6868 return " " .join (shlex .quote (str (part )) for part in command )
6969
7070
71- def run (command : list [str | Path ], * , cwd : Path = ROOT ) -> None :
71+ def run (command : list [str | Path ], * , cwd : Path = ROOT , env : dict [ str , str ] | None = None ) -> None :
7272 print (f"\n $ { format_command (command )} " , flush = True )
73- subprocess .run ([str (part ) for part in command ], cwd = cwd , check = True )
73+ command_env = None
74+ if env is not None :
75+ command_env = os .environ .copy ()
76+ command_env .update (env )
77+ subprocess .run ([str (part ) for part in command ], cwd = cwd , check = True , env = command_env )
7478
7579
7680def git_stdout (* args : str | Path ) -> str :
@@ -90,6 +94,14 @@ def require_tools(*tools: str) -> None:
9094 raise SystemExit (f"Missing required release tool(s): { ', ' .join (missing )} " )
9195
9296
97+ def source_tree_python_env () -> dict [str , str ]:
98+ src_path = str (ROOT / "src" )
99+ pythonpath = os .environ .get ("PYTHONPATH" )
100+ if pythonpath :
101+ src_path = os .pathsep .join ((src_path , pythonpath ))
102+ return {"PYTHONPATH" : src_path }
103+
104+
93105def bounded_int_env (name : str , default : int , * , minimum : int , maximum : int ) -> str :
94106 value = os .environ .get (name , str (default )).strip ()
95107 try :
@@ -474,7 +486,7 @@ def main() -> int:
474486 run ([python , "-m" , "ruff" , "check" , "." ])
475487 run ([python , "-m" , "ruff" , "format" , "--check" , "." ])
476488 run ([python , "-m" , "pytest" , "-q" ])
477- run ([python , "-m" , "mini_eq" , "--check-deps" ])
489+ run ([python , "-m" , "mini_eq" , "--check-deps" ], env = source_tree_python_env () )
478490 run_headless_pipewire_runtime_smoke (python )
479491 run (["appstreamcli" , "validate" , "--no-net" , ROOT / "data/io.github.bhack.mini-eq.metainfo.xml" ])
480492 run (["desktop-file-validate" , ROOT / "data/io.github.bhack.mini-eq.desktop" ])
0 commit comments