[Buildbot-commits] site ChangeLog,1.16,1.17 NEWS,1.2,1.3 README,1.11,1.12 index.html,1.29,1.30

Brian Warner warner at users.sourceforge.net
Tue Nov 23 11:41:03 UTC 2004


Update of /cvsroot/buildbot/site
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16314

Modified Files:
	ChangeLog NEWS README index.html 
Log Message:
update for 0.6.1 release

Index: ChangeLog
===================================================================
RCS file: /cvsroot/buildbot/site/ChangeLog,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- ChangeLog	1 Oct 2004 03:27:04 -0000	1.16
+++ ChangeLog	23 Nov 2004 11:41:00 -0000	1.17
@@ -1,3 +1,190 @@
+2004-11-23  Brian Warner  <warner at lothar.com>
+
+	* buildbot/__init__.py (version): Releasing buildbot-0.6.1
+
+2004-11-23  Brian Warner  <warner at lothar.com>
+
+	* NEWS: update for the 0.6.1 release
+	* MANIFEST.in: add new files
+
+	* README (INSTALLATION): explain how to enable the extra VC tests
+
+	* buildbot/status/builder.py (LogFile): add .runEntries at the class
+	level to, so old pickled builds can be displayed ok
+
+2004-11-22  Brian Warner  <warner at lothar.com>
+
+	* NEWS: summarize updates since last release
+
+	* README (SLAVE): fix usage of 'buildbot slave' command. Thanks to
+	Yoz Grahame. Closes SF#1050138.
+
+	* docs/changes.xhtml (FreshCVSSourceNewcred): fix typo. Closes
+	SF#1042563.
+
+	* buildbot/process/step_twisted.py (Trial): update docs a bit
+
+	* docs/factories.xhtml: fix Trial factory docs to match reality.
+	Closes: SF#1049758.
+
+	* buildbot/process/factory.py (Trial.__init__): add args for
+	randomly= and recurse=, making them available to instantiators
+	instead of only to subclassers. Closes: SF#1049759.
+
+2004-11-15  Brian Warner  <warner at lothar.com>
+
+	* buildbot/process/process_twisted.py (QuickTwistedBuildFactory):
+	try to teach the Quick factory to use multiple versions of python
+
+2004-11-12  Brian Warner  <warner at lothar.com>
+
+	* buildbot/status/builder.py (BuilderStatus.saveYourself): use a
+	safer w32-compatible approach, and only use it on windows
+	(BuildStatus.saveYourself): same
+
+2004-11-11  Brian Warner  <warner at lothar.com>
+
+	* buildbot/status/builder.py (LogFile.addEntry): smarter way to do
+	it: one string merge per chunk. There are now separate .entries
+	and .runEntries lists: when enumerating over all chunks, make sure
+	to look at both.
+	* buildbot/test/test_status.py (Log): more tests
+
+	* buildbot/status/builder.py (LogFile.addEntry): Merge string
+	chunks together, up to 10kb per chunk. This ought to cut down on
+	the CPU-burning overhead of large log files. Thanks to Alexander
+	Staubo for spotting the problem.
+	* buildbot/test/test_status.py (Log): tests for same
+
+2004-11-10  Brian Warner  <warner at lothar.com>
+
+	* buildbot/status/mail.py (MailNotifier.buildMessage): add a Date
+	header to outbound mail
+	* buildbot/test/test_status.py (Mail.testBuild1): test for same
+
+2004-11-08  Brian Warner  <warner at lothar.com>
+
+	* buildbot/status/builder.py (BuilderStatus.saveYourself): w32
+	can't do os.rename() onto an existing file, so catch the exception
+	and unlink the target file first. This introduces a slight window
+	where the existing file could be lost, but the main failure case
+	(disk full) should still be handled safely.
+	(BuildStatus.saveYourself): same
+
+	* buildbot/changes/pb.py (ChangePerspective): use a configurable
+	separator character instead of os.sep, because the filenames being
+	split here are coming from the VC system, which can have a
+	different pathname convention than the local host. This should
+	help a buildmaster running on windows that uses a CVS repository
+	which runs under unix.
+	* buildbot/changes/mail.py (MaildirSource): same, for all parsers
+
+	* buildbot/process/step_twisted.py (Trial.createSummary): survive
+	when there are no test failures to be parsed
+
+	* buildbot/scripts/runner.py (createMaster): use shutil.copy()
+	instead of the unix-specific os.system("cp"), thanks to Elliot
+	Murphy for this and the other buildbot-vs-windows catches.
+	* buildbot/test/test_maildir.py (MaildirTest.deliverMail): same
+
+	* contrib/windows/buildbot.bat: prefix a '@', apparently to not
+	echo the command as it is run
+
+	* setup.py: install sample.mk too, not just sample.cfg
+	(scripts): install contrib/windows/buildbot.bat on windows
+
+2004-11-07  Brian Warner  <warner at lothar.com>
+
+	* buildbot/process/builder.py (Builder._detached): clear the
+	self.currentBuild reference, otherwise the next build will be
+	skipped because we think the Builder is already in use.
+
+	* docs/examples/twisted_master.cfg: update to match current usage
+	on the Twisted buildbot
+
+2004-10-29  Brian Warner  <warner at lothar.com>
+
+	* buildbot/status/mail.py (MailNotifier): fix typo in docs
+
+2004-10-28  Brian Warner  <warner at lothar.com>
+
+	* buildbot/slave/commands.py (SourceBase): refactor subclasses to
+	have separate doVCUpdate/doVCFull methods. Catch an update failure
+	and respond by clobbering the source directory and re-trying. This
+	will handle local changes (like replacing a file with a directory)
+	that will cause CVS and SVN updates to fail.
+	* buildbot/test/test_vc.py (SetupMixin.do_vc): test the same
+
+	* buildbot/process/step.py (LoggedRemoteCommand.__repr__): avoid a
+	python-2.4 warning
+
+2004-10-19  Brian Warner  <warner at lothar.com>
+
+	* buildbot/process/step_twisted.py (Trial.createSummary): bugfixes
+
+	* buildbot/status/html.py (StatusResourceTestResults): display any
+	TestResults that the Build might have
+	(StatusResourceTestResult): and the logs for each TestResult
+	(StatusResourceBuild): add link from the per-build page
+
+2004-10-15  Brian Warner  <warner at lothar.com>
+
+	* buildbot/process/step_twisted.py (Trial.createSummary): parse
+	the 'problems' portion of stdout, add TestResults to our build
+	* buildbot/test/test_twisted.py (Parse.testParse): test it
+
+	* buildbot/interfaces.py (IBuildStatus.getTestResults): new method
+	to retrieve a dict of accumulated test results
+	(ITestResult): define what a single test result can do
+	* buildbot/status/builder.py (TestResult): implement ITestResult
+	(BuildStatus.getTestResults): retrieve dict of TestResults
+	(BuildStatus.addTestResult): add TestResults
+	* buildbot/test/test_status.py (Results.testAddResults): test it
+
+2004-10-14  Brian Warner  <warner at lothar.com>
+
+	* buildbot/test/test_maildir.py (MaildirTest): use shutil.rmtree
+	instead of os.system("rm -rf") for win32 portability
+
+	* buildbot/test/test_slavecommand.py (SlaveCommandTestCase): use
+	SignalMixin instead of starting/stopping the reactor, which is
+	likely to cause problems with other tests
+
+	* buildbot/slave/commands.py (SourceBase.doCopy): remove leftover
+	self.copyComplete() call. Yoz Grahame makes the catch.
+
+	* contrib/windows/buildbot.bat: helper script to deal with path
+	issues. Thanks to Yoz Grahame.
+
+	* buildbot/master.py (BuildMaster.startService): don't register a
+	SIGHUP handler if the signal module has no SIGHUP attribute.
+	Apparently win32 does this.
+
+	* buildbot/scripts/runner.py (start): add --reactor=win32 on win32
+
+	* buildbot/test/test_web.py (WebTest.test_webPathname): skip the
+	test if the reactor can't offer UNIX sockets
+
+	* buildbot/status/html.py (StatusResourceBuild.body): fix syntax
+	error introduced in the last commit. We really need that
+	metabuildbot :).
+
+2004-10-12  Brian Warner  <warner at lothar.com>
+
+	* buildbot/changes/mail.py (MaildirSource.describe): fix exception
+	when describing a maildir source. Thanks to Stephen Davis.
+
+	* buildbot/status/words.py (IrcStatusBot.command_WATCH): round off
+	ETA seconds
+
+	* buildbot/scripts/runner.py (createMaster): install Makefile too
+	(start): add --no_save to 'start' command
+	* buildbot/scripts/sample.mk: simple convenience Makefile with 
+	start/stop/reload targets
+
+	* buildbot/__init__.py (version): bump to 0.6.0+ while between
+	releases
+
 2004-09-30  Brian Warner  <warner at lothar.com>
 
 	* setup.py: Releasing buildbot-0.6.0

