While working on #14 and building a Docker-free, Arch Linux-only, systemd-nspawn-only variant of the environment so that I can actually comprehend how the whole build process works I naturally came across your Buildbot configuration.
This is what I found so far:
The Buildbot version that Arch Linux ships was complaining about the master URL c['buildbotURL'] not ending on a /:
Fix: c['buildbotURL'] = os.environ.get("MASTER_URL", "http://localhost:8080/")
This applies when the MASTER_URL environment variable is not available.
There are several instances where os.environ.get(…) is called and compared to "true". This is fragile because the check is case-sensitive and thus relies on correct entries in conf.env.
Example: enableDeploy = os.environ.get("ENABLE_DEPLOY", "false") == "true"
Fix: enableDeploy = os.environ.get("ENABLE_DEPLOY", "false").lower() == "true"
If I stumble across more things I'll continue this list.
(I'm building a new environment because I have no experience with Docker but also because I can enter running systemd-nspawn containers easily (machinectl shell ${CONTAINER}). This feels more VM-like as I am used to and provides the means to check on services and to change configurations without the need to rebuild a container.)
While working on #14 and building a Docker-free, Arch Linux-only, systemd-nspawn-only variant of the environment so that I can actually comprehend how the whole build process works I naturally came across your Buildbot configuration.
This is what I found so far:
c['buildbotURL']
not ending on a/
: Fix:c['buildbotURL'] = os.environ.get("MASTER_URL", "http://localhost:8080/")
This applies when the MASTER_URL environment variable is not available.os.environ.get(…)
is called and compared to"true"
. This is fragile because the check is case-sensitive and thus relies on correct entries inconf.env
. Example:enableDeploy = os.environ.get("ENABLE_DEPLOY", "false") == "true"
Fix:enableDeploy = os.environ.get("ENABLE_DEPLOY", "false").lower() == "true"
If I stumble across more things I'll continue this list.
(I'm building a new environment because I have no experience with Docker but also because I can enter running systemd-nspawn containers easily (
machinectl shell ${CONTAINER}
). This feels more VM-like as I am used to and provides the means to check on services and to change configurations without the need to rebuild a container.)