> On Mar 1, 2018, at 8:36 AM, Patrick Sanan <[email protected]> wrote: > > Proposed addition to > https://bitbucket.org/petsc/petsc/wiki/Home#markdown-header-contributing-to-petsc > : > > """ > Suggestions for a smooth review of your contributed code: > > - If adding features, include tests which cover them. > - Test your changes by running with valgrind (use `--download-mpich` to > obtain a valgrind-clean MPI implementation). > - Test your changes with non-standard configurations of PETSc (in particular, > `--with-precision=single` and `--with-scalar-type=complex`).
Also add -with-64bit-indices > - If your contribution can be logically decomposed into 2 or more separate > contributions, submit them in sequence instead of all at once. Looks good, go ahead and add these. > """ > > 2018-03-01 15:10 GMT+01:00 Patrick Sanan <[email protected]>: > A simple way to proceed would be to advise submitters to submit their > "atomic" PRs in a valid order. If change B depends on change A, then submit A > first, wait until merged, and then submit B. This would have the nice side > effect of not overwhelming the integrators. > > 2018-03-01 15:04 GMT+01:00 Vaclav Hapla <[email protected]>: > > >> 1. 3. 2018 v 14:04, Patrick Sanan <[email protected]>: >> >> Maybe it would also help to add more explicit instructions to the wiki >> (https://bitbucket.org/petsc/petsc/wiki/Home#markdown-header-contributing-to-petsc) >> on how to construct a branch that is likely to get through the integration >> steps quickly. >> >> I'd suggest adding language about these (and volunteer to write it), even if >> some might be obvious: >> - Adding tests for whatever you submit >> - Testing with configurations other than the usual double/real/C setup >> (complex, single) >> - Making the PR as small/atomic as possible (can your PR be 2 or more >> separate PRs?) > > Yes, I think it's quite common that one would like to factor out one or more > smaller bugfixes and/or improvements from a bigger PR. But some of them may > depend on some others, and definitely the original big PR depends on all of > them. Perhaps it would be nice if there is some documented way of specifying > dependendencies between PRs to insure a proper order of merging (I think > BitBucket has no such feature?). > > Thanks, > Vaclav > >> - Running through valgrind (using --download-mpich) before submitting >> >> 2018-03-01 12:33 GMT+01:00 Karl Rupp <[email protected]>: >> Dear PETSc folks, >> >> I think we can do a better job when it comes to handling pull requests >> (PRs). We have several PRs piling up, which after some time (imho) get >> merged relatively carelessly instead of reaping the full benefits of a >> thorough review. >> >> In order to improve the integration of pull requests, I propose to nominate >> a PR integrator, who is a-priori responsible for *all* incoming PRs. The PR >> integrator is free to delegate a particular PR integration to someone with >> the relevant domain-specific knowledge (e.g. Matt for DMPlex-related things) >> by appropriate comments on Bitbucket. In case of delays, the PR integrator >> is also responsible for issuing reminders over time (like Barry has done in >> the past). >> >> The idea is to make daily progress with the PRs. One integration step per >> day (e.g. testing or merging to next) is presumably enough to handle the >> load, whereas things get messy if we let things pile up. Automated testing >> may help a bit in the future, but it doesn't release us from properly >> reviewing the contributed code. >> >> Any objections to my PR integrator proposal? Any volunteers? ;-) >> If nobody else wants to be the highly esteemed PR integrator, I can do it. >> ;-) >> >> Best regards, >> Karli >> > > >
