David, Brennan,
Thanks for starting this David, I think you are the only person that
could have gotten us out of the run we are in.
We need to get this into a place where we can collaborate on it.
Brennan, Justin suggested that we use Confluence for document
collaboration. We have no other way to collaborate and we will
eventually need a home for project-related materials, separate from the
user-oriented Wiki. What do you think? David was initially very
opposed to this. Do you see any other alternatives under the Apache
framework?
Some general comments.
* This fragment of requirements primarily addresses general rules and
philosophy. It is shy on any actual work follow. Today I will
scrounge through the dev list and see if I can cull other attempts
at defining the workflow.
* The think that REQ and DREQ formalisms are unnecessary. I has seen
such notation used to specify the unit-under-test before, but I
don't think is is needed here (this is not specifying a
unit-under-test). Remove these will greatly improve readability.
More to come,
Greg
On 12/21/2019 1:22 AM, David Sidrane wrote:
All,
Please help flesh this out.
Proposed Workflow Requirements (REQ) and Derived Requirements (DREQ)
REQ1) master is branches of apps and nuttx have to always build
REQ1.1) ALL development work is done on branches.
DREQ1.1.1) master is branch protected prevention pushes to it.
REQ2) git bisect shall always be able to build master of the project at every
commit.
DREQ2.a) merges to master may use squash commits from a PR when atomic
commits are needed to insure REC2.
DREQ2.b) merges to master may use rebase commits from a PR when NON
atomic commits will for insure REC2.
REQ3) Submissions shall be PRs against branches typically master. But PR shall
be accepted against other branches.
(i.e netlink_crypto)
REQ3.1) naming conventions shall reflect lineage:
REQ3.1.a) naming conventions of branches shall be in the form
<root>_<activity>
master_pr-add_imxrt20, netlink_crypto-pr-bugfix_AES
REQ3.1.b) submissions affecting multiple repos shall use the same branches
name on all repos.
DREQ3.1.b.1) CI shall test multiple repos by branch name
REQ4) committer may collaborate on branches.
REC5) While PR's are preferred, patches may be accepted.
DREC5.1) Committers receiving patches shall apply them to a new branch (per
REQ3) and open a PR.
REC5.1) Committers shall attribute work to the person submitting patch
REC6) All PR requires a review.
DREC6.1) the project shall publish a list of subject experts
REC6.1) Request for review shall be made via email to subject experts or
PPMC.
REC6.1.1) Multiple reviewers shall be required on OS internals.
REC6.1.2) Multiple reviewers may be required on NON OS internals.
David