diff --git a/buildbot/README-bbworker.md b/buildbot/README-bbworker.md new file mode 100644 index 00000000..6a9abcc3 --- /dev/null +++ b/buildbot/README-bbworker.md @@ -0,0 +1,36 @@ +How to set up a buildbot worker +================================ + +* Create a Python venv for the buildbot worker, and populate it with the + buildbot-worker and dependent packages: + + cd ~/.myPyEnv + python3.8 -m venv Py38-bb2 + source Py38-bb2/bin/activate + pip install buildbot-worker + + +* Add a project folder, like bb2, that will be the base folder for the buildbot + worker and the venvs used for the builds. + +* Set up venvs for each Python to be supported on this platform. They should be + located in the bb2 folder, and named like "venv-3.8" + +* Add configuration for the new worker in master.cfg, and update the server. + +* Create the worker config using: + + buildbot-worker create-worker . buildbot.wxpython.org:9988 + +* Add start and stop scripts, like these: + + #!/bin/bash + source ~/bin/wrangler.sh Py38-bb2 + echo "(Re)starting the buildbot-worker" + buildbot-worker restart . + + + #!/bin/bash + source ~/bin/wrangler.sh Py38-bb2 + echo "Stopping the buildbot-worker" + buildbot-worker stop . diff --git a/buildbot/master.cfg b/buildbot/master.cfg index feff8f15..89f4883c 100644 --- a/buildbot/master.cfg +++ b/buildbot/master.cfg @@ -49,6 +49,7 @@ c['workers'] = [ worker.Worker('windows-2', bbpasswd.PASSWD1, max_builds=1), worker.Worker('linux-1', bbpasswd.PASSWD1, max_builds=1), worker.Worker('linux-2', bbpasswd.PASSWD1, max_builds=1), + worker.Worker('linux-3', bbpasswd.PASSWD1, max_builds=1), ] @@ -242,11 +243,11 @@ triggerBuilders = [ 'trigger-all-dist',] def makeBuilderConfigs(builder_names): def _portToWorker(port): pwmap = { 'osx': ['macosx-1', 'macosx-2', 'macosx-3'], - 'gtk2': ['linux-1', 'linux-2'], - 'gtk3': ['linux-1', 'linux-2'], + 'gtk2': ['linux-1', 'linux-2', 'linux-3'], + 'gtk3': ['linux-1', 'linux-2', 'linux-3'], 'win32': ['windows-1', 'windows-2'], 'win64': ['windows-1', 'windows-2'], - 'src': ['linux-1', 'linux-2'], + 'src': ['linux-1', 'linux-2', 'linux-3'], 'docs': ['windows-1', 'windows-2'], } return pwmap[port] BCs = [] @@ -286,7 +287,7 @@ def makeBuilderConfigs(builder_names): c['builders'] = makeBuilderConfigs(regularBuilders + distBuilders + otherBuilders) c['builders'].append(util.BuilderConfig(name='trigger-all-dist', - workernames=['linux-1', 'linux-2'], + workernames=['linux-1', 'linux-2', 'linux-3'], factory=makeTriggerFactory()))