In order to run a metro testrun on ci, we need Firefox to be set as the default browser. For that, I investigated and we are not completely blocked by bug 911257, as we need to manually do that once on the machines. After that, the rest of the jobs will pass.
We also have to set an option on the machines for when the testrun has finished, we return to Desktop not remain in Start Screen as it is now.
Other than that, we need to create a new tab under Jenkins, for example "Metro", which will hold all the testruns supported. At the moment I assume will be functional and remote. Those will be duplicated after the current ones.
So with the above proposal you will be able to run a single branch only. But what we want is coverage across all of them. So for the beginning we could start with mozilla-central, and once bug 911257 has been fixed we can expand to aurora, beta, and release.
Should we name metro_mozilla-central_functional for example?
We talked in the meeting about using the installer, but that can't be done because when we uninstall it and install it back the next time, the default option previously set will no longer be available.
That's interesting. If the installer can cause the removal of the default browser settings without a manual interaction, there might also be a way to set it after installation. I will have a look at it in the next days.
Regarding the name, I would not create new jobs. It should be possible to update the existing ones to support different kind of builds. The abstraction for build types takes already place in mozmill-automation.
So no new jobs and only when pulse gets a notification for a new default build, to run the job (remote/functional for now) twice, once with firefox and once with metrofirefox? And metrofirefox should be only on Win 8.1 machines.
Not sure what you mean with 'no new jobs' but the rest is fine, yes.
About setting the nightly as Default Application:
I followed the steps from:
First I set the Nigthly as default then I exported the settings, using the file format I made one for setting the Nightly as default.
The thing is, after I imported the settings I had to reboot the machine in order for changes to take place.
I also tried to call the uninstall.exe with the '/SetAsDefaultAppUser' argument as I found here:
cmdArgs = ['%s\uninstall\helper.exe' % dest, '/SetAsDefaultAppUser']
This returns 2 as an exit code.
Also a thing good to mention is that on windows every time we remove the installed build we call the uninstall.exe which will clear the windows registry so the application won't be the default one anymore.
Two weeks ago I had ran metro testruns on our local jenkins by unzipping the binary prior of running the testrun. Giving the directory as a build parameter and not a zip or installer, we won't remove the binary, and the preferences manually set before will persist. So until we find a way to set the firefox as default I would suggest we go with this option.
This will not work for production given that all the other jobs are running the installer and uninstalling the build afterward. It might only work on your local system if you only run metro tests and nothing else.
That's absolutely correct, on the other hand is the only working way so far for running metro tests on CI, also Microsoft says that apps are no longer able to set themselves as default applications, and that the user always chose the association between apps and URI.
Can we please move this discussion about default applications over to bug 911257? Thanks
Metro is no longer actively supported. As long as there is no strong interest in getting this run, we will not implement this.