213 lines
5.9 KiB
YAML
213 lines
5.9 KiB
YAML
before:
|
|
hooks:
|
|
- go mod download
|
|
- go mod tidy
|
|
builds:
|
|
-
|
|
id: ntfy_linux_amd64
|
|
binary: ntfy
|
|
env:
|
|
- CGO_ENABLED=1 # required for go-sqlite3
|
|
tags: [sqlite_omit_load_extension,osusergo,netgo]
|
|
ldflags:
|
|
- "-linkmode=external -extldflags=-static -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}"
|
|
goos: [linux]
|
|
goarch: [amd64]
|
|
hooks:
|
|
post:
|
|
- upx "{{ .Path }}" # apt install upx
|
|
-
|
|
id: ntfy_linux_armv6
|
|
binary: ntfy
|
|
env:
|
|
- CGO_ENABLED=1 # required for go-sqlite3
|
|
- CC=arm-linux-gnueabi-gcc # apt install gcc-arm-linux-gnueabi
|
|
tags: [sqlite_omit_load_extension,osusergo,netgo]
|
|
ldflags:
|
|
- "-linkmode=external -extldflags=-static -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}"
|
|
goos: [linux]
|
|
goarch: [arm]
|
|
goarm: [6]
|
|
# No "upx" for ARM, see https://github.com/binwiederhier/ntfy/issues/191#issuecomment-1083406546
|
|
-
|
|
id: ntfy_linux_armv7
|
|
binary: ntfy
|
|
env:
|
|
- CGO_ENABLED=1 # required for go-sqlite3
|
|
- CC=arm-linux-gnueabi-gcc # apt install gcc-arm-linux-gnueabi
|
|
tags: [sqlite_omit_load_extension,osusergo,netgo]
|
|
ldflags:
|
|
- "-linkmode=external -extldflags=-static -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}"
|
|
goos: [linux]
|
|
goarch: [arm]
|
|
goarm: [7]
|
|
# No "upx" for ARM, see https://github.com/binwiederhier/ntfy/issues/191#issuecomment-1083406546
|
|
-
|
|
id: ntfy_linux_arm64
|
|
binary: ntfy
|
|
env:
|
|
- CGO_ENABLED=1 # required for go-sqlite3
|
|
- CC=aarch64-linux-gnu-gcc # apt install gcc-aarch64-linux-gnu
|
|
tags: [sqlite_omit_load_extension,osusergo,netgo]
|
|
ldflags:
|
|
- "-linkmode=external -extldflags=-static -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}"
|
|
goos: [linux]
|
|
goarch: [arm64]
|
|
# No "upx" for ARM, see https://github.com/binwiederhier/ntfy/issues/191#issuecomment-1083406546
|
|
-
|
|
id: ntfy_windows_amd64
|
|
binary: ntfy
|
|
env:
|
|
- CGO_ENABLED=0 # explicitly disable, since we don't need go-sqlite3
|
|
tags: [noserver] # don't include server files
|
|
ldflags:
|
|
- "-X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}"
|
|
goos: [windows]
|
|
goarch: [amd64]
|
|
hooks:
|
|
post:
|
|
- upx "{{ .Path }}" # apt install upx
|
|
-
|
|
id: ntfy_darwin_all
|
|
binary: ntfy
|
|
env:
|
|
- CGO_ENABLED=0 # explicitly disable, since we don't need go-sqlite3
|
|
tags: [noserver] # don't include server files
|
|
ldflags:
|
|
- "-X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}"
|
|
goos: [darwin]
|
|
goarch: [amd64, arm64] # will be combined to "universal binary" (see below)
|
|
nfpms:
|
|
-
|
|
package_name: ntfy
|
|
homepage: https://heckel.io/ntfy
|
|
maintainer: Philipp C. Heckel <philipp.heckel@gmail.com>
|
|
description: Simple pub-sub notification service
|
|
license: Apache 2.0
|
|
formats:
|
|
- deb
|
|
- rpm
|
|
bindir: /usr/bin
|
|
contents:
|
|
- src: server/server.yml
|
|
dst: /etc/ntfy/server.yml
|
|
type: "config|noreplace"
|
|
- src: server/ntfy.service
|
|
dst: /lib/systemd/system/ntfy.service
|
|
- src: client/client.yml
|
|
dst: /etc/ntfy/client.yml
|
|
type: "config|noreplace"
|
|
- src: client/ntfy-client.service
|
|
dst: /lib/systemd/system/ntfy-client.service
|
|
- dst: /var/cache/ntfy
|
|
type: dir
|
|
- dst: /var/cache/ntfy/attachments
|
|
type: dir
|
|
- dst: /var/lib/ntfy
|
|
type: dir
|
|
- dst: /usr/share/ntfy/logo.png
|
|
src: web/public/static/img/ntfy.png
|
|
scripts:
|
|
preinstall: "scripts/preinst.sh"
|
|
postinstall: "scripts/postinst.sh"
|
|
preremove: "scripts/prerm.sh"
|
|
postremove: "scripts/postrm.sh"
|
|
archives:
|
|
-
|
|
id: ntfy_linux
|
|
builds:
|
|
- ntfy_linux_amd64
|
|
- ntfy_linux_armv6
|
|
- ntfy_linux_armv7
|
|
- ntfy_linux_arm64
|
|
wrap_in_directory: true
|
|
files:
|
|
- LICENSE
|
|
- README.md
|
|
- server/server.yml
|
|
- server/ntfy.service
|
|
- client/client.yml
|
|
- client/ntfy-client.service
|
|
replacements:
|
|
amd64: x86_64
|
|
-
|
|
id: ntfy_windows
|
|
builds:
|
|
- ntfy_windows_amd64
|
|
format: zip
|
|
wrap_in_directory: true
|
|
files:
|
|
- LICENSE
|
|
- README.md
|
|
- client/client.yml
|
|
replacements:
|
|
amd64: x86_64
|
|
-
|
|
id: ntfy_darwin
|
|
builds:
|
|
- ntfy_darwin_all
|
|
wrap_in_directory: true
|
|
files:
|
|
- LICENSE
|
|
- README.md
|
|
- client/client.yml
|
|
replacements:
|
|
darwin: macOS
|
|
universal_binaries:
|
|
-
|
|
id: ntfy_darwin_all
|
|
replace: true
|
|
checksum:
|
|
name_template: 'checksums.txt'
|
|
snapshot:
|
|
name_template: "{{ .Tag }}-next"
|
|
changelog:
|
|
sort: asc
|
|
filters:
|
|
exclude:
|
|
- '^docs:'
|
|
- '^test:'
|
|
dockers:
|
|
- image_templates:
|
|
- &amd64_image "binwiederhier/ntfy:{{ .Tag }}-amd64"
|
|
use: buildx
|
|
dockerfile: Dockerfile
|
|
goarch: amd64
|
|
build_flag_templates:
|
|
- "--platform=linux/amd64"
|
|
- image_templates:
|
|
- &arm64v8_image "binwiederhier/ntfy:{{ .Tag }}-arm64v8"
|
|
use: buildx
|
|
dockerfile: Dockerfile
|
|
goarch: arm64
|
|
build_flag_templates:
|
|
- "--platform=linux/arm64/v8"
|
|
- image_templates:
|
|
- &armv7_image "binwiederhier/ntfy:{{ .Tag }}-armv7"
|
|
use: buildx
|
|
dockerfile: Dockerfile
|
|
goarch: arm
|
|
goarm: 7
|
|
build_flag_templates:
|
|
- "--platform=linux/arm/v7"
|
|
- image_templates:
|
|
- &armv6_image "binwiederhier/ntfy:{{ .Tag }}-armv6"
|
|
use: buildx
|
|
dockerfile: Dockerfile
|
|
goarch: arm
|
|
goarm: 6
|
|
build_flag_templates:
|
|
- "--platform=linux/arm/v6"
|
|
docker_manifests:
|
|
- name_template: "binwiederhier/ntfy:latest"
|
|
image_templates:
|
|
- *amd64_image
|
|
- *arm64v8_image
|
|
- *armv7_image
|
|
- *armv6_image
|
|
- name_template: "binwiederhier/ntfy:{{ .Tag }}"
|
|
image_templates:
|
|
- *amd64_image
|
|
- *arm64v8_image
|
|
- *armv7_image
|
|
- *armv6_image
|