Index: NEWS
===================================================================
RCS file: /cvsroot/buildbot/site/NEWS,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- NEWS	1 Oct 2004 03:27:04 -0000	1.2
+++ NEWS	23 Nov 2004 11:41:00 -0000	1.3
@@ -1,5 +1,98 @@
 User visible changes in Buildbot.
 
+* Release 0.6.1 (23 Nov 2004)
+
+** win32 improvements/bugfixes
+
+Several changes have gone in to improve portability to non-unix systems. It
+should be possible to run a build slave under windows without major issues
+(although step-by-step documentation is still greatly desired: check the
+mailing list for suggestions from current win32 users).
+
+*** PBChangeSource: use configurable directory separator, not os.sep
+
+The PBChangeSource, which listens on a TCP socket for change notices
+delivered from tools like contrib/svn_buildbot.py, was splitting source
+filenames with os.sep . This is inappropriate, because those file names are
+coming from the VC repository, not the local filesystem, and the repository
+host may be running a different OS (with a different separator convention)
+than the buildmaster host. In particular, a win32 buildmaster using a CVS
+repository running on a unix box would be confused.
+
+PBChangeSource now takes a sep= argument to indicate the separator character
+to use.
+
+*** build saving should work better
+
+windows cannot do the atomic os.rename() trick that unix can, so under win32
+the buildmaster falls back to save/delete-old/rename, which carries a slight
+risk of losing a saved build log (if the system were to crash between the
+delete-old and the rename).
+
+** new features
+
+*** test-result tracking
+
+Work has begun on fine-grained test-result handling. The eventual goal is to
+be able to track individual tests over time, and create problem reports when
+a test starts failing (which then are resolved when the test starts passing
+again). The first step towards this is an ITestResult interface, and code in
+the TrialTestParser to create such results for all non-passing tests (the
+ones for which Trial emits exception tracebacks).
+
+These test results are currently displayed in a tree-like display in a page
+accessible from each Build's page (follow the numbered link in the yellow
+box at the start of each build to get there).
+
+This interface is still in flux, as it really wants to be able to accomodate
+things like compiler warnings and tests that are skipped because of missing
+libraries or unsupported architectures.
+
+** bug fixes
+
+*** VC updates should survive temporary failures
+
+Some VC systems (CVS and SVN in particular) get upset when files are turned
+into directories or vice versa, or when repository items are moved without
+the knowledge of the VC system. The usual symptom is that a 'cvs update'
+fails where a fresh checkout succeeds.
+
+To avoid having to manually intervene, the build slaves' VC commands have
+been refactored to respond to update failures by deleting the tree and
+attempting a full checkout. This may cause some unnecessary effort when,
+e.g., the CVS server falls off the net, but in the normal case it will only
+come into play when one of these can't-cope situations arises.
+
+*** forget about an existing build when the slave detaches
+
+If the slave was lost during a build, the master did not clear the
+.currentBuild reference, making that builder unavailable for later builds.
+This has been fixed, so that losing a slave should be handled better. This
+area still needs some work, I think it's still possible to get both the
+slave and the master wedged by breaking the connection at just the right
+time. Eventually I want to be able to resume interrupted builds (especially
+when the interruption is the result of a network failure and not because the
+slave or the master actually died).
+
+*** large logfiles now consume less memory
+
+Build logs are stored as lists of (type,text) chunks, so that
+stdout/stderr/headers can be displayed differently (if they were
+distinguishable when they were generated: stdout and stderr are merged when
+usePTY=1). For multi-megabyte logfiles, a large list with many short strings
+could incur a large overhead. The new behavior is to merge same-type string
+chunks together as they are received, aiming for a chunk size of about 10kb,
+which should bring the overhead down to a more reasonable level.
+
+There remains an issue with actually delivering large logfiles over, say,
+the HTML interface. The string chunks must be merged together into a single
+string before delivery, which causes a spike in the memory usage when the
+logfile is viewed. This can also break twisted.web.distrib -type servers,
+where the underlying PB protocol imposes a 640k limit on the size of
+strings. This will be fixed (with a proper Producer/Consumer scheme) in the
+next release.
+
+
 * Release 0.6.0 (30 Sep 2004)
 
 ** new features

