Suggestion re altering the build system
Simon Marlow
simonmarhaskell at gmail.com
Mon Jun 4 04:09:06 EDT 2007
Simon Peyton-Jones wrote:
> | 1. We tag all the repos after a successful bootstrap on each platform.
> | Main problem with this: profusion of tags, obscuring 'darcs changes'
> | and 'darcs query tags'. Space itself isn't really an issue; a tag
> | only adds a few hundred bytes.
> |
> | We could mitigate the effect by rate-limiting the tags, say only tag if
> | there hasn't been a tag in the last week. Then we'd get one
> | guaranteed-buildable state per week or so, which seems reasonable.
> |
> | 2. We keep a separate set of repos that are only updated after a successful
> | build. Perhaps one set of repos per platform.
> | Main problem with this: ensuring atomicity during the update (probably
> | not likely to be a significant problem in practice).
> | Second problem: this doesn't store the repo state of every successful
> | build, only the most recent one.
> |
> | Personally I lean towards (2), as it's much easier to implement. Any further
> | comments?
>
> (2) seems good to me. Furthermore, if we published
> Last good build is at repo http://darcs.haskell.org/ghc-2007-02-09
> (so the date is in the repo name), and refrain from publishing until the repo is really there, there'd be no atomicity issues would there?
>
> (We can just delete older ones after a bit.)
Indeed, that's a good idea, although it's more work than just pushing. We
wouldn't want to create a complete new set of repos for every successful build,
I don't think.
Cheers,
Simon
More information about the Cvs-ghc
mailing list