env: - GO111MODULE=on before: hooks: - go mod tidy - ./scripts/completions.sh snapshot: name_template: '{{ incpatch .Version }}-next' gomod: proxy: true builds: - env: - CGO_ENABLED=0 goos: - linux - darwin - windows goarch: - "386" - amd64 - arm - arm64 goarm: - "6" - "7" mod_timestamp: '{{ .CommitTimestamp }}' flags: - -trimpath ldflags: - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser universal_binaries: - replace: true checksum: name_template: 'checksums.txt' changelog: sort: asc use: github filters: exclude: - '^docs:' - '^test:' - '^chore' - 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 conflicts: - goreleaser-pro install: |- bin.install "goreleaser" bash_completion.install "completions/goreleaser.bash" => "goreleaser" zsh_completion.install "completions/goreleaser.zsh" => "_goreleaser" fish_completion.install "completions/goreleaser.fish" rigs: - rig: owner: goreleaser name: fish-food homepage: https://goreleaser.com description: Deliver Go binaries as fast and easily as possible license: MIT 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 signs: - cmd: cosign stdin: '{{ .Env.COSIGN_PWD }}' args: ["sign-blob", "-key=cosign.key", "-output=${signature}", "${artifact}"] artifacts: checksum docker_signs: - artifacts: manifests stdin: '{{ .Env.COSIGN_PWD }}' publishers: - name: fury.io ids: - packages env: - 'FURY_TOKEN={{ .Env.FURY_TOKEN }}' cmd: ./scripts/fury-upload.sh {{ .ArtifactName }} release: extra_files: - glob: ./cosign.pub footer: | ## What to do next? - Check out the [GoReleaser Pro](https://goreleaser.com/pro) distribution; - Join our [Discord server](https://discord.gg/RGEBtg8vQ6); - Follow us on [Twitter](https://twitter.com/goreleaser); - Read the [documentation](https://goreleaser.com/intro/). announce: skip: "{{gt .Patch 0}}" twitter: enabled: true message_template: 'GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}' discord: enabled: true message_template: 'GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}'