Saturday, April 19, 2008

armenzg: Hera Try Server Unit Tests status

The Mozilla@Seneca Hera Try Server has been able to run Unit Tests after uploading a patch during this week!

This is basically what it does:
  • Upload a patch through thos form sendchange_test.cgi (You need credentials)
  • The 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 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.


  1. Armen, could you give a URL to the try server? (I think you tried, but it ended up as a Mailto:)

  2. This is the waterfall view -

    And this is from where you get to the forms to upload the patches, which require you to identify yourself -

    I would like to modify the blog post but it will be reposted on the planet. I will do another blog post during this week