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

dangernoodle-io / breadboard / 30682570778
97%

Build:
DEFAULT BRANCH: main
Ran 01 Aug 2026 03:46AM UTC
Jobs 1
Files 212
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

01 Aug 2026 03:44AM UTC coverage: 96.774%. Remained the same
30682570778

push

github

web-flow
feat: lint guard for // bbtool:init markers naming a Kconfig-gated-only fn (B1-1337) (#1179)

Add lint rule init-marker-gated-srcs: hard-errors when a // bbtool:init
marker's fn= names a function whose ONLY definition lives in a .c file
conditionally added to a component's SRCS via
if(CONFIG_X) list(APPEND SRCS ...) endif(). Disabling that Kconfig
symbol would emit a codegen call to a never-compiled symbol -- a link
error, or a compile error if the header declaration is also #if-gated
with no #else.

codegen (wire.py/wire_parse.py/wire_graph.py/composition.py) cannot
catch this itself: it is deliberately Kconfig-blind (greps marker text,
emits unconditional calls) and runs as a separate make step BEFORE
pio run, so no resolved sdkconfig exists at emit time -- teaching it to
read one would be structurally unreliable. This check instead lands in
lint.py, which already carries Kconfig-text-parsing logic
(kconfig-default-mismatch, kconfig-bridge-shadow) and runs purely over
source text under make check, same posture as those existing rules.

Not redundant with the di_legacy fence: that fence only tracks the
frozen legacy self-registration symbol families (BB_INIT_REGISTER*,
*_AUTOREGISTER, *_AUTO_ATTACH, force-register keeps). BB_DIAG_ROUTES/
BB_DIAG_SECTIONS (and every other symbol this rule can catch) are
ordinary feature Kconfig knobs, never in that frozen family -- the
fence would never have caught this class of defect.

False-positive exclusions (a false positive here blocks a legitimate
build): a defining file not referenced as a SRCS token by any
component's CMakeLists.txt at all (e.g. a host backend file reached
via directory convention, covering multi-platform definitions); any
defining file that IS unconditionally compiled by some component; and
a fn also reachable via a static inline stub in a header that is
PREPROCESSOR-TRUSTED -- unguarded, or inside a genuinely TERMINAL
#else arm, never merely an #elif arm
(_preproc_trusted_line_mask/_has_tr... (continued)

8101 of 8674 branches covered (93.39%)

Branch coverage included in aggregate %.

13740 of 13895 relevant lines covered (98.88%)

2581.81 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30682570778.1 01 Aug 2026 03:46AM UTC 212
96.77
GitHub Action Run
Source Files on build 30682570778
  • Tree
  • List 212
  • 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 #30682570778
  • db6522a7 on github
  • Prev Build on main (#30680483108)
  • Next Build on main (#30689651483)
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