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?