mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-09-30 10:23:14 +00:00
* feat: add github CI check run tools for shepherding CI Add get_pr_check_runs and rerun_failed_check_runs tools that authenticate using the GitHub App installation token so the agent can query and retry CI status on private repos without relying on GH_TOKEN or unauthenticated http_request calls. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: handle paginated GitHub CI results * refactor(github_ci): address review feedback - Rename rerun_failed_check_runs -> rerun_failed_workflow_runs and clarify in docstrings that the tool only retries GitHub Actions workflow runs (not third-party CI checks surfaced by get_pr_check_runs). - Skip action_required workflow runs when rerunning; those need manual approval, not a rerun. - Run rerun-failed-jobs requests concurrently via asyncio.gather instead of sequentially. - Fix latent pagination bug in _fetch_paginated_items where caller-supplied params could overwrite per_page/page and break the end-of-pagination check; reserved keys now always win and the threshold uses a PER_PAGE constant. - Set an explicit 30s httpx timeout so a hung GitHub call cannot stall the agent loop. - Restore alphabetical ordering of tools in agent/tools/__init__.py. - Add tests for: a 500 surfaced on a later pagination page, and action_required runs being filtered out of rerun candidates. --------- Co-authored-by: Claude Agent <agent@anthropic.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Johannes du Plessis <johannes@langchain.dev>
56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
from .commit_and_open_pr import commit_and_open_pr
|
|
from .fetch_url import fetch_url
|
|
from .get_branch_name import get_branch_name
|
|
from .get_pr_review_comments import get_pr_review_comments
|
|
from .github_ci import get_pr_check_runs, rerun_failed_workflow_runs
|
|
from .github_comment import github_comment
|
|
from .github_review import (
|
|
create_pr_review,
|
|
dismiss_pr_review,
|
|
get_pr_review,
|
|
list_pr_review_comments,
|
|
list_pr_reviews,
|
|
submit_pr_review,
|
|
update_pr_review,
|
|
)
|
|
from .http_request import http_request
|
|
from .linear_comment import linear_comment
|
|
from .linear_create_issue import linear_create_issue
|
|
from .linear_delete_issue import linear_delete_issue
|
|
from .linear_get_issue import linear_get_issue
|
|
from .linear_get_issue_comments import linear_get_issue_comments
|
|
from .linear_list_teams import linear_list_teams
|
|
from .linear_update_issue import linear_update_issue
|
|
from .list_repos import list_repos
|
|
from .slack_read_thread_messages import slack_read_thread_messages
|
|
from .slack_thread_reply import slack_thread_reply
|
|
from .web_search import web_search
|
|
|
|
__all__ = [
|
|
"commit_and_open_pr",
|
|
"create_pr_review",
|
|
"dismiss_pr_review",
|
|
"fetch_url",
|
|
"get_branch_name",
|
|
"get_pr_check_runs",
|
|
"get_pr_review",
|
|
"get_pr_review_comments",
|
|
"github_comment",
|
|
"http_request",
|
|
"linear_comment",
|
|
"linear_create_issue",
|
|
"linear_delete_issue",
|
|
"linear_get_issue",
|
|
"linear_get_issue_comments",
|
|
"linear_list_teams",
|
|
"linear_update_issue",
|
|
"list_pr_review_comments",
|
|
"list_pr_reviews",
|
|
"list_repos",
|
|
"rerun_failed_workflow_runs",
|
|
"slack_read_thread_messages",
|
|
"slack_thread_reply",
|
|
"submit_pr_review",
|
|
"update_pr_review",
|
|
"web_search",
|
|
]
|