github.com/goreleaser/nfpm/v2@v2.44.0/.goreleaser.yml (about) 1 # yaml-language-server: $schema=https://goreleaser.com/static/schema-pro.json 2 version: 2 3 env: 4 - GO111MODULE=on 5 6 before: 7 hooks: 8 - go mod tidy 9 - ./scripts/completions.sh 10 - ./scripts/manpages.sh 11 12 metadata: 13 mod_timestamp: "{{ .CommitTimestamp }}" 14 description: "nFPM is Not FPM - a simple deb, rpm, apk, ipk, and arch linux packager written in Go." 15 full_description: |- 16 Simple, 0-dependencies, deb, rpm, apk, ipk, and arch linux packager. 17 nFPM (not FPM) is configurable via YAML and does not need any 18 packaging software installed. 19 homepage: https://nfpm.goreleaser.com 20 license: MIT 21 maintainers: 22 - Carlos Alexandro Becker <carlos@becker.software> 23 24 gomod: 25 proxy: true 26 27 builds: 28 - main: ./cmd/nfpm 29 env: 30 - CGO_ENABLED=0 31 goos: 32 - linux 33 - darwin 34 - windows 35 goarch: 36 - amd64 37 - arm64 38 - ppc64le 39 - s390x 40 mod_timestamp: "{{ .CommitTimestamp }}" 41 flags: 42 - -trimpath 43 ldflags: 44 - -s -w -X main.version={{ .Version }} -X main.commit={{ .Commit }} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser -X main.treeState={{ .IsGitDirty }} 45 46 dockers_v2: 47 - images: 48 - "goreleaser/nfpm" 49 - "ghcr.io/goreleaser/nfpm" 50 tags: 51 - "{{ .Tag }}" 52 - latest 53 labels: 54 "org.opencontainers.image.created": "{{.Date}}" 55 "org.opencontainers.image.name": "{{.ProjectName}}" 56 "org.opencontainers.image.revision": "{{.FullCommit}}" 57 "org.opencontainers.image.version": "{{.Version}}" 58 "org.opencontainers.image.source": "{{.GitURL}}" 59 60 archives: 61 - name_template: >- 62 {{ .ProjectName }}_ 63 {{- .Version }}_ 64 {{- title .Os }}_ 65 {{- if eq .Arch "amd64" }}x86_64 66 {{- else if eq .Arch "386" }}i386 67 {{- else }}{{ .Arch }}{{ end }} 68 format_overrides: 69 - goos: windows 70 format: zip 71 files: 72 - README.md 73 - LICENSE.md 74 - completions/* 75 - manpages/* 76 77 source: 78 enabled: true 79 name_template: "{{ .ProjectName }}_{{ .Version }}_source" 80 81 brews: 82 - repository: 83 owner: goreleaser 84 name: homebrew-tap 85 directory: Formula 86 test: | 87 system "#{bin}/nfpm -v" 88 install: |- 89 bin.install "nfpm" 90 bash_completion.install "completions/nfpm.bash" => "nfpm" 91 zsh_completion.install "completions/nfpm.zsh" => "_nfpm" 92 fish_completion.install "completions/nfpm.fish" 93 man1.install "manpages/nfpm.1.gz" 94 95 scoops: 96 - repository: 97 owner: goreleaser 98 name: scoop-bucket 99 directory: bucket 100 101 nix: 102 - name: nfpm 103 repository: 104 owner: goreleaser 105 name: nur 106 path: pkgs/nfpm/default.nix 107 extra_install: |- 108 installManPage ./manpages/nfpm.1.gz 109 installShellCompletion ./completions/* 110 111 winget: 112 - name: nfpm 113 license_url: https://github.com/goreleaser/nfpm/blob/main/LICENSE.md 114 publisher: goreleaser 115 copyright: Becker Software LTDA 116 repository: 117 owner: goreleaser 118 name: winget-pkgs 119 branch: "nfpm-{{.Version}}" 120 pull_request: 121 enabled: true 122 draft: false 123 check_boxes: true 124 base: 125 owner: microsoft 126 name: winget-pkgs 127 branch: master 128 129 npms: 130 - name: "@goreleaser/nfpm" 131 repository: "git+https://github.com/goreleaser/nfpm.git" 132 bugs: https://github.com/goreleaser/nfpm/issues 133 homepage: https://nfpm.goreleaser.com 134 access: public 135 keywords: 136 - packaging 137 - rpm 138 - deb 139 - apk 140 - archlinux 141 142 nfpms: 143 - file_name_template: "{{ .ConventionalFileName }}" 144 vendor: GoReleaser 145 formats: 146 - apk 147 - deb 148 - rpm 149 bindir: /usr/bin 150 section: utils 151 contents: 152 - src: ./completions/nfpm.bash 153 dst: /usr/share/bash-completion/completions/nfpm 154 file_info: 155 mode: 0644 156 - src: ./completions/nfpm.fish 157 dst: /usr/share/fish/vendor_completions.d/nfpm.fish 158 file_info: 159 mode: 0644 160 - src: ./completions/nfpm.zsh 161 dst: /usr/share/zsh/vendor-completions/_nfpm 162 file_info: 163 mode: 0644 164 - src: ./manpages/nfpm.1.gz 165 dst: /usr/share/man/man1/nfpm.1.gz 166 file_info: 167 mode: 0644 168 - src: ./LICENSE.md 169 dst: /usr/share/doc/nfpm/copyright 170 file_info: 171 mode: 0644 172 - src: .lintian-overrides 173 dst: ./usr/share/lintian/overrides/nfpm 174 packager: deb 175 file_info: 176 mode: 0644 177 178 aurs: 179 - maintainers: 180 - "Fernandez Ludovic <lfernandez dot dev at gmail dot com>" 181 - "Carlos Alexandro Becker <carlos at becker dot software>" 182 private_key: "{{ .Env.AUR_KEY }}" 183 git_url: "ssh://aur@aur.archlinux.org/nfpm-bin.git" 184 package: |- 185 # bin 186 install -Dm755 "./nfpm" "${pkgdir}/usr/bin/nfpm" 187 # license 188 install -Dm644 "./LICENSE.md" "${pkgdir}/usr/share/licenses/nfpm/LICENSE" 189 # completions 190 mkdir -p "${pkgdir}/usr/share/bash-completion/completions/" 191 mkdir -p "${pkgdir}/usr/share/zsh/site-functions/" 192 mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/" 193 install -Dm644 "./completions/nfpm.bash" "${pkgdir}/usr/share/bash-completion/completions/nfpm" 194 install -Dm644 "./completions/nfpm.zsh" "${pkgdir}/usr/share/zsh/site-functions/_nfpm" 195 install -Dm644 "./completions/nfpm.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/nfpm.fish" 196 # man pages 197 install -Dm644 "./manpages/nfpm.1.gz" "${pkgdir}/usr/share/man/man1/nfpm.1.gz" 198 199 aur_sources: 200 - homepage: https://nfpm.goreleaser.com 201 description: nFPM is a simple, 0-dependencies, deb, rpm and apk packager. 202 maintainers: 203 - "Fernandez Ludovic <lfernandez dot dev at gmail dot com>" 204 - "Carlos Alexandro Becker <carlos at becker dot software>" 205 license: MIT 206 private_key: "{{ .Env.AUR_KEY }}" 207 git_url: "ssh://aur@aur.archlinux.org/nfpm.git" 208 build: |- 209 export CGO_CPPFLAGS="${CPPFLAGS}" 210 export CGO_CFLAGS="${CFLAGS}" 211 export CGO_CXXFLAGS="${CXXFLAGS}" 212 export CGO_LDFLAGS="${LDFLAGS}" 213 export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw" 214 go build -ldflags="-w -s -buildid='' -linkmode=external -X main.version=v${pkgver}" ./cmd/nfpm 215 216 chmod +x "./${pkgname}" 217 package: |- 218 # Bin 219 install -Dsm755 "./${pkgname}" "${pkgdir}/usr/bin/${pkgname}" 220 221 # License 222 install -Dm644 "./LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" 223 224 # Completions 225 mkdir -p "${pkgdir}/usr/share/bash-completion/completions/" 226 mkdir -p "${pkgdir}/usr/share/zsh/site-functions/" 227 mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/" 228 ./${pkgname} completion bash > "${pkgdir}/usr/share/bash-completion/completions/${pkgname}" 229 ./${pkgname} completion zsh > "${pkgdir}/usr/share/zsh/site-functions/_${pkgname}" 230 ./${pkgname} completion fish > "${pkgdir}/usr/share/fish/vendor_completions.d/${pkgname}.fish" 231 232 furies: 233 - account: goreleaser 234 235 sboms: 236 - artifacts: archive 237 238 signs: 239 - cmd: cosign 240 signature: "${artifact}.sigstore.json" 241 artifacts: checksum 242 args: 243 - sign-blob 244 - "--bundle=${signature}" 245 - "${artifact}" 246 - --yes 247 248 docker_signs: 249 - cmd: cosign 250 artifacts: manifests 251 args: 252 - "sign" 253 - "${artifact}" 254 - --yes 255 256 changelog: 257 sort: asc 258 use: github 259 filters: 260 exclude: 261 - "^test:" 262 - "^chore" 263 - "merge conflict" 264 - Merge pull request 265 - Merge remote-tracking branch 266 - Merge branch 267 - go mod tidy 268 groups: 269 - title: Dependency updates 270 regexp: '^.*?(feat|fix|chore)\(deps\)!?:.+$' 271 order: 300 272 - title: "New Features" 273 regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$' 274 order: 100 275 - title: "Security updates" 276 regexp: '^.*?sec(\([[:word:]]+\))??!?:.+$' 277 order: 150 278 - title: "Bug fixes" 279 regexp: '^.*?fix(\([[:word:]]+\))??!?:.+$' 280 order: 200 281 - title: "Documentation updates" 282 regexp: ^.*?doc(\([[:word:]]+\))??!?:.+$ 283 order: 400 284 - title: "Build process updates" 285 regexp: ^.*?(build|ci)(\([[:word:]]+\))??!?:.+$ 286 order: 400 287 - title: Other work 288 order: 9999 289 290 checksum: 291 name_template: "checksums.txt" 292 293 release: 294 footer: | 295 **Full Changelog**: https://github.com/goreleaser/nfpm/compare/{{ .PreviousTag }}...{{ .Tag }} 296 297 ## Helping out 298 299 This release is only possible thanks to **all** the support of **awesome people**! 300 301 Want to be one of them? 302 You can [sponsor](https://goreleaser.com/sponsors/) or [contribute with code](https://goreleaser.com/contributing). 303 304 ## Where to go next? 305 306 * nFPM is a satellite project from GoReleaser. [Check it out](https://goreleaser.com)! 307 * Find examples and commented usage of all options in our [website](https://nfpm.goreleaser.com/). 308 * Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and [Twitter](https://twitter.com/goreleaser)! 309 310 <a href="https://goreleaser.com"><img src="https://raw.githubusercontent.com/goreleaser/artwork/master/opencollective-header.png" with="100%" alt="GoReleaser logo"></a> 311 312 milestones: 313 - close: true 314 315 announce: 316 twitter: 317 enabled: false 318 message_template: "nFPM {{ .Tag }} was just released! See what's new: https://github.com/goreleaser/nfpm/releases/tag/{{ .Tag }}" 319 discord: 320 enabled: true 321 message_template: "nFPM {{ .Tag }} is out! See what's new: https://github.com/goreleaser/nfpm/releases/tag/{{ .Tag }}"