launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #26686
[Merge] lp:~cjwatson/lpbuildbot/one-build-per-worker into lp:lpbuildbot
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
Follow ups