Hi Alan,

Sorry if  my intent was misunderstood. I am merely stating facts on were we are 
and how got there.I am not assigning blame. I am not forcing anything I am 
giving some examples of how we can make it the project complete and better. We 
can use all of it, some of it none of it. The is a group decision.

Also Pleases do fill us in on where we can see the SW CI  & HW CI you 
mentioned. Do you have links maybe be we can use it now?

Again Sorry!

David

On 2019/12/20 11:44:23, Alan Carvalho de Assis <acas...@gmail.com> wrote: 
> Hi David,
> 
> On 12/20/19, David Sidrane <davi...@apache.org> wrote:
> > Hi Nathan,
> >
> > On 2019/12/20 02:51:56, Nathan Hartman <hartman.nat...@gmail.com> wrote:
> >> On Thu, Dec 19, 2019 at 6:24 PM Gregory Nutt <spudan...@gmail.com> wrote:
> >> > >> ] A bad build system change can cause serious problems for a lot of
> >> people around the world.  A bad change in the core OS can destroy the
> >> good
> >> reputation of the OS.
> >> > > Why is this the case? Users should not be using unreleased code or be
> >> encouraged to use it.. If they are one solution is to make more frequent
> >> releases.
> >> > I don't think that the number of releases is the factor.  It is time in
> >> > people's hand.  Subtle corruption of OS real time behavior is not
> >> > easily
> >> > testing.   You normally have to specially instrument the software and
> >> > setup a special test environment perhaps with a logic analyzer to
> >> > detect
> >> > these errors.  Errors in the core OS can persists for months and in at
> >> > least one case I am aware of, years, until some sets up the correct
> >> > instrumented test.
> >>
> >> And:
> >>
> >> On Thu, Dec 19, 2019 at 4:20 PM Justin Mclean <jus...@classsoftware.com>
> >> wrote:
> >> > > ] A bad build system change can cause serious problems for a lot of
> >> people around the world.  A bad change in the core OS can destroy the
> >> good
> >> reputation of the OS.
> >> >
> >> > Why is this the case? Users should not be using unreleased code or be
> >> encouraged to use it.. If they are one solution is to make more frequent
> >> releases.
> >>
> >> Many users are only using released code. However, whatever is in "master"
> >> eventually gets released. So if problems creep in unnoticed, downstream
> >> users will be affected. It is only delayed.
> >>
> >> I can personally attest that those kinds of errors are extremely
> >> difficult
> >> to detect and trace. It does require a special setup with logic analyzer
> >> or
> >> oscilloscope, and sometimes other tools, not to mention a whole setup to
> >> produce the right stimuli, several pieces of software that may have to be
> >> written specifically for the test....
> >>
> >> I have been wracking my brain on and off thinking about how we could set
> >> up
> >> an automated test system to find errors related to timing etc.
> >> Unfortunately unlike ordinary software for which you can write an
> >> automated
> >> test suite, this sort of embedded RTOS will need specialized hardware to
> >> conduct the tests. That's a subject for another thread and i don't know
> >> if
> >> now is the time, but I will post my thoughts eventually.
> >>
> >> Nathan
> >>
> >
> > From the proposal
> >
> > "Community
> >
> > NuttX has a large, active community.  Communication is via a Google group at
> > https://groups.google.com/forum/#!forum/nuttx where there are 395 members as
> > of this writing.  Code is currently maintained at Bitbucket.org at
> > https://bitbucket.org/nuttx/.  Other communications are through Bitbucket
> > issues and also via Slack for focused, interactive discussions."
> >
> >
> >> Many users are only using released code.
> >
> > Can we ask the 395 members?
> >
> > I can only share my experience with NuttX since I began working on the
> > project in 2012 for multiple companies.
> >
> > Historically (based on my time on the project) releases - were build tested
> > - by this I mean that the configurations were updated and the thus created a
> > set of "Build Test vectors" BTV. Given the number of permutations solely
> > based on the load time of
> > (http://nuttx.org/doku.php?id=documentation:configvars) with 95,338 CONFIG_*
> > hits. Yes there are duplicates on the page and dependencies. This is just
> > meant to give a number of bits....
> >
> > The total space is very large
> >
> > The BTV space was very sparse coverage.
> >
> > IIRC Greg gave the build testing task a day of time. It was repeated after
> > errors were found.  I am not aware of any other testing. Are you?
> >
> > There were no Release Candidate (rc) nor alpha nor beta test that ran this
> > code one real systems and very little, if any Run Test Vectors (RTV) - I
> > have never seen a test report - has anyone?
> >
> > One way to look at this is Sporadic Integration. (SI) with limited BTV and
> > minimal RTV.  Total Test Vector Coverage TTVC = BTV + RTV;  The ROI of  way
> > of working, from a reliability perspective was and is very small.
> >
> > A herculean effort Greg's part with little return: We released code with
> > many significant and critical errors in it. See the ReleaseNotes and the
> > commit log.
> >
> > Over the years Greg referred to TRUNK (yes it was on SVN) and master as his
> > "own sandbox" stating is should not be considered stable or build-able. This
> > is evident in the commit log.
> >
> 
> Please stop focusing on the people (Greg) and let talk about how the workflow.
> We are here to discuss how we can improve the process, we are not
> talking about throw away NuttX Build System and move to PX4.
> 
> You are picturing something that is not true.
> 
> We have issues, as FreeRTOS, MBEB and Zephyr also have. But it is not
> Greg or the Build System guilt.
> 
> Please, stop! It is disgusting!
> 
> > I have personally never used a release from a tarball. Given the above why
> > would I? It is less stable then master at TC = N
> > (https://www.electronics-tutorials.ws/rc/rc_1.html) where N Is some number
> > of days after a release. - unfortunately based on the current practices (a
> > very unprofessional workflow)  N is also dictated by when apps and nuttx
> > actually building for a given target's set of BTV.
> >
> 
> It is not "unprofessional" it was what we could do based or our
> hardware limitations.
> 
> > With the tools and resources that exist in our work today, Quite frankly:
> > This unacceptable and is an embarrassment.
> >
> 
> Oh my Gosh! Please don't do it.
> 
> 
> > I suspect this is why there is a Tizen. The modern era - gets it.
> > (Disclaimer I am an old dog - I am learning to get it)
> >
> 
> Tizen exists because companies want to have control.
> This is the same logic why Redhat and others maintain their own Linux
> kernel by themselves.
> 
> > --- Disclaimer ---
> >
> > In the following, I'm am not bragging about PX4 or selling tools, I am
> > merely trying to share our experiences for the betterment of NuttX.
> >
> > From what I understand PX4 has the most instances of NuttX running on real
> > HW in the world. Over 300K. (I welcome other users to share their numbers)
> >
> > PX4's Total TTVC is still limited, but much, much greater than NuttX.
> >
> > We use Continuous integration (CI) on Nuttx on PX4 on every commit on PRs.
> >
> >     C/C++ CI / build (push) Successful in 3m
> >     Compile MacOS Pending — This commit is being built
> >     Compile All Boards — This commit looks good
> >     Hardware Test — This commit looks good
> >     SITL Tests — This commit looks good
> >     SITL Tests (code coverage) — This commit looks good
> >     ci/circleci — Your tests passed on CircleCI!
> >     continuous-integration/appveyor/pr — AppVeyor build succeeded
> >     continuous-integration/jenkins/pr-head — This commit looks good
> >
> >
> > We run tests on HW.
> >
> > http://ci.px4.io:8080/blue/organizations/jenkins/PX4_misc%2FFirmware-hardware/detail/pr-mag-str-preflt/1/pipeline
> >
> > I say limited because of the set of arch we use and the way we configure the
> > OS.
> >
> > I believe this to be true of all users.
> >
> > The benefit of a community is that the sum of all TTVC that finds the
> > problems and fix them.
> >
> > Why not maximize TTVC - if it will have a huge ROI and it is free:
> >
> > PX4 will contribute all that we have. We just need to build temporally
> > consistent build. Yeah he is on the submodule thing AGAIN :)
> >
> 
> Just to make the history short: we already have solutions for SW and HW CI.
> 
> Besides the buildbot (https://buildbot.net) that was implemented and
> tested by Fabio Balzano, Xiaomi also has a build test for NuttX.
> 
> At end of the day, it is not only Greg testing the system, we all are
> testing it as well.
> 
> Don't try to push PX4 down your throat, it will not work this way.
> Let's keep the Apache way, it is a democracy!
> 
> BR,
> 
> Alan
> 

Reply via email to