[darcs-users] Suggestion: Compile Setup for the Cabal build

Thorkil Naur naur at post11.tele.dk
Fri Feb 6 12:43:27 UTC 2009


Hello,

On Wednesday 04 February 2009 20:05, Petr Rockai wrote:
> ...
> please grab code.haskell.org:/srv/code/darcs/buildbot and fix it if you know 
> how -- you will need to notify Zooko to pull&reload the configuration. I 
don't
> think anyone's toes will be affected right now.

I have attached a patch against http://code.haskell.org/darcs/buildbot (which 
I hope is the correct repository) for this. It is tested, but I would 
appreciate a brief sanity check by you or somebody else.

Assuming that we have a suitable patch, how do I proceed? I don't believe that 
I have code.haskell.org access to update repositories, should I request that 
and then plan to do a direct push? Or should I do this in some other way?

> ...

Thanks a lot and best regards
Thorkil
-------------- next part --------------
Fri Feb  6 12:59:54 CET 2009  Thorkil Naur <naur at post11.tele.dk>
  * Prepare a binary Setup and replace "runghc Setup" by "./Setup".
  This reduces memory usage which affects some buildbot slaves.

New patches:

[Prepare a binary Setup and replace "runghc Setup" by "./Setup".
Thorkil Naur <naur at post11.tele.dk>**20090206115954
 This reduces memory usage which affects some buildbot slaves.
] hunk ./master.cfg 427
 
     # -- building and testing the current darcs repository --
     f.addStep(ShellCommand,
-              command=["runghc", "Setup", "configure", "--user"] + cabal_extra + ["-ftype-witnesses"],
+              command=["ghc", "--make", "Setup", "-o", "Setup"],
+              name="ghc",
+              description=["Setup","compiling"],
+              descriptionDone=["Setup","compiled"],
+              haltOnFailure=True,
+              timeout=None)
+    f.addStep(ShellCommand,
+              command=["./Setup", "configure", "--user"] + cabal_extra + ["-ftype-witnesses"],
               name="configure",
               description=["cabal","configuring"],
               descriptionDone=["cabal","configured"],
hunk ./master.cfg 441
               haltOnFailure=True,
               timeout=None)
     f.addStep(Compile,
-              command=["runghc", "Setup","build"],
+              command=["./Setup","build"],
               description=["compiling"],
               descriptionDone=["compiled"],
               flunkOnFailure=True,
hunk ./master.cfg 447
               timeout=None)
     f.addStep(Test,
-              command=["runghc","Setup","test"],
+              command=["./Setup","test"],
               description=["testing"],
               descriptionDone=["tested"],
               timeout=None)
