There is a new go tool that’s becoming popular. It’s called goreleaser. It compiles the go binaries, packages them in different formats, and pushes them to github releases.
It’s very very simple to make snaps from already generated binaries, so we decided to add snap support to goreleaser.
This is the initial basic support. It works for snaps that don’t require plugs and that are not daemons. It will take the generate binary, put it in a prime
directory, generate the metadata in snap.yaml
and call snapcraft to compress it into a .snap
.
https://github.com/goreleaser/goreleaser/pull/317
This is a follow up from the upstream maintainer to improve the initial implementation a little (Thanks a lot
Carlos!).
https://github.com/goreleaser/goreleaser/pull/321
This one adds support to declare plugs and the daemon keyword: