open-swe/agent
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
..
integrations fix: lower default LangSmith sandbox size to fit "large" tier (#1226) 2026-04-30 13:24:15 -07:00
middleware fix(open_pr): reuse config for GitHub token; defer installation token lookup (#1227) 2026-04-30 17:48:15 -07:00
tools feat: add github CI check run tools for shepherding CI (#1121) 2026-05-01 12:19:04 -07:00
utils fix(open_pr): reuse config for GitHub token; defer installation token lookup (#1227) 2026-04-30 17:48:15 -07:00
encryption.py chore: Drop monorepo (#1029) 2026-03-06 16:10:34 -08:00
prompt.py fix: skip notification step when no source channel context is present (#1119) 2026-05-01 11:41:18 -07:00
server.py feat: add github CI check run tools for shepherding CI (#1121) 2026-05-01 12:19:04 -07:00
webapp.py feat: give agent ability to read cross-posted Slack message links [closes OPE-37] (#1200) 2026-04-29 17:42:27 -07:00