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

     1  ---
     2  title: Release
     3  series: customization
     4  hideFromIndex: true
     5  weight: 110
     6  ---
     7  
     8  GoReleaser will create a GitHub release with the current tag, upload all
     9  the artifacts and generate the changelog based on the new commits since the
    10  previous tag.
    11  
    12  Let's see what can be customized in the `release` section:
    13  
    14  ```yml
    15  # .goreleaser.yml
    16  release:
    17    # Repo in which the release will be created.
    18    # Default is extracted from the origin remote URL.
    19    github:
    20      owner: user
    21      name: repo
    22  
    23    # If set to true, will not auto-publish the release.
    24    # Default is false.
    25    draft: true
    26  
    27    # If set to true, will mark the release as not ready for production.
    28    # Default is false.
    29    prerelease: true
    30  
    31    # You can change the name of the GitHub release.
    32    # Default is ``
    33    name_template: "{{.ProjectName}}-v{{.Version}} {{.Env.USER}}"
    34  
    35    # You can disable this pipe in order to not upload any artifacts to
    36    # GitHub.
    37    # Defaults to false.
    38    disable: true
    39  ```
    40  
    41  > Learn more about the [name template engine](/templates).
    42  
    43  ## Customize the changelog
    44  
    45  You can customize how the changelog is generated using the
    46  `changelog` section in the config file:
    47  
    48  ```yaml
    49  # .goreleaser.yml
    50  changelog:
    51    # could either be asc, desc or empty
    52    # Default is empty
    53    sort: asc
    54    filters:
    55      # commit messages matching the regexp listed here will be removed from
    56      # the changelog
    57      # Default is empty
    58      exclude:
    59        - '^docs:'
    60        - typo
    61        - (?i)foo
    62  ```
    63  
    64  ## Custom release notes
    65  
    66  You can specify a file containing your custom release notes, and
    67  pass it with the `--release-notes=FILE` flag.
    68  GoReleaser will then skip its own release notes generation,
    69  using the contents of your file instead.
    70  You can use Markdown to format the contents of your file.
    71  
    72  On Unix systems you can also generate the release notes in-line by using
    73  [process substitution](https://en.wikipedia.org/wiki/Process_substitution).
    74  To list all commits since the last tag, but skip ones starting with `Merge` or
    75  `docs`, you could run this command:
    76  
    77  ```console
    78  $ goreleaser --release-notes <(some_changelog_generator)
    79  ```
    80  
    81  Some changelog generators you can use:
    82  
    83  - [buchanae/github-release-notes](https://github.com/buchanae/github-release-notes)