Launchpad needs more dynamic snap support. Currently, it only builds snaps from branches with a static snapcraft.yaml file in the root. Instead, it needs to invoke a build script of some sort (Makefile, executable with a well known name). This script could, for example, extract version numbers from debian/changelog or setup.py, install build dependencies, generate a snapcraft.yaml, run snapcraft to build, run tests. It would even be possible, if Launchpad allows, to build several related snaps and, only if tests pass, upload them all to the store.
Launchpad needs more dynamic snap support. Currently, it only builds snaps from branches with a static snapcraft.yaml file in the root. Instead, it needs to invoke a build script of some sort (Makefile, executable with a well known name). This script could, for example, extract version numbers from debian/changelog or setup.py, install build dependencies, generate a snapcraft.yaml, run snapcraft to build, run tests. It would even be possible, if Launchpad allows, to build several related snaps and, only if tests pass, upload them all to the store.