env: - GO111MODULE=on before: hooks: - go mod tidy - ./scripts/completions.sh gomod: proxy: true builds: - env: - CGO_ENABLED=0 goos: - linux - darwin - windows goarch: - 386 - amd64 - arm - arm64 mod_timestamp: '{{ .CommitTimestamp }}' flags: - -trimpath ldflags: - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser checksum: name_template: '{{ .ProjectName }}_checksums.txt' changelog: sort: asc filters: exclude: - '^docs:' - '^test:' - Merge pull request - Merge branch - go mod tidy dockers: - image_templates: - 'goreleaser/goreleaser:{{ .Tag }}-amd64' - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64' dockerfile: Dockerfile use: buildx build_flag_templates: - "--pull" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.name={{.ProjectName}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.version={{.Version}}" - "--label=org.opencontainers.image.source={{.GitURL}}" - "--platform=linux/amd64" extra_files: - scripts/entrypoint.sh - image_templates: - 'goreleaser/goreleaser:{{ .Tag }}-arm64' - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64' dockerfile: Dockerfile use: buildx build_flag_templates: - "--pull" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.name={{.ProjectName}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.version={{.Version}}" - "--label=org.opencontainers.image.source={{.GitURL}}" - "--platform=linux/arm64" goarch: arm64 extra_files: - scripts/entrypoint.sh docker_manifests: - name_template: 'goreleaser/goreleaser:{{ .Tag }}' image_templates: - 'goreleaser/goreleaser:{{ .Tag }}-amd64' - 'goreleaser/goreleaser:{{ .Tag }}-arm64' - name_template: 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}' image_templates: - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64' - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64' - name_template: 'goreleaser/goreleaser:latest' image_templates: - 'goreleaser/goreleaser:{{ .Tag }}-amd64' - 'goreleaser/goreleaser:{{ .Tag }}-arm64' - name_template: 'ghcr.io/goreleaser/goreleaser:latest' image_templates: - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64' - 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64' archives: - name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}' replacements: darwin: Darwin linux: Linux windows: Windows 386: i386 amd64: x86_64 format_overrides: - goos: windows format: zip files: - README.md - LICENSE.md - completions/* brews: - tap: owner: goreleaser name: homebrew-tap folder: Formula homepage: https://goreleaser.com description: Deliver Go binaries as fast and easily as possible license: MIT test: | system "#{bin}/goreleaser -v" dependencies: - name: go type: optional - name: git install: |- bin.install "goreleaser" bash_completion.install "completions/goreleaser.bash" => "goreleaser" zsh_completion.install "completions/goreleaser.zsh" => "_goreleaser" fish_completion.install "completions/goreleaser.fish" scoop: bucket: owner: goreleaser name: scoop-bucket homepage: https://goreleaser.com description: Deliver Go binaries as fast and easily as possible license: MIT nfpms: - file_name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}' id: packages homepage: https://goreleaser.com description: Deliver Go binaries as fast and easily as possible maintainer: Carlos Alexandro Becker license: MIT vendor: GoReleaser contents: - src: ./completions/goreleaser.bash dst: /etc/bash_completion.d/goreleaser - src: ./completions/goreleaser.fish dst: /usr/share/fish/completions/goreleaser.fish - src: ./completions/goreleaser.zsh dst: /usr/local/share/zsh/site-functions/_goreleaser formats: - apk - deb - rpm dependencies: - git recommends: - golang snapcrafts: - name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}' summary: Deliver Go binaries as fast and easily as possible description: | GoReleaser builds Go binaries for several platforms, creates a GitHub release and then pushes a Homebrew formula to a repository. All that wrapped in your favorite CI. grade: stable confinement: classic publish: true publishers: - name: fury.io ids: - packages env: - 'FURY_TOKEN={{ .Env.FURY_TOKEN }}' cmd: ./scripts/fury-upload.sh {{ .ArtifactName }} release: discussion_category_name: Announcements footer: | --- __Check out [GoReleaser Pro](https://goreleaser.com/pro) as well!__ announce: twitter: enabled: true message_template: 'GoReleaser {{ .Tag }} was just released! Get it while its fresh: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}'