New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add actions for github push and send PR #1415
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great, looks like we are one step closer to dogfooding!
To fix the integration test, you could refer to https://github.com/OpenDevin/OpenDevin/blob/main/tests/integration/README.md
|
||
# Push the branch to the temporary remote | ||
command = f'git push {random_remote} {self.branch}' | ||
push_result = controller.action_manager.run_command(command, background=False) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Error handling for push? A common error would be permission related.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right now if the command fails it will return the failed command and failure message (after deleting the remote), so I think this might be OK as-is?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. Rate limiting error should be rare and I don't think we need to handle that. Permission error would have to be resolved by the user anyways. #1290 aims to add support for agent-user interaction, which might be helpful for users to intervene and address permission issues, if any.
I think we also need to modify |
…in into neubig/add_push_action
@li-boxuan , I added the info to the prompt, I think this is ready for another look! |
I have finished end-to-end testing and confirmed that this indeed works! Here is the first PR authored by OpenDevin that uses this functionality: #1438 |
@enyst or @li-boxuan , if you approve this is probably ready to merge. |
I tried locally with GPT-3.5, it failed as expected since it didn't have yet a token. 😅 |
This PR aims to give agents the ability to push to github.
GithubPushAction
andGithubSendPRAction
.GithubPushAction
toMonologueAgent
through the prompt.Both of these actions require you to set
OPENDEVIN_GITHUB_TOKEN
as an environment variable, and uses this token to either push to github or send an API call to create a PR.I still need to extensively test the full pipeline but this should be ready for review.
Fixes #1067