archzfs / archzfs-ci

Automated testing and deployment for archzfs using buildbot
http://ci.archzfs.com
GNU General Public License v2.0
5 stars 4 forks source link

Some thoughts on Buildbot configuration #15

Open UweSauter opened 9 months ago

UweSauter commented 9 months ago

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:

  1. 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.
  2. 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.)