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

dangernoodle-io / TaipanMiner / 28274672749
90%

Build:
DEFAULT BRANCH: main
Ran 27 Jun 2026 01:38AM UTC
Jobs 3
Files 107
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

27 Jun 2026 01:37AM UTC coverage: 90.237% (+0.02%) from 90.214%
28274672749

push

github

web-flow
fix: ota push host isolation + unreachable-identity classification (TA-475) (#590)

* fix: classify unreadable device identity as DeviceUnreachable, not mismatch (TA-475)

- add DeviceUnreachable exception to fleetlib/safety.py (distinct from
  IdentityMismatch: board=None hostname=None means unreachable/mid-reboot,
  not a genuine safety violation)
- add _read_identity() helper to fleetlib/discovery.py returning (board,
  hostname) tuple; (None, None) means unreachable
- guard.check() now raises DeviceUnreachable when identity is unreadable,
  and IdentityMismatch only when a non-None identity genuinely differs from
  the expected board/hostname
- update all test patches from verify_identity bool to _read_identity tuple
  to match new internal seam; fix board values to match each test's guard
  expectations (esp32-wroom32, esp32-s2-mini, bitaxe-403 as appropriate)
- add TestGuardDeviceUnreachable unit tests: (a) (None,None) -> DeviceUnreachable,
  (b) differing known board -> IdentityMismatch (regression guard still fires),
  (c) matching identity -> passes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: isolate per-host failures in ota push so one bad host doesn't abort the batch (TA-475)

- cmd_ota_push now wraps the _push() call per host in try/except; catches
  DeviceUnreachable and IdentityMismatch (print SKIPPED + continue) and
  generic Exception (print FAILED + continue) — remaining hosts are always
  attempted
- batch exit code is still non-zero when any host fails/is skipped, but
  the loop never aborts early
- cmd_call also updated to catch DeviceUnreachable alongside IdentityMismatch
  so the same fix applies to arbitrary mutating calls
- add TestCmdOtaPushHostIsolation regression tests: [healthy, unreachable,
  healthy] -> both healthy hosts pushed, unreachable skipped (SKIPPED in
  output), exit code non-zero; [healthy, identity-mismatch, healthy] ->
  same isolation behavior for IdentityMismatch

Co-Authored-By: Clau... (continued)

2887 of 3627 branches covered (79.6%)

Branch coverage included in aggregate %.

5385 of 5540 relevant lines covered (97.2%)

149095.56 hits per line

Jobs
ID Job ID Ran Files Coverage
1 e2e - 28274672749.1 27 Jun 2026 01:40AM UTC 56
57.46
GitHub Action Run
2 native - 28274672749.2 27 Jun 2026 01:38AM UTC 27
91.46
GitHub Action Run
3 webui - 28274672749.3 27 Jun 2026 01:39AM UTC 80
91.31
GitHub Action Run
Source Files on build 28274672749
  • Tree
  • List 107
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28274672749
  • ee5febd9 on github
  • Prev Build on main (#28271467442)
  • Next Build on main (#28295487347)
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