We now support snaps in trusty, and the first thing I thought when that work was ready was to run snaps in Travis CI. Sadly, that doesn’t work:
Running snaps in Travis would be a huge win for us. Almost all of the free software projects are already running their unit tests in there. If they could easily install the packaged app too we could start a whole new trend of user tests in travis.
The snaps have very nice features already to make this a great experience: they provide a lot of isolation out of the box, if you remove the snap all the data is gone ready to start fresh for the following test, and (in good theory) if you test that the snap works in one platform, it will work the same in all the others.
And Travis also has some nice features that will allow to run different suites when a new snap is released to each of the different channels.
It could be a great incentive to use snaps and put them in our store. Anybody with ideas to move that bug forward? Do we have a contact working in Travis? Could our kernel team work with their kernel team to make it happen?
Based on the track record of Travis system updates, I’m not super optimistic about getting this working in the short term. Travis only got support for Ubuntu 14.04 in 2016, and 16.04 is going in the same direction, so I doubt they’ll fix anything promptly. Most likely they’ll add support for 16.04 before they bother considering the issue.
well, could we run a kvm under travis ? (i never tried, but that way you could use our kernel)
The strictly technical answer is yes, but the caveat is that most VPS providers disable nested KVM support, which means the internal one becomes software-only and extremely slow.
Enabling snaps in trusty will open their builds to all kinds of new software without having to update to xenial. That might be an easier transition for them, maybe not a terrible hard thing to sell. Specially if we can help them with the kernel changes.
The day I’ve been waiting for has arrived!
I have a post ready for review about running snaps and user acceptance tests for them in Travis: