CI setup: improve startup times
The rspec
job does many many things in its startup sequence
- compile frontend assets. In theory we shouldn't need that, given the current subset of tests that we run, but first experiments without it were failures.
- compile Gitaly. Last summer I spent almost a full working day trying to avoid that, but it didn't work because of leaking between the Ruby bundle for Gitaly and the one for the Rails app… An headache of the same kind of the worst Python packaging can offer. Nowadays however, this means also building libgit2 (or is it both libgit2 and Git itself?). That is horribly slow and is not justified, given that we typically don't change these dependencies in a whole Heptapod development cycle.
In the case of upstream GitLab, some of this is done only once and then used on their scores of jobs. At least, this saves server resources even when it doesn't improve the time to get pipeline results. For now, we only have one job, but that is about to change (see #380 (closed)).
The best of course would be to progress both for intra and inter pipeline reuse.
Marking for 0.17.3, because any progress on that subject is good to take and will help us across the board.