Index: README
===================================================================
RCS file: /cvsroot/buildbot/site/README,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- README	1 Oct 2004 03:27:04 -0000	1.11
+++ README	23 Nov 2004 11:41:01 -0000	1.12
@@ -84,10 +84,13 @@
 the installation process, as it will probably be easier to track down the bug
 early.
 
-If you want to test the VC checkout process, you'll need to install a tarball
-of repositories, available from http://buildbot.sf.net/ . Otherwise there are
-about 8 tests which will be skipped (all with names like testSVN and
-testArchHTTP).
+If you want to test the VC checkout process, you'll need to install a
+tarball of repositories, available from http://buildbot.sf.net/ . Otherwise
+there are about 8 tests which will be skipped (all with names like testSVN
+and testArchHTTP). If you unpack this tarball in ~/tmp, it will create
+~/tmp/buildbot-test-vc-1, and you can enable the extra tests with:
+
+ PYTHONPATH=. BUILDBOT_TEST_VC=~/tmp trial -v buildbot.test
 
 
  INSTALLING THE LIBRARIES:
@@ -122,7 +125,7 @@
 
 Now run the 'buildbot' command as follows:
 
- buildbot slave --basedir WORKDIR --master HOST:PORT --name NAME --passwd PWD
+ buildbot slave WORKDIR MASTERHOST:PORT SLAVENAME PASSWORD
 
 This will create a "TAP" file called "buildbot.tap", which bundles up all
 the state needed by the build slave application. Twisted has a tool called

Index: index.html
===================================================================
RCS file: /cvsroot/buildbot/site/index.html,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- index.html	1 Oct 2004 03:27:04 -0000	1.29
+++ index.html	23 Nov 2004 11:41:01 -0000	1.30
@@ -11,7 +11,7 @@
 Current contents:
 
 <ul>
-  <li>The current release is buildbot-0.6.0 . You can download the source
+  <li>The current release is buildbot-0.6.1 . You can download the source
   from the sf.net download page <a
   href="http://sourceforge.net/project/showfiles.php?group_id=73177">here</a>.
   The release is signed with my GPG public key, available <a





More information about the Commits mailing list