Hi, What is the best git-way to add a new board? Thinking about testing/review.
The following ways occurred to me:
1/ how RISC-V boards got merged
Add devices individually,
finally add the board and default-configs/Makefile rules at once.
PRO: commits are easier to cherry-pick/rebase
CON: you can not test a single patch until applying the whole series
harder (less interest) to write qtests
1bis/ example of the Smartfusion2 board
Variant of 1/, but also modify the default-configs/Makefile to
build each device.
PRO: single patch can be test without much troubles,
unit/acceptance tests can be run without applying the whole series,
different people can work in parallel.
CON: no integration test until the last 'board' commit
2/ Reverse Polish testing
Add a board stub (all devices as UnimplementedDevice) and Makefile
rule, then for each new device, replace the unimp board entry,
modify the default-configs/Makefile,
add unit/acceptance tests
PRO: you can add an integration test since the first board commit :)
(enforcing Test Driven Development),
allow unpaid contributor to slowly push his work upstream
instead of painful rebases or his work lost by change of
interest or worth issues.
CON: not acceptable by upstream except with good integration test
integration test might not be upstream-able due to license
incompatibilities (JTAG-extracted firmwares...)
The use of UnimplementedDevice is now a bit enforced by the
ignore_memory_transaction_failures flag.
Regards,
Phil.
signature.asc
Description: OpenPGP digital signature
