Automatically run integration tests on new snap in channels

We have a snap that is developed in Launchpad by volunteers, so we rely on developers to run tests rather than having a proper CI/CD flow.

We had a snap that passed the unit and functional testing on the primary maintainer’s system, but the snap coming out of snapcraft had a python issue and didn’t work on users’ machines when it automatically rolled out. Obviously he should have tested the snap itself, but it has made me think about how we can test things more reliably.

Ideally I would like to set up something simple that monitored all the channels (one day perhaps excluding Edge) for new snaps (i.e. a revision number it hasn’t seen before) and run some black-box testing.

None of it seems particularly hard to do, but I wanted to see if anyone on here had already done something similar to save me starting from scratch.

I’m not aware of such a workflow, but you could take a look at the store API at api.snapcraft.io/docs and possibly use the info endpoint and get the channel-map for the snap and try to use that to implement this?

See http://api.snapcraft.io/docs/info.html