Ability to map snap releases against the git hash

tl;dr - we need to be able to map a given release against the git hash as we can’t currently map our own gadget snap against what’s considered stable upstream.

My understanding of the release flow for snaps releases is that they are derived from the master branch (such as this repo for pi3-gadget). That kicks off a sequence of events:

  • Edge Channel: Automatically created when landed to master.
  • Candidate Channel: After passing QA on Edge channel.
  • Stable Channel: After additional testing.

Here lays the problem. If you want to build your own pi3-gadget snap for instance, there is no way to track the changes upstream. All you have to work with is a version number.

After chatting with @ondra about this, he pointed out that there is a manifest file inside a given snap with a lot of information, including the launchpad build job. However, this does not appear to include the actual git hash.

I can see a few ways to solve this:

  • Include the git hash inside the manifest file (presumably easy to do)
  • Start tracking releases inside Github Releases (which then automatically be mapped against a hash)