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

dangernoodle-io / breadboard / 30727447847
97%

Build:
DEFAULT BRANCH: main
Ran 02 Aug 2026 01:41AM 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

02 Aug 2026 01:39AM UTC coverage: 96.781%. Remained the same
30727447847

push

github

web-flow
feat: codegen-time cap check for binds_data=true bb_data bindings (#1189)

bb_data_bind() registers into a fixed BB_DATA_MAX_BINDINGS-sized table; 10 real call sites currently exceed the cap of 8, silently dropping two binds at runtime (one warns, one aborts route registration -- 404 on GET /api/update/status). Codegen cannot see this today: 8 of the 10 are self-binds inside component .c bodies, invisible to the header-marker grep.

Adds a binds_data=true // bbtool:init marker field (mirrors registers_routes=true's parsing/grammar posture) letting a self-bind call opt into the count, plus check_binds_data_cap in commands.wire, wired into commands.codegen.run/pio_main right after topo_sort. The check reads BB_DATA_MAX_BINDINGS from components/bb_data/include/bb_data.h rather than hardcoding it, checks every discovery root before giving up -- a root whose copy exists but has no matching #define, or has one with a non-integer value (typo, placeholder, or a hex literal like 0x8), does not mask a real one at another root -- and fails loudly (WireError) if no root yields a value, naming every path tried and each path's own failure reason, never a silent skip or a miscount. Documents the accepted no-preprocessor limitation (a #define inside a block comment or #if 0 region is matched as live), consistent with the rest of this grep-time tool.

Deliberately inert: no component or manifest carries the new marker yet, so the check never fires and regenerated codegen output is byte-identical (verified for examples/smoke esp32). Both call sites (run/pio_main) are covered by integration tests that fail when the corresponding line is removed.


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

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

8121 of 8694 branches covered (93.41%)

Branch coverage included in aggregate %.

13769 of 13924 relevant lines covered (98.89%)

2580.14 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30727447847.1 02 Aug 2026 01:41AM UTC 213
96.78
GitHub Action Run
Source Files on build 30727447847
  • Tree
  • List 213
  • 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 #30727447847
  • 39c582c1 on github
  • Prev Build on main (#30727150768)
  • Next Build on main (#30728382348)
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