Skip to content

fix(board-db): sweep build.extra_flags across all enrichable boards (#298)#312

Merged
zackees merged 1 commit into
mainfrom
fix/board-extra-flags-sweep-298
May 30, 2026
Merged

fix(board-db): sweep build.extra_flags across all enrichable boards (#298)#312
zackees merged 1 commit into
mainfrom
fix/board-extra-flags-sweep-298

Conversation

@zackees
Copy link
Copy Markdown
Member

@zackees zackees commented May 30, 2026

Summary

  • enrich_boards.rs now merges nested build/upload objects instead of replacing them, so PIO-supplied values overlay onto fbuild-only fields like build.arduino.ldscript rather than clobbering them.
  • Re-ran enrichment after installing 13 additional PIO platforms locally: 1508/1634 boards updated, 601 JSONs touched.
  • Every board reported in fbuild deficiency vs PlatformIO: build.extra_flags stripped from many bundled board JSONs (breaks Arduino board-macro detection) #298 (adafruit_feather_nrf52840, adafruit_clue_nrf52840, adafruit_itsybitsy_nrf52840, adafruit_metro_nrf52840, adafruit_ledglasses_nrf52840, adafruit_cplaynrf52840, etc.) now carries its Arduino -DARDUINO_<BOARD> / -DNRF52840_XXAA macros.

By platform: intel_mcs51 (264), atmelsam (81), libretiny (47), nordicnrf52 (45), microchippic32 (39), espressif32 (35), nordicnrf51 (14), timsp430 (13), freescalekinetis (12), maxim32 (9), infineonxmc (8), ststm8 (8), lgt8f (7), nxpimxrt/nxplpc (12), siliconlabsefm32 (5).

227 boards still lack upstream extra_flags — libretiny (no Arduino macros upstream), Zephyr-only nRF boards, and platforms not available via stock pio platform install. Out of scope here; tracked as follow-up.

Closes #298.

Test plan

  • New tests: test_nrf52840_sweep_arduino_macros, test_non_nrf52_sweep_arduino_macros
  • bash ./test (full workspace) — 0 failures
  • soldr cargo check/clippy --workspace --all-targets -- -D warnings — clean
  • uv run python ci/validate_boards.py — drift down from 817 → 247 (remaining are intentional fbuild-only fields)

🤖 Generated with Claude Code

…298)

PR #299 unblocked FastLED CI for 3 priority nRF52840 boards by patching
their JSONs manually. This is the follow-up broader sweep: re-runs
enrich_boards (now with proper merge semantics) to restore
build.extra_flags on every board family fbuild already shipped without
the Arduino macros they need.

Changes:

* enrich_boards.rs: merge PIO-supplied build/upload fields into the
  existing fbuild JSON rather than wholesale replacing them. This
  preserves fbuild-only fields PIO no longer ships (e.g. legacy
  arduino.ldscript that PIO has moved into SCons builder scripts) while
  still picking up extra_flags, vid/pid, partitions, etc.
* 601 board JSONs touched across 16 platforms: intel_mcs51 (264),
  atmelsam (81), libretiny (47), nordicnrf52 (45), microchippic32 (39),
  espressif32 (35), nordicnrf51 (14), timsp430 (13),
  freescalekinetis (12), maxim32 (9), infineonxmc (8), ststm8 (8),
  lgt8f (7), nxpimxrt (6), nxplpc (6), siliconlabsefm32 (5). Most gain a
  full extra_flags string with ARDUINO_<BOARD> / NRF52840_XXAA / etc.
* tests: add test_nrf52840_sweep_arduino_macros covering the remaining
  Adafruit nRF52840 family (feather/clue/itsybitsy/metro/ledglasses/
  circuitplay) and test_non_nrf52_sweep_arduino_macros covering SAMD
  (zero/mkrzero/adafruit_feather_m0), 8051 (AT89S51), and PIC32
  (chipkit_uc32).

Validation:
* uv run python ci/validate_boards.py: 247 drift failures (down from
  817 on main) -- remaining "extra in our asset" entries are
  intentional fbuild-only fields (e.g. build.arduino.ldscript).
* soldr cargo check / clippy --workspace --all-targets -D warnings: pass
* bash ./test (full workspace): 0 failures across all crates

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 30, 2026

Important

Review skipped

Too many files!

This PR contains 300 files, which is 150 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 885f5f25-83b9-44df-b068-3bc046e2c5b2

📥 Commits

Reviewing files that changed from the base of the PR and between 1a4d661 and fc66b49.

📒 Files selected for processing (300)
  • crates/fbuild-config/assets/boards/json/4d_systems_esp32s3_gen4_r8n16.json
  • crates/fbuild-config/assets/boards/json/96b_nitrogen.json
  • crates/fbuild-config/assets/boards/json/AT89S51.json
  • crates/fbuild-config/assets/boards/json/AT89S52.json
  • crates/fbuild-config/assets/boards/json/CH559.json
  • crates/fbuild-config/assets/boards/json/Generic8051.json
  • crates/fbuild-config/assets/boards/json/Generic8052.json
  • crates/fbuild-config/assets/boards/json/IAP12C5A62S2.json
  • crates/fbuild-config/assets/boards/json/IAP15F106.json
  • crates/fbuild-config/assets/boards/json/IAP15F206A.json
  • crates/fbuild-config/assets/boards/json/IAP15F2K61S.json
  • crates/fbuild-config/assets/boards/json/IAP15F2K61S2.json
  • crates/fbuild-config/assets/boards/json/IAP15F413AD.json
  • crates/fbuild-config/assets/boards/json/IAP15W105.json
  • crates/fbuild-config/assets/boards/json/IAP15W1K29S.json
  • crates/fbuild-config/assets/boards/json/IAP15W205S.json
  • crates/fbuild-config/assets/boards/json/IAP15W413AS.json
  • crates/fbuild-config/assets/boards/json/IAP15W413S.json
  • crates/fbuild-config/assets/boards/json/IAP15W4K58S4.json
  • crates/fbuild-config/assets/boards/json/IAP15W4K61S4.json
  • crates/fbuild-config/assets/boards/json/IAP15W4K63S4.json
  • crates/fbuild-config/assets/boards/json/IBMEthernetKit.json
  • crates/fbuild-config/assets/boards/json/IRC15F107W.json
  • crates/fbuild-config/assets/boards/json/IRC15F2K63S2.json
  • crates/fbuild-config/assets/boards/json/IRC15W107.json
  • crates/fbuild-config/assets/boards/json/IRC15W1K31S.json
  • crates/fbuild-config/assets/boards/json/IRC15W207S.json
  • crates/fbuild-config/assets/boards/json/IRC15W415AS.json
  • crates/fbuild-config/assets/boards/json/IRC15W415S.json
  • crates/fbuild-config/assets/boards/json/LGT8F328P-SSOP20.json
  • crates/fbuild-config/assets/boards/json/LGT8F328P.json
  • crates/fbuild-config/assets/boards/json/ML51BB9AE.json
  • crates/fbuild-config/assets/boards/json/ML51DB9AE.json
  • crates/fbuild-config/assets/boards/json/ML51EB9AE.json
  • crates/fbuild-config/assets/boards/json/ML51EC0AE.json
  • crates/fbuild-config/assets/boards/json/ML51FB9AE.json
  • crates/fbuild-config/assets/boards/json/ML51LD1AE.json
  • crates/fbuild-config/assets/boards/json/ML51OB9AE.json
  • crates/fbuild-config/assets/boards/json/ML51PB9AE.json
  • crates/fbuild-config/assets/boards/json/ML51PC0AE.json
  • crates/fbuild-config/assets/boards/json/ML51SD1AE.json
  • crates/fbuild-config/assets/boards/json/ML51TB9AE.json
  • crates/fbuild-config/assets/boards/json/ML51TC0AE.json
  • crates/fbuild-config/assets/boards/json/ML51TC1AE.json
  • crates/fbuild-config/assets/boards/json/ML51TD1AE.json
  • crates/fbuild-config/assets/boards/json/ML51UB9AE.json
  • crates/fbuild-config/assets/boards/json/ML51UC0AE.json
  • crates/fbuild-config/assets/boards/json/ML51XB9AE.json
  • crates/fbuild-config/assets/boards/json/ML54LD1AE.json
  • crates/fbuild-config/assets/boards/json/ML54MD1AE.json
  • crates/fbuild-config/assets/boards/json/ML54SD1AE.json
  • crates/fbuild-config/assets/boards/json/ML56LD1AE.json
  • crates/fbuild-config/assets/boards/json/ML56MD1AE.json
  • crates/fbuild-config/assets/boards/json/ML56SD1AE.json
  • crates/fbuild-config/assets/boards/json/MS51BA9AE.json
  • crates/fbuild-config/assets/boards/json/MS51DA9AE.json
  • crates/fbuild-config/assets/boards/json/MS51EC0AE.json
  • crates/fbuild-config/assets/boards/json/MS51FB9AE.json
  • crates/fbuild-config/assets/boards/json/MS51FC0AE.json
  • crates/fbuild-config/assets/boards/json/MS51IA9AE.json
  • crates/fbuild-config/assets/boards/json/MS51PC0AE.json
  • crates/fbuild-config/assets/boards/json/MS51TC0AE.json
  • crates/fbuild-config/assets/boards/json/MS51XB9AE.json
  • crates/fbuild-config/assets/boards/json/MS51XB9BE.json
  • crates/fbuild-config/assets/boards/json/MS51XC0BE.json
  • crates/fbuild-config/assets/boards/json/N76E003.json
  • crates/fbuild-config/assets/boards/json/N76E616.json
  • crates/fbuild-config/assets/boards/json/N76E885.json
  • crates/fbuild-config/assets/boards/json/N78E055.json
  • crates/fbuild-config/assets/boards/json/N78E059.json
  • crates/fbuild-config/assets/boards/json/N78E366.json
  • crates/fbuild-config/assets/boards/json/N78E517.json
  • crates/fbuild-config/assets/boards/json/N79E352.json
  • crates/fbuild-config/assets/boards/json/N79E715.json
  • crates/fbuild-config/assets/boards/json/N79E813.json
  • crates/fbuild-config/assets/boards/json/N79E8132.json
  • crates/fbuild-config/assets/boards/json/N79E814.json
  • crates/fbuild-config/assets/boards/json/N79E815.json
  • crates/fbuild-config/assets/boards/json/N79E822.json
  • crates/fbuild-config/assets/boards/json/N79E823.json
  • crates/fbuild-config/assets/boards/json/N79E824.json
  • crates/fbuild-config/assets/boards/json/N79E825.json
  • crates/fbuild-config/assets/boards/json/N79E843.json
  • crates/fbuild-config/assets/boards/json/N79E8432.json
  • crates/fbuild-config/assets/boards/json/N79E844.json
  • crates/fbuild-config/assets/boards/json/N79E845.json
  • crates/fbuild-config/assets/boards/json/N79E854.json
  • crates/fbuild-config/assets/boards/json/N79E855.json
  • crates/fbuild-config/assets/boards/json/N79E875.json
  • crates/fbuild-config/assets/boards/json/STC12C5A08S2.json
  • crates/fbuild-config/assets/boards/json/STC12C5A16S2.json
  • crates/fbuild-config/assets/boards/json/STC12C5A32S2.json
  • crates/fbuild-config/assets/boards/json/STC12C5A40S2.json
  • crates/fbuild-config/assets/boards/json/STC12C5A48S2.json
  • crates/fbuild-config/assets/boards/json/STC12C5A52S2.json
  • crates/fbuild-config/assets/boards/json/STC12C5A56S2.json
  • crates/fbuild-config/assets/boards/json/STC12C5A60S2.json
  • crates/fbuild-config/assets/boards/json/STC15F100.json
  • crates/fbuild-config/assets/boards/json/STC15F100W.json
  • crates/fbuild-config/assets/boards/json/STC15F101.json
  • crates/fbuild-config/assets/boards/json/STC15F101E.json
  • crates/fbuild-config/assets/boards/json/STC15F101W.json
  • crates/fbuild-config/assets/boards/json/STC15F102.json
  • crates/fbuild-config/assets/boards/json/STC15F102E.json
  • crates/fbuild-config/assets/boards/json/STC15F102W.json
  • crates/fbuild-config/assets/boards/json/STC15F103.json
  • crates/fbuild-config/assets/boards/json/STC15F103E.json
  • crates/fbuild-config/assets/boards/json/STC15F103W.json
  • crates/fbuild-config/assets/boards/json/STC15F104.json
  • crates/fbuild-config/assets/boards/json/STC15F104E.json
  • crates/fbuild-config/assets/boards/json/STC15F104W.json
  • crates/fbuild-config/assets/boards/json/STC15F105.json
  • crates/fbuild-config/assets/boards/json/STC15F105E.json
  • crates/fbuild-config/assets/boards/json/STC15F105W.json
  • crates/fbuild-config/assets/boards/json/STC15F201A.json
  • crates/fbuild-config/assets/boards/json/STC15F201EA.json
  • crates/fbuild-config/assets/boards/json/STC15F202A.json
  • crates/fbuild-config/assets/boards/json/STC15F202EA.json
  • crates/fbuild-config/assets/boards/json/STC15F203A.json
  • crates/fbuild-config/assets/boards/json/STC15F203EA.json
  • crates/fbuild-config/assets/boards/json/STC15F204A.json
  • crates/fbuild-config/assets/boards/json/STC15F204EA.json
  • crates/fbuild-config/assets/boards/json/STC15F205A.json
  • crates/fbuild-config/assets/boards/json/STC15F205EA.json
  • crates/fbuild-config/assets/boards/json/STC15F2K08S2.json
  • crates/fbuild-config/assets/boards/json/STC15F2K16S2.json
  • crates/fbuild-config/assets/boards/json/STC15F2K24AS.json
  • crates/fbuild-config/assets/boards/json/STC15F2K24S2.json
  • crates/fbuild-config/assets/boards/json/STC15F2K32S2.json
  • crates/fbuild-config/assets/boards/json/STC15F2K40S2.json
  • crates/fbuild-config/assets/boards/json/STC15F2K48S2.json
  • crates/fbuild-config/assets/boards/json/STC15F2K52S2.json
  • crates/fbuild-config/assets/boards/json/STC15F2K56S2.json
  • crates/fbuild-config/assets/boards/json/STC15F2K60S2.json
  • crates/fbuild-config/assets/boards/json/STC15F408AD.json
  • crates/fbuild-config/assets/boards/json/STC15W100.json
  • crates/fbuild-config/assets/boards/json/STC15W101.json
  • crates/fbuild-config/assets/boards/json/STC15W102.json
  • crates/fbuild-config/assets/boards/json/STC15W103.json
  • crates/fbuild-config/assets/boards/json/STC15W104.json
  • crates/fbuild-config/assets/boards/json/STC15W1K16S.json
  • crates/fbuild-config/assets/boards/json/STC15W1K20S.json
  • crates/fbuild-config/assets/boards/json/STC15W1K24S.json
  • crates/fbuild-config/assets/boards/json/STC15W201S.json
  • crates/fbuild-config/assets/boards/json/STC15W202S.json
  • crates/fbuild-config/assets/boards/json/STC15W203S.json
  • crates/fbuild-config/assets/boards/json/STC15W204S.json
  • crates/fbuild-config/assets/boards/json/STC15W401AS.json
  • crates/fbuild-config/assets/boards/json/STC15W402AS.json
  • crates/fbuild-config/assets/boards/json/STC15W404AS.json
  • crates/fbuild-config/assets/boards/json/STC15W404S.json
  • crates/fbuild-config/assets/boards/json/STC15W408AS.json
  • crates/fbuild-config/assets/boards/json/STC15W408S.json
  • crates/fbuild-config/assets/boards/json/STC15W410S.json
  • crates/fbuild-config/assets/boards/json/STC15W4K16S4.json
  • crates/fbuild-config/assets/boards/json/STC15W4K32S4.json
  • crates/fbuild-config/assets/boards/json/STC15W4K40S4.json
  • crates/fbuild-config/assets/boards/json/STC15W4K48S4.json
  • crates/fbuild-config/assets/boards/json/STC15W4K56S4.json
  • crates/fbuild-config/assets/boards/json/STC89C516RD+.json
  • crates/fbuild-config/assets/boards/json/STC89C51RC.json
  • crates/fbuild-config/assets/boards/json/STC89C52RC.json
  • crates/fbuild-config/assets/boards/json/STC89C53RC.json
  • crates/fbuild-config/assets/boards/json/STC89C54RD+.json
  • crates/fbuild-config/assets/boards/json/STC89C58RD+.json
  • crates/fbuild-config/assets/boards/json/STC8A4K16S2A12.json
  • crates/fbuild-config/assets/boards/json/STC8A4K32S2A12.json
  • crates/fbuild-config/assets/boards/json/STC8A4K60S2A12.json
  • crates/fbuild-config/assets/boards/json/STC8A4K64S2A12.json
  • crates/fbuild-config/assets/boards/json/STC8A8K16D4.json
  • crates/fbuild-config/assets/boards/json/STC8A8K16S4A12.json
  • crates/fbuild-config/assets/boards/json/STC8A8K32D4.json
  • crates/fbuild-config/assets/boards/json/STC8A8K32S4A12.json
  • crates/fbuild-config/assets/boards/json/STC8A8K60D4.json
  • crates/fbuild-config/assets/boards/json/STC8A8K60S4A12.json
  • crates/fbuild-config/assets/boards/json/STC8A8K64D4.json
  • crates/fbuild-config/assets/boards/json/STC8A8K64S4A12.json
  • crates/fbuild-config/assets/boards/json/STC8C1K08.json
  • crates/fbuild-config/assets/boards/json/STC8C1K12.json
  • crates/fbuild-config/assets/boards/json/STC8C2K16S2.json
  • crates/fbuild-config/assets/boards/json/STC8C2K16S4.json
  • crates/fbuild-config/assets/boards/json/STC8C2K32S2.json
  • crates/fbuild-config/assets/boards/json/STC8C2K32S4.json
  • crates/fbuild-config/assets/boards/json/STC8C2K60S2.json
  • crates/fbuild-config/assets/boards/json/STC8C2K60S4.json
  • crates/fbuild-config/assets/boards/json/STC8C2K64S2.json
  • crates/fbuild-config/assets/boards/json/STC8C2K64S4.json
  • crates/fbuild-config/assets/boards/json/STC8F1K08.json
  • crates/fbuild-config/assets/boards/json/STC8F1K08S.json
  • crates/fbuild-config/assets/boards/json/STC8F1K08S2.json
  • crates/fbuild-config/assets/boards/json/STC8F1K08S2A10.json
  • crates/fbuild-config/assets/boards/json/STC8F1K17.json
  • crates/fbuild-config/assets/boards/json/STC8F1K17S2.json
  • crates/fbuild-config/assets/boards/json/STC8F2K08S2.json
  • crates/fbuild-config/assets/boards/json/STC8F2K16S2.json
  • crates/fbuild-config/assets/boards/json/STC8F2K16S4.json
  • crates/fbuild-config/assets/boards/json/STC8F2K32S2.json
  • crates/fbuild-config/assets/boards/json/STC8F2K32S4.json
  • crates/fbuild-config/assets/boards/json/STC8F2K60S2.json
  • crates/fbuild-config/assets/boards/json/STC8F2K60S4.json
  • crates/fbuild-config/assets/boards/json/STC8F2K64S2.json
  • crates/fbuild-config/assets/boards/json/STC8F2K64S4.json
  • crates/fbuild-config/assets/boards/json/STC8G1K08.json
  • crates/fbuild-config/assets/boards/json/STC8G1K08A.json
  • crates/fbuild-config/assets/boards/json/STC8G1K08T.json
  • crates/fbuild-config/assets/boards/json/STC8G1K12.json
  • crates/fbuild-config/assets/boards/json/STC8G1K12A.json
  • crates/fbuild-config/assets/boards/json/STC8G1K17.json
  • crates/fbuild-config/assets/boards/json/STC8G1K17A.json
  • crates/fbuild-config/assets/boards/json/STC8G1K17T.json
  • crates/fbuild-config/assets/boards/json/STC8G2K16S2.json
  • crates/fbuild-config/assets/boards/json/STC8G2K16S4.json
  • crates/fbuild-config/assets/boards/json/STC8G2K32S2.json
  • crates/fbuild-config/assets/boards/json/STC8G2K32S4.json
  • crates/fbuild-config/assets/boards/json/STC8G2K60S2.json
  • crates/fbuild-config/assets/boards/json/STC8G2K60S4.json
  • crates/fbuild-config/assets/boards/json/STC8G2K64S2.json
  • crates/fbuild-config/assets/boards/json/STC8G2K64S4.json
  • crates/fbuild-config/assets/boards/json/STC8H04.json
  • crates/fbuild-config/assets/boards/json/STC8H04A10.json
  • crates/fbuild-config/assets/boards/json/STC8H1K08.json
  • crates/fbuild-config/assets/boards/json/STC8H1K08S2.json
  • crates/fbuild-config/assets/boards/json/STC8H1K08S2A10.json
  • crates/fbuild-config/assets/boards/json/STC8H1K12.json
  • crates/fbuild-config/assets/boards/json/STC8H1K16.json
  • crates/fbuild-config/assets/boards/json/STC8H1K16S2.json
  • crates/fbuild-config/assets/boards/json/STC8H1K16S2A10.json
  • crates/fbuild-config/assets/boards/json/STC8H1K17.json
  • crates/fbuild-config/assets/boards/json/STC8H1K24.json
  • crates/fbuild-config/assets/boards/json/STC8H1K28.json
  • crates/fbuild-config/assets/boards/json/STC8H1K32S2.json
  • crates/fbuild-config/assets/boards/json/STC8H1K32S2A10.json
  • crates/fbuild-config/assets/boards/json/STC8H1K33.json
  • crates/fbuild-config/assets/boards/json/STC8H1K64S2A10.json
  • crates/fbuild-config/assets/boards/json/STC8H2K32T.json
  • crates/fbuild-config/assets/boards/json/STC8H2K48T.json
  • crates/fbuild-config/assets/boards/json/STC8H2K60T.json
  • crates/fbuild-config/assets/boards/json/STC8H2K64T.json
  • crates/fbuild-config/assets/boards/json/STC8H3K32S2.json
  • crates/fbuild-config/assets/boards/json/STC8H3K32S4.json
  • crates/fbuild-config/assets/boards/json/STC8H3K48S2.json
  • crates/fbuild-config/assets/boards/json/STC8H3K48S4.json
  • crates/fbuild-config/assets/boards/json/STC8H3K60S2.json
  • crates/fbuild-config/assets/boards/json/STC8H3K60S4.json
  • crates/fbuild-config/assets/boards/json/STC8H3K64S2.json
  • crates/fbuild-config/assets/boards/json/STC8H3K64S4.json
  • crates/fbuild-config/assets/boards/json/STC8H4K32LCD.json
  • crates/fbuild-config/assets/boards/json/STC8H4K32TLCD.json
  • crates/fbuild-config/assets/boards/json/STC8H4K32TLR.json
  • crates/fbuild-config/assets/boards/json/STC8H4K48LCD.json
  • crates/fbuild-config/assets/boards/json/STC8H4K48TLCD.json
  • crates/fbuild-config/assets/boards/json/STC8H4K48TLR.json
  • crates/fbuild-config/assets/boards/json/STC8H4K60LCD.json
  • crates/fbuild-config/assets/boards/json/STC8H4K60TLCD.json
  • crates/fbuild-config/assets/boards/json/STC8H4K60TLR.json
  • crates/fbuild-config/assets/boards/json/STC8H4K64LCD.json
  • crates/fbuild-config/assets/boards/json/STC8H4K64TLCD.json
  • crates/fbuild-config/assets/boards/json/STC8H4K64TLR.json
  • crates/fbuild-config/assets/boards/json/STC8H8K32U.json
  • crates/fbuild-config/assets/boards/json/STC8H8K48U.json
  • crates/fbuild-config/assets/boards/json/STC8H8K60U.json
  • crates/fbuild-config/assets/boards/json/STC8H8K64U.json
  • crates/fbuild-config/assets/boards/json/Sinobit.json
  • crates/fbuild-config/assets/boards/json/W79E2051.json
  • crates/fbuild-config/assets/boards/json/W79E4051.json
  • crates/fbuild-config/assets/boards/json/W79E632.json
  • crates/fbuild-config/assets/boards/json/W79E633.json
  • crates/fbuild-config/assets/boards/json/W79E658.json
  • crates/fbuild-config/assets/boards/json/W79E659.json
  • crates/fbuild-config/assets/boards/json/W79E8213.json
  • crates/fbuild-config/assets/boards/json/adafruit_blm_badge.json
  • crates/fbuild-config/assets/boards/json/adafruit_circuitplayground_m0.json
  • crates/fbuild-config/assets/boards/json/adafruit_clue_nrf52840.json
  • crates/fbuild-config/assets/boards/json/adafruit_cplaynrf52840.json
  • crates/fbuild-config/assets/boards/json/adafruit_crickit_m0.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_esp32s2.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_esp32s2_reversetft.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_esp32s2_tft.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_esp32s3.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_esp32s3_nopsram.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_esp32s3_reversetft.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_esp32s3_tft.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_m0.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_m0_express.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_m4.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_m4_can.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_nrf52832.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_nrf52840.json
  • crates/fbuild-config/assets/boards/json/adafruit_feather_nrf52840_sense.json
  • crates/fbuild-config/assets/boards/json/adafruit_funhouse_esp32s2.json
  • crates/fbuild-config/assets/boards/json/adafruit_gemma_m0.json
  • crates/fbuild-config/assets/boards/json/adafruit_grandcentral_m4.json
  • crates/fbuild-config/assets/boards/json/adafruit_hallowing.json
  • crates/fbuild-config/assets/boards/json/adafruit_hallowing_m4.json
  • crates/fbuild-config/assets/boards/json/adafruit_itsybitsy_m0.json
  • crates/fbuild-config/assets/boards/json/adafruit_itsybitsy_m4.json
  • crates/fbuild-config/assets/boards/json/adafruit_itsybitsy_nrf52840.json
  • crates/fbuild-config/assets/boards/json/adafruit_ledglasses_nrf52840.json
  • crates/fbuild-config/assets/boards/json/adafruit_magtag29_esp32s2.json
  • crates/fbuild-config/assets/boards/json/adafruit_matrix_portal_m4.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/board-extra-flags-sweep-298

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@zackees zackees merged commit d587a0c into main May 30, 2026
78 of 83 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fbuild deficiency vs PlatformIO: build.extra_flags stripped from many bundled board JSONs (breaks Arduino board-macro detection)

1 participant