Details
-
User Story
-
Resolution: Done
-
P2: Important
-
None
-
None
-
5
-
2199311bc45cbad453de5a0b804abe490ccfacd7
Description
Currently, every Pulse run we initiate needs to do a project reinitialization as the first step.
The reason is that the new tested git history may have absolutely no connection to the old history. The current test is not necessarily a fast-forward of the previous test, and Pulse requires (or seems to require) reinitialization always in this case.
This in itself is not really a problem, but a few issues combine to make this quite slow. In particular, because we can't hook up Pulse directly to gerrit due to QTQAINFRA-164, we are using this intermediate git repo as a holding area, qa-dungeon/working-area.git. That repo is very large and cloning it is slow, which is the main problem - initialization can take >15 minutes.
Insidiously, the time spent on this is almost completely hidden, e.g. if you check a report of the build time trends in Pulse this time won't be represented.
In theory QTQAINFRA-164 should be the "proper" fix for this, but that requires a Pulse server upgrade. This task is about implementing a less drastic measure, sooner. In particular I think this should be solvable by deploying a simple git wrapper script and git object cache on the Pulse server. (git_mirror.pl is not suitable for this)