Colin Watson has proposed merging lp:~cjwatson/lpbuildbot/one-build-per-worker into lp:lpbuildbot.
Commit message: Only allow one build on each buildslave at a time. Requested reviews: Launchpad code reviewers (launchpad-reviewers) For more details, see: https://code.launchpad.net/~cjwatson/lpbuildbot/one-build-per-worker/+merge/399813 This should ensure that xenial/bionic or py2/py3 builds on the same buildslave don't interfere with each other, and also that we can potentially fall back to running everything on a single buildslave if one of them is broken. -- Your team Launchpad code reviewers is requested to review the proposed merge of lp:~cjwatson/lpbuildbot/one-build-per-worker into lp:lpbuildbot.
=== modified file 'master.cfg' --- master.cfg 2021-03-12 13:50:10 +0000 +++ master.cfg 2021-03-17 19:28:59 +0000 @@ -25,6 +25,11 @@ c['slavePortnum'] = 9989 +# Only allow one build on each buildslave at a time. + +from buildbot import locks +build_lock = locks.SlaveLock('build', maxCount=1) + ####### CHANGESOURCES # the 'change_source' setting tells the buildmaster how it should find out @@ -171,53 +176,61 @@ slavenames=[''], builddir='lp-devel-xenial', factory=launchpad_test_factory_factory( - '/var/lib/buildbot/slaves/xenial-lxd-worker', 'lptests-xenial')), + '/var/lib/buildbot/slaves/xenial-lxd-worker', 'lptests-xenial'), + locks=[build_lock.access('counting')]), BuilderConfig( name='lp-db-devel-xenial', slavenames=[''], builddir='lp-db-devel-xenial', factory=launchpad_test_factory_factory( - '/var/lib/buildbot/slaves/xenial-lxd-worker', 'lptests-xenial')), + '/var/lib/buildbot/slaves/xenial-lxd-worker', 'lptests-xenial'), + locks=[build_lock.access('counting')]), BuilderConfig( name='lp-devel-xenial-py3', slavenames=[''], builddir='lp-devel-xenial-py3', factory=launchpad_test_factory_factory( '/var/lib/buildbot/slaves/xenial-lxd-worker', 'lptests-xenial', - variables={'PYTHON': 'python3'})), + variables={'PYTHON': 'python3'}), + locks=[build_lock.access('counting')]), BuilderConfig( name='lp-db-devel-xenial-py3', slavenames=[''], builddir='lp-db-devel-xenial-py3', factory=launchpad_test_factory_factory( '/var/lib/buildbot/slaves/xenial-lxd-worker', 'lptests-xenial', - variables={'PYTHON': 'python3'})), + variables={'PYTHON': 'python3'}), + locks=[build_lock.access('counting')]), BuilderConfig( name='lp-devel-bionic', slavenames=[''], builddir='lp-devel-bionic', factory=launchpad_test_factory_factory( - '/var/lib/buildbot/slaves/bionic-lxd-worker', 'lptests-bionic')), + '/var/lib/buildbot/slaves/bionic-lxd-worker', 'lptests-bionic'), + locks=[build_lock.access('counting')]), BuilderConfig( name='lp-db-devel-bionic', slavenames=[''], builddir='lp-db-devel-bionic', factory=launchpad_test_factory_factory( - '/var/lib/buildbot/slaves/bionic-lxd-worker', 'lptests-bionic')), + '/var/lib/buildbot/slaves/bionic-lxd-worker', 'lptests-bionic'), + locks=[build_lock.access('counting')]), BuilderConfig( name='lp-devel-bionic-py3', slavenames=[''], builddir='lp-devel-bionic-py3', factory=launchpad_test_factory_factory( '/var/lib/buildbot/slaves/bionic-lxd-worker', 'lptests-bionic', - variables={'PYTHON': 'python3'})), + variables={'PYTHON': 'python3'}), + locks=[build_lock.access('counting')]), BuilderConfig( name='lp-db-devel-bionic-py3', slavenames=[''], builddir='lp-db-devel-bionic-py3', factory=launchpad_test_factory_factory( '/var/lib/buildbot/slaves/bionic-lxd-worker', 'lptests-bionic', - variables={'PYTHON': 'python3'})), + variables={'PYTHON': 'python3'}), + locks=[build_lock.access('counting')]), ] ####### STATUS TARGETS
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp