Auto-release to stable from build service

Sure, that’s what I did for MAME. I have two branches. One which builds (whenever I trigger it) and pushes to edge only. It gets the stable version from a file in the upstream source tree. The other builds and pushes to candidate and beta only. I’m doing this because the build service can’t cater for this use case right now. I use lp-build-snap to trigger launchpad to do the builds.

I could push to stable, but there’s a bug in the snap currently which means I need process-control to get audio working. Once that works, I could probably have launchpad build and push directly to stable.

Here’s the result:

alan@KinkPad-K340:~$ snap info mame
name:      mame
summary:   Multiple Arcade Machine Emulator (MAME)
publisher: popey
contact:   alan@popey.com
license:   unknown
description: |
  MAME is a hardware emulator. it faithfully reproduces the behaviour of
  many arcade machines (it is not a simulation). This program is not a game
  but can directly, through ROM images, run the complete system of these old
  arcade machines. These ROMs are subject to copyright and it is in most of
  the cases illegal to use them if you do not own the arcade machine.
  .
  This package provides the MAME binary and configuration files and support
  libraries.
  .
  Place ROMs in "~/snap/mame/common/roms" or edit the ini file located
  in "~/snap/mame/common/mame.ini" to point to where your ROMs
  and other files are.
snap-id: D2AbMrcy0frlQRhokuBnhAtABqtw8hJb
commands:
  - mame
tracking:    candidate
installed:   0.194 (96) 117MB -
refreshed:   2018-02-25 03:17:35 +0000 UTC
channels:                       
  stable:    –                        
  candidate: 0.194         (96) 117MB -
  beta:      0.194         (96) 117MB -
  edge:      0.194-b38f1d0 (95) 118MB -

However, as with your requirement, it’s totally under my control. I choose when to build and push to the store via a command on my laptop lp-build-snap --lpname popey mamestable (and lp-build-snap --lpname popey mameedge).

Worth a look perhaps rather than waiting for build.snapcraft.io to grow the features you need. Launchpad is way more flexible for these use cases.