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

pirl-unc / hitlist / 33634750928
83%

Build:
DEFAULT BRANCH: main
Ran 02 Sep 2026 01:21PM UTC
Jobs 1
Files 30
Run time 1min
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

02 Sep 2026 01:16PM UTC coverage: 81.194% (+0.08%) from 81.118%
33634750928

push

github

web-flow
v1.55.3: bound the UniProt pre-fetch phase and name what is in flight (#402) (#403)

A build wedged in `_prefetch_proteomes_for_workers` for 2h29m at 0% CPU with no
output and no artifact, after 80 consecutive UniProt failures. This does not
claim to have found the blocking call -- I killed the process before capturing
a stack, and an audit found no untimed HTTP call and no unbounded wait anywhere
in the package, so the stall is below hitlist (DNS, or inside a dependency).

What it fixes is that the stall was both unbounded and unattributable.

Unbounded: the phase's own docstring already promises "Failures are tolerated
-- the worker will hit the same code path and surface the error there". A stall
has to be tolerated the same way, or the phase that exists to save time becomes
the phase that prevents the build from finishing at all. There is now a
wall-clock budget (900s, HITLIST_PREFETCH_BUDGET) after which the remaining
proteomes are left to the workers, which is exactly what already happens for
the ones that fail.

Unattributable: the loop logged only inside `except`, so a call that *blocked*
printed nothing. The last line in a hung build's log therefore named a
proteome that had already finished -- actively misleading, and why #402 could
not be pinned to a specific fetch. Each attempt is now logged before it runs,
with an index, so the log names what is in flight rather than what last failed.

Tests cover the budget tripping and saying so, the in-flight line appearing for
every attempt, failures still being tolerated after it, and the env override
falling back on a malformed value rather than crashing a long build.

Claude-Session: https://claude.ai/code/session_014cBpazLoFvftLSLavT7T9X

6161 of 7588 relevant lines covered (81.19%)

0.81 hits per line

Coverage Regressions

Lines Coverage ∆ File
37
73.89
2.46% mappings.py
Jobs
ID Job ID Ran Files Coverage
1 33634750928.1 02 Sep 2026 01:21PM UTC 30
81.19
GitHub Action Run
Source Files on build 33634750928
  • Tree
  • List 30
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33634750928
  • 5e932f97 on github
  • Prev Build on main (#33586433548)
  • Next Build on main (#33651519816)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc