open-swe/tests
langsmith-forge-dev[bot] 4060933ce4
feat: add github CI check run tools for shepherding CI (#1121)
* 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>
2026-05-01 12:19:04 -07:00
..
test_auth_sources.py chore: Drop monorepo (#1029) 2026-03-06 16:10:34 -08:00
test_ensure_no_empty_msg.py fix: skip no_op injection when PR is committed and user is notified (#1047) 2026-03-10 12:56:44 -07:00
test_get_pr_review_comments.py fix: add get_pr_review_comments tool to fetch PR review comments with auth (#1043) 2026-04-30 17:01:13 -07:00
test_github_ci.py feat: add github CI check run tools for shepherding CI (#1121) 2026-05-01 12:19:04 -07:00
test_github_comment_prompts.py feat: stop auto-cloning and let agent manage repo setup [closes OPE-21] (#1159) 2026-04-10 17:04:55 -07:00
test_github_issue_webhook.py fix: better docs, github auth (#1055) 2026-03-11 22:57:56 -08:00
test_github_pr_label.py feat: open PRs under user's name and add OpenSWE label (#1215) 2026-04-29 17:34:00 -07:00
test_github_review.py fix: block open-swe from approving PRs (#1177) 2026-04-09 11:45:08 -07:00
test_github_security.py fix: proxy config restored the branch yogesh/GitHub auth proxy (#1173) 2026-04-08 15:02:52 -07:00
test_http_security.py fix: Shell injection and ssrf issues (#1155) 2026-04-01 12:37:35 -07:00
test_multimodal.py chore: Drop monorepo (#1029) 2026-03-06 16:10:34 -08:00
test_open_pr_middleware.py fix: safety net middleware never fires due to key-existence check (#1051) 2026-04-30 17:22:11 -07:00
test_proxy_auth.py feat: stop auto-cloning and let agent manage repo setup [closes OPE-21] (#1159) 2026-04-10 17:04:55 -07:00
test_recent_comments.py chore: Drop monorepo (#1029) 2026-03-06 16:10:34 -08:00
test_repo_extraction.py feat: extract repo parsing into shared util, add linear comment repo override (#1103) 2026-03-20 13:34:00 -07:00
test_sandbox_paths.py fix: better custom backend support (#1071) 2026-03-17 11:55:36 -07:00
test_slack_context.py fix: Remove obsolete automatic repository selection notifications (#1221) 2026-04-25 12:27:20 -07:00