[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