[Initial commit: Just the network-bytestring echo server/client example Ian Lynagh **20100128131131] [Use Handle rather than Socket Ian Lynagh **20100128140044] [Fix warnings Ian Lynagh **20100128141455] [Start sending build steps Ian Lynagh **20100128153814] [Actually run the command Ian Lynagh **20100128160118] [Progress Ian Lynagh **20100128164047] [Store the output Ian Lynagh **20100128170646] [Progress Ian Lynagh **20100129153708] [Get to the point a build can be carried out and uploaded Ian Lynagh **20100129162029] [Give the client its own monad Ian Lynagh **20100129191023] [Refactor Ian Lynagh **20100129191634] [Progress Ian Lynagh **20100129194235] [Progress Ian Lynagh **20100129194707] [Refactor Ian Lynagh **20100129200235] [Run commands in the right place Ian Lynagh **20100129211250] [Separate the build config into its own file Ian Lynagh **20100129230406] [Progress Ian Lynagh **20100129232253] [Give the server a monad too Ian Lynagh **20100130000405] [Progress Ian Lynagh **20100130114035] [Progress Ian Lynagh **20100130115904] [Do scheduled build times Ian Lynagh **20100130120901] [Build results Ian Lynagh **20100130123930] [Move some files around Ian Lynagh **20100208182219] [Add a continuous build option Ian Lynagh **20100208184433] [Handle user and password in the client, rather than hard coding them Ian Lynagh **20100208185551] [Progress Ian Lynagh **20100208191948] [Progress Ian Lynagh **20100208224616] [Start on webpage creation Ian Lynagh **20100209183639] [Add a simple CSS file Ian Lynagh **20100209184723] [More webpage output Ian Lynagh **20100209213851] [Add mkIndex stub Ian Lynagh **20100209232142] [Make reconnections work Ian Lynagh **20100210144218] [Restart the webpage creation thread if it dies Ian Lynagh **20100210150018] [Add build status Ian Lynagh **20100210153418] [Add GHC build instructions Ian Lynagh **20100210233012] [Handle interleaving stdout/stderr properly Ian Lynagh **20100211135336] [Write output earlier Ian Lynagh **20100211155717] [Make prettier webpage links Ian Lynagh **20100211165415] [Add some docs Ian Lynagh **20100212143230] [Define the port used in only one place Ian Lynagh **20100212143606] [Handle hostnames properly Ian Lynagh **20100212144153] [Add basic usage docs Ian Lynagh **20100212150327] [Factor out the code that uses Handle's Ian Lynagh **20100217175526] [More Handle refactoring Ian Lynagh **20100217182748] [Allow the use of SSL connections Ian Lynagh **20100217212858] [Add TODO file Ian Lynagh **20100217213204] [Verify SSL certificates Ian Lynagh **20100218135153] [Change the port number Ian Lynagh **20100218135918] [Handle short reads Ian Lynagh **20100218143247] [Start abstracting file paths and contents Ian Lynagh **20100219155553] [More refactoring Ian Lynagh **20100219184507] [Start adding support for missing data files Ian Lynagh **20100219203809] [More refactoring of data transmission Ian Lynagh **20100219230217] [Reinstate the cleanup code Ian Lynagh **20100219232252] [Fix output filename Ian Lynagh **20100219232653] [Tweak CSS Ian Lynagh **20100219232701] [Some little fixes Ian Lynagh **20100220001103] [The server now tells the client why it is doing a build Ian Lynagh **20100224215016 This will become important once the reason can be "validate patchset X" ] [Add TODOs Ian Lynagh **20100224215312] [Abstract out response codes Ian Lynagh **20100224221439] [Tell the client what sort of build instructions we want Ian Lynagh **20100224224906] [When uploading results, tell the server what they are the results for Ian Lynagh **20100225012358] [Start to generalise build notification Ian Lynagh **20100225151256] [Add notification e-mails Ian Lynagh **20100225171504] [Tweak email content Ian Lynagh **20100225172009] [Rename Config.hs as it's just an example Ian Lynagh **20100225183619] [Fix warnings Ian Lynagh **20100226151436] [Fix warning Ian Lynagh **20100226151515] [Add a webpage link to the e-mails generated Ian Lynagh **20100226170003] [Tweak the certificate generation Ian Lynagh **20100226192631] [The server now checks that the client's cert is for the right username Ian Lynagh **20100226195200] [Tweak server init Ian Lynagh **20100226195831] [Change the location of the certificates Ian Lynagh **20100226201709] [Listen on 0.0.0.0 Ian Lynagh **20100226203708 Passing Nothing as the host to listen on means we end up listening only on 127.0.0.1. ] [Tweak server's SSL verification Ian Lynagh **20100226204027] [Show instructinos when verbose Ian Lynagh **20100226204245] [Make reconnecting work with SSL connections Ian Lynagh **20100227143428] [Use absolute paths for the .pem files Ian Lynagh **20100227190702 Fixes reconnecting when using SSL ] [There's no need for clients to have an SSL key Ian Lynagh **20100303153955] [Remove instructions and script for generating client key Ian Lynagh **20100303154028] [Make client initialisation create the certs directory Ian Lynagh **20100303165040] [Change the definition of acceptable usernames Ian Lynagh **20100309151817] [Explicitly ask for the sort of buffering we want Ian Lynagh **20100309152423] [Improve the connection-failed detection (untested) Ian Lynagh **20100309152510] [Another good-username tweak Ian Lynagh **20100309152637] [Add some info to server output Ian Lynagh **20100309163607] [Handle missing output when making webpages Ian Lynagh **20100309172844] [Fix warning Ian Lynagh **20100309172928] [Tweak time formatting Ian Lynagh **20100309173054] [Tidy up printing of "received" messages in the server Ian Lynagh **20100309174036] [Handle '\r's at the end of lines Ian Lynagh **20100309175523] [Stop the client dieing if a program it tries to run doesn't exist Ian Lynagh **20100309221319] [Fix detection of "Connection refused (WSAECONNREFUSED)" Ian Lynagh **20100311141929] [Print client disconnections in the server Ian Lynagh **20100311142201] [Check rtsSupportsBoundThreads in the client Ian Lynagh **20100311142348] [Cabalise, and split into client, server and common Ian Lynagh **20100317185932] [Link client with -threaded Ian Lynagh **20100329114519] [Link the server with -threaded too Ian Lynagh **20100329120506] [Catch another exception Ian Lynagh **20100330154819] [Catch connection-timed-out errors on Windows too Ian Lynagh **20100331112412] [Put the build result in e-mails Ian Lynagh **20100407120331] [Add timezone support Ian Lynagh **20100407155004] [Correct the definition of scheduledTimePassed to handle an edge case Ian Lynagh **20100407160558] [Add a permission denied error when removing tempBuildDir Ian Lynagh **20100408103940] [Turn -Wall on Ian Lynagh **20100408104347] [Add "Other" reasons for build, ready for some sort of "do a build now" functionality Ian Lynagh **20100408104514] [Use withCurrentDirectory rather than setCurrentDirectory Ian Lynagh **20100411230526 Should fix the problem removing the temp builddir on Windows, as we won't end up inside the directory we're trying to remove when the second build starts ] [Update TODO Ian Lynagh **20100413225608] [Update TODO Ian Lynagh **20100413230352] [More TODO items Ian Lynagh **20100414153618] [Implement resource limits (on non-Windows) Ian Lynagh **20100416125622] [Add a mem usage step to the example config Ian Lynagh **20100416131534] [Increases memory limit to 1G Ian Lynagh **20100418155121 To allow enough memory to haddock the ghc package on a 64bit platform. ] [Fix the timezone used to print messages in "server -v" output Ian Lynagh **20100420104402] [Add a TODO Ian Lynagh **20100420105645] [Add TODO items Ian Lynagh **20100420110624] [Add TODOs Ian Lynagh **20100425094126] [Say that we want the client to use TCP; fixes connecting on Solaris Ian Lynagh **20100516173320] [Attach last few lines of failure output to e-mails Ian Lynagh **20100518154640] [Use maybeReadSpace rather than maybeRead to work around \r's in Windows logs Ian Lynagh **20100519183741] [Catch a directory-doesn't-exist exception Ian Lynagh **20100520134620] [Don't measure the command output size Ian Lynagh **20100520145623 Instead, we just use the file size. This avoids huge memory usage when sending command output as a sized-thing. ] [Chunk up what we send over SSL connections Ian Lynagh **20100521144051 Stops us trying to hold it all in memory at once ] [Update TODO list Ian Lynagh **20100522145315] [Move most of the config info into a separate thread Ian Lynagh **20100526183210 This is most of the work for getting reload-config-on-SIGHUP working. ] [Add SIGHUP support Ian Lynagh **20100526184743] [Refactor Ian Lynagh **20100526190455] [Use slightly more sensible module names for the library modules Ian Lynagh **20100526193623] [Move the rest of the config into the ConfigHandler thread Ian Lynagh **20100526195854] [Update TODO list Ian Lynagh **20100526200234] [Add a delay if loading the config fails Ian Lynagh **20100526201725] [Handle exceptions while reading the config Ian Lynagh **20100526202343] [Warning fixes Ian Lynagh **20100526202442] [Move the Config type into the library, so Config.hs can see it Ian Lynagh **20100526202848] [Make a thread responsible for getting the time, to avoid races in the timezone used Ian Lynagh **20100526212741] [Refactoring Ian Lynagh **20100526213057] [Fix a warning Ian Lynagh **20100526213201] [Add a thread responsible for printing to stdout and logfiles Ian Lynagh **20100528195840] [Add a flag for where to log to Ian Lynagh **20100528200430] [Fix warning Ian Lynagh **20100528200626] [Set the log file to be line buffered Ian Lynagh **20100528200753] [Fix date/time handling so long lines include dates Ian Lynagh **20100528201856] [Add NoBuilds Ian Lynagh **20100629140615] [Add --do-build flag Ian Lynagh **20100714150211] [When doing a single build, exit after the first build is done Ian Lynagh **20100714210714] [Give date and username in verbose output Ian Lynagh **20100714211859] [Add hack to not break on non-ANSI characters Ian Lynagh **20100715125903] [Small refactoring Ian Lynagh **20100923222843] [Shrink the output if it's large Ian Lynagh **20100924013234] [Tweak TODO Ian Lynagh **20100929155321] [Bump dep versions Ian Lynagh **20101116150936] [Bump version numbers Ian Lynagh **20101116151507] [Add protocol version support Ian Lynagh **20101117011807] [Bump deps Ian Lynagh **20101117013535] [Split Builder.Utils up a bit Ian Lynagh **20101117181052] [Add support for sending protocol version 0.1 build steps Ian Lynagh **20101117185215] [Add bs_mailOutput to BuildStep Ian Lynagh **20101117190948] [Tweak layout Ian Lynagh **20101117191314] [Use protocol version 0.2, which includes mailOutput in build steps Ian Lynagh **20101117200227] [Fix parsing bug Ian Lynagh **20101117205758] [Remove unused functions Ian Lynagh **20101117212836] [Add more resilience Ian Lynagh **20101117222544] [When mailing output, Remove the Stdout/Stderr constructors Ian Lynagh **20101118134031] [Put outputs on the build page too Ian Lynagh **20101118140133] [Done a TODO Ian Lynagh **20101118140758] [Catch TimeExpired exceptions when trying to connect Ian Lynagh **20101118141915] [Done a TODO Ian Lynagh **20101118142611] [Add a TODO Ian Lynagh **20101118142617] [Add build step start and end times Ian Lynagh **20101118151921] [Work around a crash Thorkil ran into a couple of times Ian Lynagh **20101205000839] [Add a description of each builder Ian Lynagh **20101205134245] [log-to-file is done Ian Lynagh **20101209133555] [Tweak TODO list Ian Lynagh **20101209133627] [More useful unauth connection prints Ian Lynagh **20101215124114] [Add a 5 second delay after the connection is dropped Ian Lynagh **20101215134515 Avoids hammering the server if somethign is wrong ] [Add a debug print Ian Lynagh **20101215134703] [Add TODOs Ian Lynagh **20101216145508] [Fix build with GHC 7.0 Ian Lynagh **20110731140054] [Give more information is an InvalidArgument exception happens Ian Lynagh **20111110201506 Should help diagnose Thorkil's problem ] [Fix build with GHC 7.4.1 Ian Lynagh **20120211163336] [Make ^C terminate the server Ian Lynagh **20120212152820] [Handle the new SSL exceptions Ian Lynagh **20120212155601 Fixes the handling of connection drops ] [Some TODO updating Ian Lynagh **20120212160629] [Add per-builder build indices Ian Lynagh **20120212181511] [Some alpha renaming Ian Lynagh **20120212182135] [Also generate a main index Ian Lynagh **20120212202921] [Tweaked main index page style Ian Lynagh **20120213182618] [Colour the builder cell in the main index too Ian Lynagh **20120213183025] [Fix main index creation Ian Lynagh **20120213185405 Now it doesn't duplicate the most recent entry, and writes the data in the right format. ] [Fix generation of builder indexes Ian Lynagh **20120213190339 We were duplicating the most recent entry when building from scratch ] [Add end-time to the indices Ian Lynagh **20120213200646] [Refactorings Ian Lynagh **20120213211231] [Handle missing results Ian Lynagh **20120621212531]