The Allegro Wiki is undergoing maintenance, please be patient.
The intent behind this project is to provide allegro with a continuous integration and build server. Eventually it should run tests on every push to the git repo, for all main supported branches, and make source, and binary end-user packages automatically.
- Software to support continuous integration and testing (buildbot, docker, kvm, libvirt) has been selected.
- A server has been built.
- A buildmaster vm has been set up to manage builds.
- An initial build slave for linux (and testing buildbot) has been setup with buildbot's buildslave, and docker.io for light weight containers.
"Bender" as it is affectionately called, is a Dual Socket Opteron system with 32 total Bulldozer cores, and 112 GB of memory. Initial hard disk space available is 2TB in a 3x1TB RAID5 array, and a 600GB system drive (this may/should change to a raid1 of two or more drives eventually). This will grow in the future once some issues are resolved with the external SAS card that was purchased for this box.
KVM + Libvirt
KVM and libvirt allow hosting multiple operating systems on a single host. The current setup is really basic. Nothing special other than setting up libvirt for tcp+tls connections, and spice.
The reason to use docker rather than individual vm's for each linux distro is to support testing compiling as a user would on that distro with the latest available packages.
A standalone VM would "remember" the package dependencies, where as a docker instance will immediately forget any changes made to it when it shuts down.
Buildbot is the core of this project. Without it, this project would not be feasible.
Buildbot is a server/client python toolkit that supports setting up remote execution, and specializes in building and testing software. It runs on Linux, OSX, and Windows.
Information on the setup and our configuration of Buildbot is here.