• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Tatsh / deltona / 25474571820 / 4
100%
master: 100%

Build:
DEFAULT BRANCH: master
Ran 07 May 2026 03:34AM UTC
Files 27
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 May 2026 03:32AM UTC coverage: 100.0%. Remained the same
25474571820.4

push

github

Tatsh
git: harden bot-merge against per-repo failures

Make `merge-dependabot-prs` and `merge-pre-commit-ci-prs` resilient to
per-repository errors and only retry repos that still have work.

Previously a single `github.GithubException` raised inside
`process_repo` (for example, listing pull requests returned 404 for a
repo with PRs disabled) propagated out of `asyncio.gather`, fail-fast
cancelled every sibling repo task, and aborted the entire run mid-way
through the batch — even though many merges had already succeeded.

- Wrap the `archived`/`uses_bot`/`_list_bot_pull_numbers` block in
  `process_repo` with a narrowed try/except. Catch
  `github.UnknownObjectException` (404) first and emit a single INFO
  line ("pull requests not available") so repos with PRs disabled no
  longer surface as errors. Other `GithubException` types still go
  through `log.exception`. Both paths return a count of 0 so the
  retry loop drops the repo on the next pass.
- Pass `return_exceptions=True` to the outer `asyncio.gather` over
  `process_repo(...)` and reconcile per-repo results via
  `zip(repositories, gathered, strict=True)`, logging any unforeseen
  exception. This is a defence-in-depth so a future unhandled error
  in one repo cannot ever take down the whole batch.
- Refactor `_run_bot_merge_with_retry` to take a runner factory
  (`tuple[str, ...] | None -> runner`) plus the initial repo list.
  After each `BotMergeError`, the helper rebuilds the runner with
  `tuple(sorted(e.remaining))`, so the next attempt only re-fetches
  the repos that still have unmerged pull requests instead of every
  accessible repository.
- Update `merge_dependabot_prs_main` and `merge_pre_commit_ci_prs_main`
  to define a local `make_runner(current_repos)` closure that captures
  the static config (`base_url`, `concurrency`,
  `max_concurrent_http_requests`, `token`) and only varies `repos`
  per iteration.

Add tests covering all three new branches: 404 → INFO skip, non-404
GithubExcept... (continued)

399 of 399 branches covered (100.0%)

Branch coverage included in aggregate %.

3346 of 3346 relevant lines covered (100.0%)

1.0 hits per line

Source Files on job 25474571820.4
  • Tree
  • List 27
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 25474571820
  • 64a0dde7 on github
  • Prev Job for on master (#25265701543.4)
  • Next Job for on master (#25551218493.3)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc