github.com/szyn/goreleaser@v0.76.1-0.20180517112710-333da09a1297/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 # This is parsed with the Go template engine and the following variables 33 # are available: 34 # - ProjectName 35 # - Tag 36 # - Version (Git tag without `v` prefix) 37 # There is also a template function "time" that takes a Go time format 38 # string to insert a formated timestamp into the release name. 39 # Default is `` 40 name_template: "{{.ProjectName}}-v{{.Version}}" 41 42 # You can disable this pipe in order to not upload any artifacts to 43 # GitHub. 44 # Defaults to false. 45 disable: true 46 ``` 47 48 ## Customize the changelog 49 50 You can customize how the changelog is generated using the 51 `changelog` section in the config file: 52 53 ```yaml 54 # .goreleaser.yml 55 changelog: 56 filters: 57 # commit messages matching the regexp listed here will be removed from 58 # the changelog 59 # Default is empty 60 exclude: 61 - '^docs:' 62 - typo 63 - (?i)foo 64 # could either be asc, desc or empty 65 # Default is empty 66 sort: asc 67 ``` 68 69 ## Custom release notes 70 71 You can specify a file containing your custom release notes, and 72 pass it with the `--release-notes=FILE` flag. 73 GoReleaser will then skip its own release notes generation, 74 using the contents of your file instead. 75 You can use Markdown to format the contents of your file. 76 77 On Unix systems you can also generate the release notes in-line by using 78 [process substitution](https://en.wikipedia.org/wiki/Process_substitution). 79 To list all commits since the last tag, but skip ones starting with `Merge` or 80 `docs`, you could run this command: 81 82 ```console 83 $ goreleaser --release-notes <(some_changelog_generator) 84 ``` 85 86 Some changelog generators you can use: 87 88 * [buchanae/github-release-notes](https://github.com/buchanae/github-release-notes)