Currently master is unable to start due to some Twisted dependency hell. I've integrated a workaround which should be reverted once we bump to buildbot >= 3.10
To prevent such regressions again in future I've improved the CI testing with a simple, but extensible cram based test suite.
tests/cram/master/01-logs.t: failed
--- tests/cram/master/01-logs.t
+++ tests/cram/master/01-logs.t.err
@@ -5,3 +5,35 @@
creating /master/master.cfg.sample
creating database (sqlite:///state.sqlite)
buildmaster configured in /master
+ Unhandled error in Deferred:
+
+ Traceback (most recent call last):
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/scripts/create_master.py", line 84, in createDB
+ master = BuildMaster(config['basedir'])
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/master.py", line 102, in __init__
+ self._services_d = self.create_child_services()
+ File "/usr/local/lib/python3.9/dist-packages/twisted/internet/defer.py", line 2256, in unwindGenerator
+ return _cancellableInlineCallbacks(gen)
+ File "/usr/local/lib/python3.9/dist-packages/twisted/internet/defer.py", line 2168, in _cancellableInlineCallbacks
+ _inlineCallbacks(None, gen, status, _copy_context())
+ --- <exception caught here> ---
+ File "/usr/local/lib/python3.9/dist-packages/twisted/internet/defer.py", line 2000, in _inlineCallbacks
+ result = context.run(gen.send, result)
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/master.py", line 188, in create_child_services
+ self.www = wwwservice.WWWService()
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/www/service.py", line 196, in __init__
+ self.apps = get_plugins('www', None, load_now=True)
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/plugins/db.py", line 356, in get_plugins
+ return _DB.add_namespace(namespace, interface, check_extras, load_now)
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/plugins/db.py", line 306, in add_namespace
+ tempo.load()
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/plugins/db.py", line 242, in load
+ self._tree.load()
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/plugins/db.py", line 112, in load
+ child.load()
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/plugins/db.py", line 45, in load
+ self._value = self._loader(self._entry)
+ File "/usr/local/lib/python3.9/dist-packages/buildbot/plugins/db.py", line 214, in _load_entry
+ raise PluginDBError('Requirements are not satisfied '
+ buildbot.errors.PluginDBError: Requirements are not satisfied for buildbot.www:base: The 'zope-interface>=5' distribution was not found and is required by Twisted
+
# Ran 1 tests, 0 skipped, 1 failed.
Currently master is unable to start due to some Twisted dependency hell. I've integrated a workaround which should be reverted once we bump to buildbot >= 3.10
To prevent such regressions again in future I've improved the CI testing with a simple, but extensible
cram
based test suite.Example of the cram test output with current master failure: