1
Fork 0
Commit Graph

8312 Commits

Author SHA1 Message Date
warner affd74175d [project @ 2006-01-13 08:34:28 by warner]
Revision: arch@buildbot.sf.net--2004/buildbot--dev--0--patch-454
Creator:  Brian Warner <warner@lothar.com>

all port= args now accept a strports string: slaveport, Waterfall, etc

	* buildbot/master.py (Manhole.__init__): let port= be a strports
	specification string, but handle a regular int for backwards
	compatibility. This allows "tcp:12345:interface=127.0.0.1" to be
	used in master.cfg to limit connections to just the local host.
	(BuildMaster.loadConfig): same for c['slavePortnum']
	* buildbot/scheduler.py (Try_Userpass.__init__): same
	* buildbot/status/client.py (PBListener.__init__): same
	* buildbot/status/html.py (Waterfall.__init__): same, for both
	http_port and distrib_port. Include backwards-compatibility checks
	so distrib_port can be a filename string and still mean unix:/foo
	* docs/buildbot.texinfo (Setting the slaveport): document it
	(Debug options): same
	(HTML Waterfall): same
	(PBListener): same
	(try): same
	* buildbot/test/test_config.py (ConfigTest): test it

	* buildbot/master.py (BuildMaster.loadConfig): wait for the
	slaveport's disownServiceParent deferred to fire before opening
	the new one. Fixes an annoying bug in the unit tests.
2006-01-13 14:34:29 +01:00
warner f80acc8023 [project @ 2006-01-03 09:26:40 by warner]
Revision: arch@buildbot.sf.net--2004/buildbot--dev--0--patch-452
Creator:  Brian Warner <warner@monolith.lothar.com>

fix a bug: config-file reload would half-clobber all Schedulers

	* buildbot/master.py (BuildMaster): remove the .schedulers
	attribute, replacing it with an allSchedulers() method that looks
	for all IService children that implement IScheduler. Having only
	one parent/child relationship means fewer opportunities for bugs.
	(BuildMaster.allSchedulers): new method
	(BuildMaster.loadConfig_Schedulers): update to use allSchedulers,
	also fix ugly bug that caused any config-file reload to
	half-forget about the earlier Schedulers, causing an exception
	when a Change arrived and was handed to a half-connected
	Scheduler. The exception was in scheduler.py line 54ish:
	  self.parent.submitBuildSet(bs)
	  exceptions.AttributeError: 'NoneType' object has no attribute
	  'submitBuildSet'
	(BuildMaster.addChange): update to use allSchedulers()

	* buildbot/scheduler.py (BaseScheduler.__implements__): fix this
	to work properly with twisted-1.3.0, where you must explicitly
	include the __implements__ from parent classes
	(BaseScheduler.__repr__): make it easier to distinguish distinct
	instances
	(BaseUpstreamScheduler.__implements__): same

	* buildbot/status/builder.py (Status.getSchedulers): update to
	use allSchedulers()
	* buildbot/test/test_run.py (Run.testMaster): same
	* buildbot/test/test_dependencies.py (Dependencies.findScheduler): same
	* buildbot/test/test_config.py (ConfigTest.testSchedulers): same,
	make sure Scheduler instances are left alone when an identical
	config file is reloaded
	(ConfigElements.testSchedulers): make sure Schedulers are properly
	comparable

	* Makefile (TRIALARGS): my local default Twisted version is now
	2.1.0, update the trial arguments accordingly
2006-01-03 15:26:41 +01:00
warner cef88ebc28 [project @ 2005-12-22 21:00:01 by warner]
Revision: arch@buildbot.sf.net--2004/buildbot--dev--0--patch-450
Creator:  Brian Warner <warner@monolith.lothar.com>

update twisted_master.cfg, add dummy addChange() to BaseScheduler

	* docs/examples/twisted_master.cfg: merge changes from pyr: add
	new win32 builders

	* buildbot/scheduler.py (BaseScheduler.addChange): include a dummy
	addChange in the parent class, although I suspect this should be
	fixed better in the future.
2005-12-23 03:00:01 +01:00
warner e6fa9adb41 [project @ 2005-11-27 03:58:48 by warner]
Revision: arch@buildbot.sf.net--2004/buildbot--dev--0--patch-448
Creator:  Brian Warner <warner@lothar.com>

fix AnyBranchScheduler to handle branch==None, merge release--0.7.1

	* buildbot/scheduler.py (AnyBranchScheduler.addChange): don't
	explode when branch==None, thanks to Kevin Turner for the catch
	* buildbot/test/test_scheduler.py (Scheduling.testAnyBranch): test
	it

	* buildbot/__init__.py (version): bump to 0.7.1+ while between
	releases
	* docs/buildbot.texinfo: same
