github.com/fitzix/goreleaser@v0.92.0/www/content/snapcraft.md (about)

     1  ---
     2  title: Snapcraft
     3  series: customization
     4  hideFromIndex: true
     5  weight: 81
     6  ---
     7  
     8  GoReleaser can also generate `snap` packages.
     9  [Snaps](http://snapcraft.io/) are a new packaging format, that will let you
    10  publish your project directly to the Ubuntu store.
    11  From there it will be installable in all the
    12  [supported Linux distros](https://snapcraft.io/docs/core/install), with
    13  automatic and transactional updates.
    14  
    15  You can read more about it in the [snapcraft docs](https://snapcraft.io/docs/).
    16  
    17  Available options:
    18  
    19  ```yml
    20  # .goreleaser.yml
    21  snapcraft:
    22    # You can change the name of the package.
    23    # Default: `{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}`
    24    name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
    25  
    26    # Replacements for GOOS and GOARCH in the package name.
    27    # Keys should be valid GOOSs or GOARCHs.
    28    # Values are the respective replacements.
    29    # Default is empty.
    30    replacements:
    31      amd64: 64-bit
    32      386: 32-bit
    33      darwin: macOS
    34      linux: Tux
    35  
    36    # The name of the snap. This is optional.
    37    # Default is project name.
    38    name: drumroll
    39  
    40    # Wether to publish the snap to the snapcraft store.
    41    # Remember you need to `snapcraft login` first.
    42    # Defaults to false.
    43    publish: true
    44  
    45    # Single-line elevator pitch for your amazing snap.
    46    # 79 char long at most.
    47    summary: Software to create fast and easy drum rolls.
    48  
    49    # This the description of your snap. You have a paragraph or two to tell the
    50    # most important story about your snap. Keep it under 100 words though,
    51    # we live in tweetspace and your description wants to look good in the snap
    52    # store.
    53    description: |
    54      This is the best drum roll application out there.
    55      Install it and awe!
    56  
    57    # A guardrail to prevent you from releasing a snap to all your users before
    58    # it is ready.
    59    # `devel` will let you release only to the `edge` and `beta` channels in the
    60    # store. `stable` will let you release also to the `candidate` and `stable`
    61    # channels. More info about channels here:
    62    # https://snapcraft.io/docs/reference/channels
    63    grade: stable
    64  
    65    # Snaps can be setup to follow three different confinement policies:
    66    # `strict`, `devmode` and `classic`. A strict confinement where the snap
    67    # can only read and write in its own namespace is recommended. Extra
    68    # permissions for strict snaps can be declared as `plugs` for the app, which
    69    # are explained later. More info about confinement here:
    70    # https://snapcraft.io/docs/reference/confinement
    71    confinement: strict
    72  
    73    # Each binary built by GoReleaser is an app inside the snap. In this section
    74    # you can declare extra details for those binaries. It is optional.
    75    apps:
    76  
    77      # The name of the app must be the same name as the binary built or the snapcraft name.
    78      drumroll:
    79  
    80        # If your app requires extra permissions to work outside of its default
    81        # confined space, declare them here.
    82        # You can read the documentation about the available plugs and the
    83        # things they allow:
    84        # https://snapcraft.io/docs/reference/interfaces.
    85        plugs: ["home", "network"]
    86  
    87        # If you want your app to be autostarted and to always run in the
    88        # background, you can make it a simple daemon.
    89        daemon: simple
    90  
    91        # If you any to pass args to your binary, you can add them with the
    92        # args option.
    93        args: --foo
    94  ```
    95  
    96  > Learn more about the [name template engine](/templates).
    97  
    98  Note that GoReleaser will not install `snapcraft` nor any of its dependencies
    99  for you.