Revert "Add username parameter to AsyncBashSession" (#8767)

This commit is contained in:
Robert Brennan 2025-05-28 14:28:26 -04:00 committed by GitHub
parent 9f86f731a7
commit c76809a766
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 5 additions and 28 deletions

View File

@ -390,9 +390,7 @@ class ActionExecutor:
try:
if action.is_static:
path = action.cwd or self._initial_cwd
result = await AsyncBashSession.execute(
action.command, path, self.username
)
result = await AsyncBashSession.execute(action.command, path)
obs = CmdOutputObservation(
content=result.content,
exit_code=result.exit_code,

View File

@ -346,7 +346,7 @@ class Runtime(FileEditRuntimeMixin):
'No repository selected. Initializing a new git repository in the workspace.'
)
action = CmdRunAction(
command=f'git init && git config --global --add safe.directory {self.workspace_root}'
command='git init',
)
self.run_action(action)
else:

View File

@ -1,15 +1,12 @@
import asyncio
import os
import pwd
from openhands.runtime.base import CommandResult
class AsyncBashSession:
@staticmethod
async def execute(
command: str, work_dir: str, username: str | None = None
) -> CommandResult:
async def execute(command: str, work_dir: str) -> CommandResult:
"""Execute a command in the bash session asynchronously."""
work_dir = os.path.abspath(work_dir)
@ -20,24 +17,12 @@ class AsyncBashSession:
if not command:
return CommandResult(content='', exit_code=0)
env = {}
if username:
try:
user_info = pwd.getpwnam(username)
env['HOME'] = user_info.pw_dir
env['USER'] = username
env['LOGNAME'] = username
except KeyError:
raise ValueError(f'User {username} does not exist.')
# Prepare to run the command
try:
process = await asyncio.subprocess.create_subprocess_shell(
command,
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE,
cwd=work_dir,
user=username,
env=env,
)
try:

View File

@ -234,10 +234,7 @@ async def test_clone_or_init_repo_no_repo_with_user_id(temp_dir):
# Verify that git init was called
assert len(runtime.run_action_calls) == 1
assert isinstance(runtime.run_action_calls[0], CmdRunAction)
assert (
runtime.run_action_calls[0].command
== f'git init && git config --global --add safe.directory {runtime.workspace_root}'
)
assert runtime.run_action_calls[0].command == 'git init'
assert result == ''
@ -258,10 +255,7 @@ async def test_clone_or_init_repo_no_repo_no_user_id_no_workspace_base(temp_dir)
# Verify that git init was called
assert len(runtime.run_action_calls) == 1
assert isinstance(runtime.run_action_calls[0], CmdRunAction)
assert (
runtime.run_action_calls[0].command
== f'git init && git config --global --add safe.directory {runtime.workspace_root}'
)
assert runtime.run_action_calls[0].command == 'git init'
assert result == ''