This is basically what it does:
- Upload a patch through thos form sendchange_test.cgi (You need credentials)
- The processchanges_test.pl in the build master checks the folder on the try server where the patch are and see if there is any one new. Right not it checks every 1 or 2mins but we will change this to incron (Upon new file creation - This means immediate response)
- The perl script copies all new patches locally and sends the buildbot a message "builbot sendchange"
- This triggers the buildbot to make the "tests" branch to get started
- It applies the patch to the latest source code, it builds, it uploads the build back to the try server through SCP and SSH (this allows the developer to download it) and it runs all 6 unit test suites against that build
Left to be done:
- Add incron for the processchanges_test.pl to run
- Put the waterfall view behind some security measures (We don't want random people to just "force builds" and loose CPU while we want identified users to be able to)
- Add ssh key pairs for the mac and the windows machine
- Create the slave on the windows machine
- Once done, clone all linux machines and the windows machines
- Modify the sendchange_test.cgi file to identify the user who uploaded the patch (right now, every patch says to be uploaded by "armenzg")
- Unify the sendchange_test.cgi form to allow users to upload patches and just get builds without "tests"
- It will be nice to notify the user when the builds are done OR when the unit tests are run (I do not know how)
Another idea - Regionalized builds
I believe that it would be a good project to allow the Hera server to spit back a regionalised build, using Rueen auto-localization tool. This obviously requires more research, but I believe it is viable project to try.
This post could have been much more technical and longer but I decided to KISS since I won't have time to spend time documenting until Tuesday or Wednesday.