hunk ./master.cfg 452
     f.addStep(Test,
-              command=["runghc","Setup","test","network"],
+              command=["./Setup","test","network"],
               name="test_network",
               description=["testing network"],
               descriptionDone=["tested network"],

Context:

[Pass --user to configure. This enables user-installed packages to be found.
Petr Rockai <me at mornfall.net>**20090128190026
 Ignore-this: 336d0b33fd905d4c31cce2ccc1563660
] 
[Disable curl on christian NetBSD for now.
Petr Rockai <me at mornfall.net>**20090128171658
 Ignore-this: 97b78b2a612e7367cf3fbde12b0a422
] 
[Let cabal_extra take precedence over -ftype-witnesses (first option wins with cabal).
Petr Rockai <me at mornfall.net>**20090128171010
 Ignore-this: 66cb912b1ee6eeff4af25b7632b3d679
] 
[Don't forget -f-libwww in the non-curl slaves.
Petr Rockai <me at mornfall.net>**20090128170409
 Ignore-this: fa296e574e7511a7f3911491b69b66ff
] 
[Propagate cabal_extra correctly.
Petr Rockai <me at mornfall.net>**20090128170300
 Ignore-this: 6457e2461c8f28b0dfe7f0b140994e5b
] 
[Re-enable zooko nooxie.
Petr Rockai <me at mornfall.net>**20090128165738
 Ignore-this: fecececcf70ff939c5d0c44e327593d2
] 
[Break more super-long lines.
Petr Rockai <me at mornfall.net>**20090128165713
 Ignore-this: de46fb72219edef93d5ccf323f2573a9
] 
[Wibble the cabal options further.
Petr Rockai <me at mornfall.net>**20090128165419
 Ignore-this: 9d72fd843dd76f17209f7de2e4a8bf94
] 
[We don't want libwww for non-curl builds, either.
Petr Rockai <me at mornfall.net>**20090128153059
 Ignore-this: f9103d16ea6f3eb01cf75ec01cddf795
] 
[Don't pass --with-manual to cabal. Ooops.
Petr Rockai <me at mornfall.net>**20090128150704
 Ignore-this: 96dd43bce4468d55d80f7c778c6ce018
] 
[Set up self.with_curl in the buildslave class.
Petr Rockai <me at mornfall.net>**20090128145820
 Ignore-this: 7850bb049e602a2ddf1dd12bd5785a40
] 
[Disable curl on tn9.
Petr Rockai <me at mornfall.net>**20090128145413
 Ignore-this: db4697c47ae519c3fb4dfd45e8f6fffb
] 
[Fix syntax error.
Petr Rockai <me at mornfall.net>**20090128145407
 Ignore-this: 2611f3bb511d9a2899396e35f0677899
] 
[Reformat buildslave list for readability.
Petr Rockai <me at mornfall.net>**20090128145325
 Ignore-this: 106f217095ebaa297a4f14b8c484567
] 
[Reformat the addStep lines for readability.
Petr Rockai <me at mornfall.net>**20090128144829
 Ignore-this: e1960e0c0e2dba43c49b2fac6ffe80e0
] 
[Cabal's configure does not produce a config.log.
Petr Rockai <me at mornfall.net>**20090128144612
 Ignore-this: a11db0afcdc43297734424f771a2f5be
] 
[Add a flag for disabling curl and use it on slaves that seem to need it.
Petr Rockai <me at mornfall.net>**20090128143027
 Ignore-this: 9af6b0a170354d534fd0a54af8fccf21
] 
[Turn the network tests into a warning (ie. not a complete failure).
Petr Rockai <me at mornfall.net>**20090128085218
 Ignore-this: b32fbefda6e6750f97f8ed980915781a
] 
[Configure failures are always fatal.
Petr Rockai <me at mornfall.net>**20090128085142
 Ignore-this: 230e3dc36a21e4bfeb4fd17cbf41b535
] 
[Check type witnesses in main cabal build.
Petr Rockai <me at mornfall.net>**20090128084928
 Ignore-this: 7e1c7fa65f40effcf8586cfb97cc142d
] 
[Add autoconf+configure to snapshot part of the code
Eric Kow <E.Y.Kow at brighton.ac.uk>**20090125213654
 Ignore-this: 3ea7260056554297e3836e2b6c4d0748
 I'm not entirely sure if this is needed (given the current state of
 our cabal transition).  Also, a better approach might be to patch
 darcs so that make snapshot just grabs the cabal-built darcs.
] 
[Use cabal-based method for primary build
Eric Kow <E.Y.Kow at brighton.ac.uk>**20090125213132
 Ignore-this: ec4150ce586c08718d6ea67850b0b5f0
] 
[Remove nooxie from builders until we get QC 2.1 installed on it
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081212092402
 Ignore-this: 985b018b556e89d91ec9ce2b095dcb61
] 
[Use scp instead of rsync for snapshots (more portable?)
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081205085510
 Ignore-this: 9ed01034780956d55142e1ae4befcfd6
] 
[Restore make witnessess flunk on failure.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081124193955
 Ignore-this: 2ede7be1f4a94cbff1e6ef6055e9e210
 Disabling it seems to have had no effect, and anyway, Jason fixed
 the GHC 6.10 incompatibility.
 
 rolling back:
 
 Wed Nov 19 15:08:29 GMT 2008  Eric Kow <E.Y.Kow at brighton.ac.uk>
   * Don't flunk on make witnesses failure
] 
[merge stuff
zooko at zooko.com**20081121151836
 Ignore-this: a43255993bb48d57ed67c33b5f27f5a5
] 
[gmake on NetBSD
zooko at zooko.com**20081118171522
 Ignore-this: 368969160c909aa7a884a7d8777bdbbb
] 
[Rename christian dopefish to christian
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081121134000
 Ignore-this: 7e4f93cbb8ba72ef2f221861c42a01ef
 Work around an issue with spaces in paths and latex2html
] 
[Don't flunk on make witnesses failure
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081119150829
 Ignore-this: b4ebd7c3474a53f105aac09c923ca854
 We'll just have to watch out for any red bits until we fix the
 GHC 6.10 compile error with type witnesses.  Once we fix them,
 it would be good to rollback this patch.
] 
[add christian dopefish
zooko at zooko.com**20081118131943
 Ignore-this: 7a34413393e62d63cbe489b60be5c0bd
] 
[short links to test and upload waterfalls
zooko at zooko.com**20081114164438
 Ignore-this: 258dc2e292a3108cb6706eda4d7e8e26
] 
[add a GHC version check
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081117223042] 
[Switch to http://darcs.net from the unstable branch
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081117132423] 
[fix
zooko at zooko.com**20081113212315
 Ignore-this: 1654bb4ec2f42619732d672af09d1a37
] 
[fix typo
zooko**20081113211906
 Ignore-this: df13d060646a18c0aedfe7f048779c12
] 
[fix work dir
zooko at zooko.com**20081113211856
 Ignore-this: fa0fb3ff77d1981847bececc1d80fae
] 
[run make snap shot in the right dir
zooko at zooko.com**20081113211708
 Ignore-this: 3f51b059f8a657281d785b05bbe05add
] 
[fix typo
zooko at zooko.com**20081113210816
 Ignore-this: a6e79087713c0e6443ff3102bc8975b7
] 
[run make darcs-snapshot before trying to upload snapshots
zooko at zooko.com**20081113203900
 Ignore-this: 9b6eb2e0d6cdac24be2eaae28fbef591
] 
[separate test and upload waterfalls
zooko at zooko.com**20081113200902
 Ignore-this: 52abaded4f657bba8a849c9598af7a67
] 
[reflow
zooko at zooko.com**20081113200647
 Ignore-this: 8ff6878cb7a8cb1edb0761eb9daacdfc
] 
[use rsync on the new "snapshots" dir
zooko at zooko.com**20081113182518
 Ignore-this: b10198b7b4ce6338e3566f85006f5d98
] 
[Fix name of test_network target
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081110183957
 Ignore-this: 28d627eeb80f43f5eba832679aadb090
] 
[use _ instead of " " in URL names
zooko at zooko.com**20081107191750
 Ignore-this: 108054254fadd5ca451c646c794e84e4
] 
[remove explicit setting of ghc version
zooko at zooko.com**20081107191456
 Ignore-this: c86aee90c90c50649b21360934d9be6f
] 
[Remove performance regression testing from buildbot.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081105133836
 Ignore-this: b75a84a13306e205d916eea4537f9e36
 We should revisit this when we have worked out better how to use
 the buildbot and how the Standard Darcs Benchmarks will evolve.
] 
[Allow witnesses directory to be clobbered.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081105133716
 Ignore-this: fdb82f84c4fe9b6ad3f32367d4a58233
] 
[fix incomplete change to upload process
zooko**20081019145552] 
[Add a trailing slash to buildbotURL
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081020101419
 Ignore-this: dbea1f3b5094aec8e1e6cd18f06f1504
 Buildbot failure reports were getting messed up (builbot.darcs.netbuilders...)
 The right solution is probably to modify how paths get concatenated...
] 
[fix the upload scheme
zooko**20081016175656] 
[once all unit tests pass, then attempt to upload the resulting darcs or darcs.exe file to nooxie
zooko at zooko.com**20081016162930] 
[change buildbotURL from http://allmydata.org:13010/" to "http://buildbot.darcs.net"
zooko at zooko.com**20081015160558] 
[Another note.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080926113241] 
[Corrections to quickstart readme
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080926112110] 
[Add a step to build darcs with witnesses.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080926111235] 
[Add a README so that people can have a quick start.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080926111200] 
[Add a localcfg module so that people can use fake slaves or debug mode
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080926111152
 without modifying master.cfg
] 
[Move unstable fetch step up.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080926102021
 Otherwise, it seems like new build slaves would get confused trying
 to fetch old darcs
] 
[Use --with-manual instead of --with-docs (was renamed recently).
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080926101715] 
[Move gmake-check up.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080926101657] 
[Tell vim to use 4 space indentation.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080924222057
 Ignore-this: f6e3da7d6ce311876a5eb8d1be9566e0
] 
[Remove incorrect --with-typewitnesses flag
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080924221302
 Ignore-this: 196e85b932ce45db756485addfe022db
 First of all, the flat should be --with-type-witnesses.
 Second of all, this is not yet the default build mode for darcs, so we'd need
 to build in a separate directory (which somebody else ought to set up)
] 
[comment-out "zooko allmydata slave3"
zooko at zooko.com**20080924192632] 
[don't squawk about missing buildslaves unless they've been awol for 72 hours
zooko at zooko.com**20080917230820] 
[fix missing import
zooko at zooko.com**20080910194131] 
[trivial formatting: remove trailing whitespace
zooko at zooko.com**20080910134024] 
[fix (?) purple buildbot
zooko at zooko.com**20080910134004] 
[Slight comment tweak
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080910163957] 
[Rearrange steps so that new darcs is compiled after old darcs.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080910163920
 This makes it easier to see the more relevant results.
] 
[Clarify when we are compiling old darcs.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080910163739] 
[Start with blank text when reporting benchmark results.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080910083752
 
 One problem with the buildbots is that the benchmarking results on the
 waterfall seem to have a lot of cruft in them (prior results?).  I am
 not certain that this is the right fix, however.
] 
[fix indentation
zooko**20080909215907] 
[merge some changes Eric made with my re-indentation to use 4-spaces
zooko at zooko.com**20080909215811] 
[remove heffalump's buildslave
zooko at zooko.com**20080905222808] 
[attempt to give nice warning if maybench isn't installed
zooko at zooko.com**20080905222307] 
[reindent a tab to 4 spaces
zooko at zooko.com**20080905220309] 
[reindent with 4 spaces
zooko at zooko.com**20080905215139] 
[Remove pointless brackets from build name.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080909213706] 
[Switch to darcs unstable for buildbot.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080909141951] 
[Try starting with blank text to avoid redundant benchmarking results.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080909141911] 
[Remove heffalump buildbot (he needed to withdraw his slave).
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080909141828] 
[Slightly shorter maybench output.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080906182631] 
[Build darcs in a separate step from the rest of the makefile
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080903111719
 This is so that we can see warnings when compiling darcs itself,
 but not when building the other stuff.
] 
[Don't try to use darcs 2.0.0 for performance regression testing.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831233430] 
[don't warnOnWarnings (since the string "warning" appears in the normal, successful, non-warning output from make)
zooko at zooko.com**20080831191022] 
[remove a failed attempt to catch the exception from invoking maybench when it isn't installed
zooko at zooko.com**20080831191009] 
[remove some debugprints about me not understanding buildbot
zooko at zooko.com**20080831190953] 
[Don't fail on severe performance regressions.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831120304] 
[Simplify names of performance regression steps.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831114000] 
[Fancier performonce regression detection.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831113848
 If a time regression is under half a second, we don't care.
] 
[Tiny refactor.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831113838] 
[Remove apparant cruft.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831113805] 
[Silly logic bug
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831112719] 
[Set performance boxes to orange or red upon regression.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831112634] 
[Distinguish between mild and severe performance regressions
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831111700] 
[Detect darcs-benchmark regressions
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831103523] 
[Potentially more readable maybench output.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831102901] 
[Do not display full darcs path in waterfall, only the relevant part.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080831095737] 
[Add my_darcs_paths to zoo benchmarks
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080827221456] 
[Print stats for all darcses that we benchmark
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080827221123] 
[Remove self.setProperty in Maybench code.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080827215110
 I don't understand what this does, and removing it seems to cause
 no ill effects.
] 
[Oops, uncomment some tests.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080826223432] 
[Add ability to call maybench with multiple darcs paths
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080826223408] 
[Add the ability to retrieve and builder darcs.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080826215703] 
[Fix zoo benchmarks (wrong directory).
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080824214933] 
[Add some simple zoo-based benchmarks.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080824213038] 
[Notice when description is passed to Maybench.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080824213009] 
[Add a big DEBUG_MODE flag so that I can skip some slow steps.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080824212945] 
[Add a step to sync with the repository zoo and unpack its creatures.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080824212002] 
[Add the ability to bench a specific darcs operation.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080824211929] 
[fake_slave wibble
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080823215733] 
[Call darcs-benchmark on the newly built darcs, not the system one.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080823215527
 Note: this needs maybench 0.2 or higher
] 
[Add some default passwords to example secrets.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080823191814
 This way people can just cp it to secrets.py and have a working
 master straightaway.
] 
[Only count maybench matches as stats.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080823161956] 
[Do not version control buildboc.tac
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080823154937
 This appears to vary from system to system.
] 
[Add example secrets file.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080823154044] 
[Distinguish between official slaves and fake slaves.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20080823154003] 
[just the public parts of the darcs buildmaster config
zooko at zooko.com**20080823140415] 
Patch bundle hash:
78b6b638b1c5a5e7837b762406f0c68637a6c690


More information about the darcs-users mailing list