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.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to