feat(online-data): add pio-boards + vendor_boards datasets to nightly#715
Conversation
Extends the existing `nightly-online-data` workflow (formerly
`nightly-usb-ids`) to also refresh the PlatformIO board catalog.
The branch is renamed in the `name:` field; the file path stays
`nightly-usb-ids.yml` to preserve the workflow's existing identity
in GitHub's UI (workflow run history is keyed by file path).
Pipeline additions on `online-data`:
- data/pio-boards.json full PlatformIO board catalog
(~1600 boards × ~10 fields = ~850 KB)
- data/vendor_boards.json slim {vendor, name, mcu} view (~200 KB)
for cheap "what board is plugged in?" lookups
- tools/dump_platformio.py runs `pio boards --json-output`, normalizes
the result into a sorted id-keyed map
- tools/merge_pio_boards.py deep-unions new + previously-committed
dump so transient field drops in `pio boards`
output don't get propagated (preserves the
field even if the new dump regressed)
- tools/build_manifest.py refactored to auto-discover every
`data/*.json` and bind it as a dataset entry;
per-dataset metadata (description, sources)
still comes from fragment files written by
each merger.
Fault tolerance unchanged: any single source failure (cargo build, curl,
pio dump) is non-fatal; the merger downstream sees only the sources that
actually arrived intact; data files refuse to be written below their
respective sanity floors (1000 entries for USB-VID, 1500 for boards).
Goal acceptance:
- isolated end-to-end test: ✓ all four datasets emitted,
vendor_boards entries verified, merger preserves old fields on the
synthetic regression test, build_manifest auto-discovers all *.json.
|
Warning Review limit reached
More reviews will be available in 3 minutes and 35 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Follow-up to #712.
Summary
Extends the nightly
online-dataworkflow with two more datasets:data/pio-boards.jsondata/vendor_boards.jsonPipeline changes:
Workflow file:
Fault tolerance (unchanged contract)
Test plan
🤖 Generated with Claude Code