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


Reply via email to