Move initial checks into their own spread task

The header part of our Travis tests, including everything up to the point where spread tests run, is taking more than 6 minutes by now. That implies everything else is being delayed by this much. The original reason we did some of that was to ensure that we’d not allocate the N machines we’re using for running the full spread test when basic things are broken, but on further analysis this seems counter productive. It means that on a ~30 minutes run, about 20% of that time is being spent on a phase which in reality tends to work because it’s the easiest for us to get right before committing.

So, I propose we move every single check to spread tasks, including the static ones, right away. There’s also no reason to do apt-get update or installing squashfs into Travis itself as we’re doing today, since nothing is supposed to run locally.

As a follow up, I intend to add language to spread to enable the interruption of tasks. Probably some sort of FATAL function that if run inside a task will interrupt the running altogether, including every other worker alive.

@fgimenez If there are no counter arguments or proposals, can you please help moving this forward?

1 Like

Done, this is the PR https://github.com/snapcore/snapd/pull/3401, also takes care of reporting the coverage info to codecov. In the green builds of the different commits in the PR it can be seen that the average improvement is about 6min as expected (from ~30min to ~24min).

1 Like