Skip to content

board_spec: stop tracking resolved combinations and print them on demand - #365

Merged
lovyan03 merged 1 commit into
m5stack:developfrom
ainyan03:board_spec_untrack_resolved
Oct 17, 2026
Merged

lovyan03 merged 1 commit into
m5stack:developfrom
ainyan03:board_spec_untrack_resolved

Conversation

@ainyan03

Copy link
Copy Markdown
Contributor

extras/board_spec/generated/resolved/ held every revision/runtime combination of every board, fully expanded (87 files, about 34,600 lines). Nothing reads these files: the wiring, spec, pin-table and docs generators and the editor all expand the catalog in memory, and the firmware never sees them. For most boards the snapshot is close to a copy of the source JSON, so every catalog edit showed up twice and had to be regenerated before check passed.

Changes

  • check still expands and validates every combination in memory; it no longer compares against checked-in snapshots. chip and storage, which no generator reads, are asserted directly for representative boards (with and without PSRAM, quad and octal).
  • resolve <board> prints all combinations as one JSON array of { "combination", "board" } on stdout. --out <dir> writes the previous per-combination files for local inspection; no tool reads that export. generated/resolved/ is git-ignored.
  • Revision and composition docs, previously written as a side effect of resolve, come from the new emit-docs command (all boards when no file is given). README updated.

The other generated outputs (detection wiring, M5Unified pin tables, docs, the editor bundle) are byte-identical, and the resolve output matches the removed files for all 87 combinations. No firmware change.

Testing

  • npm test / npm run check in extras/board_spec, sh test/board_detect/run.sh
  • Fork CI passed

generated/resolved/ held every revision/runtime combination of every board,
fully expanded (87 files, about 34,600 lines). No generator, the firmware or
the editor reads these files: the wiring, spec, pin table and docs generators
and the editor expand the catalog in memory. For most boards the snapshot was
close to a copy of the source JSON, so each catalog edit appeared twice and
had to be regenerated before check would pass.

- check still expands and validates every combination in memory, but no
  longer compares against checked-in snapshots. chip and storage, which no
  generator reads, are asserted directly for representative boards.
- resolve prints all combinations of a board as one JSON array of
  { combination, board } on stdout. --out <dir> writes the previous per-
  combination files for local inspection; no tool reads that export.
- Revision and composition docs, previously written as a side effect of
  resolve, are generated by the new emit-docs command (all boards when no file
  is given). The other generated outputs are unchanged.
@lovyan03
lovyan03 merged commit 673ec65 into m5stack:develop Oct 17, 2026
26 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.

2 participants