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: false checksum: name_template: 'checksums.txt' changelog: sort: asc use: github filters: exclude: - '^docs:' - '^test:' - '^chore' - Merge pull request - Merge remote-tracking branch - Merge branch - go mod tidy groups: - title: 'New Features' regexp: "^.*feat[(\\w)]*:+.*$" order: 0 - title: 'Bug fixes' regexp: "^.*fix[(\\w)]*:+.*$" order: 10 - title: Other work order: 999 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: '{{ .ConventionalFileName }}' 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 sboms: - artifacts: archive signs: - cmd: cosign env: - COSIGN_EXPERIMENTAL=1 certificate: '${artifact}.pem' output: true args: - sign-blob - '--oidc-issuer={{if index .Env "CI"}}https://token.actions.githubusercontent.com{{else}}https://oauth2.sigstore.dev/auth{{end}}' - '--output-certificate=${certificate}' - '--output-signature=${signature}' - '${artifact}' - id: sign-sboms cmd: cosign env: - COSIGN_EXPERIMENTAL=1 certificate: '${artifact}.pem' output: true args: - sign-blob - '--oidc-issuer={{if index .Env "CI"}}https://token.actions.githubusercontent.com{{else}}https://oauth2.sigstore.dev/auth{{end}}' - '--output-certificate=${certificate}' - '--output-signature=${signature}' - '${artifact}' artifacts: sbom docker_signs: - cmd: cosign env: - COSIGN_EXPERIMENTAL=1 artifacts: manifests output: true args: - 'sign' - '--oidc-issuer={{if index .Env "CI"}}https://token.actions.githubusercontent.com{{else}}https://oauth2.sigstore.dev/auth{{end}}' - '${artifact}' publishers: - name: fury.io ids: - packages env: - 'FURY_TOKEN={{ .Env.FURY_TOKEN }}' cmd: ./scripts/fury-upload.sh {{ .ArtifactName }} milestones: - close: true release: footer: | **Full Changelog**: https://github.com/goreleaser/goreleaser/compare/{{ .PreviousTag }}...{{ .Tag }} ## What to do next? - Read the [documentation](https://goreleaser.com/intro/) - 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) 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 }}'