.goreleaser.yml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. before:
  2. hooks:
  3. - go mod download
  4. builds:
  5. -
  6. id: ntfy
  7. binary: ntfy
  8. env:
  9. - CGO_ENABLED=1 # required for go-sqlite3
  10. tags: [sqlite_omit_load_extension,osusergo,netgo]
  11. ldflags:
  12. - "-linkmode=external -extldflags=-static -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}"
  13. goos: [linux]
  14. goarch: [amd64]
  15. -
  16. id: ntfy_armv7
  17. binary: ntfy
  18. env:
  19. - CGO_ENABLED=1 # required for go-sqlite3
  20. - CC=arm-linux-gnueabi-gcc # apt install gcc-arm-linux-gnueabi
  21. tags: [sqlite_omit_load_extension,osusergo,netgo]
  22. ldflags:
  23. - "-linkmode=external -extldflags=-static -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}"
  24. goos: [linux]
  25. goarch: [arm]
  26. goarm: [7]
  27. -
  28. id: ntfy_arm64
  29. binary: ntfy
  30. env:
  31. - CGO_ENABLED=1 # required for go-sqlite3
  32. - CC=aarch64-linux-gnu-gcc # apt install gcc-aarch64-linux-gnu
  33. tags: [sqlite_omit_load_extension,osusergo,netgo]
  34. ldflags:
  35. - "-linkmode=external -extldflags=-static -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}"
  36. goos: [linux]
  37. goarch: [arm64]
  38. nfpms:
  39. -
  40. package_name: ntfy
  41. homepage: https://heckel.io/ntfy
  42. maintainer: Philipp C. Heckel <philipp.heckel@gmail.com>
  43. description: Simple pub-sub notification service
  44. license: Apache 2.0
  45. formats:
  46. - deb
  47. - rpm
  48. bindir: /usr/bin
  49. contents:
  50. - src: server/server.yml
  51. dst: /etc/ntfy/server.yml
  52. type: config
  53. - src: server/ntfy.service
  54. dst: /lib/systemd/system/ntfy.service
  55. - src: client/client.yml
  56. dst: /etc/ntfy/client.yml
  57. type: config
  58. - src: client/ntfy-client.service
  59. dst: /lib/systemd/system/ntfy-client.service
  60. - dst: /var/cache/ntfy
  61. type: dir
  62. - dst: /usr/share/ntfy/logo.png
  63. src: server/static/img/ntfy.png
  64. scripts:
  65. preinstall: "scripts/preinst.sh"
  66. postinstall: "scripts/postinst.sh"
  67. preremove: "scripts/prerm.sh"
  68. postremove: "scripts/postrm.sh"
  69. archives:
  70. -
  71. wrap_in_directory: true
  72. files:
  73. - LICENSE
  74. - README.md
  75. - server/server.yml
  76. - server/ntfy.service
  77. - client/client.yml
  78. - client/ntfy-client.service
  79. replacements:
  80. 386: i386
  81. amd64: x86_64
  82. checksum:
  83. name_template: 'checksums.txt'
  84. snapshot:
  85. name_template: "{{ .Tag }}-next"
  86. changelog:
  87. sort: asc
  88. filters:
  89. exclude:
  90. - '^docs:'
  91. - '^test:'
  92. dockers:
  93. - image_templates:
  94. - &amd64_image "binwiederhier/ntfy:{{ .Tag }}-amd64"
  95. use: buildx
  96. dockerfile: Dockerfile
  97. goarch: amd64
  98. build_flag_templates:
  99. - "--platform=linux/amd64"
  100. - image_templates:
  101. - &arm64v8_image "binwiederhier/ntfy:{{ .Tag }}-arm64v8"
  102. use: buildx
  103. dockerfile: Dockerfile
  104. build_flag_templates:
  105. - "--platform=linux/arm64/v8"
  106. - image_templates:
  107. - &armv7_image "binwiederhier/ntfy:{{ .Tag }}-armv7"
  108. use: buildx
  109. dockerfile: Dockerfile
  110. goarch: arm
  111. goarm: 7
  112. build_flag_templates:
  113. - "--platform=linux/arm/v7"
  114. docker_manifests:
  115. - name_template: "binwiederhier/ntfy:latest"
  116. image_templates:
  117. - *amd64_image
  118. - *arm64v8_image
  119. - *armv7_image
  120. - name_template: "binwiederhier/ntfy:{{ .Tag }}"
  121. image_templates:
  122. - *amd64_image
  123. - *arm64v8_image
  124. - *armv7_image