[plt-dev] lessons learned

From: Eli Barzilay (eli at barzilay.org)
Date: Fri May 22 18:48:18 EDT 2009

On May 22, Carl Eastlund wrote:
> On Fri, May 22, 2009 at 6:22 PM, Eli Barzilay <eli at barzilay.org> wrote:
> > * Running setup-plt after every commit is usually fine, but in some
> >  cases it might be an issue.  As an approximation, running `make'
> >  on the existing build directory is good when any C file changes,
> >  and running setup-plt when other files change -- but in addition,
> >  you'll want to clear things up when the version changes.  Also,
> >  it will be good to periodically (daily or weekly, maybe?) remove
> >  everything and start from a fresh checkout.
> This is a good point, though I suggest going even farther.  Unless
> it is completely infeasible, if we want to be able to trust that
> reported errors arise from the associated revision number, each
> build should be a fresh checkout, and all cached planet / scribble
> build information (the stuff that lives in ~/Library/PLT Scheme/ on
> Macs, elsewhere on other platforms) should be removed.
> Of course, that "completely infeasible" might shoot this suggestion
> down.

It's not *completely* infeasible...  Currently, a full from-scratch
build on winooski takes about 20 minutes.  But if you want *each*
revision checked, then you'll want to start a build for every revision
N that arrived during the build, which means that it's easy to build
up a significant backlog.  That's still fine (since the beginning of
svn we have about 8 commits per day) -- but that doesn't include
testing -- and if testing means loading all files in the repository,
then that can become infeasible.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the dev mailing list.