== Machines === autobuild-jenkins * Ubuntu Server 12.04, amd64 * Jenkins * [[https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu|Installation instructions]] * Latest version from non-stable apt repository * Plugins: TODO * Packages from the BuildInstructions page to build the game === autobuild-win7 * Windows 7 Professional, 64-bit * Visual Studio 2010 Professional SP1 * Java JRE 7 * [[https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service#InstallingJenkinsasaWindowsservice-InstallSlaveasaWindowsservice%28require.NET2.0framework%29|Install Jenkins slave agent service]] * [[http://msysgit.github.com/|Git for Windows]] (options: no Explorer integration, don't add to path, core.autocrlf=true) * Set up SSH: * Open Git Bash * "ssh-keygen -t rsa" * "ssh username@autobuild-jenkins", accept key * Copy C:\Users\Username\.ssh to C:\Program Files (x86)\Git\.ssh == Physical layout autobuild-jenkins, autobuild-win7 are !VirtualBox VMs running on the same physical machine. They each have a NAT connection to the internet, and a host-only network connection between themselves and the host. The physical machine runs Xubuntu desktop 12.04, amd64. == Jenkins jobs Automatically on every commit to 'master', and manually when triggered on some other branch by a trusted user, it should: * Build on Linux to detect build errors (some combinations of x86 vs amd64, pch vs non-pch, old GCC vs new GCC vs Clang, etc) * Build on Windows (currently just VS2010, x86) * Upload binaries to somewhere, somehow * Build on weird platforms (BSD, OS X, Android) if anyone cares about them Periodically it should: * Run Doxygen on master, upload generated docs to web server On demand it should: * Create releases packages: get the code/data from a requested release branch, get the associated Windows binaries, build public.zip, build tarballs and Windows installer, upload to web server