2005-11-27 09:58:48 +01:00
warner-buildbot 1bb1c105ad TAG buildbot-0.7.1 2006-03-12 12:18:43 +01:00
Unknown tagger 3345b5b670 TAG BUILDBOT_0_7_1 2006-03-12 11:07:22 +01:00
warner 1f9281a506 [project @ 2005-11-27 01:34:31 by warner]
Revision: arch@buildbot.sf.net--2004/buildbot--dev--0--patch-446
Creator:  Brian Warner <warner@lothar.com>

release 0.7.1

	* buildbot/__init__.py (version): Releasing buildbot-0.7.1
	* docs/buildbot.texinfo: set version number to match
	* NEWS: update for 0.7.1
2005-11-27 07:34:31 +01:00
warner 25c585686f [project @ 2005-11-27 00:46:13 by warner]
Revision: arch@buildbot.sf.net--2004/buildbot--dev--0--patch-444
Creator:  Brian Warner <warner@lothar.com>

fix StatusReceiver unsubscribe bug

	* buildbot/status/builder.py (BuildStepStatus.unsubscribe): make
	sure that unsubscribe works even if we never sent an ETA update.
	Also, don't explode on duplicate unsubscribe.
	(BuildStepStatus.addLog): make the convenience "return self"-added
	watcher automatically unsubscribe when the Step finishes.
	(BuildStatus.unsubscribe): same handle-duplicate-unsubscribe
	(BuildStatus.stepStarted): same auto-unsubscribe
	(BuilderStatus.buildStarted): same auto-unsubscribe

	* buildbot/interfaces.py (IStatusReceiver.buildStarted): document
	auto-unsubscribe
	(IStatusReceiver.stepStarted): same
	(IStatusReceiver.logStarted): same

	* buildbot/test/test_run.py (Status): move the Status test..
	* buildbot/test/test_status.py (Subscription): .. to here
2005-11-27 06:46:13 +01:00
warner 41cdf5aa1a [project @ 2005-11-26 02:46:33 by warner]
Revision: arch@buildbot.sf.net--2004/buildbot--dev--0--patch-442
Creator:  Brian Warner <warner@lothar.com>

update NEWS again

	* NEWS: more updates
2005-11-26 08:46:33 +01:00
warner 2b57887438 [project @ 2005-11-26 02:14:31 by warner]
Revision: arch@buildbot.sf.net--2004/buildbot--dev--0--patch-440
Creator:  Brian Warner <warner@lothar.com>

fix the multiple-equivalent-Lock-instances bug on config-file reload

	* buildbot/locks.py: fix the problem in which loading a master.cfg
	file that changes some Builders (but not all of them) can result
	in having multiple copies of the same Lock. Now, the real Locks
	are kept in a table inside the BotMaster, and the Builders/Steps
	use "LockIDs", which are still instances of MasterLock and
	SlaveLock. The real Locks are instances of the new RealMasterLock
	and RealSlaveLock classes.
	* buildbot/master.py (BotMaster.getLockByID): new method to
	convert LockIDs into real Locks.
	* buildbot/process/base.py (Build.startBuild): convert LockIDs
	into real Locks before building
	* buildbot/process/step.py (BuildStep.startStep): same
	* buildbot/test/test_locks.py (Locks.testLock1a): add a test which
	exercises the problem
2005-11-26 08:14:31 +01:00
warner 111b68933c [project @ 2005-11-26 02:09:24 by warner]
Revision: arch@buildbot.sf.net--2004/buildbot--dev--0--patch-438
Creator:  Brian Warner <warner@lothar.com>

add cron-style 'scheduler.Nightly', thanks to Dobes Vandermeer

	* docs/buildbot.texinfo (Scheduler Types): give a few hints about
	what Schedulers are available

	* buildbot/scheduler.py (Nightly): add new Scheduler based upon
	work by Dobes Vandermeer and hacked mercilessly by me. This offers
	'cron'-style build scheduling at certain times of day, week,
	month, or year.
	* buildbot/test/test_scheduler.py (Scheduling.testNightly): test it
2005-11-26 08:09:24 +01:00
tailor 464eaffcdd Tailorization
Import of the upstream sources from
 Repository: warner@cvs.sourceforge.net:/cvsroot/buildbot
       Kind: cvs
     Module: buildbot
   Revision: 2005-11-25 23:26:35 by warner
2005-11-26 05:26:35 +01:00