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

bedrock-kv / bedrock / df02343e1758c32e09619217520901e0346af77c
82%

Build:
DEFAULT BRANCH: develop
Ran 05 Sep 2026 02:13PM UTC
Jobs 1
Files 213
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 Sep 2026 02:09PM UTC coverage: 80.007% (+0.07%) from 79.942%
df02343e1758c32e09619217520901e0346af77c

push

github

web-flow
Remove wait_for_healthy, the only reader of a value nothing reads (#223)

Closes bedrock-gu0.4 and bedrock-gu0.1, under epic bedrock-gu0.

> **Housekeeping:** this PR was conflicting and had come to carry two
unrelated changes, so it has been split. The conflicts were an artifact
of stacking: #222 squash-merged to `develop`, leaving this branch
holding a byte-identical but historically-unrelated copy of the same
commit, which later edits made unmergeable. This branch is now rebased
onto `develop` and contains **only** the wait_for_healthy removal. The
guides terminology rename (reviewed as #224, whose merge landed on this
branch instead of `develop`) now lives in #227, stacked on this one.

### Why

`Foreman.wait_for_healthy/2` has no callers — verified across lib, test,
guides, benchmarks, livebooks and the sibling `bedrock_ex` checkout. The
only occurrences were its own definition, its own tests, and three guide
lines.

It was also the **only consumer of the foreman's health value**.
`State.health` was read in exactly two places, both serving it.

That is why this family of bugs needed four tickets to find. An
order-dependent fold (#214), a verdict never recomputed at boot (#218),
health recomputed without waking waiters (#219), and `{:ok, pid}`
outliving its process (#222) were all defects in a value whose only
reader was an API nobody called. A blocking call defaulting to
`:infinity`, with no callers, documenting a guarantee the code never
honoured, is worse than nothing — it invites someone to depend on it.

### What changed

The function goes, and with it the `waiting_for_healthy` list and
helpers, and `settle_health/1`, which collapses back to
`recompute_health/1`. That undoes half of #219 by design: the pairing
existed to wake waiters and there are none left. What #219 was actually
worth — recomputing on *every* path that alters the worker set,
including `do_new_worker/4`, which recomputed nothing — stays.

`bedrock-gu0.1` (unpruned waiter lis... (continued)

4 of 4 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

6931 of 8663 relevant lines covered (80.01%)

1036.55 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
44.83
4.2% lib/bedrock/service/foreman/server.ex
Jobs
ID Job ID Ran Files Coverage
1 df02343e1758c32e09619217520901e0346af77c.1 05 Sep 2026 02:13PM UTC 213
80.01
GitHub Action Run
Source Files on build df02343e1758c32e09619217520901e0346af77c
  • Tree
  • List 213
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • df02343e on github
  • Prev Build on develop (#E1838B70...)
  • Next Build on develop (#B211A889...)
  • 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