Here’s the first task, which gives us spread tests that run the full integration test in lxc locally.
https://github.com/snapcore/snapcraft/pull/1272
Thanks a lot to @fgimenez for the help and reviews. Here’s a small follow-up applying some of his suggestions.
https://github.com/snapcore/snapcraft/pull/1287
We already used this suite to check that the snap in edge works correctly and release it to beta.
There’s only one problem I foresee. Our integration suite takes around an hour to run in travis. We can’t currently parallelize it properly because with two threads trying to run snapcraft, they will conflict trying to get the apt lock. As a quick solution we have split the suite in three, which is enough for now but we will hit the same problem soon. I expect that by the time we hit problems again, we can run the snapcraft commands of each test in a container, which gives us full isolation for free.