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

tecnickcom / gogen / 28753395155
100%

Build:
DEFAULT BRANCH: main
Ran 05 Jul 2026 08:15PM UTC
Jobs 1
Files 166
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

05 Jul 2026 08:07PM UTC coverage: 99.969%. Remained the same
28753395155

push

github

nicolaasuni
feat(healthcheck)!: timeouts, panic/nil safety, deterministic aggregation, and probe ergonomics

Harden the concurrent health-probe engine and the HTTP probe helper: make aggregation deterministic and panic-safe, add an overall handler timeout, close several nil/misconfiguration crash paths, and connect the HTTP helper to the handler more ergonomically.

- handler: rebuild the ServeHTTP fan-out onto a position-indexed results slice for deterministic per-check reporting (dropping the redundant result-channel close and the checksCount field); recover a panicking checker into a failed result (ErrCheckPanic) and log the panic with its stack so an unrecovered child goroutine can no longer crash the process; add WithTimeout to bound total probe time, pass the derived context to each checker, report overruns as ErrCheckTimeout, and drain already-arrived results at the deadline so checks that finished in time are not misreported; aggregate duplicate IDs failure-wins and warn at construction on empty, duplicate, or nil-checker registrations; normalize a nil logger (WithLogger(nil)) to slog.Default() so warning and recovered-panic logging never nil-dereference; guard a nil Checker into ErrNoChecker instead of a recovered nil-pointer panic with a per-probe stack dump; and copy the checks slice in NewHandler so later caller mutations do not leak in.
- checks: treat a non-positive CheckHTTPStatus timeout as "no added deadline" instead of an already-expired context; guard a nil response or body from a non-conforming HTTPClient; bound the keep-alive body drain with io.CopyN instead of reading an unbounded body in full; include the wanted code in the status-mismatch error; and add WithAcceptStatus to accept a status predicate (for example any 2xx) rather than a single exact code.
- api: add the HealthCheckFunc adapter so a plain func can be registered without a wrapper type (including one calling CheckHTTPStatus); export the ErrCheckTimeout, ErrCheckPanic, and ErrNoC... (continued)

119 of 119 new or added lines in 5 files covered. (100.0%)

12942 of 12946 relevant lines covered (99.97%)

97598.43 hits per line

Jobs
ID Job ID Ran Files Coverage
1 28753395155.1 05 Jul 2026 08:15PM UTC 166
99.97
GitHub Action Run
Source Files on build 28753395155
  • Tree
  • List 166
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28753395155
  • 8fde6806 on github
  • Prev Build on main (#28751990389)
  • Next Build on main (#28753903637)
  • 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