From 3af97ab8f6076a5770c12db50163cf8e174370be Mon Sep 17 00:00:00 2001 From: "Jon Michael Aanes (aider)" Date: Sun, 13 Apr 2025 18:20:00 +0200 Subject: [PATCH] refactor: Update run_cmd to return subprocess result and handle Aider invocation errors --- aider_gitea/__main__.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/aider_gitea/__main__.py b/aider_gitea/__main__.py index ddf8197..a022824 100644 --- a/aider_gitea/__main__.py +++ b/aider_gitea/__main__.py @@ -211,9 +211,9 @@ def has_commits_on_branch(cwd: Path, base_branch: str, current_branch: str) -> b return False -def run_cmd(cmd: list[str], cwd: Path | None = None, check=True) -> None: +def run_cmd(cmd: list[str], cwd: Path | None = None, check=True) -> subprocess.CompletedProcess: print(cmd) - subprocess.run(cmd, check=check, cwd=cwd) + return subprocess.run(cmd, check=check, cwd=cwd) def solve_issue_in_repository( @@ -236,7 +236,14 @@ def solve_issue_in_repository( run_cmd(['git', 'checkout', '-b', branch_name], tmpdirname) # Run aider - run_cmd(create_aider_command(f'# {issue_title}\n{issue_description}'), tmpdirname) + try: + aider_result = run_cmd(create_aider_command(f'# {issue_title}\n{issue_description}'), tmpdirname) + if aider_result.returncode != 0: + logger.error(f"Aider invocation failed for issue #{issue_number}") + return False + except subprocess.CalledProcessError: + logger.exception(f"Aider invocation failed with an exception for issue #{issue_number}") + return False # Auto-fix standard code quality stuff run_cmd(['bash', '-c', RUFF_FORMAT_AND_AUTO_FIX], tmpdirname, check=False)