Hi,

On 26 April 2011 16:59, Ondrej Certik <ond...@certik.cz> wrote:

> On Tue, Apr 26, 2011 at 4:50 PM, Ondrej Certik <ond...@certik.cz> wrote:
> > On Tue, Apr 26, 2011 at 9:38 AM, Tom Bachmann <ness...@googlemail.com>
> wrote:
> >> Hi,
> >>
> >> so on my bus ride today I figured it would be nice to have an
> >> automated way to see to what extent open pull requests play along
> >> nicely. In particular this would be good when over the summer about
> >> ten of us will be working on fairly large projects: Here it would be
> >> helpful to see if there are conflicts between branches that are not
> >> even up for review yet.
> >>
> >> So I hacked together a small script [1]. The inspiration of this comes
> >> from linux-next.
> >>
> >> Here is the description from the file:
> >>
> >> # Tool to aggeregrate several branches, automatically merge them (if
> >> possible)
> >> # and create statistics about unit tests.
> >> #
> >> # Usage: sympy-next.py repo branches out-dir
> >> # where
> >> #   repo      is is the location of a clean repository (possibly
> >> empty)
> >> #             that is going to be used.
> >> #   branches  is a file containing a list of branches, one entry per
> >> line, like
> >> #             so:
> >> #                    https://github.com/sympy/sympy.git master
> >> #                    /home/ness/src/sympy 360_zoo
> >> #                    ...
> >> #   out-dir   Is the name of a directory where output is going to be
> >> created.
> >> #
> >> # This program walks the list of branches, fetches all of them, and
> >> tries to
> >> # merge them in order. If there are merge-failures the branch is
> >> dropped. After
> >> # all successful merges are done, the unit tests are run. Finally a
> >> report is
> >> # created of which branches could be merged, and which tests passed.
> >> # All commands run are logged to a file in the output directory.
> >>
> >> Notes:
> >> 1) This is hardly well-tested. All improvements are welcome.
> >> 2) The html output is ugly, and so is the code that creates it. This
> >> is the display of my complete lack of web-programming capabilities.
> >> 3) The tests are currently only run after all merges are complete, so
> >> there is no way to tell which branch introduced the problem.
> >> 4) Also the output is not at all pruned, so as branches go stale, and
> >> also with time, it will probably become too long.
> >> 5) If/When we set up a new buildbot there should probably be a nicer
> >> way to do this. But:
> >> 6) Is there any interest in this, and if so is anyone willing to run
> >> this script (or something similar) more or less manually for a while?
> >> I would imagine that person to mainting a branches file where
> >> additions/deletions can be requested by email, and then the script is
> >> run about once a day, with results published somewhere and perhaps
> >> some nagging emails being sent around. I suppose with a bit of
> >> fiddling this could be done basically automatically using a cron-job.
> >
> > Absolutely! I have a server, which currently is running
> > planet.sympy.org, and I would like to migrate the planet to some other
> > online service, and then use that server for exactly the purpose of
> > testing sympy patches (in several python installations and so on).
> >
> > One can also use this github pull request API:
> >
> > http://develop.github.com/p/pulls.html
> >
> > to automatically determine new pull requests and generate some
> > statistics, e.g. if all tests run and so on.
>
> So elaborating more, here is what we should do:
>
> 1) the sympy-next would automatically determine over the pull request
> github API that a new pull request was added, or more patches pushed
> to it. It would generate an automatic comment into the pull request,
> with saying "All tests pass + link to the test results", or "Tests
> failed + link to the stats and more details".
>
> 2) If the pull request is reviewed and all tests run (as tested by
> sympy-next and reported in the comment in the pull request), one can
> just click "Merge" in the pull request:
>
> https://github.com/blog/843-the-merge-button
>
> to merge it in. This will speedup trivial patch merging a lot, as I
> don't need to run it on my machine, as long as we trust sympy-next,
> but we can, by simply manually examining the logs, making sure that
> all is ok.
>

A problem with this plan is that you need two machines (32- and 64-bit) to
believe automated tests (at least on Linux).


>
>
> Ondrej
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To post to this group, send email to sympy@googlegroups.com.
> To unsubscribe from this group, send email to
> sympy+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/sympy?hl=en.
>
>
Mateusz

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to