Details
-
Sub-task
-
Resolution: Out of scope
-
P1: Critical
-
None
Description
We want to make it possible to have on-demand testing of arbitrary SHA1s from any git repo, with many of these requests in parallel.
Most of our testing is done through Pulse which, by itself, is insufficient for this task. We need to script some logic to drive these requests through Pulse.
We should have a script which takes the following inputs:
- git repo and SHA1
- list of configurations (in first version, only supporting meego trunk and harmattan)
- product name (in first version, only supporting mobility)
It should then be able to perform the following steps:
- create a new Pulse project with the appropriate configuration for the given product / repo / platforms
- trigger the project for the given SHA1
- detect when the build has completed
- present the results in a simple human-readable way
- optionally delete the project
The script state needs to be persistent. In other words, if the script is killed at any point during the above steps, and restarted a week later, it should be able to continue with no problem.
This script is a milestone towards having a complete test-on-demand solution. The most important thing is to have a reusable core state machine for driving Pulse. The user interface parts of the script are not very important at this point.