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