1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2024-12-31 01:53:50 +02:00

Merge pull request #327 from elopio/snapcraft-docs

Add the documentation about the snapcraft pipeline
This commit is contained in:
Carlos Alexandro Becker 2017-08-04 22:05:01 -03:00 committed by GitHub
commit d856c0f9db

View File

@ -382,7 +382,7 @@ brew:
<?xml version="1.0" encoding="UTF-8"?>
...
# So you can brew test your formula. Default is empty.
# So you can brew test your formula. Default is empty.
test: |
system "#{bin}/program --version"
...
@ -460,6 +460,65 @@ fpm:
Note that GoReleaser will not install `fpm` nor any of its dependencies for you.
### Snapcraft build customization
GoReleaser can generate `snap` packages. [Snaps](http://snapcraft.io/) are a new packaging format that will let you publish your project directly to the Ubuntu store. From there it will be installable in all the [supported Linux distros](https://snapcraft.io/docs/core/install), with automatic and transactional updates.
You can read more about it in the [snapcraft docs](https://snapcraft.io/docs/).
```yml
# .goreleaser.yml
snapcraft:
# Single-line elevator pitch for your amazing snap.
# 79 char long at most.
summary: Software to create fast and easy drum rolls.
# This the description of your snap. You have a paragraph or two to tell the
# most important story about your snap. Keep it under 100 words though,
# we live in tweetspace and your description wants to look good in the snap
# store.
description: |
This is the best drum roll application out there.
Install it and awe!
# A guardrail to prevent you from releasing a snap to all your users before
# it is ready.
# `devel` will let you release only to the `edge` and `beta` channels in the
# store. `stable` will let you release also to the `candidate` and `stable`
# channels. More info about channels here:
# https://snapcraft.io/docs/reference/channels.
grade: stable
# Snaps can be setup to follow three different confinement policies:
# `strict`, `devmode` and `classic`. A strict confinement where the snap
# can only read and write in its own namespace is recommended. Extra
# permissions for strict snaps can be declared as `plugs` for the app, which
# are explained later. More info about confinement here:
# https://snapcraft.io/docs/reference/confinement).
confinement: strict
# Each binary built by GoReleaser is an app inside the snap. In this section
# you can declare extra details for those binaries. It is optional.
apps:
# The name of the app must be the same name of the binary built.
drumroll:
# If your app requires extra permissions to work outside of its default
# confined space, delcare them here.
# You can read the documentation about the available plugs and the
# things they allow:
# https://snapcraft.io/docs/reference/interfaces).
plugs: ["home", "network"]
# If you want your app to be autostarted and to always run in the
# background, you can make it a simple daemon.
daemon: simple
```
Note that GoReleaser will not install `snapcraft` nor any of its dependencies for you.
### Custom release notes
You can have a markdown file previously created with the release notes, and