[petsc-dev] solicitation of ideas for managing transition to master under new test harness of new feature/bug fix branches.

Franck Houssen franck.houssen at inria.fr
Tue Jan 16 02:59:59 CST 2018


----- Mail original -----
> De: "Barry F. Smith" <bsmith at mcs.anl.gov>
> À: "Franck Houssen" <franck.houssen at inria.fr>
> Cc: "Barry F. Smith" <bsmith at mcs.anl.gov>, "petsc-dev" <petsc-dev at mcs.anl.gov>
> Envoyé: Lundi 15 Janvier 2018 15:08:25
> Objet: Re: [petsc-dev] solicitation of ideas for managing transition to master under new test harness of new
> feature/bug fix branches.
> 
> Franck,
> 
>      Thanks. Having a way to compute the dependencies of the tests on the
>      chances could dramatically reduce the testing time. Thanks for the
>      references.
> 

Yes, this can reduce testing time on a daily basis if (and only if !) the workflow also ensures that :
1) a full test replay is run on a regular basis (one per night for instance).
2) a full gcov-instrumented replay is done once a week (sunday for instance) and can be used as a daily reference during the week.

>    Barry
> 
> 
> >>   variants down to a couple minutes.
> >> 
> >> There are issues with race conditions if multiple people want to test and
> >> then move branches over at the same time. 

Pre-integration levels (or branches) could also help to avoid most problems of this kind.

I believe the following sketch will illustrate the idea better than words:

         master
         |    |
preint-ksp    preint-snes 
   | |           | |
dev1 dev2     devA devB

If dev1 and dev2 are in a race condition or conflict situations, you'll know it in preint-ksp (where it's stuck until the validation is OK, and, must be fixed in priority) without bothering other guys (snes team/dev). In preint, the idea is to run a full test validation, but, you can also decide to begin the full replay with TIA tests (most relevant first), or, to run only TIA tests.

Don't know your workflow: maybe you already have this kind of features integrated to it (?).

I experienced that kind of preint workflow: this is a strict process but very efficient in the end (most - not all - problems can be avoided as they are fixed as they show up).

> >> I'm looking for any ideas on how
> >> to limit/eliminate them. We can't have the current situation where
> >> multiple
> >> people put broken things into next and it is difficult to figure out what
> >> branches caused the failures in next and get them fixed promptly, thus
> >> resulting in a sluggish next (and hence sluggish PETSc development).
> >> 


More information about the petsc-dev mailing list