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

dangernoodle-io / breadboard / 26003912522
100%

Build:
DEFAULT BRANCH: main
Ran 17 May 2026 10:01PM UTC
Jobs 1
Files 17
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

17 May 2026 09:59PM UTC coverage: 100.0%. Remained the same
26003912522

push

github

web-flow
refactor(bb_ota_pull): route /api/ota/check through bb_update_check_now (#261)

previously, bb_ota_pull maintained a parallel ota_check_worker_task (12 KB
stack) that performed its own tls handshake + streaming manifest fetch on
every GET /api/ota/check, caching results in s_cached_check.
bb_update_check ran an identical fetch in its persistent 8 KB worker (s_worker)
kicked by bb_update_check_now() or the periodic timer.

the duplication caused oom under fragmented heap on bitaxe-650 (TA-378):
per-call 12 KB task-stack alloc + mbedtls handshake transient (~30 KB) on top
of an active mining workload exhausted available heap.

changes:
- deleted: ota_check_worker_task, s_cached_check, ota_pull_check,
  ota_pull_check_result_t, s_check_in_progress, s_check_done, s_check_failed,
  OTA_CHECK_STACK, OTA_CHECK_PRIO
- GET /api/ota/check handler: calls bb_update_check_now() (non-blocking kick
  to the single 8 KB persistent worker) and returns {"status":"checking"} 200.
  response shape is unchanged so the webui does not need to change.
  callers poll GET /api/update/status for the result.
- POST /api/ota/update handler: reads bb_update_check_get_status() to extract
  latest_tag and asset_url. returns 503 if last_check_ok == false (no recent
  successful check); 409 if available == false; 202 to start the OTA worker.
- bb_ota_pull_check_now() delegates to bb_update_check_now()
- bb_update_check PRIV_REQUIRES added to bb_ota_pull CMakeLists.txt
- ota_worker_task: uses new ota_worker_arg_t (latest_tag + asset_url only;
  update_available no longer needed since the check is done in the handler)
- added two host tests: bb_update_check_get_status returns a safe copy of
  cached state; returns failure state correctly

no kconfig knobs were specific to the deleted task: OTA_CHECK_STACK was a
c-level #define aliasing BB_HTTP_CLIENT_TASK_STACK (not a CONFIG_ symbol),
and OTA_CHECK_PRIO was also a plain #define. no Kconfig removals needed.

Co-authored-by: Claude Sonnet... (continued)

960 of 960 branches covered (100.0%)

Branch coverage included in aggregate %.

1722 of 1722 relevant lines covered (100.0%)

1018.81 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26003912522.1 17 May 2026 10:01PM UTC 17
100.0
GitHub Action Run
Source Files on build 26003912522
  • Tree
  • List 17
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26003912522
  • ed37092a on github
  • Prev Build on main (#26003381796)
  • Next Build on main (#26004487197)
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