I'm doing a project which involves building and testing drivers on OS X. 
Testing would happen on dedicated slave machines, but the snag is that 
after installing the drivers, the machine must be rebooted before 
functional testing is started. I can think of two general ways to approach 
this in Jenkins - I'd be grateful for any advice as to which (or other 
approaches) might be workable:

   1. Design a single Jenkins build job that includes an initial driver 
   install and reboot, and then runs its functional tests after the reboot. I 
   can certainly arrange for daemon code to be run after a reboot on OS X, but 
   I suspect there's no way to make the post-reboot work appear to the master 
   as part of the same job. I presume the master will always think the job 
   ended at the reboot.
   2. Make the install & reboot be a first build job, and then arrange for 
   the functional tests to be the next build job on that same slave. I suppose 
   this might be done in some way with node labels - a single node per slave, 
   labeled with the machine name, or other distinguishing id. But for this to 
   work, the initial install/reboot job would have to block all other jobs 
   from that slave until the functional test job had been scheduled and 
   completed. Does Jenkins have any way to schedule successive jobs to the 
   same slave like this?
   
If anyone has any advice on these or other methods, please let me know. 
Thanks!

-- Jonathan

Reply via email to