github.com/goreleaser/goreleaser@v1.25.1/.goreleaser.yaml (about) 1 # yaml-language-server: $schema=https://goreleaser.com/static/schema.json 2 # vim: set ts=2 sw=2 tw=0 fo=jcroql 3 version: 1 4 5 env: 6 - GO111MODULE=on 7 8 before: 9 hooks: 10 - go mod tidy 11 - ./scripts/completions.sh 12 - ./scripts/manpages.sh 13 14 snapshot: 15 name_template: "{{ incpatch .Version }}-next" 16 17 gomod: 18 proxy: true 19 20 report_sizes: true 21 22 git: 23 ignore_tags: 24 - "{{ if not .IsNightly }}nightly{{ end }}" 25 26 metadata: 27 mod_timestamp: "{{ .CommitTimestamp }}" 28 29 builds: 30 - env: 31 - CGO_ENABLED=0 32 goos: 33 - linux 34 - darwin 35 - windows 36 goarch: 37 - "386" 38 - amd64 39 - arm 40 - arm64 41 - ppc64 42 goarm: 43 - "7" 44 ignore: 45 - goos: windows 46 goarch: arm 47 mod_timestamp: "{{ .CommitTimestamp }}" 48 flags: 49 - -trimpath 50 ldflags: 51 - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser -X main.treeState={{ .IsGitDirty }} 52 53 universal_binaries: 54 - replace: false 55 56 # temporarely disables until we add better filters for platforms et al, and test more. 57 # upx: 58 # - enabled: true 59 60 checksum: 61 name_template: "checksums.txt" 62 63 changelog: 64 sort: asc 65 use: github 66 filters: 67 exclude: 68 - "^test:" 69 - "^test\\(" 70 - "^chore" 71 - "merge conflict" 72 - Merge pull request 73 - Merge remote-tracking branch 74 - Merge branch 75 - go mod tidy 76 groups: 77 - title: Dependency updates 78 regexp: '^.*?(feat|fix|chore)\(deps\)!?:.+$' 79 order: 300 80 - title: "New Features" 81 regexp: '^.*?feat(\(.+\))??!?:.+$' 82 order: 100 83 - title: "Security updates" 84 regexp: '^.*?sec(\(.+\))??!?:.+$' 85 order: 150 86 - title: "Bug fixes" 87 regexp: '^.*?(fix|refactor)(\(.+\))??!?:.+$' 88 order: 200 89 - title: "Documentation updates" 90 regexp: ^.*?docs?(\(.+\))??!?:.+$ 91 order: 400 92 - title: "Build process updates" 93 regexp: ^.*?(build|ci)(\(.+\))??!?:.+$ 94 order: 400 95 - title: Other work 96 order: 9999 97 98 dockers: 99 - image_templates: 100 - "goreleaser/goreleaser:v{{ .Version }}-amd64" 101 - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" 102 dockerfile: Dockerfile 103 use: buildx 104 build_flag_templates: 105 - "--pull" 106 - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md" 107 - "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png" 108 - '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]' 109 - "--label=io.artifacthub.package.license=MIT" 110 - "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible" 111 - "--label=org.opencontainers.image.created={{.Date}}" 112 - "--label=org.opencontainers.image.name={{.ProjectName}}" 113 - "--label=org.opencontainers.image.revision={{.FullCommit}}" 114 - "--label=org.opencontainers.image.version={{.Version}}" 115 - "--label=org.opencontainers.image.source={{.GitURL}}" 116 - "--platform=linux/amd64" 117 extra_files: 118 - scripts/entrypoint.sh 119 - image_templates: 120 - "goreleaser/goreleaser:v{{ .Version }}-arm64" 121 - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" 122 dockerfile: Dockerfile 123 use: buildx 124 build_flag_templates: 125 - "--pull" 126 - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md" 127 - "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png" 128 - '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]' 129 - "--label=io.artifacthub.package.license=MIT" 130 - "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible" 131 - "--label=org.opencontainers.image.created={{.Date}}" 132 - "--label=org.opencontainers.image.name={{.ProjectName}}" 133 - "--label=org.opencontainers.image.revision={{.FullCommit}}" 134 - "--label=org.opencontainers.image.version={{.Version}}" 135 - "--label=org.opencontainers.image.source={{.GitURL}}" 136 - "--platform=linux/arm64" 137 goarch: arm64 138 extra_files: 139 - scripts/entrypoint.sh 140 141 docker_manifests: 142 - name_template: "goreleaser/goreleaser:v{{ .Version }}" 143 image_templates: 144 - "goreleaser/goreleaser:v{{ .Version }}-amd64" 145 - "goreleaser/goreleaser:v{{ .Version }}-arm64" 146 - name_template: "ghcr.io/goreleaser/goreleaser:v{{ .Version }}" 147 image_templates: 148 - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" 149 - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" 150 - name_template: "{{ if not .IsNightly }}goreleaser/goreleaser:latest{{ end }}" 151 image_templates: 152 - "goreleaser/goreleaser:v{{ .Version }}-amd64" 153 - "goreleaser/goreleaser:v{{ .Version }}-arm64" 154 - name_template: "{{ if not .IsNightly }}ghcr.io/goreleaser/goreleaser:latest{{ end }}" 155 image_templates: 156 - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" 157 - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" 158 - name_template: "{{ if .IsNightly }}goreleaser/goreleaser:nightly{{ end }}" 159 image_templates: 160 - "goreleaser/goreleaser:v{{ .Version }}-amd64" 161 - "goreleaser/goreleaser:v{{ .Version }}-arm64" 162 - name_template: "{{ if .IsNightly }}ghcr.io/goreleaser/goreleaser:nightly{{ end }}" 163 image_templates: 164 - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" 165 - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" 166 167 archives: 168 - name_template: >- 169 {{- .ProjectName }}_ 170 {{- title .Os }}_ 171 {{- if eq .Arch "amd64" }}x86_64 172 {{- else if eq .Arch "386" }}i386 173 {{- else }}{{ .Arch }}{{ end }} 174 {{- if .Arm }}v{{ .Arm }}{{ end -}} 175 format_overrides: 176 - goos: windows 177 format: zip 178 builds_info: 179 group: root 180 owner: root 181 files: 182 - README.md 183 - LICENSE.md 184 - completions/* 185 - manpages/* 186 187 brews: 188 - repository: 189 owner: goreleaser 190 name: homebrew-tap 191 directory: Formula 192 goarm: "7" 193 homepage: https://goreleaser.com 194 description: Deliver Go binaries as fast and easily as possible 195 license: MIT 196 test: | 197 system "#{bin}/goreleaser -v" 198 dependencies: 199 - name: go 200 type: optional 201 - name: git 202 conflicts: 203 - goreleaser-pro 204 extra_install: |- 205 bash_completion.install "completions/goreleaser.bash" => "goreleaser" 206 zsh_completion.install "completions/goreleaser.zsh" => "_goreleaser" 207 fish_completion.install "completions/goreleaser.fish" 208 man1.install "manpages/goreleaser.1.gz" 209 210 nix: 211 - name: goreleaser 212 repository: 213 owner: goreleaser 214 name: nur 215 homepage: https://goreleaser.com 216 description: Deliver Go binaries as fast and easily as possible 217 path: pkgs/goreleaser/default.nix 218 license: mit 219 extra_install: |- 220 installManPage ./manpages/goreleaser.1.gz 221 installShellCompletion ./completions/* 222 223 winget: 224 - name: goreleaser 225 publisher: goreleaser 226 license: MIT 227 homepage: https://goreleaser.com 228 short_description: Deliver Go binaries as fast and easily as possible 229 repository: 230 owner: goreleaser 231 name: winget-pkgs 232 branch: "goreleaser-{{.Version}}" 233 pull_request: 234 enabled: true 235 draft: true 236 base: 237 owner: microsoft 238 name: winget-pkgs 239 branch: master 240 241 aurs: 242 - homepage: https://goreleaser.com 243 description: Deliver Go binaries as fast and easily as possible 244 maintainers: 245 - "Fernandez Ludovic <lfernandez dot dev at gmail dot com>" 246 - "Carlos Alexandro Becker <carlos at becker dot software>" 247 license: MIT 248 private_key: "{{ .Env.AUR_KEY }}" 249 git_url: "ssh://aur@aur.archlinux.org/goreleaser-bin.git" 250 package: |- 251 # bin 252 install -Dm755 "./goreleaser" "${pkgdir}/usr/bin/goreleaser" 253 254 # license 255 install -Dm644 "./LICENSE.md" "${pkgdir}/usr/share/licenses/goreleaser/LICENSE" 256 257 # completions 258 mkdir -p "${pkgdir}/usr/share/bash-completion/completions/" 259 mkdir -p "${pkgdir}/usr/share/zsh/site-functions/" 260 mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/" 261 install -Dm644 "./completions/goreleaser.bash" "${pkgdir}/usr/share/bash-completion/completions/goreleaser" 262 install -Dm644 "./completions/goreleaser.zsh" "${pkgdir}/usr/share/zsh/site-functions/_goreleaser" 263 install -Dm644 "./completions/goreleaser.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/goreleaser.fish" 264 265 # man pages 266 install -Dm644 "./manpages/goreleaser.1.gz" "${pkgdir}/usr/share/man/man1/goreleaser.1.gz" 267 268 scoops: 269 - repository: 270 owner: goreleaser 271 name: scoop-bucket 272 directory: bucket 273 homepage: https://goreleaser.com 274 description: Deliver Go binaries as fast and easily as possible 275 license: MIT 276 277 nfpms: 278 - file_name_template: "{{ .ConventionalFileName }}" 279 id: packages 280 homepage: https://goreleaser.com 281 description: |- 282 Deliver Go binaries as fast and easily as possible. 283 GoReleaser allows you to release easily build, package, publish and 284 announce to several places at one go. 285 maintainer: Carlos Alexandro Becker <carlos@becker.software> 286 license: MIT 287 vendor: GoReleaser 288 bindir: /usr/bin 289 section: utils 290 contents: 291 - src: ./completions/goreleaser.bash 292 dst: /usr/share/bash-completion/completions/goreleaser 293 file_info: 294 mode: 0644 295 - src: ./completions/goreleaser.fish 296 dst: /usr/share/fish/vendor_completions.d/goreleaser.fish 297 file_info: 298 mode: 0644 299 - src: ./completions/goreleaser.zsh 300 dst: /usr/share/zsh/vendor-completions/_goreleaser 301 file_info: 302 mode: 0644 303 - src: ./manpages/goreleaser.1.gz 304 dst: /usr/share/man/man1/goreleaser.1.gz 305 file_info: 306 mode: 0644 307 - src: ./LICENSE.md 308 dst: /usr/share/doc/goreleaser/copyright 309 file_info: 310 mode: 0644 311 formats: 312 - apk 313 - deb 314 - rpm 315 - archlinux 316 dependencies: 317 - git 318 recommends: 319 - golang 320 deb: 321 lintian_overrides: 322 - statically-linked-binary 323 - changelog-file-missing-in-native-package 324 325 snapcrafts: 326 - name_template: "{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" 327 summary: Deliver Go binaries as fast and easily as possible 328 description: | 329 GoReleaser builds Go binaries for several platforms, creates a GitHub 330 release and then pushes a Homebrew formula to a repository. All that 331 wrapped in your favorite CI. 332 grade: stable 333 confinement: classic 334 publish: true 335 disable: "{{ if .IsNightly }}true{{ end }}" 336 337 sboms: 338 - artifacts: archive 339 340 signs: 341 - cmd: cosign 342 certificate: "${artifact}.pem" 343 output: true 344 artifacts: checksum 345 args: 346 - sign-blob 347 - "--output-certificate=${certificate}" 348 - "--output-signature=${signature}" 349 - "${artifact}" 350 - --yes 351 352 docker_signs: 353 - cmd: cosign 354 artifacts: manifests 355 output: true 356 args: 357 - "sign" 358 - "${artifact}@${digest}" 359 - --yes 360 361 publishers: 362 - name: fury.io 363 ids: 364 - packages 365 env: 366 - "FURY_TOKEN={{ .Env.FURY_TOKEN }}" 367 cmd: ./scripts/fury-upload.sh {{ .ArtifactName }} 368 disable: "{{ if .IsNightly }}true{{ end }}" 369 370 milestones: 371 - close: true 372 373 release: 374 name_template: "v{{ .Version }}" 375 footer: | 376 **Full Changelog**: https://github.com/goreleaser/goreleaser/compare/{{ .PreviousTag }}...{{ if .IsNightly }}nightly{{ else }}{{ .Tag }}{{ end }} 377 378 {{ if not .IsNightly }} 379 ## Helping out 380 381 This release is only possible thanks to **all** the support of some **awesome people**! 382 383 Want to be one of them? 384 You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro License](https://goreleaser.com/pro) or [contribute with code](https://goreleaser.com/contributing). 385 386 ## Where to go next? 387 388 * Find examples and commented usage of all options in our [website](https://goreleaser.com/intro/). 389 * Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and [Twitter](https://twitter.com/goreleaser)! 390 391 <a href="https://goreleaser.com"><img src="https://raw.githubusercontent.com/goreleaser/artwork/master/opencollective-header.png" with="100%" alt="GoReleaser logo"></a> 392 {{ end }} 393 394 announce: 395 twitter: 396 enabled: false 397 message_template: "GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}" 398 399 mastodon: 400 enabled: true 401 message_template: "#GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}" 402 server: https://fosstodon.org 403 404 discord: 405 enabled: true 406 message_template: "GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}"