From e5975d747f70e77a0e3a62de39d8924f112129ef Mon Sep 17 00:00:00 2001 From: 1991-bishnu Date: Wed, 20 Nov 2024 23:11:58 +0530 Subject: [PATCH 1/2] updated goreleaser version to 2 --- .goreleaser.yml | 431 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 407 insertions(+), 24 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 0cda1e8fa5e..22427bc2191 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,51 +1,434 @@ +# yaml-language-server: $schema=https://goreleaser.com/static/schema.json +# vim: set ts=2 sw=2 tw=0 fo=jcroql +version: 2 + +env: + - GO111MODULE=on + before: hooks: - go mod tidy + - ./scripts/completions.sh + - ./scripts/manpages.sh + +snapshot: + version_template: "{{ incpatch .Version }}-next" + +gomod: + proxy: true + +report_sizes: true + +git: + ignore_tags: + - "{{ if not .IsNightly }}nightly{{ end }}" + +metadata: + mod_timestamp: "{{ .CommitTimestamp }}" + builds: - env: - CGO_ENABLED=0 goos: - - darwin - linux + - darwin - windows goarch: + - "386" - amd64 - - '386' - - arm64 - arm + - arm64 + - ppc64 - riscv64 goarm: - - '6' - - '7' + - "7" ignore: - goos: windows - goarm: '6' + goarch: arm + mod_timestamp: "{{ .CommitTimestamp }}" + flags: + - -trimpath + ldflags: + - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser -X main.treeState={{ .IsGitDirty }} + +universal_binaries: + - replace: false + +notarize: + macos: + - enabled: '{{ isEnvSet "MACOS_SIGN_P12" }}' + sign: + certificate: "{{.Env.MACOS_SIGN_P12}}" + password: "{{.Env.MACOS_SIGN_PASSWORD}}" + notarize: + issuer_id: "{{.Env.MACOS_NOTARY_ISSUER_ID}}" + key_id: "{{.Env.MACOS_NOTARY_KEY_ID}}" + key: "{{.Env.MACOS_NOTARY_KEY}}" + +# temporarely disables until we add better filters for platforms et al, and test more. +# upx: +# - enabled: true + checksum: - name_template: 'checksums.txt' + name_template: "checksums.txt" + +changelog: + sort: asc + use: github + filters: + exclude: + - "^test:" + - "^test\\(" + - "merge conflict" + - Merge pull request + - Merge remote-tracking branch + - Merge branch + - go mod tidy + groups: + - title: Dependency updates + regexp: '^.*?(.+)\(deps\)!?:.+$' + order: 300 + - title: "New Features" + regexp: '^.*?feat(\(.+\))??!?:.+$' + order: 100 + - title: "Security updates" + regexp: '^.*?sec(\(.+\))??!?:.+$' + order: 150 + - title: "Bug fixes" + regexp: '^.*?(fix|refactor)(\(.+\))??!?:.+$' + order: 200 + - title: "Documentation updates" + regexp: ^.*?docs?(\(.+\))??!?:.+$ + order: 400 + - title: "Build process updates" + regexp: ^.*?(build|ci)(\(.+\))??!?:.+$ + order: 400 + - title: Other work + order: 9999 + +dockers: + - image_templates: + - "goreleaser/goreleaser:v{{ .Version }}-amd64" + - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" + dockerfile: Dockerfile + use: buildx + build_flag_templates: + - "--pull" + - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md" + - "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png" + - '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]' + - "--label=io.artifacthub.package.license=MIT" + - "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible" + - "--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:v{{ .Version }}-arm64" + - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" + dockerfile: Dockerfile + use: buildx + build_flag_templates: + - "--pull" + - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md" + - "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png" + - '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]' + - "--label=io.artifacthub.package.license=MIT" + - "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible" + - "--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:v{{ .Version }}" + image_templates: + - "goreleaser/goreleaser:v{{ .Version }}-amd64" + - "goreleaser/goreleaser:v{{ .Version }}-arm64" + - name_template: "ghcr.io/goreleaser/goreleaser:v{{ .Version }}" + image_templates: + - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" + - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" + - name_template: "{{ if not .IsNightly }}goreleaser/goreleaser:latest{{ end }}" + image_templates: + - "goreleaser/goreleaser:v{{ .Version }}-amd64" + - "goreleaser/goreleaser:v{{ .Version }}-arm64" + - name_template: "{{ if not .IsNightly }}ghcr.io/goreleaser/goreleaser:latest{{ end }}" + image_templates: + - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" + - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" + - name_template: "{{ if .IsNightly }}goreleaser/goreleaser:nightly{{ end }}" + image_templates: + - "goreleaser/goreleaser:v{{ .Version }}-amd64" + - "goreleaser/goreleaser:v{{ .Version }}-arm64" + - name_template: "{{ if .IsNightly }}ghcr.io/goreleaser/goreleaser:nightly{{ end }}" + image_templates: + - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" + - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" + archives: - name_template: >- - {{ .ProjectName }}_ + {{- .ProjectName }}_ {{- title .Os }}_ {{- if eq .Arch "amd64" }}x86_64 {{- else if eq .Arch "386" }}i386 {{- else }}{{ .Arch }}{{ end }} - {{- if .Arm }}v{{ .Arm }}{{ end }} + {{- if .Arm }}v{{ .Arm }}{{ end -}} format_overrides: - goos: windows format: zip -changelog: - groups: - - title: 'New Features' - regexp: "^.*feat[(\\w)]*:+.*$" - order: 0 - - title: 'Bug fixes' - regexp: "^.*fix[(\\w)]*:+.*$" - order: 1 - - title: 'Documentation updates' - regexp: "^.*docs[(\\w)]*:+.*$" - order: 2 - - title: 'Other' - order: 999 + builds_info: + group: root + owner: root + mtime: "{{ .CommitDate }}" + files: + - src: README.md + info: + owner: root + group: root + mtime: "{{ .CommitDate }}" + - src: LICENSE.md + info: + owner: root + group: root + mtime: "{{ .CommitDate }}" + - src: completions/* + info: + owner: root + group: root + mtime: "{{ .CommitDate }}" + - src: manpages/* + info: + owner: root + group: root + mtime: "{{ .CommitDate }}" + +brews: + - repository: + owner: goreleaser + name: homebrew-tap + directory: Formula + goarm: "7" + 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 + extra_install: |- + bash_completion.install "completions/goreleaser.bash" => "goreleaser" + zsh_completion.install "completions/goreleaser.zsh" => "_goreleaser" + fish_completion.install "completions/goreleaser.fish" + man1.install "manpages/goreleaser.1.gz" + +nix: + - name: goreleaser + repository: + owner: goreleaser + name: nur + homepage: https://goreleaser.com + description: Deliver Go binaries as fast and easily as possible + path: pkgs/goreleaser/default.nix + license: mit + extra_install: |- + installManPage ./manpages/goreleaser.1.gz + installShellCompletion ./completions/* + +winget: + - name: goreleaser + publisher: goreleaser + license: MIT + homepage: https://goreleaser.com + short_description: Deliver Go binaries as fast and easily as possible + repository: + owner: goreleaser + name: winget-pkgs + branch: "goreleaser-{{.Version}}" + pull_request: + enabled: true + draft: true + base: + owner: microsoft + name: winget-pkgs + branch: master + +aurs: + - homepage: https://goreleaser.com + description: Deliver Go binaries as fast and easily as possible + maintainers: + - "Fernandez Ludovic " + - "Carlos Alexandro Becker " + license: MIT + private_key: "{{ .Env.AUR_KEY }}" + git_url: "ssh://aur@aur.archlinux.org/goreleaser-bin.git" + package: |- + # bin + install -Dm755 "./goreleaser" "${pkgdir}/usr/bin/goreleaser" + + # license + install -Dm644 "./LICENSE.md" "${pkgdir}/usr/share/licenses/goreleaser/LICENSE" + + # completions + mkdir -p "${pkgdir}/usr/share/bash-completion/completions/" + mkdir -p "${pkgdir}/usr/share/zsh/site-functions/" + mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/" + install -Dm644 "./completions/goreleaser.bash" "${pkgdir}/usr/share/bash-completion/completions/goreleaser" + install -Dm644 "./completions/goreleaser.zsh" "${pkgdir}/usr/share/zsh/site-functions/_goreleaser" + install -Dm644 "./completions/goreleaser.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/goreleaser.fish" + + # man pages + install -Dm644 "./manpages/goreleaser.1.gz" "${pkgdir}/usr/share/man/man1/goreleaser.1.gz" + +scoops: + - repository: + owner: goreleaser + name: scoop-bucket + directory: 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. + GoReleaser allows you to release easily build, package, publish and + announce to several places at one go. + maintainer: Carlos Alexandro Becker + license: MIT + vendor: GoReleaser + bindir: /usr/bin + section: utils + contents: + - src: ./completions/goreleaser.bash + dst: /usr/share/bash-completion/completions/goreleaser + file_info: + mode: 0644 + - src: ./completions/goreleaser.fish + dst: /usr/share/fish/vendor_completions.d/goreleaser.fish + file_info: + mode: 0644 + - src: ./completions/goreleaser.zsh + dst: /usr/share/zsh/vendor-completions/_goreleaser + file_info: + mode: 0644 + - src: ./manpages/goreleaser.1.gz + dst: /usr/share/man/man1/goreleaser.1.gz + file_info: + mode: 0644 + - src: ./LICENSE.md + dst: /usr/share/doc/goreleaser/copyright + file_info: + mode: 0644 + formats: + - apk + - deb + - rpm + - archlinux + dependencies: + - git + recommends: + - golang + deb: + lintian_overrides: + - statically-linked-binary + - changelog-file-missing-in-native-package + +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 + disable: "{{ if .IsNightly }}true{{ end }}" + +sboms: + - artifacts: archive + +signs: + - cmd: cosign + certificate: "${artifact}.pem" + output: true + artifacts: checksum + args: + - sign-blob + - "--output-certificate=${certificate}" + - "--output-signature=${signature}" + - "${artifact}" + - --yes + +docker_signs: + - cmd: cosign + artifacts: manifests + output: true + args: + - "sign" + - "${artifact}@${digest}" + - --yes + +publishers: + - name: fury.io + ids: + - packages + env: + - "FURY_TOKEN={{ .Env.FURY_TOKEN }}" + cmd: ./scripts/fury-upload.sh {{ .ArtifactName }} + disable: "{{ if .IsNightly }}true{{ end }}" + +milestones: + - close: true + release: - prerelease: auto - mode: append + name_template: "v{{ .Version }}" + footer: | + **Full Changelog**: https://github.com/goreleaser/goreleaser/compare/{{ .PreviousTag }}...{{ if .IsNightly }}nightly{{ else }}{{ .Tag }}{{ end }} + + {{ if not .IsNightly }} + ## Helping out + + This release is only possible thanks to **all** the support of some **awesome people**! + + Want to be one of them? + You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro License](https://goreleaser.com/pro) or [contribute with code](https://goreleaser.com/contributing). + + ## Where to go next? + + * Find examples and commented usage of all options in our [website](https://goreleaser.com/intro/). + * Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and [Twitter](https://twitter.com/goreleaser)! + + GoReleaser logo + {{ end }} + +announce: + twitter: + enabled: false + message_template: "GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}" + + mastodon: + enabled: true + message_template: "#GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}" + server: https://fosstodon.org + + discord: + enabled: true + message_template: "GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}" From 64e11829df65a110a414c4175de2e9f7e7cce8c1 Mon Sep 17 00:00:00 2001 From: 1991-bishnu Date: Thu, 21 Nov 2024 23:59:08 +0530 Subject: [PATCH 2/2] Updated goreleaser version --- .goreleaser.yml | 434 +++--------------------------------------------- 1 file changed, 23 insertions(+), 411 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 22427bc2191..f0ff055c0c7 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,434 +1,46 @@ +# This is an example .goreleaser.yml file with some sensible defaults. +# Make sure to check the documentation at https://goreleaser.com + +# The lines below are called `modelines`. See `:help modeline` +# Feel free to remove those if you don't want/need to use them. # yaml-language-server: $schema=https://goreleaser.com/static/schema.json -# vim: set ts=2 sw=2 tw=0 fo=jcroql -version: 2 +# vim: set ts=2 sw=2 tw=0 fo=cnqoj -env: - - GO111MODULE=on +version: 2 before: hooks: + # You may remove this if you don't use go modules. - go mod tidy - - ./scripts/completions.sh - - ./scripts/manpages.sh - -snapshot: - version_template: "{{ incpatch .Version }}-next" - -gomod: - proxy: true - -report_sizes: true - -git: - ignore_tags: - - "{{ if not .IsNightly }}nightly{{ end }}" - -metadata: - mod_timestamp: "{{ .CommitTimestamp }}" + # you may remove this if you don't need go generate + - go generate ./... builds: - env: - CGO_ENABLED=0 goos: - linux - - darwin - windows - goarch: - - "386" - - amd64 - - arm - - arm64 - - ppc64 - - riscv64 - goarm: - - "7" - ignore: - - goos: windows - goarch: arm - mod_timestamp: "{{ .CommitTimestamp }}" - flags: - - -trimpath - ldflags: - - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser -X main.treeState={{ .IsGitDirty }} - -universal_binaries: - - replace: false - -notarize: - macos: - - enabled: '{{ isEnvSet "MACOS_SIGN_P12" }}' - sign: - certificate: "{{.Env.MACOS_SIGN_P12}}" - password: "{{.Env.MACOS_SIGN_PASSWORD}}" - notarize: - issuer_id: "{{.Env.MACOS_NOTARY_ISSUER_ID}}" - key_id: "{{.Env.MACOS_NOTARY_KEY_ID}}" - key: "{{.Env.MACOS_NOTARY_KEY}}" - -# temporarely disables until we add better filters for platforms et al, and test more. -# upx: -# - enabled: true - -checksum: - name_template: "checksums.txt" - -changelog: - sort: asc - use: github - filters: - exclude: - - "^test:" - - "^test\\(" - - "merge conflict" - - Merge pull request - - Merge remote-tracking branch - - Merge branch - - go mod tidy - groups: - - title: Dependency updates - regexp: '^.*?(.+)\(deps\)!?:.+$' - order: 300 - - title: "New Features" - regexp: '^.*?feat(\(.+\))??!?:.+$' - order: 100 - - title: "Security updates" - regexp: '^.*?sec(\(.+\))??!?:.+$' - order: 150 - - title: "Bug fixes" - regexp: '^.*?(fix|refactor)(\(.+\))??!?:.+$' - order: 200 - - title: "Documentation updates" - regexp: ^.*?docs?(\(.+\))??!?:.+$ - order: 400 - - title: "Build process updates" - regexp: ^.*?(build|ci)(\(.+\))??!?:.+$ - order: 400 - - title: Other work - order: 9999 - -dockers: - - image_templates: - - "goreleaser/goreleaser:v{{ .Version }}-amd64" - - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" - dockerfile: Dockerfile - use: buildx - build_flag_templates: - - "--pull" - - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md" - - "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png" - - '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]' - - "--label=io.artifacthub.package.license=MIT" - - "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible" - - "--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:v{{ .Version }}-arm64" - - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" - dockerfile: Dockerfile - use: buildx - build_flag_templates: - - "--pull" - - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md" - - "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png" - - '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]' - - "--label=io.artifacthub.package.license=MIT" - - "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible" - - "--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:v{{ .Version }}" - image_templates: - - "goreleaser/goreleaser:v{{ .Version }}-amd64" - - "goreleaser/goreleaser:v{{ .Version }}-arm64" - - name_template: "ghcr.io/goreleaser/goreleaser:v{{ .Version }}" - image_templates: - - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" - - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" - - name_template: "{{ if not .IsNightly }}goreleaser/goreleaser:latest{{ end }}" - image_templates: - - "goreleaser/goreleaser:v{{ .Version }}-amd64" - - "goreleaser/goreleaser:v{{ .Version }}-arm64" - - name_template: "{{ if not .IsNightly }}ghcr.io/goreleaser/goreleaser:latest{{ end }}" - image_templates: - - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" - - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" - - name_template: "{{ if .IsNightly }}goreleaser/goreleaser:nightly{{ end }}" - image_templates: - - "goreleaser/goreleaser:v{{ .Version }}-amd64" - - "goreleaser/goreleaser:v{{ .Version }}-arm64" - - name_template: "{{ if .IsNightly }}ghcr.io/goreleaser/goreleaser:nightly{{ end }}" - image_templates: - - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64" - - "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64" + - darwin archives: - - name_template: >- - {{- .ProjectName }}_ + - format: tar.gz + # this name template makes the OS and Arch compatible with the results of `uname`. + name_template: >- + {{ .ProjectName }}_ {{- title .Os }}_ {{- if eq .Arch "amd64" }}x86_64 {{- else if eq .Arch "386" }}i386 {{- else }}{{ .Arch }}{{ end }} - {{- if .Arm }}v{{ .Arm }}{{ end -}} + {{- if .Arm }}v{{ .Arm }}{{ end }} + # use zip for windows archives format_overrides: - goos: windows format: zip - builds_info: - group: root - owner: root - mtime: "{{ .CommitDate }}" - files: - - src: README.md - info: - owner: root - group: root - mtime: "{{ .CommitDate }}" - - src: LICENSE.md - info: - owner: root - group: root - mtime: "{{ .CommitDate }}" - - src: completions/* - info: - owner: root - group: root - mtime: "{{ .CommitDate }}" - - src: manpages/* - info: - owner: root - group: root - mtime: "{{ .CommitDate }}" - -brews: - - repository: - owner: goreleaser - name: homebrew-tap - directory: Formula - goarm: "7" - 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 - extra_install: |- - bash_completion.install "completions/goreleaser.bash" => "goreleaser" - zsh_completion.install "completions/goreleaser.zsh" => "_goreleaser" - fish_completion.install "completions/goreleaser.fish" - man1.install "manpages/goreleaser.1.gz" - -nix: - - name: goreleaser - repository: - owner: goreleaser - name: nur - homepage: https://goreleaser.com - description: Deliver Go binaries as fast and easily as possible - path: pkgs/goreleaser/default.nix - license: mit - extra_install: |- - installManPage ./manpages/goreleaser.1.gz - installShellCompletion ./completions/* - -winget: - - name: goreleaser - publisher: goreleaser - license: MIT - homepage: https://goreleaser.com - short_description: Deliver Go binaries as fast and easily as possible - repository: - owner: goreleaser - name: winget-pkgs - branch: "goreleaser-{{.Version}}" - pull_request: - enabled: true - draft: true - base: - owner: microsoft - name: winget-pkgs - branch: master -aurs: - - homepage: https://goreleaser.com - description: Deliver Go binaries as fast and easily as possible - maintainers: - - "Fernandez Ludovic " - - "Carlos Alexandro Becker " - license: MIT - private_key: "{{ .Env.AUR_KEY }}" - git_url: "ssh://aur@aur.archlinux.org/goreleaser-bin.git" - package: |- - # bin - install -Dm755 "./goreleaser" "${pkgdir}/usr/bin/goreleaser" - - # license - install -Dm644 "./LICENSE.md" "${pkgdir}/usr/share/licenses/goreleaser/LICENSE" - - # completions - mkdir -p "${pkgdir}/usr/share/bash-completion/completions/" - mkdir -p "${pkgdir}/usr/share/zsh/site-functions/" - mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/" - install -Dm644 "./completions/goreleaser.bash" "${pkgdir}/usr/share/bash-completion/completions/goreleaser" - install -Dm644 "./completions/goreleaser.zsh" "${pkgdir}/usr/share/zsh/site-functions/_goreleaser" - install -Dm644 "./completions/goreleaser.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/goreleaser.fish" - - # man pages - install -Dm644 "./manpages/goreleaser.1.gz" "${pkgdir}/usr/share/man/man1/goreleaser.1.gz" - -scoops: - - repository: - owner: goreleaser - name: scoop-bucket - directory: 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. - GoReleaser allows you to release easily build, package, publish and - announce to several places at one go. - maintainer: Carlos Alexandro Becker - license: MIT - vendor: GoReleaser - bindir: /usr/bin - section: utils - contents: - - src: ./completions/goreleaser.bash - dst: /usr/share/bash-completion/completions/goreleaser - file_info: - mode: 0644 - - src: ./completions/goreleaser.fish - dst: /usr/share/fish/vendor_completions.d/goreleaser.fish - file_info: - mode: 0644 - - src: ./completions/goreleaser.zsh - dst: /usr/share/zsh/vendor-completions/_goreleaser - file_info: - mode: 0644 - - src: ./manpages/goreleaser.1.gz - dst: /usr/share/man/man1/goreleaser.1.gz - file_info: - mode: 0644 - - src: ./LICENSE.md - dst: /usr/share/doc/goreleaser/copyright - file_info: - mode: 0644 - formats: - - apk - - deb - - rpm - - archlinux - dependencies: - - git - recommends: - - golang - deb: - lintian_overrides: - - statically-linked-binary - - changelog-file-missing-in-native-package - -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 - disable: "{{ if .IsNightly }}true{{ end }}" - -sboms: - - artifacts: archive - -signs: - - cmd: cosign - certificate: "${artifact}.pem" - output: true - artifacts: checksum - args: - - sign-blob - - "--output-certificate=${certificate}" - - "--output-signature=${signature}" - - "${artifact}" - - --yes - -docker_signs: - - cmd: cosign - artifacts: manifests - output: true - args: - - "sign" - - "${artifact}@${digest}" - - --yes - -publishers: - - name: fury.io - ids: - - packages - env: - - "FURY_TOKEN={{ .Env.FURY_TOKEN }}" - cmd: ./scripts/fury-upload.sh {{ .ArtifactName }} - disable: "{{ if .IsNightly }}true{{ end }}" - -milestones: - - close: true - -release: - name_template: "v{{ .Version }}" - footer: | - **Full Changelog**: https://github.com/goreleaser/goreleaser/compare/{{ .PreviousTag }}...{{ if .IsNightly }}nightly{{ else }}{{ .Tag }}{{ end }} - - {{ if not .IsNightly }} - ## Helping out - - This release is only possible thanks to **all** the support of some **awesome people**! - - Want to be one of them? - You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro License](https://goreleaser.com/pro) or [contribute with code](https://goreleaser.com/contributing). - - ## Where to go next? - - * Find examples and commented usage of all options in our [website](https://goreleaser.com/intro/). - * Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and [Twitter](https://twitter.com/goreleaser)! - - GoReleaser logo - {{ end }} - -announce: - twitter: - enabled: false - message_template: "GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}" - - mastodon: - enabled: true - message_template: "#GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}" - server: https://fosstodon.org - - discord: - enabled: true - message_template: "GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}" +changelog: + sort: asc + filters: + exclude: + - "^docs:" + - "^test:"