1
1
Fork 0
mirror of https://github.com/goreleaser/nfpm synced 2024-05-05 07:46:15 +02:00
nfpm/.goreleaser.yml
Carlos Alexandro Becker 13e76671c0
feat: generate man pages (#443)
* feat: migrate to coral

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* feat: generate man pages

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-02-02 23:30:46 -03:00

218 lines
5.5 KiB
YAML

env:
- GO111MODULE=on
before:
hooks:
- go mod tidy
- ./scripts/completions.sh
- ./scripts/manpages.sh
gomod:
proxy: true
builds:
- main: ./cmd/nfpm
env:
- CGO_ENABLED=0
goos:
- linux
- darwin
- windows
goarch:
- amd64
- 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
dockers:
- image_templates:
- 'goreleaser/nfpm:{{ .Tag }}-amd64'
- 'ghcr.io/goreleaser/nfpm:{{ .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"
- image_templates:
- 'goreleaser/nfpm:{{ .Tag }}-arm64v8'
- 'ghcr.io/goreleaser/nfpm:{{ .Tag }}-arm64v8'
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/v8"
goarch: arm64
docker_manifests:
- name_template: 'goreleaser/nfpm:{{ .Tag }}'
image_templates:
- 'goreleaser/nfpm:{{ .Tag }}-amd64'
- 'goreleaser/nfpm:{{ .Tag }}-arm64v8'
- name_template: 'ghcr.io/goreleaser/nfpm:{{ .Tag }}'
image_templates:
- 'ghcr.io/goreleaser/nfpm:{{ .Tag }}-amd64'
- 'ghcr.io/goreleaser/nfpm:{{ .Tag }}-arm64v8'
- name_template: 'goreleaser/nfpm:latest'
image_templates:
- 'goreleaser/nfpm:{{ .Tag }}-amd64'
- 'goreleaser/nfpm:{{ .Tag }}-arm64v8'
- name_template: 'ghcr.io/goreleaser/nfpm:latest'
image_templates:
- 'ghcr.io/goreleaser/nfpm:{{ .Tag }}-amd64'
- 'ghcr.io/goreleaser/nfpm:{{ .Tag }}-arm64v8'
archives:
- replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
format_overrides:
- goos: windows
format: zip
files:
- README.md
- LICENSE.md
- completions/*
- manpages/*
brews:
- tap:
owner: goreleaser
name: homebrew-tap
folder: Formula
homepage: https://nfpm.goreleaser.com
description: nFPM is a simple, 0-dependencies, deb, rpm and apk packager.
license: MIT
test: |
system "#{bin}/nfpm -v"
install: |-
bin.install "nfpm"
bash_completion.install "completions/nfpm.bash" => "nfpm"
zsh_completion.install "completions/nfpm.zsh" => "_nfpm"
fish_completion.install "completions/nfpm.fish"
man1.install "manpages/nfpm.1.gz"
rigs:
- rig:
owner: goreleaser
name: fish-food
homepage: https://nfpm.goreleaser.com
description: nFPM is a simple, 0-dependencies, deb, rpm and apk packager.
license: MIT
scoop:
bucket:
owner: goreleaser
name: scoop-bucket
homepage: https://nfpm.goreleaser.com
description: nFPM is a simple, 0-dependencies, deb, rpm and apk packager.
license: MIT
nfpms:
- file_name_template: '{{ .ProjectName }}_{{ .Arch }}'
homepage: https://nfpm.goreleaser.com
description: nFPM is a simple, 0-dependencies, deb, rpm and apk packager.
maintainer: Carlos Alexandro Becker <root@carlosbecker.com>
license: MIT
vendor: GoReleaser
formats:
- apk
- deb
- rpm
contents:
- src: ./completions/nfpm.bash
dst: /etc/bash_completion.d/nfpm
- src: ./completions/nfpm.fish
dst: /usr/share/fish/completions/nfpm.fish
- src: ./completions/nfpm.zsh
dst: /usr/local/share/zsh/site-functions/_nfpm
- src: ./manpages/nfpm.1.gz
dst: /usr/share/man/man1/nfpm.1.gz
furies:
- account: goreleaser
sboms:
- artifacts: archive
signs:
- cmd: cosign
env:
- COSIGN_EXPERIMENTAL=1
certificate: '${artifact}.pem'
output: true
artifacts: checksum
args:
- sign-blob
- '--output-certificate=${certificate}'
- '--output-signature=${signature}'
- '${artifact}'
docker_signs:
- cmd: cosign
env:
- COSIGN_EXPERIMENTAL=1
artifacts: manifests
output: true
args:
- 'sign'
- '${artifact}'
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
checksum:
name_template: 'checksums.txt'
release:
footer: |
**Full Changelog**: https://github.com/goreleaser/nfpm/compare/{{ .PreviousTag }}...{{ .Tag }}
---
- Check out [GoReleaser](https://goreleaser.com): it integrates nFPM to the release pipeline of your Go projects.
milestones:
- close: true
announce:
skip: "{{gt .Patch 0}}"
twitter:
enabled: true
message_template: "nFPM {{ .Tag }} was just released! See what's new: https://github.com/goreleaser/nfpm/releases/tag/{{ .Tag }}"
discord:
enabled: true
message_template: "nFPM {{ .Tag }} is out! See what's new: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}"